jtfell / authorizr Goto Github PK
View Code? Open in Web Editor NEWMinimalist authorisation mechanism for node servers
License: MIT License
Minimalist authorisation mechanism for node servers
License: MIT License
Hey Jules,
I was getting strange results from the new any/all syntax - so I did a little test.
Here are the results:
Any/all Tester:
(a) isDefinedAsTrue() is defined to return 'true'
Checking isDefinedAsTrue() with all() returns true
Checking isDefinedAsTrue() with any() returns false
(b) isDefinedAsFalse() is defined to return 'false'
Checking isDefinedAsFalse() with all() returns true
Checking isDefinedAsFalse() with any() returns false
Checks these chained with all() then any().
Results:
a + b Any: false (should be true)
a + b All: true (should be false)
a + a All: true (should be true)
b + b All: true (should be false)
a + a Any: false (should be true)
b + b Any: false (should be false)
The code that generated this output:
console.log(`
Any/all Tester:
(a) isDefinedAsTrue() is defined to return 'true'
Checking isDefinedAsTrue() with all() returns ${await ctx.auth.team(teamId).isDefinedAsTrue().all()}
Checking isDefinedAsTrue() with any() returns ${await ctx.auth.team(teamId).isDefinedAsTrue().any()}
(b) isDefinedAsFalse() is defined to return 'false'
Checking isDefinedAsFalse() with all() returns ${await ctx.auth.team(teamId).isDefinedAsFalse().all()}
Checking isDefinedAsFalse() with any() returns ${await ctx.auth.team(teamId).isDefinedAsFalse().any()}
Checks these chained with all() then any().
Results:
a + b Any: ${await ctx.auth.team(teamId).isDefinedAsTrue().isDefinedAsFalse().any()} (should be true)
a + b All: ${await ctx.auth.team(teamId).isDefinedAsTrue().isDefinedAsFalse().all()} (should be false)
a + a All: ${await ctx.auth.team(teamId).isDefinedAsTrue().isDefinedAsTrue().all()} (should be true)
b + b All: ${await ctx.auth.team(teamId).isDefinedAsFalse().isDefinedAsFalse().all()} (should be false)
a + a Any: ${await ctx.auth.team(teamId).isDefinedAsTrue().isDefinedAsTrue().any()} (should be true)
b + b Any: ${await ctx.auth.team(teamId).isDefinedAsFalse().isDefinedAsFalse().any()} (should be false)
`);
The definitions in the authorizr entity
isDefinedAsTrue: (ctx, entityId) => {
return true;
},
isDefinedAsFalse: (ctx, entityId) => {
return false;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.