@furystack/core 11.3.0 → 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.
- package/README.md +1 -1
- package/package.json +28 -8
- package/src/create-physical-store-tests.ts +1 -0
- package/src/global-disposable.spec.ts +2 -1
- package/src/helpers.ts +1 -2
- package/src/identity-context.spec.ts +4 -3
- package/src/in-memory-store.spec.ts +1 -0
- package/src/in-memory-store.ts +0 -1
- package/src/index.ts +0 -1
- package/src/models/physical-store.ts +0 -5
- package/src/store-manager.spec.ts +1 -0
- package/src/store-manager.ts +0 -2
- package/types/create-physical-store-tests.d.ts.map +1 -1
- package/types/helpers.d.ts +1 -2
- package/types/helpers.d.ts.map +1 -1
- package/types/in-memory-store.d.ts +0 -1
- package/types/in-memory-store.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/models/physical-store.d.ts +0 -5
- package/types/models/physical-store.d.ts.map +1 -1
- package/types/store-manager.d.ts +0 -2
- package/types/store-manager.d.ts.map +1 -1
- package/dist/create-physical-store-tests.js +0 -451
- package/dist/create-physical-store-tests.js.map +0 -1
- package/dist/errors/aggregated-error.js +0 -15
- package/dist/errors/aggregated-error.js.map +0 -1
- package/dist/errors/authorization-error.js +0 -7
- package/dist/errors/authorization-error.js.map +0 -1
- package/dist/errors/index.js +0 -19
- package/dist/errors/index.js.map +0 -1
- package/dist/global-disposable.spec.js +0 -33
- package/dist/global-disposable.spec.js.map +0 -1
- package/dist/global-disposables.js +0 -29
- package/dist/global-disposables.js.map +0 -1
- package/dist/helpers.js +0 -48
- package/dist/helpers.js.map +0 -1
- package/dist/identity-context.js +0 -26
- package/dist/identity-context.js.map +0 -1
- package/dist/identity-context.spec.js +0 -41
- package/dist/identity-context.spec.js.map +0 -1
- package/dist/in-memory-store.js +0 -190
- package/dist/in-memory-store.js.map +0 -1
- package/dist/in-memory-store.spec.js +0 -20
- package/dist/in-memory-store.spec.js.map +0 -1
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/models/physical-store.js +0 -36
- package/dist/models/physical-store.js.map +0 -1
- package/dist/models/user.js +0 -10
- package/dist/models/user.js.map +0 -1
- package/dist/store-manager.js +0 -64
- package/dist/store-manager.js.map +0 -1
- package/dist/store-manager.spec.js +0 -64
- package/dist/store-manager.spec.js.map +0 -1
- package/types/global-disposable.spec.d.ts +0 -2
- package/types/global-disposable.spec.d.ts.map +0 -1
- package/types/identity-context.spec.d.ts +0 -2
- package/types/identity-context.spec.d.ts.map +0 -1
- package/types/in-memory-store.spec.d.ts +0 -2
- package/types/in-memory-store.spec.d.ts.map +0 -1
- package/types/store-manager.spec.d.ts +0 -2
- 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/
|
|
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": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Core FuryStack package",
|
|
5
|
-
"
|
|
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/
|
|
30
|
-
"
|
|
50
|
+
"@types/node": "^18.15.11",
|
|
51
|
+
"typescript": "^5.0.4",
|
|
52
|
+
"vitest": "^0.30.1"
|
|
31
53
|
},
|
|
32
54
|
"dependencies": {
|
|
33
|
-
"@furystack/inject": "^
|
|
34
|
-
"@furystack/utils": "^
|
|
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
|
}
|
|
@@ -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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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' })
|
package/src/in-memory-store.ts
CHANGED
|
@@ -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
|
@@ -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
|
package/src/store-manager.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/types/helpers.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { Injector } from '@furystack/inject
|
|
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
|
*/
|
package/types/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
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
|
|
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
package/types/index.d.ts.map
CHANGED
|
@@ -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
|
|
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":"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
|
|
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;;;OAGG;IACH,GAAG,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D;;;;OAIG;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;;;OAGG;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;;;OAGG;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;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD"}
|
package/types/store-manager.d.ts
CHANGED
|
@@ -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
|
|
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"}
|