@authup/access 1.0.0-beta.24 → 1.0.0-beta.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +1 -1
  2. package/dist/index.cjs +208 -160
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.mjs +204 -162
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/permission/error/module.d.ts +5 -4
  7. package/dist/permission/error/module.d.ts.map +1 -1
  8. package/dist/permission/helpers/equal.d.ts.map +1 -1
  9. package/dist/permission/helpers/index.d.ts +1 -0
  10. package/dist/permission/helpers/index.d.ts.map +1 -1
  11. package/dist/permission/helpers/key.d.ts +3 -0
  12. package/dist/permission/helpers/key.d.ts.map +1 -0
  13. package/dist/permission/helpers/merge.d.ts.map +1 -1
  14. package/dist/permission/module.d.ts +2 -1
  15. package/dist/permission/module.d.ts.map +1 -1
  16. package/dist/permission/provider/types.d.ts +2 -1
  17. package/dist/permission/provider/types.d.ts.map +1 -1
  18. package/dist/permission/types.d.ts +4 -2
  19. package/dist/permission/types.d.ts.map +1 -1
  20. package/dist/policy/built-in/attribute-names/validator.d.ts +1 -1
  21. package/dist/policy/built-in/attribute-names/validator.d.ts.map +1 -1
  22. package/dist/policy/built-in/attributes/define.d.ts +3 -0
  23. package/dist/policy/built-in/attributes/define.d.ts.map +1 -0
  24. package/dist/policy/built-in/attributes/index.d.ts +1 -0
  25. package/dist/policy/built-in/attributes/index.d.ts.map +1 -1
  26. package/dist/policy/built-in/attributes/validator.d.ts +2 -3
  27. package/dist/policy/built-in/attributes/validator.d.ts.map +1 -1
  28. package/dist/policy/built-in/composite/validator.d.ts +2 -3
  29. package/dist/policy/built-in/composite/validator.d.ts.map +1 -1
  30. package/dist/policy/built-in/date/validator.d.ts +2 -3
  31. package/dist/policy/built-in/date/validator.d.ts.map +1 -1
  32. package/dist/policy/built-in/define.d.ts +4 -0
  33. package/dist/policy/built-in/define.d.ts.map +1 -0
  34. package/dist/policy/built-in/identity/validator.d.ts.map +1 -1
  35. package/dist/policy/built-in/index.d.ts +1 -0
  36. package/dist/policy/built-in/index.d.ts.map +1 -1
  37. package/dist/policy/built-in/realm-match/validator.d.ts +2 -3
  38. package/dist/policy/built-in/realm-match/validator.d.ts.map +1 -1
  39. package/dist/policy/built-in/time/evaluator.d.ts.map +1 -1
  40. package/dist/policy/built-in/time/helpers.d.ts +5 -0
  41. package/dist/policy/built-in/time/helpers.d.ts.map +1 -0
  42. package/dist/policy/built-in/time/index.d.ts +1 -0
  43. package/dist/policy/built-in/time/index.d.ts.map +1 -1
  44. package/dist/policy/built-in/time/validator.d.ts +2 -3
  45. package/dist/policy/built-in/time/validator.d.ts.map +1 -1
  46. package/dist/policy/built-in/types.d.ts +21 -1
  47. package/dist/policy/built-in/types.d.ts.map +1 -1
  48. package/dist/policy/error/module.d.ts +2 -2
  49. package/dist/policy/error/module.d.ts.map +1 -1
  50. package/dist/policy/evaluator/data/identity/validator.d.ts +1 -3
  51. package/dist/policy/evaluator/data/identity/validator.d.ts.map +1 -1
  52. package/dist/policy/evaluator/data/permission/validator.d.ts +1 -3
  53. package/dist/policy/evaluator/data/permission/validator.d.ts.map +1 -1
  54. package/dist/policy/evaluator/data/validator.d.ts +1 -3
  55. package/dist/policy/evaluator/data/validator.d.ts.map +1 -1
  56. package/dist/policy/types.d.ts +20 -4
  57. package/dist/policy/types.d.ts.map +1 -1
  58. package/package.json +8 -6
