diff --git a/docs/assets/style.css b/docs/assets/style.css index 108428c..07a385b 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -11,6 +11,7 @@ --light-color-text-aside: #6e6e6e; --light-color-link: #1f70c2; + --light-color-ts-keyword: #056bd6; --light-color-ts-project: #b111c9; --light-color-ts-module: var(--light-color-ts-project); --light-color-ts-namespace: var(--light-color-ts-project); @@ -50,6 +51,7 @@ --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; + --dark-color-ts-keyword: #3399ff; --dark-color-ts-project: #e358ff; --dark-color-ts-module: var(--dark-color-ts-project); --dark-color-ts-namespace: var(--dark-color-ts-project); @@ -91,6 +93,7 @@ --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); + --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); @@ -132,6 +135,7 @@ --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); + --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); @@ -180,6 +184,7 @@ body { --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); + --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); @@ -219,6 +224,7 @@ body { --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); + --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); @@ -984,6 +990,11 @@ a.tsd-index-link { overflow-x: auto; } +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + .tsd-signature-symbol { color: var(--color-text-aside); font-weight: normal; diff --git a/docs/classes/AccessControl.html b/docs/classes/AccessControl.html index 729fdd9..015ff0a 100644 --- a/docs/classes/AccessControl.html +++ b/docs/classes/AccessControl.html @@ -1,230 +1,10 @@ -AccessControl | abacl
-
- -
-
-
-
- -

Class AccessControl<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • AccessControl
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
driver +AccessControl | abacl

Class AccessControl<Sub, Act, Obj>

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Constructors

Properties

-
-

Methods

-
can +

Methods

-
-

Constructors

-
- -
-
-

Properties

-
- -
driver: CacheInterface<Sub, Act, Obj>
-
- -
options: ControlOptions = {}
-
-

Methods

-
- -
-
- -
-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      policy: Policy<Sub, Act, Obj>
    -

    Returns Promise<boolean>

-
- -
-
- -
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

driver: CacheInterface<Sub, Act, Obj>
options: ControlOptions = {}

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Grant.html b/docs/classes/Grant.html index 3955a82..1517b60 100644 --- a/docs/classes/Grant.html +++ b/docs/classes/Grant.html @@ -1,56 +1,8 @@ -Grant | abacl
-
- -
-
-
-
- -

Class Grant<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • Grant
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
options +Grant | abacl

Class Grant<Sub, Act, Obj>

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Constructors

Properties

-
-

Accessors

-
-
-

Methods

-

Accessors

Methods

delete exists field filter @@ -61,300 +13,4 @@

Methods

subjects time update -
-
-

Constructors

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Sub = string

    • -
    • -

      Act = string

    • -
    • -

      Obj = string

    -
    -

    Parameters

    -
    -

    Returns Grant<Sub, Act, Obj>

-
-

Properties

-
- -
options: ControlOptions = {}
-
- -
present: Record<string, Policy<Sub, Act, Obj>> = {}
-
-

Accessors

-
- -
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Data = any

    -
    -

    Parameters

    -
      -
    • -
      data: any
    • -
    • -
      Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)
    -

    Returns Promise<Data>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Data = any

    -
    -

    Parameters

    -
      -
    • -
      data: any
    • -
    • -
      Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)
    -

    Returns Promise<Data>

-
- -
-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      policies: Policy<Sub, Act, Obj>[]
    • -
    • -
      data: any
    • -
    • -
      type: "filter" | "field"
    • -
    • -
      Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)
    -

    Returns Promise<string[][]>

-
- -
-
- -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

options: ControlOptions = {}
present: Record<string, Policy<Sub, Act, Obj>> = {}

Accessors

Methods

  • Type Parameters

    • Data = any

    Parameters

    • data: any
    • Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)

    Returns Promise<Data>

  • Type Parameters

    • Data = any

    Parameters

    • data: any
    • Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)

    Returns Promise<Data>

  • Parameters

    • policies: Policy<Sub, Act, Obj>[]
    • data: any
    • type: "filter" | "field"
    • Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)

    Returns Promise<string[][]>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MemoryDriver.html b/docs/classes/MemoryDriver.html index d710cdf..182ef08 100644 --- a/docs/classes/MemoryDriver.html +++ b/docs/classes/MemoryDriver.html @@ -1,240 +1,10 @@ -MemoryDriver | abacl
-
- -
-
-
-
- -

Class MemoryDriver<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • MemoryDriver
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
options +MemoryDriver | abacl

Class MemoryDriver<Sub, Act, Obj>

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Implements

Constructors

Properties

-
-

Methods

-

Methods

-
-

Constructors

-
- -
-
-

Properties

-
- -
options: CacheInterfaceOptions = DefaultMemoryDriverOptions
-
- -
present: Record<string, Policy<Sub, Act, Obj>> = {}
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

options: CacheInterfaceOptions = DefaultMemoryDriverOptions
present: Record<string, Policy<Sub, Act, Obj>> = {}

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Permission.html b/docs/classes/Permission.html index 4918fa7..67bcd24 100644 --- a/docs/classes/Permission.html +++ b/docs/classes/Permission.html @@ -1,56 +1,8 @@ -Permission | abacl
-
- -
-
-
-
- -

Class Permission<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • Permission
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
grant +Permission | abacl

Class Permission<Sub, Act, Obj>

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Constructors

Properties

-
-

Accessors

-
-
-

Methods

-

Accessors

Methods

field filter has location @@ -58,255 +10,4 @@

Methods

subjects time build -
-
-

Constructors

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Sub = string

    • -
    • -

      Act = string

    • -
    • -

      Obj = string

    -
    -

    Parameters

    -
      -
    • -
      granted: boolean
    • -
    • -
      grant: Grant<Sub, Act, Obj>
    -

    Returns Permission<Sub, Act, Obj>

-
-

Properties

