access-rule
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -67,5 +67,9 @@ 'use strict'; | ||
function byOperation(schema) { | ||
var defaultRule = arguments.length <= 1 || arguments[1] === undefined ? deny : arguments[1]; | ||
return function (object, subject, operation) { | ||
return schema[operation](object, subject, operation); | ||
var rule = schema[operation] || defaultRule; | ||
return rule(object, subject, operation); | ||
}; | ||
} |
@@ -55,7 +55,9 @@ /* @flow */ | ||
export type ByOperationSchema = {[key: AccessOperation]: AccessRule} | ||
export type ByOperation = (schema: ByOperationSchema) => AccessRule | ||
export function byOperation(schema: ByOperationSchema): AccessRule { | ||
export type ByOperation = (schema: ByOperationSchema, defaultRule: ?AccessRule) => AccessRule | ||
export function byOperation(schema: ByOperationSchema, defaultRule: AccessRule = deny): AccessRule { | ||
return function(object: AccessObject, subject: AccessSubject, operation: AccessOperation): Promise<boolean> { | ||
return schema[operation](object, subject, operation) | ||
var rule: AccessRule = schema[operation] || defaultRule | ||
return rule(object, subject, operation) | ||
} | ||
} |
{ | ||
"name": "access-rule", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "ACL in functional paradigm", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
6014
114