@@ -1,6 +1,6 @@
1
1
  import { Container } from 'validup';
2
2
  import type { AttributeNamesPolicy } from './types';
3
3
  export declare class AttributeNamesPolicyValidator extends Container<AttributeNamesPolicy> {
4
- protected initialize(): void;
4
+ initialize(): void;
5
5
  }
6
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attribute-names/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,6BAA8B,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAC9E,SAAS,CAAC,UAAU;CAKvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attribute-names/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,6BAA8B,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAC9E,UAAU;CAwBb"}
@@ -0,0 +1,3 @@
1
+ import type { AttributesPolicy } from './types';
2
+ export declare function defineAttributesPolicy<T extends Record<string, any> = Record<string, any>>(data: AttributesPolicy<T>): AttributesPolicy<T>;
3
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/define.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,sBAAsB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEnD,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACzB,gBAAgB,CAAC,CAAC,CAAC,CAEtB"}
@@ -1,3 +1,4 @@
1
+ export * from './define';
1
2
  export * from './evaluator';
2
3
  export * from './validator';
3
4
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Container, type ContainerOptions } from 'validup';
1
+ import { Container } from 'validup';
2
2
  import type { AttributesPolicy } from './types';
3
3
  export declare class AttributesPolicyValidator<T extends Record<string, any> = Record<string, any>> extends Container<AttributesPolicy<T>> {
4
- constructor(options?: ContainerOptions<AttributesPolicy<T>>);
5
- mountAll(): void;
4
+ initialize(): void;
6
5
  }
7
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,yBAAyB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACrD,SAAQ,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACxB,OAAO,GAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAM;IAM/D,QAAQ;CAKX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/attributes/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,yBAAyB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACrD,SAAQ,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpC,UAAU;CAqBb"}
@@ -1,7 +1,6 @@
1
- import { Container, type ContainerOptions } from 'validup';
1
+ import { Container } from 'validup';
2
2
  import type { CompositePolicy } from './types';
3
3
  export declare class CompositePolicyValidator extends Container<CompositePolicy> {
4
- constructor(options?: ContainerOptions<CompositePolicy>);
5
- mountAll(): void;
4
+ initialize(): void;
6
5
  }
7
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/composite/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,wBAAyB,SAAQ,SAAS,CAAC,eAAe,CAAC;gBACxD,OAAO,GAAE,gBAAgB,CAAC,eAAe,CAAM;IAM3D,QAAQ;CASX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/composite/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,wBAAyB,SAAQ,SAAS,CAAC,eAAe,CAAC;IACpE,UAAU;CAiCb"}
@@ -1,7 +1,6 @@
1
- import { Container, type ContainerOptions } from 'validup';
1
+ import { Container } from 'validup';
2
2
  import type { DatePolicy } from './types';
3
3
  export declare class DatePolicyValidator extends Container<DatePolicy> {
4
- constructor(options?: ContainerOptions<DatePolicy>);
5
- mountAll(): void;
4
+ initialize(): void;
6
5
  }
7
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/date/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;gBAC9C,OAAO,GAAE,gBAAgB,CAAC,UAAU,CAAM;IAMtD,QAAQ;CAMX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/date/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC1D,UAAU;CA2Bb"}
@@ -0,0 +1,4 @@
1
+ import type { PolicyWithType } from '../types';
2
+ import type { BuiltInPolicyTypeMap } from './types';
3
+ export declare function definePolicyWithType<K extends keyof BuiltInPolicyTypeMap, D extends BuiltInPolicyTypeMap<any>[K]>(type: K, data: D): PolicyWithType<D, K>;
4
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/define.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,oBAAoB,CAChC,CAAC,SAAS,MAAM,oBAAoB,EACpC,CAAC,SAAS,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAEtC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,GACP,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAKvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/identity/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qBAAa,uBAAwB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,SAAS,CAAC,UAAU;CAKvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/identity/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qBAAa,uBAAwB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,SAAS,CAAC,UAAU;CAqBvB"}
@@ -7,5 +7,6 @@ export * from './permission-binding';
7
7
  export * from './realm-match';