-
- -
grant: Grant<Sub, Act, Obj>
-
- -
granted: boolean
-
-

Accessors

-
- -
-
-

Methods

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Data = any

    -
    -

    Parameters

    -
      -
    • -
      data: any
    • -
    • -
      Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)
    -

    Returns Promise<Data>

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Data = any

    -
    -

    Parameters

    -
      -
    • -
      data: any
    • -
    • -
      Optional cKey: CacheKey<Sub, Act, Obj> | ((data) => CacheKey<Sub, Act, Obj> | Promise<CacheKey<Sub, Act, Obj>>)
    -

    Returns Promise<Data>

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Constructors

Properties

grant: Grant<Sub, Act, Obj>
granted: boolean

Accessors

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/coverage/coverage-summary.json b/docs/coverage/coverage-summary.json index 24933d9..d9f97ad 100644 --- a/docs/coverage/coverage-summary.json +++ b/docs/coverage/coverage-summary.json @@ -1,24 +1,24 @@ {"total": {"lines":{"total":754,"covered":737,"skipped":0,"pct":97.74},"statements":{"total":754,"covered":737,"skipped":0,"pct":97.74},"functions":{"total":60,"covered":58,"skipped":0,"pct":96.66},"branches":{"total":254,"covered":220,"skipped":0,"pct":86.61},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/index.ts": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/classes/acl.class.ts": {"lines":{"total":83,"covered":81,"skipped":0,"pct":97.59},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":83,"covered":81,"skipped":0,"pct":97.59},"branches":{"total":32,"covered":23,"skipped":0,"pct":71.87}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/classes/grant.class.ts": {"lines":{"total":211,"covered":199,"skipped":0,"pct":94.31},"functions":{"total":21,"covered":21,"skipped":0,"pct":100},"statements":{"total":211,"covered":199,"skipped":0,"pct":94.31},"branches":{"total":114,"covered":99,"skipped":0,"pct":86.84}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/classes/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/classes/permission.class.ts": {"lines":{"total":59,"covered":59,"skipped":0,"pct":100},"functions":{"total":10,"covered":10,"skipped":0,"pct":100},"statements":{"total":59,"covered":59,"skipped":0,"pct":100},"branches":{"total":10,"covered":10,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/consts/acl.const.ts": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/consts/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/driver/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/driver/memory/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/driver/memory/memory.driver.ts": {"lines":{"total":48,"covered":45,"skipped":0,"pct":93.75},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":48,"covered":45,"skipped":0,"pct":93.75},"branches":{"total":9,"covered":8,"skipped":0,"pct":88.88}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/driver/memory/memory.tools.ts": {"lines":{"total":63,"covered":63,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":63,"covered":63,"skipped":0,"pct":100},"branches":{"total":36,"covered":33,"skipped":0,"pct":91.66}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/types/cache.type.ts": {"lines":{"total":28,"covered":28,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":28,"covered":28,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/types/common.type.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/types/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/types/pattern.type.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/types/policy.type.ts": {"lines":{"total":16,"covered":16,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":16,"covered":16,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/utils/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/utils/other.util.ts": {"lines":{"total":44,"covered":44,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":44,"covered":44,"skipped":0,"pct":100},"branches":{"total":21,"covered":17,"skipped":0,"pct":80.95}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/utils/regex.util.ts": {"lines":{"total":29,"covered":29,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":29,"covered":29,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/utils/strict.util.ts": {"lines":{"total":22,"covered":22,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":22,"covered":22,"skipped":0,"pct":100},"branches":{"total":7,"covered":7,"skipped":0,"pct":100}} -,"/home/vahid/WorkSpace/vhidvz/abacl/src/utils/validate.util.ts": {"lines":{"total":28,"covered":28,"skipped":0,"pct":100},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":28,"covered":28,"skipped":0,"pct":100},"branches":{"total":24,"covered":22,"skipped":0,"pct":91.66}} -,"/home/vahid/WorkSpace/vhidvz/abacl/test/mock.ts": {"lines":{"total":77,"covered":77,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":77,"covered":77,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/index.ts": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/classes/acl.class.ts": {"lines":{"total":83,"covered":81,"skipped":0,"pct":97.59},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":83,"covered":81,"skipped":0,"pct":97.59},"branches":{"total":32,"covered":23,"skipped":0,"pct":71.87}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/classes/grant.class.ts": {"lines":{"total":211,"covered":199,"skipped":0,"pct":94.31},"functions":{"total":21,"covered":21,"skipped":0,"pct":100},"statements":{"total":211,"covered":199,"skipped":0,"pct":94.31},"branches":{"total":114,"covered":99,"skipped":0,"pct":86.84}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/classes/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/classes/permission.class.ts": {"lines":{"total":59,"covered":59,"skipped":0,"pct":100},"functions":{"total":10,"covered":10,"skipped":0,"pct":100},"statements":{"total":59,"covered":59,"skipped":0,"pct":100},"branches":{"total":10,"covered":10,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/consts/acl.const.ts": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/consts/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/driver/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/driver/memory/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/driver/memory/memory.driver.ts": {"lines":{"total":48,"covered":45,"skipped":0,"pct":93.75},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":48,"covered":45,"skipped":0,"pct":93.75},"branches":{"total":9,"covered":8,"skipped":0,"pct":88.88}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/driver/memory/memory.tools.ts": {"lines":{"total":63,"covered":63,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":63,"covered":63,"skipped":0,"pct":100},"branches":{"total":36,"covered":33,"skipped":0,"pct":91.66}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/types/cache.type.ts": {"lines":{"total":28,"covered":28,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":28,"covered":28,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/types/common.type.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/types/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/types/pattern.type.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/types/policy.type.ts": {"lines":{"total":16,"covered":16,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":16,"covered":16,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/utils/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/utils/other.util.ts": {"lines":{"total":44,"covered":44,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":44,"covered":44,"skipped":0,"pct":100},"branches":{"total":21,"covered":17,"skipped":0,"pct":80.95}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/utils/regex.util.ts": {"lines":{"total":29,"covered":29,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":29,"covered":29,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/utils/strict.util.ts": {"lines":{"total":22,"covered":22,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":22,"covered":22,"skipped":0,"pct":100},"branches":{"total":7,"covered":7,"skipped":0,"pct":100}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/src/utils/validate.util.ts": {"lines":{"total":28,"covered":28,"skipped":0,"pct":100},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":28,"covered":28,"skipped":0,"pct":100},"branches":{"total":24,"covered":22,"skipped":0,"pct":91.66}} +,"/home/vahid/WorkSpace/vhidvz-github/abacl/test/mock.ts": {"lines":{"total":77,"covered":77,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":77,"covered":77,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} } diff --git a/docs/coverage/lcov-report/index.html b/docs/coverage/lcov-report/index.html index 272a8a1..14917bb 100644 --- a/docs/coverage/lcov-report/index.html +++ b/docs/coverage/lcov-report/index.html @@ -206,7 +206,7 @@

All files

-
- -
-
-
-
- -

Function IP_CIDR

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +IP_CIDR | abacl

Function IP_CIDR

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/accessibility.html b/docs/functions/accessibility.html index 01fd08f..d03d753 100644 --- a/docs/functions/accessibility.html +++ b/docs/functions/accessibility.html @@ -1,79 +1 @@ -accessibility | abacl
-
- -
-
-
-
- -

Function accessibility

-
-
    - -
  • -
    -

    Parameters

    -
      -
    • -
      time: Time
    • -
    • -
      Optional options: {
          currentDate?: Date;
          tz?: string;
      }
      -
        -
      • -
        Optional currentDate?: Date
      • -
      • -
        Optional tz?: string
    -

    Returns boolean

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +accessibility | abacl

Function accessibility

  • Parameters

    • time: Time
    • Optional options: {
          currentDate?: Date;
          tz?: string;
      }
      • Optional currentDate?: Date
      • Optional tz?: string

    Returns boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/accumulate.html b/docs/functions/accumulate.html index a7eb723..f901fe4 100644 --- a/docs/functions/accumulate.html +++ b/docs/functions/accumulate.html @@ -1,72 +1 @@ -accumulate | abacl
-
- -
-
-
-
- -

Function accumulate

-
-
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Rest ...notations: string[][]
    -

    Returns string[]

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +accumulate | abacl

Function accumulate

  • Parameters

    • Rest ...notations: string[][]

    Returns string[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/filterByNotation.html b/docs/functions/filterByNotation.html index e7baa60..9419c31 100644 --- a/docs/functions/filterByNotation.html +++ b/docs/functions/filterByNotation.html @@ -1,76 +1 @@ -filterByNotation | abacl
-
- -
-
-
-
- -

Function filterByNotation

-
-
    - -
  • -
    -

    Parameters

    -
      -
    • -
      data: any
    • -
    • -
      notation: string[]
    • -
    • -
      deep_copy: boolean = false
    -

    Returns any

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +filterByNotation | abacl

Function filterByNotation

  • Parameters

    • data: any
    • notation: string[]
    • deep_copy: boolean = false

    Returns any

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/isCIDR.html b/docs/functions/isCIDR.html index e4328d8..b00b8c0 100644 --- a/docs/functions/isCIDR.html +++ b/docs/functions/isCIDR.html @@ -1,72 +1 @@ -isCIDR | abacl
-
- -
-
-
-
- -

Function isCIDR

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +isCIDR | abacl

Function isCIDR

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/isCRON.html b/docs/functions/isCRON.html index 446205e..7fb805e 100644 --- a/docs/functions/isCRON.html +++ b/docs/functions/isCRON.html @@ -1,72 +1 @@ -isCRON | abacl
-
- -
-
-
-
- -

Function isCRON

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +isCRON | abacl

Function isCRON

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/isIP.html b/docs/functions/isIP.html index 6fb6694..6616cc6 100644 --- a/docs/functions/isIP.html +++ b/docs/functions/isIP.html @@ -1,72 +1 @@ -isIP | abacl
-
- -
-
-
-
- -

Function isIP

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +isIP | abacl

Function isIP

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/isStrict.html b/docs/functions/isStrict.html index 9f00ab9..d2c205f 100644 --- a/docs/functions/isStrict.html +++ b/docs/functions/isStrict.html @@ -1,89 +1,10 @@ -isStrict | abacl
-
- -
-
-
-
- -

Function isStrict

-
-
    - -
  • -

    The function isStrict checks if a given property type matches a strict mode, returning a boolean +isStrict | abacl

    Function isStrict

    • The function isStrict checks if a given property type matches a strict mode, returning a boolean value.

      -
      -
      -

      Parameters

      -
        -
      • -
        prop: PropType
        -

        The prop parameter is of type PropType. It represents a property that +

        Parameters

        • prop: PropType

          The prop parameter is of type PropType. It represents a property that is being checked for strictness.

          -
          -
        • -
        • -
          strict: string | boolean = STRICT
          -

          The strict parameter is a boolean or string that determines +

        • strict: string | boolean = STRICT

          The strict parameter is a boolean or string that determines whether the code should be executed in strict mode. If it is a boolean, the function will return the value of strict. If it is a string, the function will check if the first character of the prop parameter is included

          -
          -
        -

        Returns boolean

        a boolean value.

        - -
    -
    - -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

Returns boolean

a boolean value.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/key.html b/docs/functions/key.html index 383e012..448f6b6 100644 --- a/docs/functions/key.html +++ b/docs/functions/key.html @@ -1,83 +1 @@ -key | abacl
-
- -
-
-
-
- -

Function key

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +key | abacl

Function key

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/memoryIgnore.html b/docs/functions/memoryIgnore.html index 2e1c09b..714951b 100644 --- a/docs/functions/memoryIgnore.html +++ b/docs/functions/memoryIgnore.html @@ -1,72 +1 @@ -memoryIgnore | abacl
-
- -
-
-
-
- -

Function memoryIgnore

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +memoryIgnore | abacl

Function memoryIgnore

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/parse.html b/docs/functions/parse.html index b95cb16..6b51c99 100644 --- a/docs/functions/parse.html +++ b/docs/functions/parse.html @@ -1,83 +1 @@ -parse | abacl
-
- -
-
-
-
- -

Function parse

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +parse | abacl

Function parse

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/pattern-1.html b/docs/functions/pattern-1.html index c96faa0..96f8eb1 100644 --- a/docs/functions/pattern-1.html +++ b/docs/functions/pattern-1.html @@ -1,83 +1 @@ -pattern | abacl
-
- -
-
-
-
- -

Function pattern

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +pattern | abacl

Function pattern

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/validate.html b/docs/functions/validate.html index d047184..91aea9c 100644 --- a/docs/functions/validate.html +++ b/docs/functions/validate.html @@ -1,81 +1 @@ -validate | abacl
-
- -
-
-
-
- -

Function validate

-
-
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      Sub = string

    • -
    • -

      Act = string

    • -
    • -

      Obj = string

    -
    -

    Parameters

    -
      -
    • -
      policy: Policy<Sub, Act, Obj>
    -

    Returns void

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +validate | abacl

Function validate

  • Type Parameters

    • Sub = string

    • Act = string

    • Obj = string

    Parameters

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 87ffef0..c7ebffe 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,18 +1,4 @@ -abacl
-
- -
-
-
-
-

abacl

-

Attribute-Based Access Control Library

npm +abacl

abacl

Thanks a lot

accesscontrol - Role and Attribute based Access Control for Node.js

CASL is an isomorphic authorization JavaScript library which restricts what resources a given user is allowed to access.

License

MIT

-
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/AccessControlOptions.html b/docs/interfaces/AccessControlOptions.html index b4912e2..d794999 100644 --- a/docs/interfaces/AccessControlOptions.html +++ b/docs/interfaces/AccessControlOptions.html @@ -1,114 +1,3 @@ -AccessControlOptions | abacl
-
- -
-
-
-
- -

Interface AccessControlOptions<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
-
-
-
- -
-
-

Properties

-
driver? +AccessControlOptions | abacl

Interface AccessControlOptions<Sub, Act, Obj>

interface AccessControlOptions {
    driver?: "memory" | CacheInterface<Sub, Act, Obj> | (() => CacheInterface<Sub, Act, Obj> | Promise<CacheInterface<Sub, Act, Obj>>);
    strict?: string | boolean;
}

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Hierarchy

Properties

-
-

Properties

-
- -
driver?: "memory" | CacheInterface<Sub, Act, Obj> | (() => CacheInterface<Sub, Act, Obj> | Promise<CacheInterface<Sub, Act, Obj>>)
-
-

Type declaration

-
-
- -
strict?: string | boolean
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

driver?: "memory" | CacheInterface<Sub, Act, Obj> | (() => CacheInterface<Sub, Act, Obj> | Promise<CacheInterface<Sub, Act, Obj>>)

Type declaration

strict?: string | boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CacheInterface.html b/docs/interfaces/CacheInterface.html index a7345cb..1dc3cb9 100644 --- a/docs/interfaces/CacheInterface.html +++ b/docs/interfaces/CacheInterface.html @@ -1,165 +1,6 @@ -CacheInterface | abacl
-
- -
-
-
-
- -

Interface CacheInterface<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • CacheInterface
-
-

Implemented by

-
-
-
-
- -
-
-

Methods

-
clear +CacheInterface | abacl

Interface CacheInterface<Sub, Act, Obj>

interface CacheInterface {
    clear(): "OK" | Promise<"OK">;
    del(policy): "OK" | Promise<"OK">;
    get(cKey): Policy<Sub, Act, Obj>[] | Promise<Policy<Sub, Act, Obj>[]>;
    has(policy, options?): boolean | Promise<boolean>;
    set(policy): "OK" | Promise<"OK">;
}

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Implemented by

Methods

-
-

Methods

-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      policy: Policy<Sub, Act, Obj>
    -

    Returns "OK" | Promise<"OK">

-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
    -

    Returns boolean | Promise<boolean>

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      policy: Policy<Sub, Act, Obj>
    -

    Returns "OK" | Promise<"OK">

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CacheInterfaceOptions.html b/docs/interfaces/CacheInterfaceOptions.html index 18b2009..ad073ef 100644 --- a/docs/interfaces/CacheInterfaceOptions.html +++ b/docs/interfaces/CacheInterfaceOptions.html @@ -1,94 +1,3 @@ -CacheInterfaceOptions | abacl
-
- -
-
-
-
- -

Interface CacheInterfaceOptions

-
-

Hierarchy

-
    -
  • CacheInterfaceOptions
-
-
-
- -
-
-

Properties

-
prefix? +CacheInterfaceOptions | abacl

Interface CacheInterfaceOptions

interface CacheInterfaceOptions {
    prefix?: string;
    sep?: string;
}

Properties

-
-

Properties

-
- -
prefix?: string
-
- -
sep?: string
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

prefix?: string
sep?: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CanOptions.html b/docs/interfaces/CanOptions.html index efa8429..b8dadd2 100644 --- a/docs/interfaces/CanOptions.html +++ b/docs/interfaces/CanOptions.html @@ -1,119 +1,3 @@ -CanOptions | abacl
-
- -
-
-
-
- -

Interface CanOptions<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
-
-
-
- -
-
-

Properties

-
callable? +CanOptions | abacl

Interface CanOptions<Sub, Act, Obj>

interface CanOptions {
    callable?: ((perm) => boolean | Promise<boolean>);
    strict?: string | boolean;
}

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Hierarchy

Properties

-
-

Properties

-
- -
callable?: ((perm) => boolean | Promise<boolean>)
-
-

Type declaration

-
    -
  • -
      -
    • (perm): boolean | Promise<boolean>
    • -
    • -
      -

      Parameters

      -
      -

      Returns boolean | Promise<boolean>

-
- -
strict?: string | boolean
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

callable?: ((perm) => boolean | Promise<boolean>)

Type declaration

    • (perm): boolean | Promise<boolean>
    • Parameters

      Returns boolean | Promise<boolean>

strict?: string | boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/ControlOptions.html b/docs/interfaces/ControlOptions.html index 9c84687..9fde468 100644 --- a/docs/interfaces/ControlOptions.html +++ b/docs/interfaces/ControlOptions.html @@ -1,90 +1,2 @@ -ControlOptions | abacl
-
- -
-
-
-
- -

Interface ControlOptions

-
-

Hierarchy

-
-
-
-
- -
-
-

Properties

-
-
-

Properties

-
- -
strict?: string | boolean
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +ControlOptions | abacl

Interface ControlOptions

interface ControlOptions {
    strict?: string | boolean;
}

Hierarchy

Properties

Properties

strict?: string | boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Pattern.html b/docs/interfaces/Pattern.html index 8c35ac8..36a33c3 100644 --- a/docs/interfaces/Pattern.html +++ b/docs/interfaces/Pattern.html @@ -1,107 +1,3 @@ -Pattern | abacl
-
- -
-
-
-
- -

Interface Pattern

-
-

Hierarchy

-
    -
  • Pattern
-
-
-
- -
-
-

Properties

-
-
-

Methods

-
-
-

Properties

-
- -
source: string
-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      val: string
    -

    Returns boolean | Promise<boolean>

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +Pattern | abacl

Interface Pattern

interface Pattern {
    source: string;
    test(val): boolean | Promise<boolean>;
}

Properties

Methods

Properties

source: string

Methods

  • Parameters

    • val: string

    Returns boolean | Promise<boolean>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Policy.html b/docs/interfaces/Policy.html index ac19ae8..dfa5b22 100644 --- a/docs/interfaces/Policy.html +++ b/docs/interfaces/Policy.html @@ -1,138 +1,8 @@ -Policy | abacl
-
- -
-
-
-
- -

Interface Policy<Sub, Act, Obj>

-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Hierarchy

-
    -
  • Policy
-
-
-
- -
-
-

Properties

-
action +Policy | abacl

Interface Policy<Sub, Act, Obj>

interface Policy {
    action: Act;
    field?: string[];
    filter?: string[];
    location?: string[];
    object: Obj;
    subject: Sub;
    time?: Time[];
}

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

-
-

Properties

-
- -
action: Act
-
- -
field?: string[]
-
- -
filter?: string[]
-
- -
location?: string[]
-
- -
object: Obj
-
- -
subject: Sub
-
- -
time?: Time[]
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

action: Act
field?: string[]
filter?: string[]
location?: string[]
object: Obj
subject: Sub
time?: Time[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Time.html b/docs/interfaces/Time.html index 291dcf4..7dcbd4e 100644 --- a/docs/interfaces/Time.html +++ b/docs/interfaces/Time.html @@ -1,94 +1,3 @@ -Time | abacl
-
- -
-
-
-
- -

Interface Time

-
-

Hierarchy

-
    -
  • Time
-
-
-
- -
-
-

Properties

-
cron_exp +Time | abacl

Interface Time

interface Time {
    cron_exp: string;
    duration: number;
}

Properties

-
-

Properties

-
- -
cron_exp: string
-
- -
duration: number
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

cron_exp: string
duration: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TimeOptions.html b/docs/interfaces/TimeOptions.html index af06f46..84079ff 100644 --- a/docs/interfaces/TimeOptions.html +++ b/docs/interfaces/TimeOptions.html @@ -1,94 +1,3 @@ -TimeOptions | abacl
-
- -
-
-
-
- -

Interface TimeOptions

-
-

Hierarchy

-
    -
  • TimeOptions
-
-
-
- -
-
-

Properties

-
currentDate? +TimeOptions | abacl

Interface TimeOptions

interface TimeOptions {
    currentDate?: Date;
    tz?: string;
}

Properties

-
-

Properties

-
- -
currentDate?: Date
-
- -
tz?: string
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Properties

currentDate?: Date
tz?: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html index 29a58c1..9dd6712 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,36 +1,9 @@ -abacl
-
- -
-
-
-
-

abacl

-
-
-
- -
-
-

References

-
-
-

Classes

-
AccessControl +abacl

abacl

References

Classes

-
-

Interfaces

-

Interfaces

-
-

Type Aliases

-

Type Aliases

-
-

Variables

-
ALL +

Variables

-
-

Functions

-

Functions

-
-

References

-
-Renames and re-exports AccessControl
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +

References

Renames and re-exports AccessControl

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CacheKey.html b/docs/types/CacheKey.html index f1b7d41..109340d 100644 --- a/docs/types/CacheKey.html +++ b/docs/types/CacheKey.html @@ -1,81 +1 @@ -CacheKey | abacl
-
- -
-
-
-
- -

Type alias CacheKey<Sub, Act, Obj>

-
CacheKey<Sub, Act, Obj>: {
    action?: Act | PropValue & ControlOptions;
    object?: Obj | PropValue & ControlOptions;
    subject?: Sub | PropValue & ControlOptions;
} & ControlOptions
-
-

Type Parameters

-
    -
  • -

    Sub = string

  • -
  • -

    Act = string

  • -
  • -

    Obj = string

-
-

Type declaration

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +CacheKey | abacl

Type alias CacheKey<Sub, Act, Obj>

CacheKey<Sub, Act, Obj>: {
    action?: Act | PropValue & ControlOptions;
    object?: Obj | PropValue & ControlOptions;
    subject?: Sub | PropValue & ControlOptions;
} & ControlOptions

Type Parameters

  • Sub = string

  • Act = string

  • Obj = string

Type declaration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/MemoryDriverOptions.html b/docs/types/MemoryDriverOptions.html index 6d7c8d4..7194f33 100644 --- a/docs/types/MemoryDriverOptions.html +++ b/docs/types/MemoryDriverOptions.html @@ -1,63 +1 @@ -MemoryDriverOptions | abacl
-
- -
-
-
-
- -

Type alias MemoryDriverOptions

-
MemoryDriverOptions: CacheInterfaceOptions
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +MemoryDriverOptions | abacl

Type alias MemoryDriverOptions

MemoryDriverOptions: CacheInterfaceOptions

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PropType.html b/docs/types/PropType.html index d39f37c..838f6ee 100644 --- a/docs/types/PropType.html +++ b/docs/types/PropType.html @@ -1,63 +1 @@ -PropType | abacl
-
- -
-
-
-
- -

Type alias PropType

-
PropType: "subject" | "action" | "object"
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +PropType | abacl

Type alias PropType

PropType: "subject" | "action" | "object"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PropValue.html b/docs/types/PropValue.html index 9d1f8b1..a22f13c 100644 --- a/docs/types/PropValue.html +++ b/docs/types/PropValue.html @@ -1,77 +1 @@ -PropValue | abacl
-
- -
-
-
-
- -

Type alias PropValue<M, S>

-
PropValue<M, S>: {
    main: M;
    scope?: S;
}
-
-

Type Parameters

-
    -
  • -

    M = string

  • -
  • -

    S = string

-
-

Type declaration

-
    -
  • -
    main: M
  • -
  • -
    Optional scope?: S
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +PropValue | abacl

Type alias PropValue<M, S>

PropValue<M, S>: {
    main: M;
    scope?: S;
}

Type Parameters

  • M = string

  • S = string

Type declaration

  • main: M
  • Optional scope?: S

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ALL.html b/docs/variables/ALL.html index eb34ac6..7de355d 100644 --- a/docs/variables/ALL.html +++ b/docs/variables/ALL.html @@ -1,63 +1 @@ -ALL | abacl
-
- -
-
-
-
- -

Variable ALLConst

-
ALL: "all" = 'all'
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +ALL | abacl

Variable ALLConst

ALL: "all" = 'all'

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ANY.html b/docs/variables/ANY.html index 2b4a0d8..77f927c 100644 --- a/docs/variables/ANY.html +++ b/docs/variables/ANY.html @@ -1,63 +1 @@ -ANY | abacl
-
- -
-
-
-
- -

Variable ANYConst

-
ANY: "any" = 'any'
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +ANY | abacl

Variable ANYConst

ANY: "any" = 'any'

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/DefaultMemoryDriverOptions.html b/docs/variables/DefaultMemoryDriverOptions.html index 19f0647..631a2e1 100644 --- a/docs/variables/DefaultMemoryDriverOptions.html +++ b/docs/variables/DefaultMemoryDriverOptions.html @@ -1,63 +1 @@ -DefaultMemoryDriverOptions | abacl
-
- -
-
-
-
- -

Variable DefaultMemoryDriverOptionsConst

-
DefaultMemoryDriverOptions: MemoryDriverOptions = ...
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +DefaultMemoryDriverOptions | abacl

Variable DefaultMemoryDriverOptionsConst

DefaultMemoryDriverOptions: MemoryDriverOptions = ...

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/NULL.html b/docs/variables/NULL.html index f2a982a..34bdc5c 100644 --- a/docs/variables/NULL.html +++ b/docs/variables/NULL.html @@ -1,63 +1 @@ -NULL | abacl
-
- -
-
-
-
- -

Variable NULLConst

-
NULL: "null" = 'null'
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +NULL | abacl

Variable NULLConst

NULL: "null" = 'null'

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/OK.html b/docs/variables/OK.html index 4e3587c..e0a1a69 100644 --- a/docs/variables/OK.html +++ b/docs/variables/OK.html @@ -1,63 +1 @@ -OK | abacl
-
- -
-
-
-
- -

Variable OKConst

-
OK: "OK" = 'OK'
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +OK | abacl

Variable OKConst

OK: "OK" = 'OK'

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/SEP.html b/docs/variables/SEP.html index 5891c15..3926006 100644 --- a/docs/variables/SEP.html +++ b/docs/variables/SEP.html @@ -1,63 +1 @@ -SEP | abacl
-
- -
-
-
-
- -

Variable SEPConst

-
SEP: ":" = ':'
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +SEP | abacl

Variable SEPConst

SEP: ":" = ':'

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/STRICT.html b/docs/variables/STRICT.html index cdd11d3..2a0e6c3 100644 --- a/docs/variables/STRICT.html +++ b/docs/variables/STRICT.html @@ -1,63 +1 @@ -STRICT | abacl
-
- -
-
-
-
- -

Variable STRICTConst

-
STRICT: true = true
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +STRICT | abacl

Variable STRICTConst

STRICT: true = true

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/cidrRegex.html b/docs/variables/cidrRegex.html index f26788d..592815d 100644 --- a/docs/variables/cidrRegex.html +++ b/docs/variables/cidrRegex.html @@ -1,63 +1 @@ -cidrRegex | abacl
-
- -
-
-
-
- -

Variable cidrRegexConst

-
cidrRegex: RegExp = ...
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +cidrRegex | abacl

Variable cidrRegexConst

cidrRegex: RegExp = ...

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ipRegex.html b/docs/variables/ipRegex.html index c664d1c..ff100dc 100644 --- a/docs/variables/ipRegex.html +++ b/docs/variables/ipRegex.html @@ -1,63 +1 @@ -ipRegex | abacl
-
- -
-
-
-
- -

Variable ipRegexConst

-
ipRegex: RegExp = ...
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +ipRegex | abacl

Variable ipRegexConst

ipRegex: RegExp = ...

Generated using TypeDoc

\ No newline at end of file diff --git a/package.json b/package.json index 8dac56e..a9e1f0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "abacl", - "version": "8.0.4", + "version": "8.0.5", "description": "Attribute Based Access Control Library", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -40,20 +40,20 @@ "notation": "^2.0.0" }, "devDependencies": { - "@types/jest": "29.5.5", - "@types/node": "^20.8.4", - "@typescript-eslint/eslint-plugin": "6.7.5", - "@typescript-eslint/parser": "6.7.5", - "eslint": "8.51.0", - "eslint-config-prettier": "9.0.0", - "eslint-plugin-prettier": "5.0.0", + "@types/jest": "29.5.11", + "@types/node": "^20.10.4", + "@typescript-eslint/eslint-plugin": "6.13.2", + "@typescript-eslint/parser": "6.13.2", + "eslint": "8.55.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.0.1", "jest": "^29.7.0", "make-coverage-badge": "1.2.0", - "prettier": "3.0.3", + "prettier": "3.1.0", "ts-jest": "^29.1.1", "ts-node": "10.9.1", - "typedoc": "0.25.2", - "typescript": "5.2.2" + "typedoc": "0.25.4", + "typescript": "5.3.3" }, "publishConfig": { "access": "public", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d571323..2491d23 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,47 +20,47 @@ dependencies: devDependencies: '@types/jest': - specifier: 29.5.5 - version: 29.5.5 + specifier: 29.5.11 + version: 29.5.11 '@types/node': - specifier: ^20.8.4 - version: 20.8.4 + specifier: ^20.10.4 + version: 20.10.4 '@typescript-eslint/eslint-plugin': - specifier: 6.7.5 - version: 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.51.0)(typescript@5.2.2) + specifier: 6.13.2 + version: 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: 6.7.5 - version: 6.7.5(eslint@8.51.0)(typescript@5.2.2) + specifier: 6.13.2 + version: 6.13.2(eslint@8.55.0)(typescript@5.3.3) eslint: - specifier: 8.51.0 - version: 8.51.0 + specifier: 8.55.0 + version: 8.55.0 eslint-config-prettier: - specifier: 9.0.0 - version: 9.0.0(eslint@8.51.0) + specifier: 9.1.0 + version: 9.1.0(eslint@8.55.0) eslint-plugin-prettier: - specifier: 5.0.0 - version: 5.0.0(eslint-config-prettier@9.0.0)(eslint@8.51.0)(prettier@3.0.3) + specifier: 5.0.1 + version: 5.0.1(eslint-config-prettier@9.1.0)(eslint@8.55.0)(prettier@3.1.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) make-coverage-badge: specifier: 1.2.0 version: 1.2.0 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.23.0)(jest@29.7.0)(typescript@5.2.2) + version: 29.1.1(@babel/core@7.23.0)(jest@29.7.0)(typescript@5.3.3) ts-node: specifier: 10.9.1 - version: 10.9.1(@types/node@20.8.4)(typescript@5.2.2) + version: 10.9.1(@types/node@20.10.4)(typescript@5.3.3) typedoc: - specifier: 0.25.2 - version: 0.25.2(typescript@5.2.2) + specifier: 0.25.4 + version: 0.25.4(typescript@5.3.3) typescript: - specifier: 5.2.2 - version: 5.2.2 + specifier: 5.3.3 + version: 5.3.3 packages: @@ -413,13 +413,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.51.0 + eslint: 8.55.0 eslint-visitor-keys: 3.4.3 dev: true @@ -428,8 +428,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -445,16 +445,16 @@ packages: - supports-color dev: true - /@eslint/js@8.51.0: - resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} + /@eslint/js@8.55.0: + resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -466,8 +466,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true /@istanbuljs/load-nyc-config@1.1.0: @@ -491,7 +491,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -512,14 +512,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -547,7 +547,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 jest-mock: 29.7.0 dev: true @@ -574,7 +574,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.8.4 + '@types/node': 20.10.4 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -607,7 +607,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -695,7 +695,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.2 - '@types/node': 20.8.4 + '@types/node': 20.10.4 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: true @@ -834,7 +834,7 @@ packages: /@types/graceful-fs@4.1.7: resolution: {integrity: sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==} dependencies: - '@types/node': 20.8.4 + '@types/node': 20.10.4 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -853,8 +853,8 @@ packages: '@types/istanbul-lib-report': 3.0.1 dev: true - /@types/jest@29.5.5: - resolution: {integrity: sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==} + /@types/jest@29.5.11: + resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -864,10 +864,10 @@ packages: resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true - /@types/node@20.8.4: - resolution: {integrity: sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==} + /@types/node@20.10.4: + resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} dependencies: - undici-types: 5.25.3 + undici-types: 5.26.5 dev: true /@types/semver@7.5.3: @@ -888,8 +888,8 @@ packages: '@types/yargs-parser': 21.0.1 dev: true - /@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==} + /@typescript-eslint/eslint-plugin@6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.3): + resolution: {integrity: sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -900,25 +900,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.7.5(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.7.5 - '@typescript-eslint/type-utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.5 + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/type-utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4 - eslint: 8.51.0 + eslint: 8.55.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.7.5(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==} + /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.3): + resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -927,27 +927,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.7.5 - '@typescript-eslint/types': 6.7.5 - '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.5 + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4 - eslint: 8.51.0 - typescript: 5.2.2 + eslint: 8.55.0 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.7.5: - resolution: {integrity: sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==} + /@typescript-eslint/scope-manager@6.13.2: + resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.5 - '@typescript-eslint/visitor-keys': 6.7.5 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/visitor-keys': 6.13.2 dev: true - /@typescript-eslint/type-utils@6.7.5(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==} + /@typescript-eslint/type-utils@6.13.2(eslint@8.55.0)(typescript@5.3.3): + resolution: {integrity: sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -956,23 +956,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.51.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + eslint: 8.55.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.7.5: - resolution: {integrity: sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==} + /@typescript-eslint/types@6.13.2: + resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.7.5(typescript@5.2.2): - resolution: {integrity: sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==} + /@typescript-eslint/typescript-estree@6.13.2(typescript@5.3.3): + resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -980,45 +980,49 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.7.5 - '@typescript-eslint/visitor-keys': 6.7.5 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.7.5(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==} + /@typescript-eslint/utils@6.13.2(eslint@8.55.0)(typescript@5.3.3): + resolution: {integrity: sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.3 - '@typescript-eslint/scope-manager': 6.7.5 - '@typescript-eslint/types': 6.7.5 - '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) - eslint: 8.51.0 + '@typescript-eslint/scope-manager': 6.13.2 + '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) + eslint: 8.55.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.7.5: - resolution: {integrity: sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==} + /@typescript-eslint/visitor-keys@6.13.2: + resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/types': 6.13.2 eslint-visitor-keys: 3.4.3 dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1349,7 +1353,7 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /create-jest@29.7.0(@types/node@20.8.4)(ts-node@10.9.1): + /create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -1358,7 +1362,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -1513,17 +1517,17 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.0.0(eslint@8.51.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + /eslint-config-prettier@9.1.0(eslint@8.55.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.51.0 + eslint: 8.55.0 dev: true - /eslint-plugin-prettier@5.0.0(eslint-config-prettier@9.0.0)(eslint@8.51.0)(prettier@3.0.3): - resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} + /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.1.0)(eslint@8.55.0)(prettier@3.1.0): + resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -1536,9 +1540,9 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.51.0 - eslint-config-prettier: 9.0.0(eslint@8.51.0) - prettier: 3.0.3 + eslint: 8.55.0 + eslint-config-prettier: 9.1.0(eslint@8.55.0) + prettier: 3.1.0 prettier-linter-helpers: 1.0.0 synckit: 0.8.5 dev: true @@ -1556,18 +1560,19 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.51.0: - resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} + /eslint@8.55.0: + resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.51.0 - '@humanwhocodes/config-array': 0.11.11 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.55.0 + '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -2089,7 +2094,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -2110,7 +2115,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.8.4)(ts-node@10.9.1): + /jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -2124,10 +2129,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -2138,7 +2143,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.8.4)(ts-node@10.9.1): + /jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2153,7 +2158,7 @@ packages: '@babel/core': 7.23.0 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 babel-jest: 29.7.0(@babel/core@7.23.0) chalk: 4.1.2 ci-info: 3.9.0 @@ -2173,7 +2178,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@types/node@20.8.4)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.10.4)(typescript@5.3.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -2214,7 +2219,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -2230,7 +2235,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.7 - '@types/node': 20.8.4 + '@types/node': 20.10.4 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -2281,7 +2286,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 jest-util: 29.7.0 dev: true @@ -2336,7 +2341,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -2367,7 +2372,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -2419,7 +2424,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -2444,7 +2449,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.4 + '@types/node': 20.10.4 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -2456,13 +2461,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.8.4 + '@types/node': 20.10.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.8.4)(ts-node@10.9.1): + /jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -2475,7 +2480,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.1) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -2875,8 +2880,8 @@ packages: fast-diff: 1.3.0 dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -3158,16 +3163,16 @@ packages: is-number: 7.0.0 dev: true - /ts-api-utils@1.0.3(typescript@5.2.2): + /ts-api-utils@1.0.3(typescript@5.3.3): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.2.2 + typescript: 5.3.3 dev: true - /ts-jest@29.1.1(@babel/core@7.23.0)(jest@29.7.0)(typescript@5.2.2): + /ts-jest@29.1.1(@babel/core@7.23.0)(jest@29.7.0)(typescript@5.3.3): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -3191,17 +3196,17 @@ packages: '@babel/core': 7.23.0 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.8.4)(ts-node@10.9.1) + jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.4 - typescript: 5.2.2 + typescript: 5.3.3 yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@types/node@20.8.4)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.10.4)(typescript@5.3.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -3220,14 +3225,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.8.4 + '@types/node': 20.10.4 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.2.2 + typescript: 5.3.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -3258,28 +3263,28 @@ packages: engines: {node: '>=10'} dev: true - /typedoc@0.25.2(typescript@5.2.2): - resolution: {integrity: sha512-286F7BeATBiWe/qC4PCOCKlSTwfnsLbC/4cZ68oGBbvAqb9vV33quEOXx7q176OXotD+JdEerdQ1OZGJ818lnA==} + /typedoc@0.25.4(typescript@5.3.3): + resolution: {integrity: sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==} engines: {node: '>= 16'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.3 shiki: 0.14.4 - typescript: 5.2.2 + typescript: 5.3.3 dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true /untildify@4.0.0: diff --git a/src/driver/memory/memory.tools.ts b/src/driver/memory/memory.tools.ts index 4fa5d54..508c6f4 100644 --- a/src/driver/memory/memory.tools.ts +++ b/src/driver/memory/memory.tools.ts @@ -49,7 +49,7 @@ export function pattern( isStrict(prop, options.strict ?? STRICT) ? scope : ignore; const regex = (prop?: PropType): string => { - if (prop && prop in cKey) { + if (prop && cKey[prop]) { const val = typeof cKey[prop] === 'string' ? parse(cKey[prop]) : (cKey[prop] as PropValue & ControlOptions); val.scope = val.scope ?? String((prop === 'subject' && NULL) || (prop === 'action' && ANY) || (prop === 'object' && ALL));