@furystack/core 11.3.1 → 12.0.0

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 (63) hide show
  1. package/README.md +1 -1
  2. package/package.json +28 -8
  3. package/src/create-physical-store-tests.ts +1 -0
  4. package/src/global-disposable.spec.ts +2 -1
  5. package/src/helpers.ts +1 -2
  6. package/src/identity-context.spec.ts +4 -3
  7. package/src/in-memory-store.spec.ts +1 -0
  8. package/src/in-memory-store.ts +0 -1
  9. package/src/index.ts +0 -1
  10. package/src/models/physical-store.ts +0 -5
  11. package/src/store-manager.spec.ts +1 -0
  12. package/src/store-manager.ts +0 -2
  13. package/types/create-physical-store-tests.d.ts.map +1 -1
  14. package/types/helpers.d.ts +1 -2
  15. package/types/helpers.d.ts.map +1 -1
  16. package/types/in-memory-store.d.ts +0 -1
  17. package/types/in-memory-store.d.ts.map +1 -1
  18. package/types/index.d.ts +0 -1
  19. package/types/index.d.ts.map +1 -1
  20. package/types/models/physical-store.d.ts +0 -5
  21. package/types/models/physical-store.d.ts.map +1 -1
  22. package/types/store-manager.d.ts +0 -2
  23. package/types/store-manager.d.ts.map +1 -1
  24. package/dist/create-physical-store-tests.js +0 -451
  25. package/dist/create-physical-store-tests.js.map +0 -1
  26. package/dist/errors/aggregated-error.js +0 -15
  27. package/dist/errors/aggregated-error.js.map +0 -1
  28. package/dist/errors/authorization-error.js +0 -7
  29. package/dist/errors/authorization-error.js.map +0 -1
  30. package/dist/errors/index.js +0 -19
  31. package/dist/errors/index.js.map +0 -1
  32. package/dist/global-disposable.spec.js +0 -33
  33. package/dist/global-disposable.spec.js.map +0 -1
  34. package/dist/global-disposables.js +0 -29
  35. package/dist/global-disposables.js.map +0 -1
  36. package/dist/helpers.js +0 -48
  37. package/dist/helpers.js.map +0 -1
  38. package/dist/identity-context.js +0 -26
  39. package/dist/identity-context.js.map +0 -1
  40. package/dist/identity-context.spec.js +0 -41
  41. package/dist/identity-context.spec.js.map +0 -1
  42. package/dist/in-memory-store.js +0 -190
  43. package/dist/in-memory-store.js.map +0 -1
  44. package/dist/in-memory-store.spec.js +0 -20
  45. package/dist/in-memory-store.spec.js.map +0 -1
  46. package/dist/index.js +0 -26
  47. package/dist/index.js.map +0 -1
  48. package/dist/models/physical-store.js +0 -36
  49. package/dist/models/physical-store.js.map +0 -1
  50. package/dist/models/user.js +0 -10
  51. package/dist/models/user.js.map +0 -1
  52. package/dist/store-manager.js +0 -64
  53. package/dist/store-manager.js.map +0 -1
  54. package/dist/store-manager.spec.js +0 -64
  55. package/dist/store-manager.spec.js.map +0 -1
  56. package/types/global-disposable.spec.d.ts +0 -2
  57. package/types/global-disposable.spec.d.ts.map +0 -1
  58. package/types/identity-context.spec.d.ts +0 -2
  59. package/types/identity-context.spec.d.ts.map +0 -1
  60. package/types/in-memory-store.spec.d.ts +0 -2
  61. package/types/in-memory-store.spec.d.ts.map +0 -1
  62. package/types/store-manager.spec.d.ts +0 -2
  63. package/types/store-manager.spec.d.ts.map +0 -1
package/README.md CHANGED
@@ -34,7 +34,7 @@ globalDisposables.add(myRootInjector)
34
34
  There is a set of generic store test that you can use to test your custom store implementation as the following example shows:
35
35
 