8
8
  export * from './time';
9
9
  export * from './constants';
10
+ export * from './define';
10
11
  export * from './types';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/index.ts"],"names":[],"mappings":"AAOA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AAEvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/index.ts"],"names":[],"mappings":"AAOA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AAEvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Container, type ContainerOptions } from 'validup';
1
+ import { Container } from 'validup';
2
2
  import type { RealmMatchPolicy } from './types';
3
3
  export declare class RealmMatchPolicyValidator extends Container<RealmMatchPolicy> {
4
- constructor(options?: ContainerOptions<RealmMatchPolicy>);
5
- mountAll(): void;
4
+ initialize(): void;
6
5
  }
7
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,SAAS,CAAC,gBAAgB,CAAC;gBAC1D,OAAO,GAAE,gBAAgB,CAAC,gBAAgB,CAAM;IAM5D,QAAQ;CAWX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/realm-match/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IACtE,UAAU;CA+Db"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/evaluator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiClD,qBAAa,mBAAoB,YAAW,eAAe,CAAC,UAAU,CAAC;IACnE,SAAS,CAAC,SAAS,EAAG,mBAAmB,CAAC;;IAMpC,GAAG,CACL,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAC1C,OAAO,CAAC,OAAO,CAAC;IAId,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAI,OAAO,CAAC,UAAU,CAAC;IAIvE,YAAY,CAAC,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC;IAI1E,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAkD3E"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/evaluator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiClD,qBAAa,mBAAoB,YAAW,eAAe,CAAC,UAAU,CAAC;IACnE,SAAS,CAAC,SAAS,EAAG,mBAAmB,CAAC;;IAMpC,GAAG,CACL,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAC1C,OAAO,CAAC,OAAO,CAAC;IAId,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAI,OAAO,CAAC,UAAU,CAAC;IAIvE,YAAY,CAAC,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC;IAI1E,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA4D3E"}
@@ -0,0 +1,5 @@
1
+ import { TimePolicyInterval } from './constants';
2
+ export declare function isIntervalForDayOfWeek(interval: string): interval is TimePolicyInterval.WEEKLY | TimePolicyInterval.MONTHLY | TimePolicyInterval.YEARLY;
3
+ export declare function isIntervalForDayOfMonth(interval: string): interval is TimePolicyInterval.MONTHLY | TimePolicyInterval.YEARLY;
4
+ export declare function isIntervalForDayOfYear(interval: string): interval is TimePolicyInterval.YEARLY;
5
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,kGAKnB;AAED,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,MAAM,sEAInB;AAED,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,yCAGnB"}
@@ -1,5 +1,6 @@
1
1
  export * from './constants';
2
2
  export * from './evaluator';
3
+ export * from './helpers';
3
4
  export * from './validator';
4
5
  export * from './types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Container, type ContainerOptions } from 'validup';
1
+ import { Container } from 'validup';
2
2
  import type { TimePolicy } from './types';
3
3
  export declare class TimePolicyValidator extends Container<TimePolicy> {
4
- constructor(options?: ContainerOptions<TimePolicy>);
5
- mountAll(): void;
4
+ initialize(): void;
6
5
  }
7
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;gBAC9C,OAAO,GAAE,gBAAgB,CAAC,UAAU,CAAM;IAMtD,QAAQ;CAYX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/built-in/time/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC1D,UAAU;CAkEb"}
@@ -1,7 +1,27 @@
1
1
  import type { AttributeNamesPolicy } from './attribute-names';
2
2
  import type { AttributesPolicy } from './attributes';
3
+ import type { BuiltInPolicyType } from './constants';
3
4
  import type { DatePolicy } from './date';
4
5
  import type { CompositePolicy } from './composite';
6
+ import type { IdentityPolicy } from './identity';
7
+ import type { PermissionBindingPolicy } from './permission-binding';
5
8
  import type { TimePolicy } from './time';
