@furystack/core 10.4.8 → 10.4.9

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./authorization-error"), exports);
5
- (0, tslib_1.__exportStar)(require("./aggregated-error"), exports);
4
+ tslib_1.__exportStar(require("./authorization-error"), exports);
5
+ tslib_1.__exportStar(require("./aggregated-error"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,qEAAqC;AACrC,kEAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,6DAAkC"}
@@ -14,7 +14,7 @@ let IdentityContext = class IdentityContext {
14
14
  throw Error('No IdentityContext');
15
15
  }
16
16
  };
17
- IdentityContext = (0, tslib_1.__decorate)([
17
+ IdentityContext = tslib_1.__decorate([
18
18
  (0, inject_1.Injectable)({ lifetime: 'scoped' })
19
19
  ], IdentityContext);
20
20
  exports.IdentityContext = IdentityContext;
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./errors"), exports);
5
- (0, tslib_1.__exportStar)(require("./models/physical-store"), exports);
6
- (0, tslib_1.__exportStar)(require("./models/user"), exports);
7
- (0, tslib_1.__exportStar)(require("./in-memory-store"), exports);
8
- (0, tslib_1.__exportStar)(require("./store-manager"), exports);
9
- (0, tslib_1.__exportStar)(require("./global-disposables"), exports);
10
- (0, tslib_1.__exportStar)(require("./identity-context"), exports);
4
+ tslib_1.__exportStar(require("./errors"), exports);
5
+ tslib_1.__exportStar(require("./models/physical-store"), exports);
6
+ tslib_1.__exportStar(require("./models/user"), exports);
7
+ tslib_1.__exportStar(require("./in-memory-store"), exports);
8
+ tslib_1.__exportStar(require("./store-manager"), exports);
9
+ tslib_1.__exportStar(require("./global-disposables"), exports);
10
+ tslib_1.__exportStar(require("./identity-context"), exports);
11
11
  require("./injector-extensions");
12
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AACxB,uEAAuC;AACvC,6DAA6B;AAC7B,iEAAiC;AACjC,+DAA+B;AAC/B,oEAAoC;AACpC,kEAAkC;AAElC,iCAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,kEAAuC;AACvC,wDAA6B;AAC7B,4DAAiC;AACjC,0DAA+B;AAC/B,+DAAoC;AACpC,6DAAkC;AAElC,iCAA8B"}
@@ -53,9 +53,9 @@ let StoreManager = class StoreManager {
53
53
  return this;
54
54
  }
55
55
  };
56
- StoreManager = (0, tslib_1.__decorate)([
56
+ StoreManager = tslib_1.__decorate([
57
57
  (0, inject_1.Injectable)({ lifetime: 'singleton' }),
58
- (0, tslib_1.__metadata)("design:paramtypes", [inject_1.Injector])
58
+ tslib_1.__metadata("design:paramtypes", [inject_1.Injector])
59
59
  ], StoreManager);
60
60
  exports.StoreManager = StoreManager;
61
61
  //# sourceMappingURL=store-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-manager.js","sourceRoot":"","sources":["../src/store-manager.ts"],"names":[],"mappings":";;;;AAAA,8CAAuE;AAEvE,qCAA0C;AAG1C;;GAEG;AAEH,IAAa,YAAY,GAAzB,MAAa,YAAY;IAoDvB,YAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QArC7B,WAAM,GAAyD,IAAI,GAAG,EAAE,CAAA;IAqCxC,CAAC;IAnDzC;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAA4B,CAAA;QACtF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,wBAAe,CAC/B,uCAAuC,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAC3F,KAAK,CACN,CAAA;YACD,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD;;;;;;;;OAQG;IACI,WAAW,CAIhB,KAAuB,EAAE,UAAuB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;SACnD;QACD,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE;YACtC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACtC;QACD,OAAO,QAAiB,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAiC,KAAoC;QAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAgC,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;CAGF,CAAA;AArDY,YAAY;IADxB,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;kDAqDP,iBAAQ;GApD1B,YAAY,CAqDxB;AArDY,oCAAY"}
1
+ {"version":3,"file":"store-manager.js","sourceRoot":"","sources":["../src/store-manager.ts"],"names":[],"mappings":";;;;AAAA,8CAAuE;AAEvE,qCAA0C;AAG1C;;GAEG;AAEH,IAAa,YAAY,GAAzB,MAAa,YAAY;IAoDvB,YAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QArC7B,WAAM,GAAyD,IAAI,GAAG,EAAE,CAAA;IAqCxC,CAAC;IAnDzC;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAA4B,CAAA;QACtF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,wBAAe,CAC/B,uCAAuC,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAC3F,KAAK,CACN,CAAA;YACD,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD;;;;;;;;OAQG;IACI,WAAW,CAIhB,KAAuB,EAAE,UAAuB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;SACnD;QACD,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE;YACtC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACtC;QACD,OAAO,QAAiB,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAiC,KAAoC;QAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAgC,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;CAGF,CAAA;AArDY,YAAY;IADxB,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;6CAqDP,iBAAQ;GApD1B,YAAY,CAqDxB;AArDY,oCAAY"}
@@ -6,6 +6,7 @@ const store_manager_1 = require("./store-manager");
6
6
  const in_memory_store_1 = require("./in-memory-store");
7
7
  require("./injector-extensions");
8
8
  const errors_1 = require("./errors");
9
+ const create_physical_store_tests_1 = require("./create-physical-store-tests");
9
10
  class Test {
10
11
  }
11
12
  describe('StoreManager', () => {
@@ -21,6 +22,13 @@ describe('StoreManager', () => {
21
22
  }, 't')).toThrow();
22
23
  });
23
24
  });
25
+ it('Should throw if trying to retrieve an existing store with a different primary key', () => {
26
+ (0, utils_1.using)(new inject_1.Injector(), (i) => {
27
+ const sm = i.getInstance(store_manager_1.StoreManager);
28
+ sm.addStore(new in_memory_store_1.InMemoryStore({ model: create_physical_store_tests_1.TestClass, primaryKey: 'id' }));
29
+ expect(() => sm.getStoreFor(create_physical_store_tests_1.TestClass, 'booleanValue')).toThrowError('Primary keys not match');
30
+ });
31
+ });
24
32
  it('Can set up stores with an extension method', () => {
25
33
  (0, utils_1.using)(new inject_1.Injector(), (i) => {
26
34
  i.setupStores((stores) => stores.addStore(new in_memory_store_1.InMemoryStore({
@@ -1 +1 @@
1
- {"version":3,"file":"store-manager.spec.js","sourceRoot":"","sources":["../src/store-manager.spec.ts"],"names":[],"mappings":";;AAAA,4CAAoD;AACpD,8CAA4C;AAC5C,mDAA8C;AAC9C,uDAAiD;AACjD,iCAA8B;AAC9B,qCAA0C;AAE1C,MAAM,IAAI;CAGT;AAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,IAAA,aAAK,EAAC,IAAI,iBAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,4BAAY,CAAC,CAAC,CAAC,cAAc,CAAC,4BAAY,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,IAAA,aAAK,EAAC,IAAI,iBAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,4BAAY,CAAC,CAAA;YACtC,MAAM,CAAC,GAAG,EAAE,CACV,EAAE,CAAC,WAAW,CACZ;aAEC,EACD,GAAG,CACJ,CACF,CAAC,OAAO,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,IAAA,aAAK,EAAC,IAAI,iBAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,QAAQ,CACb,IAAI,+BAAa,CAAC;gBAChB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI;aACjB,CAAC,CACH,CACF,CAAA;YAED,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,4BAAY,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,+BAAa,CAAC,CAAA;QAC3F,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,4BAAY,CAAC,CAAA;YACtC,MAAM,SAAS,GAAG,KAAM,SAAQ,+BAAuB;gBAArC;;oBACT,YAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC7C,CAAC;aAAA,CAAA;YAED,EAAE,CAAC,QAAQ,CACT,IAAI,SAAS,CAAC;gBACZ,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI;aACjB,CAAC,CACH,CAAA;YACD,IAAI;gBACF,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,wBAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;aAC9D;YACD,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"store-manager.spec.js","sourceRoot":"","sources":["../src/store-manager.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@furystack/core",
3
- "version": "10.4.8",
3
+ "version": "10.4.9",
4
4
  "description": "Core FuryStack package",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -25,13 +25,13 @@
25
25
  },
26
26
  "homepage": "https://github.com/furystack/furystack",
27
27
  "devDependencies": {
28
- "@types/jest": "^27.4.0",
29
- "@types/node": "^17.0.19",
28
+ "@types/jest": "^27.4.1",
29
+ "@types/node": "^17.0.23",
30
30
  "@types/uuid": "^8.3.4"
31
31
  },
32
32
  "dependencies": {
33
- "@furystack/inject": "^5.0.5",
34
- "@furystack/utils": "^2.0.4",
33
+ "@furystack/inject": "^5.0.6",
34
+ "@furystack/utils": "^2.0.5",
35
35
  "semaphore-async-await": "^1.5.1",
36
36
  "tslib": "^2.3.1",
37
37
  "uuid": "^8.3.2"
@@ -4,6 +4,7 @@ import { StoreManager } from './store-manager'
4
4
  import { InMemoryStore } from './in-memory-store'
5
5
  import './injector-extensions'
6
6
  import { AggregatedError } from './errors'
7
+ import { TestClass } from './create-physical-store-tests'
7
8
 
8
9
  class Test {
9
10
  id!: number
@@ -31,6 +32,14 @@ describe('StoreManager', () => {
31
32
  })
32
33
  })
33
34
 
35
+ it('Should throw if trying to retrieve an existing store with a different primary key', () => {
36
+ using(new Injector(), (i) => {
37
+ const sm = i.getInstance(StoreManager)
38
+ sm.addStore(new InMemoryStore({ model: TestClass, primaryKey: 'id' }))
39
+ expect(() => sm.getStoreFor(TestClass, 'booleanValue')).toThrowError('Primary keys not match')
40
+ })
41
+ })
42
+
34
43
  it('Can set up stores with an extension method', () => {
35
44
  using(new Injector(), (i) => {
36
45
  i.setupStores((stores) =>