36
36
  ```ts
37
- import { TestClass, createStoreTest } from '@furystack/core/dist/create-physical-store-tests'
37
+ import { TestClass, createStoreTest } from '@furystack/core/create-physical-store-tests'
38
38
 
39
39
  describe('myStore', ()=>{
40
40
  createStoreTest({
package/package.json CHANGED
@@ -1,8 +1,29 @@
1
1
  {
2
2
  "name": "@furystack/core",
3
- "version": "11.3.1",
3
+ "version": "12.0.0",
4
4
  "description": "Core FuryStack package",
5
- "main": "dist/index.js",
5
+ "type": "module",
6
+ "scripts": {
7
+ "build:es6": "tsc --outDir ./esm"
8
+ },
9
+ "exports": {
10
+ ".": {
11
+ "import": "./esm/index.js",
12
+ "types": "./types/index.d.ts"
13
+ },
14
+ "./create-physical-store-tests": {
15
+ "import": "./esm/create-physical-store-tests.js",
16
+ "types": "./types/create-physical-store-tests.d.ts"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "typesVersions": {
21
+ "*": {
22
+ "*": [
23
+ "types/*"
24
+ ]
25
+ }
26
+ },
6
27
  "files": [
7
28
  "dist",
8
29
  "types",
@@ -26,14 +47,13 @@
26
47
  },
27
48
  "homepage": "https://github.com/furystack/furystack",
28
49
  "devDependencies": {
29
- "@types/jest": "^29.5.0",
30
- "@types/node": "^18.15.11"
50
+ "@types/node": "^18.15.11",
51
+ "typescript": "^5.0.4",
52
+ "vitest": "^0.30.1"
31
53
  },
32
54
  "dependencies": {
33
- "@furystack/inject": "^7.1.9",
34
- "@furystack/utils": "^3.1.8",
35
- "semaphore-async-await": "^1.5.1"
55
+ "@furystack/inject": "^8.0.0",
56
+ "@furystack/utils": "^4.0.0"
36
57
  },
37
- "typings": "./types/index.d.ts",
38
58
  "gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
39
59
  }
@@ -1,6 +1,7 @@
1
1
  import type { PhysicalStore } from './models/physical-store'
2
2
  import { usingAsync } from '@furystack/utils'
3
3
  import { Injector } from '@furystack/inject'
4
+ import { describe, it, expect } from 'vitest'
4
5
 
5
6
  export class TestClass {
6
7
  id!: number
@@ -2,6 +2,7 @@ import { Injector } from '@furystack/inject'
2
2
  import { using, usingAsync } from '@furystack/utils'
3
3
  import { globalDisposables, exitHandler } from './global-disposables'
4
4
  import { disposeOnProcessExit } from './helpers'
5
+ import { describe, it, expect, vi } from 'vitest'
5
6
 
6
7
  describe('Global Disposables', () => {
7
8
  it('Should be empty by default', () => {
@@ -24,7 +25,7 @@ describe('Global Disposables', () => {
24
25
  })
25
26
  it('Should dispose the injector on exit', async () => {
26
27
  usingAsync(new Injector(), async (i) => {
27
- i.dispose = jest.fn(i.dispose)
28
+ i.dispose = vi.fn(i.dispose)
28
29
  disposeOnProcessExit(i)
29
30
  await exitHandler()
30
31
  expect(i.dispose).toBeCalled()
package/src/helpers.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Injector } from '@furystack/inject/types/injector'
1
+ import type { Injector } from '@furystack/inject'
2
2
  import { globalDisposables } from './global-disposables'
3
3
  import { IdentityContext } from './identity-context'
4
4
  import type { Disposable } from '@furystack/utils'
@@ -7,7 +7,6 @@ import type { PhysicalStore } from './models/physical-store'
7
7
 
8
8
  /**
9
9
  * The disposable will be disposed on process exit
10
- *
11
10
  * @param disposable The Disposable object to dispose on process exit
12
11
  * @returns A set of global disposables
13
12
  */
@@ -2,6 +2,7 @@ import { Injector } from '@furystack/inject'
2
2
  import { using, usingAsync } from '@furystack/utils'
3
3
  import { IdentityContext } from './identity-context'
4
4
  import { isAuthorized, isAuthenticated, getCurrentUser } from './helpers'
5
+ import { describe, it, expect, vi } from 'vitest'
5
6
 
6
7
  describe('IdentityContext', () => {
7
8
  it('Should be retrieved from an Injector', () => {
@@ -14,7 +15,7 @@ describe('IdentityContext', () => {
14
15
  it('isAuthenticated should be called from helper', async () => {
15
16
  await usingAsync(new Injector(), async (i) => {
16
17
  const ctx = i.getInstance(IdentityContext)
17
- const spy = jest.spyOn(ctx, 'isAuthenticated')
18
+ const spy = vi.spyOn(ctx, 'isAuthenticated')
18
19
  const isAuth = await isAuthenticated(i)
19
20
  expect(isAuth).toBeFalsy()
20
21
  expect(spy).toBeCalledTimes(1)
@@ -24,7 +25,7 @@ describe('IdentityContext', () => {
24
25
  it('isAuthorized should be called from helper', async () => {
25
26
  await usingAsync(new Injector(), async (i) => {
26
27
  const ctx = i.getInstance(IdentityContext)
27
- const spy = jest.spyOn(ctx, 'isAuthorized')
28
+ const spy = vi.spyOn(ctx, 'isAuthorized')
28
29
  const isAuth = await isAuthorized(i)
29
30
  expect(isAuth).toBeFalsy()
30
31
  expect(spy).toBeCalledTimes(1)
@@ -34,7 +35,7 @@ describe('IdentityContext', () => {
34
35
  it('getCurrentUser should be called from helper', async () => {
35
36
  await usingAsync(new Injector(), async (i) => {
36
37
  const ctx = i.getInstance(IdentityContext)
37
- const spy = jest.spyOn(ctx, 'getCurrentUser')
38
+ const spy = vi.spyOn(ctx, 'getCurrentUser')
38
39
  await expect(getCurrentUser(i)).rejects.toThrowError('')
39
40
  expect(spy).toBeCalledTimes(1)
40
41
  })
@@ -1,5 +1,6 @@
1
1
  import { InMemoryStore } from './in-memory-store'
2
2
  import { TestClass, createStoreTest, createMockEntity } from './create-physical-store-tests'
3
+ import { describe, it, expect } from 'vitest'
3
4
 
4
5
  describe('InMemoryStore', () => {
5
6
  const createStore = () => new InMemoryStore({ model: TestClass, primaryKey: 'id' })
@@ -188,7 +188,6 @@ export class InMemoryStore<T, TPrimaryKey extends keyof T> implements PhysicalSt
188
188
 
189
189
  /**
190
190
  * Creates an InMemoryStore that can be used for testing purposes.
191
- *
192
191
  * @param options Options for the In Memory Store
193
192
  * @param options.primaryKey The name of the primary key field
194
193
  * @param options.model The Entity Model
package/src/index.ts CHANGED
@@ -5,5 +5,4 @@ export * from './in-memory-store'
5
5
  export * from './store-manager'
6
6
  export * from './global-disposables'
7
7
  export * from './identity-context'
8
- export * from './create-physical-store-tests'
9
8
  export * from './helpers'
@@ -102,14 +102,12 @@ export interface PhysicalStore<T, TPrimaryKey extends keyof T, TWriteableData =
102
102
 
103
103
  /**
104
104
  * Adds an entry to the store, returns a promise that will be resolved with the added data
105
- *
106
105
  * @param entries The data to be added
107
106
  */
108
107
  add(...entries: TWriteableData[]): Promise<CreateResult<T>>
109
108
 
110
109
  /**
111
110
  * Updates an entry in the store, returns a promise that will be resolved once the update is done
112
- *
113
111
  * @param id The primary key of the entry
114
112
  * @param data The data to be updated
115
113
  */
@@ -122,14 +120,12 @@ export interface PhysicalStore<T, TPrimaryKey extends keyof T, TWriteableData =
122
120
 
123
121
  /**
124
122
  * Returns a promise that will be resolved with an array of elements that matches the filter
125
- *
126
123
  * @param searchOptions An options object for the Search expression
127
124
  */
128
125
  find<TSelect extends Array<keyof T>>(findOptions: FindOptions<T, TSelect>): Promise<Array<PartialResult<T, TSelect>>>
129
126
 
130
127
  /**
131
128
  * Returns a promise that will be resolved with an entry with the defined primary key or undefined
132
- *
133
129
  * @param key The primary key of the entry
134
130
  */
135
131
  get<TSelect extends Array<keyof T>>(
@@ -139,7 +135,6 @@ export interface PhysicalStore<T, TPrimaryKey extends keyof T, TWriteableData =
139
135
 
140
136
  /**
141
137
  * Removes an entry with the defined primary key. Returns a promise that will be resolved once the operation is completed
142
- *
143
138
  * @param key The primary key of the entry to remove
144
139
  */
145
140
  remove(...keys: Array<T[TPrimaryKey]>): Promise<void>
@@ -4,6 +4,7 @@ import { StoreManager } from './store-manager'
4
4
  import { InMemoryStore } from './in-memory-store'
5
5
  import { AggregatedError } from './errors'
6
6
  import { TestClass } from './create-physical-store-tests'
7
+ import { describe, it, expect } from 'vitest'
7
8
 
8
9
  class Test {
9
10
  id!: number
@@ -28,7 +28,6 @@ export class StoreManager implements Disposable {
28
28
  /**
29
29
  * Returns a store model for a constructable object.
30
30
  * Throws error if no store is registered
31
- *
32
31
  * @param model The Constructable object
33
32
  * @param primaryKey The Primary Key field
34
33
  * @throws if the Store is not registered
@@ -51,7 +50,6 @@ export class StoreManager implements Disposable {
51
50
 
52
51
  /**
53
52
  * Adds a store instance to the StoreManager class
54
- *
55
53
  * @param store The store to add
56
54
  * @returns the StoreManager instance for chaining
57
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-physical-store-tests.d.ts","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,qBAAa,SAAS;IACpB,EAAE,EAAG,MAAM,CAAA;IACX,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,OAAO,CAAA;IACtB,SAAS,EAAG,IAAI,CAAA;CACjB;AAGD,eAAO,MAAM,gBAAgB,UAAW,QAAQ,SAAS,CAAC,cAUzC,CAAA;AAEjB,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,YAAa,iBAAiB,SAAS,EAAE,IAAI,CAAC,SAikBzE,CAAA"}
1
+ {"version":3,"file":"create-physical-store-tests.d.ts","sourceRoot":"","sources":["../src/create-physical-store-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,qBAAa,SAAS;IACpB,EAAE,EAAG,MAAM,CAAA;IACX,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,MAAM,CAAA;IACrB,YAAY,EAAG,OAAO,CAAA;IACtB,SAAS,EAAG,IAAI,CAAA;CACjB;AAGD,eAAO,MAAM,gBAAgB,UAAW,QAAQ,SAAS,CAAC,cAUzC,CAAA;AAEjB,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,YAAa,iBAAiB,SAAS,EAAE,IAAI,CAAC,SAikBzE,CAAA"}
@@ -1,10 +1,9 @@
1
- import type { Injector } from '@furystack/inject/types/injector';
1
+ import type { Injector } from '@furystack/inject';
2
2
  import type { Disposable } from '@furystack/utils';
3
3
  import { StoreManager } from './store-manager';
4
4
  import type { PhysicalStore } from './models/physical-store';
5
5
  /**
6
6
  * The disposable will be disposed on process exit
7
- *
8
7
  * @param disposable The Disposable object to dispose on process exit
9
8
  * @returns A set of global disposables
10
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,eAAgB,UAAU,oBAAsC,CAAA;AAEjG;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAoB,QAAQ,qBAA4D,CAAA;AAEpH;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAoB,QAAQ,YAAY,MAAM,EAAE,qBACX,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,cAAc,aAAoB,QAAQ,8BAA2D,CAAA;AAElH;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAc,QAAQ,iBAAuC,CAAA;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,6CAA8C,QAAQ,yHAChC,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,eAAgB,UAAU,oBAAsC,CAAA;AAEjG;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAoB,QAAQ,qBAA4D,CAAA;AAEpH;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAoB,QAAQ,YAAY,MAAM,EAAE,qBACX,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,cAAc,aAAoB,QAAQ,8BAA2D,CAAA;AAElH;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAc,QAAQ,iBAAuC,CAAA;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,6CAA8C,QAAQ,yHAChC,CAAA"}
@@ -19,7 +19,6 @@ export declare class InMemoryStore<T, TPrimaryKey extends keyof T> implements Ph
19
19
  readonly model: Constructable<T>;
20
20
  /**
21
21
  * Creates an InMemoryStore that can be used for testing purposes.
22
- *
23
22
  * @param options Options for the In Memory Store
24
23
  * @param options.primaryKey The name of the primary key field
25
24
  * @param options.model The Entity Model
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGlH,qBAAa,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpG;;;OAGG;IACU,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAYpD,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAY;IACzC,GAAG,QAAe,CAAC,CAAC,WAAW,CAAC,WAAW,MAAM,MAAM,CAAC,CAAC,4BAG/D;IAED,OAAO,CAAC,YAAY,CAGnB;IAED,OAAO,CAAC,cAAc;IAwGT,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC;IA2B3E,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAUxC,OAAO;IAId,SAAgB,UAAU,EAAE,WAAW,CAAA;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC;;;;;;OAMG;gBACS,OAAO,EAAE;QACnB;;WAEG;QACH,UAAU,EAAE,WAAW,CAAA;QACvB;;WAEG;QACH,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KACxB;CAIF"}
1
+ {"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../src/in-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGlH,qBAAa,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpG;;;OAGG;IACU,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAYpD,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAY;IACzC,GAAG,QAAe,CAAC,CAAC,WAAW,CAAC,WAAW,MAAM,MAAM,CAAC,CAAC,4BAG/D;IAED,OAAO,CAAC,YAAY,CAGnB;IAED,OAAO,CAAC,cAAc;IAwGT,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC;IA2B3E,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAUxC,OAAO;IAId,SAAgB,UAAU,EAAE,WAAW,CAAA;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC;;;;;OAKG;gBACS,OAAO,EAAE;QACnB;;WAEG;QACH,UAAU,EAAE,WAAW,CAAA;QACvB;;WAEG;QACH,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KACxB;CAIF"}
package/types/index.d.ts CHANGED
@@ -5,6 +5,5 @@ export * from './in-memory-store';
5
5
  export * from './store-manager';
6
6
  export * from './global-disposables';
7
7
  export * from './identity-context';
8
- export * from './create-physical-store-tests';
9
8
  export * from './helpers';
10
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -75,13 +75,11 @@ export interface PhysicalStore<T, TPrimaryKey extends keyof T, TWriteableData =
75
75
  readonly model: Constructable<T>;
76
76
  /**
77
77
  * Adds an entry to the store, returns a promise that will be resolved with the added data
78
- *
79
78
  * @param entries The data to be added
80
79
  */
81
80
  add(...entries: TWriteableData[]): Promise<CreateResult<T>>;
82
81
  /**
83
82
  * Updates an entry in the store, returns a promise that will be resolved once the update is done
84
- *
85
83
  * @param id The primary key of the entry
86
84
  * @param data The data to be updated
87
85
  */
@@ -92,19 +90,16 @@ export interface PhysicalStore<T, TPrimaryKey extends keyof T, TWriteableData =
92
90
  count(filter?: FilterType<T>): Promise<number>;
93
91
  /**
94
92
  * Returns a promise that will be resolved with an array of elements that matches the filter
95
- *
96
93
  * @param searchOptions An options object for the Search expression
97
94
  */
98
95
  find<TSelect extends Array<keyof T>>(findOptions: FindOptions<T, TSelect>): Promise<Array<PartialResult<T, TSelect>>>;
99
96
  /**
100
97
  * Returns a promise that will be resolved with an entry with the defined primary key or undefined
101
- *
102
98
  * @param key The primary key of the entry
103
99
  */
104
100
  get<TSelect extends Array<keyof T>>(key: T[TPrimaryKey], select?: TSelect): Promise<PartialResult<T, TSelect> | undefined>;
105
101
  /**
106
102
  * Removes an entry with the defined primary key. Returns a promise that will be resolved once the operation is completed
107
- *
108
103
  * @param key The primary key of the entry to remove
109
104
  */
110
105
  remove(...keys: Array<T[TPrimaryKey]>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"physical-store.d.ts","sourceRoot":"","sources":["../../src/models/physical-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,eAAO,MAAM,yBAAyB,yCAA0C,CAAA;AAEhF,eAAO,MAAM,yBAAyB,0DAA2D,CAAA;AACjG,eAAO,MAAM,yBAAyB,yBAA0B,CAAA;AAEhE,eAAO,MAAM,wBAAwB,0BAA2B,CAAA;AAChE,eAAO,MAAM,gBAAgB,0CAA2C,CAAA;AAExE,eAAO,MAAM,YAAY,oJAMf,CAAA;AAEV,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG;SAAG,GAAG,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,KAAK,CAAC,GAC9F,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG;SAAG,GAAG,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,KAAK,CAAC,GAC9F;SAAG,GAAG,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAC9D;SAAG,GAAG,IAAI,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE;CACzE,GAAG;KAAG,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAExE,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,uDACwB,CAAA;AAEhF,eAAO,MAAM,UAAU,mBAAoB,MAAM,6KACuB,CAAA;AAExE,eAAO,MAAM,CAAC,EAAE,UAAU,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,OAAO,CAAA;CAAE,CAI9D,CAAA;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,EAAE,CAAA;CACb;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;KAAG,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AACjH;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;KAAE,CAAA;IAE3C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CACvB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvF,eAAO,MAAM,YAAY,yGASxB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAC5G,SAAQ,UAAU;IAClB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEhC;;;;OAIG;IACH,GAAG,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3D;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE9C;;;;OAIG;IACH,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAErH;;;;OAIG;IACH,GAAG,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAChC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EACnB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAA;IAEjD;;;;OAIG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD"}
1
+ {"version":3,"file":"physical-store.d.ts","sourceRoot":"","sources":["../../src/models/physical-store.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ export declare class StoreManager implements Disposable {
13
13
  /**
14
14
  * Returns a store model for a constructable object.
15
15
  * Throws error if no store is registered
16
- *
17
16
  * @param model The Constructable object
18
17
  * @param primaryKey The Primary Key field
19
18
  * @throws if the Store is not registered
@@ -22,7 +21,6 @@ export declare class StoreManager implements Disposable {
22
21
  getStoreFor<T, TPrimaryKey extends keyof T, TType extends PhysicalStore<T, TPrimaryKey> = PhysicalStore<T, TPrimaryKey>>(model: Constructable<T>, primaryKey: TPrimaryKey): TType;
23
22
  /**
24
23
  * Adds a store instance to the StoreManager class
25
- *
26
24
  * @param store The store to add
27
25
  * @returns the StoreManager instance for chaining
28
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"store-manager.d.ts","sourceRoot":"","sources":["../src/store-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;GAEG;AACH,qBACa,YAAa,YAAW,UAAU;IAC7C;;OAEG;IACU,OAAO;IAWpB,OAAO,CAAC,MAAM,CAAkE;IAEhF;;;;;;;;OAQG;IACI,WAAW,CAChB,CAAC,EACD,WAAW,SAAS,MAAM,CAAC,EAC3B,KAAK,SAAS,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,EAC3E,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW;IAWlD;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;CAIrF"}
1
+ {"version":3,"file":"store-manager.d.ts","sourceRoot":"","sources":["../src/store-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;GAEG;AACH,qBACa,YAAa,YAAW,UAAU;IAC7C;;OAEG;IACU,OAAO;IAWpB,OAAO,CAAC,MAAM,CAAkE;IAEhF;;;;;;;OAOG;IACI,WAAW,CAChB,CAAC,EACD,WAAW,SAAS,MAAM,CAAC,EAC3B,KAAK,SAAS,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,EAC3E,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW;IAWlD;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;CAIrF"}