6
- export type BuiltInPolicy<T extends Record<string, any> = Record<string, any>> = AttributesPolicy<T> | AttributeNamesPolicy | DatePolicy | CompositePolicy | TimePolicy;
9
+ type BuiltInPolicyTypeMapRaw<T extends Record<string, any> = Record<string, any>> = {
10
+ [BuiltInPolicyType.ATTRIBUTES]: AttributesPolicy<T>;
11
+ [BuiltInPolicyType.ATTRIBUTE_NAMES]: AttributeNamesPolicy;
12
+ [BuiltInPolicyType.DATE]: DatePolicy;
13
+ [BuiltInPolicyType.COMPOSITE]: CompositePolicy;
14
+ [BuiltInPolicyType.TIME]: TimePolicy;
15
+ [BuiltInPolicyType.IDENTITY]: IdentityPolicy;
16
+ [BuiltInPolicyType.PERMISSION_BINDING]: PermissionBindingPolicy;
17
+ };
18
+ export type BuiltInPolicyTypeMap<T extends Record<string, any> = Record<string, any>> = {
19
+ [K in keyof BuiltInPolicyTypeMapRaw<T> as `${K}`]: BuiltInPolicyTypeMapRaw<T>[K];
20
+ };
21
+ export type BuiltInPolicies<T extends Record<string, any> = Record<string, any>> = {
22
+ [K in keyof BuiltInPolicyTypeMap<T>]: BuiltInPolicyTypeMap<T>[K] & {
23
+ type: K;
24
+ };
25
+ }[keyof BuiltInPolicyTypeMap];
26
+ export {};
7
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,aAAa,CACrB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACnD,gBAAgB,CAAC,CAAC,CAAC,GACvB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,UAAU,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/policy/built-in/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAChF,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAC1D,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IACrC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC/C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IACrC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC7C,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,CAAA;CAClE,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KACnF,CAAC,IAAI,MAAM,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KAC9E,CAAC,IAAI,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAC/D,IAAI,EAAE,CAAC,CAAA;KACV;CACJ,CAAC,MAAM,oBAAoB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- export declare class PolicyError extends Error {
2
- code: null | string;
1
+ import { AuthupError } from '@authup/errors';
2
+ export declare class PolicyError extends AuthupError {
3
3
  constructor(message?: string, code?: string | null);
4
4
  static evaluatorNotFound(type: string): PolicyError;
5
5
  static evaluatorNotProcessable(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/policy/error/module.ts"],"names":[],"mappings":"AASA,qBAAa,WAAY,SAAQ,KAAK;IAC3B,IAAI,EAAG,IAAI,GAAG,MAAM,CAAC;gBAEhB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlD,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAOrC,MAAM,CAAC,uBAAuB;IAO9B,MAAM,CAAC,uBAAuB;CAMjC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/policy/error/module.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAC;AAExD,qBAAa,WAAY,SAAQ,WAAW;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlD,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAOrC,MAAM,CAAC,uBAAuB;IAO9B,MAAM,CAAC,uBAAuB;CAMjC"}
@@ -1,8 +1,6 @@
1
- import type { ContainerOptions } from 'validup';
2
1
  import { Container } from 'validup';
3
2
  import type { PolicyIdentity } from '../../../types';
4
3
  export declare class PolicyDataIdentityValidator extends Container<PolicyIdentity> {
5
- constructor(options?: ContainerOptions<PolicyIdentity>);
6
- mountAll(): void;
4
+ initialize(): void;
7
5
  }
8
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/policy/evaluator/data/identity/validator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,2BAA4B,SAAQ,SAAS,CAAC,cAAc,CAAC;gBAC1D,OAAO,GAAE,gBAAgB,CAAC,cAAc,CAAM;IAM1D,QAAQ;CASX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/policy/evaluator/data/identity/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,2BAA4B,SAAQ,SAAS,CAAC,cAAc,CAAC;IACtE,UAAU;CA+Cb"}
@@ -1,8 +1,6 @@
1
- import type { ContainerOptions } from 'validup';
2
1
  import { Container } from 'validup';
3
2
  import type { PermissionItem } from '../../../../permission';
4
3
  export declare class PolicyDataPermissionValidator extends Container<PermissionItem> {
5
- constructor(options?: ContainerOptions<PermissionItem>);
6
- mountAll(): void;
4
+ initialize(): void;
7
5
  }
8
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/policy/evaluator/data/permission/validator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,6BAA8B,SAAQ,SAAS,CAAC,cAAc,CAAC;gBAC5D,OAAO,GAAE,gBAAgB,CAAC,cAAc,CAAM;IAM1D,QAAQ;CASX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../src/policy/evaluator/data/permission/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,6BAA8B,SAAQ,SAAS,CAAC,cAAc,CAAC;IACxE,UAAU;CA2Bb"}
@@ -1,8 +1,6 @@
1
- import type { ContainerOptions } from 'validup';
2
1
  import { Container } from 'validup';
3
2
  import type { PolicyData } from '../../types';
4
3
  export declare class PolicyDataValidator extends Container<PolicyData> {
5
- constructor(options?: ContainerOptions<PolicyData>);
6
- mountAll(): void;
4
+ initialize(): void;
7
5
  }
8
6
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/evaluator/data/validator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;gBAC9C,OAAO,GAAE,gBAAgB,CAAC,UAAU,CAAM;IAMtD,QAAQ;CA6BX"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/policy/evaluator/data/validator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC1D,UAAU;CA+Bb"}
@@ -5,14 +5,30 @@ export interface PolicyBase {
5
5
  */
6
6
  invert?: boolean;
7
7
  }
8
- export type PolicyWithType<T extends Record<string, any> = Record<string, any>> = T & {
9
- type: string;
8
+ export type PolicyWithType<R extends Record<string, any> = Record<string, any>, T = string> = R & {
9
+ type: T;
10
10
  };
11
11
  export type PolicyIdentity = {
12
+ /**
13
+ * user, client, robot
14
+ */
12
15
  type: string;
16
+ /**
17
+ * UUID
18
+ */
13
19
  id: string;
14
- realmId?: string;
15
- realmName?: string;
20
+ /**
21
+ * Client associated with identity.
22
+ */
23
+ clientId?: string | null;
24
+ /**
25
+ * Realm id associated with identity.
26
+ */
27
+ realmId?: string | null;
28
+ /**
29
+ * Realm name associated with identity.
30
+ */
31
+ realmName?: string | null;
16
32
  };
17
33
  export type PolicyData = {
18
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/policy/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACnD,CAAC,GAAG;IACJ,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/policy/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,GAAG,MAAM,IACV,CAAC,GAAG;IACJ,IAAI,EAAE,CAAC,CAAA;CACV,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authup/access",
3
- "version": "1.0.0-beta.24",
3
+ "version": "1.0.0-beta.25",
4
4
  "description": "A library for evaluating permissions and policies.",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
@@ -21,7 +21,9 @@
21
21
  "build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
22
22
  "build:js": "rollup -c",
23
23
  "build": "rimraf ./dist && cross-env NODE_ENV=production npm run build:js && npm run build:types",
24
- "build:watch": "npm run build -- --watch"
24
+ "build:watch": "npm run build -- --watch",
25
+ "test": "cross-env NODE_ENV=test jest --config ./test/jest.config.js --detectOpenHandles --runInBand --testTimeout=10000",
26
+ "test:coverage": "npm run test -- --coverage"
25
27
  },
26
28
  "keywords": [],
27
29
  "author": {
@@ -46,12 +48,12 @@
46
48
  "zod": "^3.24.1"
47
49
  },
48
50
  "devDependencies": {
49
- "@authup/errors": "^1.0.0-beta.24",
50
- "@authup/kit": "^1.0.0-beta.24"
51
+ "@authup/errors": "^1.0.0-beta.25",
52
+ "@authup/kit": "^1.0.0-beta.25"
51
53
  },
52
54
  "peerDependencies": {
53
- "@authup/errors": "^1.0.0-beta.24",
54
- "@authup/kit": "^1.0.0-beta.24"
55
+ "@authup/errors": "^1.0.0-beta.25",
56
+ "@authup/kit": "^1.0.0-beta.25"
55
57
  },
56
58
  "publishConfig": {
57
59
  "access": "public"