@furystack/repository 6.1.14 → 6.1.16
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/dist/data-set.js.map +1 -1
- package/dist/repository.js.map +1 -1
- package/package.json +2 -2
- package/src/data-set-setting.ts +4 -10
- package/src/data-set.ts +5 -3
- package/src/repository.ts +6 -2
- package/types/data-set-setting.d.ts +5 -5
- package/types/data-set-setting.d.ts.map +1 -1
- package/types/data-set.d.ts +4 -4
- package/types/data-set.d.ts.map +1 -1
- package/types/helpers.d.ts +1 -1
- package/types/helpers.d.ts.map +1 -1
- package/types/repository.d.ts +2 -1
- package/types/repository.d.ts.map +1 -1
package/dist/data-set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-set.js","sourceRoot":"","sources":["../src/data-set.ts"],"names":[],"mappings":";;;AAEA,0CAAoD;AAGpD,4CAAkD;AAElD;;GAEG;AACH,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"data-set.js","sourceRoot":"","sources":["../src/data-set.ts"],"names":[],"mappings":"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"}
|
package/dist/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0CAA8C;AAE9C,8CAAwD;AAGxD,yCAAoC;AAEpC;;GAEG;AAEH,IAAa,UAAU,GAAvB,MAAa,UAAU;IAAvB;QAMU,aAAQ,GAAgC,IAAI,GAAG,EAAE,CAAA;IA+B3D,CAAC;IApCQ,OAAO;QACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;IAIM,aAAa,CAClB,KAAuB,EACvB,UAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAA;SAC/C;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;YACtC,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACpC;QACD,OAAO,QAA6D,CAAA;IACtE,CAAC;IACM,aAAa,CAClB,KAAuB,EACvB,UAAuB,EACvB,QAAmD;QAEnD,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAC9G,MAAM,QAAQ,GAAG,IAAI,kBAAO,CAAC;YAC3B,GAAG,QAAQ;YACX,aAAa;SACd,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;CAIF,CAAA;AADkB;IADhB,IAAA,iBAAQ,EAAC,mBAAY,CAAC;8BACS,mBAAY;gDAAA;AApCjC,UAAU;IADtB,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;GACzB,UAAU,CAqCtB;AArCY,gCAAU"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/repository",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.16",
|
|
4
4
|
"description": "Repository implementation for FuryStack",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/furystack/furystack",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@furystack/core": "^11.
|
|
32
|
+
"@furystack/core": "^11.3.0",
|
|
33
33
|
"@furystack/inject": "^7.1.8",
|
|
34
34
|
"@furystack/utils": "^3.1.7"
|
|
35
35
|
},
|
package/src/data-set-setting.ts
CHANGED
|
@@ -28,27 +28,21 @@ export interface FailedValidationResult {
|
|
|
28
28
|
/**
|
|
29
29
|
* Model for authorizers
|
|
30
30
|
*/
|
|
31
|
-
export interface DataSetSettings<T, TPrimaryKey extends keyof T
|
|
31
|
+
export interface DataSetSettings<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>> {
|
|
32
32
|
/**
|
|
33
33
|
* An instance of a physical store
|
|
34
34
|
*/
|
|
35
|
-
physicalStore: PhysicalStore<T, TPrimaryKey>
|
|
35
|
+
physicalStore: PhysicalStore<T, TPrimaryKey, TWritableData>
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Authorizes the entity creation
|
|
39
39
|
*/
|
|
40
|
-
authorizeAdd?: (options: {
|
|
41
|
-
injector: Injector
|
|
42
|
-
entity: WithOptionalId<T, TPrimaryKey>
|
|
43
|
-
}) => Promise<AuthorizationResult>
|
|
40
|
+
authorizeAdd?: (options: { injector: Injector; entity: TWritableData }) => Promise<AuthorizationResult>
|
|
44
41
|
|
|
45
42
|
/**
|
|
46
43
|
* modifies an entity before persisting on creation
|
|
47
44
|
*/
|
|
48
|
-
modifyOnAdd?: (options: {
|
|
49
|
-
injector: Injector
|
|
50
|
-
entity: WithOptionalId<T, TPrimaryKey>
|
|
51
|
-
}) => Promise<WithOptionalId<T, TPrimaryKey>>
|
|
45
|
+
modifyOnAdd?: (options: { injector: Injector; entity: TWritableData }) => Promise<TWritableData>
|
|
52
46
|
|
|
53
47
|
/**
|
|
54
48
|
* Authorizes entity updates (before the entity gets loaded from the store)
|
package/src/data-set.ts
CHANGED
|
@@ -8,7 +8,9 @@ import { ObservableValue } from '@furystack/utils'
|
|
|
8
8
|
/**
|
|
9
9
|
* An authorized Repository Store instance
|
|
10
10
|
*/
|
|
11
|
-
export class DataSet<T, TPrimaryKey extends keyof T
|
|
11
|
+
export class DataSet<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>>
|
|
12
|
+
implements Disposable
|
|
13
|
+
{
|
|
12
14
|
public dispose() {
|
|
13
15
|
this.onEntityAdded.dispose()
|
|
14
16
|
this.onEntityRemoved.dispose()
|
|
@@ -27,7 +29,7 @@ export class DataSet<T, TPrimaryKey extends keyof T> implements Disposable {
|
|
|
27
29
|
* @param entities The entities to add
|
|
28
30
|
* @returns The CreateResult with the created entities
|
|
29
31
|
*/
|
|
30
|
-
public async add(injector: Injector, ...entities:
|
|
32
|
+
public async add(injector: Injector, ...entities: TWritableData[]): Promise<CreateResult<T>> {
|
|
31
33
|
await Promise.all(
|
|
32
34
|
entities.map(async (entity) => {
|
|
33
35
|
if (this.settings.authorizeAdd) {
|
|
@@ -188,5 +190,5 @@ export class DataSet<T, TPrimaryKey extends keyof T> implements Disposable {
|
|
|
188
190
|
key: T[TPrimaryKey]
|
|
189
191
|
}>()
|
|
190
192
|
|
|
191
|
-
constructor(public readonly settings: DataSetSettings<T, TPrimaryKey>) {}
|
|
193
|
+
constructor(public readonly settings: DataSetSettings<T, TPrimaryKey, TWritableData>) {}
|
|
192
194
|
}
|
package/src/repository.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WithOptionalId } from '@furystack/core'
|
|
1
2
|
import { StoreManager } from '@furystack/core'
|
|
2
3
|
import type { Constructable } from '@furystack/inject'
|
|
3
4
|
import { Injectable, Injected } from '@furystack/inject'
|
|
@@ -17,7 +18,10 @@ export class Repository implements Disposable {
|
|
|
17
18
|
|
|
18
19
|
private dataSets: Map<any, DataSet<any, any>> = new Map()
|
|
19
20
|
|
|
20
|
-
public getDataSetFor<T, TPrimaryKey extends keyof T
|
|
21
|
+
public getDataSetFor<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>>(
|
|
22
|
+
model: Constructable<T>,
|
|
23
|
+
primaryKey: TPrimaryKey,
|
|
24
|
+
) {
|
|
21
25
|
const instance = this.dataSets.get(model)
|
|
22
26
|
if (!instance) {
|
|
23
27
|
throw Error(`No DataSet found for '${model}'`)
|
|
@@ -25,7 +29,7 @@ export class Repository implements Disposable {
|
|
|
25
29
|
if (instance.primaryKey !== primaryKey) {
|
|
26
30
|
throw Error('Primary key mismatch')
|
|
27
31
|
}
|
|
28
|
-
return instance as DataSet<T, TPrimaryKey>
|
|
32
|
+
return instance as unknown as DataSet<T, TPrimaryKey, TWritableData>
|
|
29
33
|
}
|
|
30
34
|
public createDataSet<T, TPrimaryKey extends keyof T>(
|
|
31
35
|
model: Constructable<T>,
|
|
@@ -23,25 +23,25 @@ export interface FailedValidationResult {
|
|
|
23
23
|
/**
|
|
24
24
|
* Model for authorizers
|
|
25
25
|
*/
|
|
26
|
-
export interface DataSetSettings<T, TPrimaryKey extends keyof T
|
|
26
|
+
export interface DataSetSettings<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>> {
|
|
27
27
|
/**
|
|
28
28
|
* An instance of a physical store
|
|
29
29
|
*/
|
|
30
|
-
physicalStore: PhysicalStore<T, TPrimaryKey>;
|
|
30
|
+
physicalStore: PhysicalStore<T, TPrimaryKey, TWritableData>;
|
|
31
31
|
/**
|
|
32
32
|
* Authorizes the entity creation
|
|
33
33
|
*/
|
|
34
34
|
authorizeAdd?: (options: {
|
|
35
35
|
injector: Injector;
|
|
36
|
-
entity:
|
|
36
|
+
entity: TWritableData;
|
|
37
37
|
}) => Promise<AuthorizationResult>;
|
|
38
38
|
/**
|
|
39
39
|
* modifies an entity before persisting on creation
|
|
40
40
|
*/
|
|
41
41
|
modifyOnAdd?: (options: {
|
|
42
42
|
injector: Injector;
|
|
43
|
-
entity:
|
|
44
|
-
}) => Promise<
|
|
43
|
+
entity: TWritableData;
|
|
44
|
+
}) => Promise<TWritableData>;
|
|
45
45
|
/**
|
|
46
46
|
* Authorizes entity updates (before the entity gets loaded from the store)
|
|
47
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-set-setting.d.ts","sourceRoot":"","sources":["../src/data-set-setting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,GAAG,sBAAsB,CAAA;AAEvF,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IAEH,SAAS,EAAE,KAAK,CAAA;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"data-set-setting.d.ts","sourceRoot":"","sources":["../src/data-set-setting.ts"],"names":[],"mappings":"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"}
|
package/types/data-set.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import { ObservableValue } from '@furystack/utils';
|
|
|
6
6
|
/**
|
|
7
7
|
* An authorized Repository Store instance
|
|
8
8
|
*/
|
|
9
|
-
export declare class DataSet<T, TPrimaryKey extends keyof T
|
|
10
|
-
readonly settings: DataSetSettings<T, TPrimaryKey>;
|
|
9
|
+
export declare class DataSet<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>> implements Disposable {
|
|
10
|
+
readonly settings: DataSetSettings<T, TPrimaryKey, TWritableData>;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
/**
|
|
13
13
|
* Primary key of the contained entity
|
|
@@ -20,7 +20,7 @@ export declare class DataSet<T, TPrimaryKey extends keyof T> implements Disposab
|
|
|
20
20
|
* @param entities The entities to add
|
|
21
21
|
* @returns The CreateResult with the created entities
|
|
22
22
|
*/
|
|
23
|
-
add(injector: Injector, ...entities:
|
|
23
|
+
add(injector: Injector, ...entities: TWritableData[]): Promise<CreateResult<T>>;
|
|
24
24
|
/**
|
|
25
25
|
* Observable that will be updated after the entity has been persisted
|
|
26
26
|
*/
|
|
@@ -84,6 +84,6 @@ export declare class DataSet<T, TPrimaryKey extends keyof T> implements Disposab
|
|
|
84
84
|
injector: Injector;
|
|
85
85
|
key: T[TPrimaryKey];
|
|
86
86
|
}>;
|
|
87
|
-
constructor(settings: DataSetSettings<T, TPrimaryKey>);
|
|
87
|
+
constructor(settings: DataSetSettings<T, TPrimaryKey, TWritableData>);
|
|
88
88
|
}
|
|
89
89
|
//# sourceMappingURL=data-set.d.ts.map
|
package/types/data-set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-set.d.ts","sourceRoot":"","sources":["../src/data-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"data-set.d.ts","sourceRoot":"","sources":["../src/data-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CACjG,YAAW,UAAU;aAqLO,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC;IAnL7E,OAAO;IAMd;;OAEG;IACI,UAAU,EAAE,WAAW,CAAyC;IAEvE;;;;;;OAMG;IACU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAuB5F;;OAEG;IACH,SAAgB,aAAa;kBAAmC,QAAQ;gBAAU,CAAC;OAAK;IAExF;;;;;;OAMG;IACU,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9F;;OAEG;IACH,SAAgB,eAAe;kBAAmC,QAAQ;YAAM,CAAC,CAAC,MAAM,CAAC,CAAC;gBAAU,QAAQ,CAAC,CAAC;OAAK;IAEnH;;;;;;OAMG;IACU,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAU/E;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAC9C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAW5C;;;;;;;OAOG;IACU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAiBjF;;;;;;OAMG;IACU,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3E;;OAEG;IACH,SAAgB,eAAe;kBACnB,QAAQ;aACb,CAAC,CAAC,WAAW,CAAC;OACjB;gBAEwB,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC;CACrF"}
|
package/types/helpers.d.ts
CHANGED
|
@@ -15,5 +15,5 @@ export declare const getRepository: (injector: Injector) => Repository;
|
|
|
15
15
|
* @param primaryKey The Primary Key field
|
|
16
16
|
* @returns A Repository DataSet for a specific model
|
|
17
17
|
*/
|
|
18
|
-
export declare const getDataSetFor: <T, TPrimaryKey extends keyof T>(injector: Injector, model: Constructable<T>, primaryKey: TPrimaryKey) => import("./data-set").DataSet<T, TPrimaryKey
|
|
18
|
+
export declare const getDataSetFor: <T, TPrimaryKey extends keyof T>(injector: Injector, model: Constructable<T>, primaryKey: TPrimaryKey) => import("./data-set").DataSet<T, TPrimaryKey, import("../../core/types").WithOptionalId<T, TPrimaryKey>>;
|
|
19
19
|
//# sourceMappingURL=helpers.d.ts.map
|
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,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAc,QAAQ,eAAqC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,6CACd,QAAQ,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAc,QAAQ,eAAqC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,6CACd,QAAQ,8JAGkD,CAAA"}
|
package/types/repository.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WithOptionalId } from '@furystack/core';
|
|
1
2
|
import type { Constructable } from '@furystack/inject';
|
|
2
3
|
import type { Disposable } from '@furystack/utils';
|
|
3
4
|
import type { DataSetSettings } from './data-set-setting';
|
|
@@ -8,7 +9,7 @@ import { DataSet } from './data-set';
|
|
|
8
9
|
export declare class Repository implements Disposable {
|
|
9
10
|
dispose(): void;
|
|
10
11
|
private dataSets;
|
|
11
|
-
getDataSetFor<T, TPrimaryKey extends keyof T
|
|
12
|
+
getDataSetFor<T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>>(model: Constructable<T>, primaryKey: TPrimaryKey): DataSet<T, TPrimaryKey, TWritableData>;
|
|
12
13
|
createDataSet<T, TPrimaryKey extends keyof T>(model: Constructable<T>, primaryKey: TPrimaryKey, settings?: Partial<DataSetSettings<T, TPrimaryKey>>): this;
|
|
13
14
|
private readonly storeManager;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC;;GAEG;AACH,qBACa,UAAW,YAAW,UAAU;IACpC,OAAO;IAKd,OAAO,CAAC,QAAQ,CAAyC;IAElD,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,EACjG,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,WAAW;IAWlB,aAAa,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,EACjD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,WAAW,EACvB,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAYrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;CAC7C"}
|