@nymphjs/nymph 1.0.0-beta.9 → 1.0.0-beta.91

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 (96) hide show
  1. package/CHANGELOG.md +436 -0
  2. package/README.md +10 -20
  3. package/dist/Entity.d.ts +277 -10
  4. package/dist/Entity.js +543 -148
  5. package/dist/Entity.js.map +1 -1
  6. package/dist/Entity.test.js +53 -13
  7. package/dist/Entity.test.js.map +1 -1
  8. package/dist/Entity.types.d.ts +249 -23
  9. package/dist/Entity.types.js +1 -2
  10. package/dist/Nymph.d.ts +431 -12
  11. package/dist/Nymph.js +692 -180
  12. package/dist/Nymph.js.map +1 -1
  13. package/dist/Nymph.types.d.ts +65 -7
  14. package/dist/Nymph.types.js +3 -5
  15. package/dist/Nymph.types.js.map +1 -1
  16. package/dist/conf/d.d.ts +43 -0
  17. package/dist/conf/d.js +1 -2
  18. package/dist/conf/defaults.d.ts +1 -1
  19. package/dist/conf/defaults.js +26 -3
  20. package/dist/conf/defaults.js.map +1 -1
  21. package/dist/conf/index.d.ts +2 -2
  22. package/dist/conf/index.js +2 -8
  23. package/dist/conf/index.js.map +1 -1
  24. package/dist/driver/NymphDriver.d.ts +137 -39
  25. package/dist/driver/NymphDriver.js +344 -194
  26. package/dist/driver/NymphDriver.js.map +1 -1
  27. package/dist/driver/index.d.ts +2 -2
  28. package/dist/driver/index.js +3 -23
  29. package/dist/driver/index.js.map +1 -1
  30. package/dist/driver/testArtifacts.d.ts +2 -2
  31. package/dist/driver/testArtifacts.js +557 -92
  32. package/dist/driver/testArtifacts.js.map +1 -1
  33. package/dist/errors/ClassNotAvailableError.js +1 -5
  34. package/dist/errors/ClassNotAvailableError.js.map +1 -1
  35. package/dist/errors/EntityConflictError.js +1 -5
  36. package/dist/errors/EntityConflictError.js.map +1 -1
  37. package/dist/errors/EntityInvalidDataError.d.ts +6 -0
  38. package/dist/errors/EntityInvalidDataError.js +8 -6
  39. package/dist/errors/EntityInvalidDataError.js.map +1 -1
  40. package/dist/errors/EntityIsSleepingReferenceError.js +1 -5
  41. package/dist/errors/EntityIsSleepingReferenceError.js.map +1 -1
  42. package/dist/errors/EntityUniqueConstraintError.d.ts +3 -0
  43. package/dist/errors/EntityUniqueConstraintError.js +7 -0
  44. package/dist/errors/EntityUniqueConstraintError.js.map +1 -0
  45. package/dist/errors/InvalidParametersError.js +1 -5
  46. package/dist/errors/InvalidParametersError.js.map +1 -1
  47. package/dist/errors/InvalidStateError.d.ts +3 -0
  48. package/dist/errors/InvalidStateError.js +7 -0
  49. package/dist/errors/InvalidStateError.js.map +1 -0
  50. package/dist/errors/NotConfiguredError.js +1 -5
  51. package/dist/errors/NotConfiguredError.js.map +1 -1
  52. package/dist/errors/QueryFailedError.js +2 -5
  53. package/dist/errors/QueryFailedError.js.map +1 -1
  54. package/dist/errors/UnableToConnectError.js +1 -5
  55. package/dist/errors/UnableToConnectError.js.map +1 -1
  56. package/dist/errors/index.d.ts +10 -8
  57. package/dist/errors/index.js +10 -24
  58. package/dist/errors/index.js.map +1 -1
  59. package/dist/index.d.ts +11 -11
  60. package/dist/index.js +14 -34
  61. package/dist/index.js.map +1 -1
  62. package/dist/nymphJoiProps.js +10 -15
  63. package/dist/nymphJoiProps.js.map +1 -1
  64. package/dist/testArtifacts.d.ts +18 -6
  65. package/dist/testArtifacts.js +32 -37
  66. package/dist/testArtifacts.js.map +1 -1
  67. package/dist/testMocks.d.ts +15 -12
  68. package/dist/testMocks.js +40 -29
  69. package/dist/testMocks.js.map +1 -1
  70. package/dist/utils.d.ts +4 -4
  71. package/dist/utils.js +40 -29
  72. package/dist/utils.js.map +1 -1
  73. package/jest.config.js +11 -2
  74. package/package.json +22 -19
  75. package/src/Entity.test.ts +52 -7
  76. package/src/Entity.ts +458 -147
  77. package/src/Entity.types.ts +64 -74
  78. package/src/Nymph.ts +754 -321
  79. package/src/Nymph.types.ts +131 -26
  80. package/src/conf/d.ts +25 -0
  81. package/src/conf/defaults.ts +34 -1
  82. package/src/conf/index.ts +2 -2
  83. package/src/driver/NymphDriver.ts +362 -359
  84. package/src/driver/index.ts +2 -2
  85. package/src/driver/testArtifacts.ts +609 -185
  86. package/src/errors/EntityUniqueConstraintError.ts +6 -0
  87. package/src/errors/InvalidStateError.ts +6 -0
  88. package/src/errors/index.ts +12 -8
  89. package/src/index.ts +11 -11
  90. package/src/nymphJoiProps.ts +2 -2
  91. package/src/testArtifacts.ts +19 -20
  92. package/src/testMocks.ts +60 -35
  93. package/src/type/locutus.d.ts +3 -0
  94. package/src/utils.ts +39 -18
  95. package/tsconfig.json +5 -3
  96. package/typedoc.json +4 -0
package/dist/index.js CHANGED
@@ -1,35 +1,15 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.nymphJoiProps = exports.Nymph = exports.Entity = void 0;
21
- __exportStar(require("./conf"), exports);
22
- __exportStar(require("./driver"), exports);
23
- __exportStar(require("./errors"), exports);
24
- __exportStar(require("./Entity.types"), exports);
25
- __exportStar(require("./Entity"), exports);
26
- const Entity_1 = __importDefault(require("./Entity"));
27
- exports.Entity = Entity_1.default;
28
- __exportStar(require("./Nymph.types"), exports);
29
- __exportStar(require("./Nymph"), exports);
30
- const Nymph_1 = __importDefault(require("./Nymph"));
31
- exports.Nymph = Nymph_1.default;
32
- const nymphJoiProps_1 = __importDefault(require("./nymphJoiProps"));
33
- exports.nymphJoiProps = nymphJoiProps_1.default;
34
- __exportStar(require("./utils"), exports);
1
+ export * from './conf/index.js';
2
+ export * from './driver/index.js';
3
+ export * from './errors/index.js';
4
+ export * from './Entity.types.js';
5
+ export * from './Entity.js';
6
+ import Entity from './Entity.js';
7
+ export { Entity };
8
+ export * from './Nymph.types.js';
9
+ export * from './Nymph.js';
10
+ import Nymph from './Nymph.js';
11
+ export { Nymph };
12
+ import nymphJoiProps from './nymphJoiProps.js';
13
+ export { nymphJoiProps };
14
+ export * from './utils.js';
35
15
  //# 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,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AAEzB,iDAA+B;AAE/B,2CAAyB;AACzB,sDAA8B;AACrB,iBADF,gBAAM,CACE;AAEf,gDAA8B;AAE9B,0CAAwB;AACxB,oDAA4B;AACnB,gBADF,eAAK,CACE;AAEd,oEAA4C;AACnC,wBADF,uBAAa,CACE;AAEtB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC;AAElC,cAAc,aAAa,CAAC;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,cAAc,kBAAkB,CAAC;AAEjC,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,cAAc,YAAY,CAAC"}
@@ -1,21 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const joi_1 = __importDefault(require("joi"));
7
- exports.default = {
8
- guid: joi_1.default.alternatives()
9
- .try(joi_1.default.any().only().allow(null), joi_1.default.string().trim(false).length(24).hex())
1
+ import Joi from 'joi';
2
+ export default {
3
+ guid: Joi.alternatives()
4
+ .try(Joi.any().only().allow(null), Joi.string().trim(false).length(24).hex())
10
5
  .required(),
11
- cdate: joi_1.default.alternatives()
12
- .try(joi_1.default.any().only().allow(null), joi_1.default.number())
6
+ cdate: Joi.alternatives()
7
+ .try(Joi.any().only().allow(null), Joi.number())
13
8
  .required(),
14
- mdate: joi_1.default.alternatives()
15
- .try(joi_1.default.any().only().allow(null), joi_1.default.number())
9
+ mdate: Joi.alternatives()
10
+ .try(Joi.any().only().allow(null), Joi.number())
16
11
  .required(),
17
- tags: joi_1.default.array()
18
- .items(joi_1.default.string().pattern(/[[\x01-\x1F\x7F]]/, {
12
+ tags: Joi.array()
13
+ .items(Joi.string().pattern(/[[\x01-\x1F\x7F]]/, {
19
14
  name: 'control characters',
20
15
  invert: true,
21
16
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"nymphJoiProps.js","sourceRoot":"","sources":["../src/nymphJoiProps.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,kBAAe;IACb,IAAI,EAAE,aAAG,CAAC,YAAY,EAAE;SACrB,GAAG,CACF,aAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAC1C;SACA,QAAQ,EAAE;IACb,KAAK,EAAE,aAAG,CAAC,YAAY,EAAE;SACtB,GAAG,CAAC,aAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC;SAC/C,QAAQ,EAAE;IACb,KAAK,EAAE,aAAG,CAAC,YAAY,EAAE;SACtB,GAAG,CAAC,aAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC;SAC/C,QAAQ,EAAE;IACb,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE;SACd,KAAK,CACJ,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE;QACxC,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,IAAI;KACb,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC"}
1
+ {"version":3,"file":"nymphJoiProps.js","sourceRoot":"","sources":["../src/nymphJoiProps.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAe;IACb,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;SACrB,GAAG,CACF,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAC1C;SACA,QAAQ,EAAE;IACb,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE;SACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;SAC/C,QAAQ,EAAE;IACb,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE;SACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;SAC/C,QAAQ,EAAE;IACb,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE;SACd,KAAK,CACJ,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE;QACxC,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,IAAI;KACb,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import Entity from './Entity';
1
+ import Entity from './Entity.js';
2
2
  export type TestModelData = {
3
3
  name?: string;
4
4
  null?: null;
@@ -17,7 +17,11 @@ export type TestModelData = {
17
17
  };
18
18
  parent?: TestModel & TestModelData;
19
19
  index?: string;
20
+ uniques?: string[];
20
21
  };
22
+ /**
23
+ * This class is a test class that extends the Entity class.
24
+ */
21
25
  export declare class TestModel extends Entity<TestModelData> {
22
26
  static ETYPE: string;
23
27
  static class: string;
@@ -26,14 +30,22 @@ export declare class TestModel extends Entity<TestModelData> {
26
30
  protected $allowlistData?: string[] | undefined;
27
31
  protected $protectedTags: string[];
28
32
  protected $allowlistTags?: string[] | undefined;
29
- static factory(guid?: string): Promise<TestModel & TestModelData>;
30
- static factorySync(guid?: string): TestModel & TestModelData;
31
- constructor(guid?: string);
33
+ constructor();
34
+ $getUniques(): Promise<string[]>;
32
35
  $useProtectedData(): () => void;
33
36
  }
37
+ /**
38
+ * This class is a test class that extends the Entity class.
39
+ */
34
40
  export declare class TestBModel extends TestModel {
35
41
  static ETYPE: string;
36
42
  static class: string;
37
- static factory(guid?: string): Promise<TestBModel & TestModelData>;
38
- static factorySync(guid?: string): TestBModel & TestModelData;
43
+ }
44
+ export type TestEmptyModelData = {};
45
+ /**
46
+ * This class is a test class that extends the Entity class.
47
+ */
48
+ export declare class TestEmptyModel extends Entity<TestEmptyModelData> {
49
+ static ETYPE: string;
50
+ static class: string;
39
51
  }
@@ -1,27 +1,23 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TestBModel = exports.TestModel = void 0;
7
- const Entity_1 = __importDefault(require("./Entity"));
8
- class TestModel extends Entity_1.default {
9
- static async factory(guid) {
10
- return (await super.factory(guid));
1
+ import Entity from './Entity.js';
2
+ /**
3
+ * This class is a test class that extends the Entity class.
4
+ */
5
+ export class TestModel extends Entity {
6
+ static ETYPE = 'test_model';
7
+ static class = 'TestModel';
8
+ $privateData = ['boolean'];
9
+ static searchRestrictedData = ['fish'];
10
+ $allowlistData = ['string', 'array', 'mdate'];
11
+ $protectedTags = ['test', 'notag'];
12
+ $allowlistTags = ['newtag'];
13
+ constructor() {
14
+ super();
15
+ this.$addTag('test');
16
+ this.$data.boolean = true;
17
+ this.$data.uniques = [];
11
18
  }
12
- static factorySync(guid) {
13
- return super.factorySync(guid);
14
- }
15
- constructor(guid) {
16
- super(guid);
17
- this.$privateData = ['boolean'];
18
- this.$allowlistData = ['string', 'array', 'mdate'];
19
- this.$protectedTags = ['test', 'notag'];
20
- this.$allowlistTags = ['newtag'];
21
- if (this.guid == null) {
22
- this.$addTag('test');
23
- this.$data.boolean = true;
24
- }
19
+ async $getUniques() {
20
+ return this.$data.uniques ?? [];
25
21
  }
26
22
  $useProtectedData() {
27
23
  const $allowlistData = this.$allowlistData;
@@ -40,19 +36,18 @@ class TestModel extends Entity_1.default {
40
36
  };
41
37
  }
42
38
  }
43
- exports.TestModel = TestModel;
44
- TestModel.ETYPE = 'test_model';
45
- TestModel.class = 'TestModel';
46
- TestModel.searchRestrictedData = ['fish'];
47
- class TestBModel extends TestModel {
48
- static async factory(guid) {
49
- return (await super.factory(guid));
50
- }
51
- static factorySync(guid) {
52
- return super.factorySync(guid);
53
- }
39
+ /**
40
+ * This class is a test class that extends the Entity class.
41
+ */
42
+ export class TestBModel extends TestModel {
43
+ static ETYPE = 'test_b_model';
44
+ static class = 'TestBModel';
45
+ }
46
+ /**
47
+ * This class is a test class that extends the Entity class.
48
+ */
49
+ export class TestEmptyModel extends Entity {
50
+ static ETYPE = 'test_empty_model';
51
+ static class = 'TestEmptyModel';
54
52
  }
55
- exports.TestBModel = TestBModel;
56
- TestBModel.ETYPE = 'test_b_model';
57
- TestBModel.class = 'TestBModel';
58
53
  //# sourceMappingURL=testArtifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testArtifacts.js","sourceRoot":"","sources":["../src/testArtifacts.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AA0B9B,MAAa,SAAU,SAAQ,gBAAqB;IAUlD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAa;QAChC,OAAO,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAA8B,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAA8B,CAAC;IAC9D,CAAC;IAED,YAAY,IAAa;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAfJ,iBAAY,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3B,mBAAc,GAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,mBAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,mBAAc,GAAI,CAAC,QAAQ,CAAC,CAAC;QAarC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAEM,iBAAiB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;;AA5CH,8BA6CC;AA5CQ,eAAK,GAAG,YAAY,CAAC;AACrB,eAAK,GAAG,WAAW,CAAC;AAGb,8BAAoB,GAAG,CAAC,MAAM,CAAC,CAAC;AA6ChD,MAAa,UAAW,SAAQ,SAAS;IAIvC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAa;QAChC,OAAO,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAA+B,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAA+B,CAAC;IAC/D,CAAC;;AAVH,gCAWC;AAVQ,gBAAK,GAAG,cAAc,CAAC;AACvB,gBAAK,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"testArtifacts.js","sourceRoot":"","sources":["../src/testArtifacts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAyBjC;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAqB;IAClD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;IAC5B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAEjB,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,GAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,GAAI,CAAC,QAAQ,CAAC,CAAC;IAEvC;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,CAAC;IAEM,iBAAiB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;IAC9B,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;;AAK9B;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,MAA0B;IAC5D,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC"}
@@ -1,17 +1,18 @@
1
- import { EntityConstructor, EntityInterface } from './Entity.types';
2
- import { Options, Selector } from './Nymph.types';
3
- import Entity from './Entity';
1
+ import type { EntityInstanceType } from './Entity.js';
2
+ import type { EntityConstructor, EntityInterface } from './Entity.types.js';
3
+ import { Options, Selector } from './Nymph.types.js';
4
+ import Entity from './Entity.js';
4
5
  export declare class MockNymphDriver {
5
6
  private nymph;
6
7
  constructor(nymph: MockNymph);
7
- getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
8
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
8
9
  return: 'guid';
9
- }, ...selectors: Selector[]): string | null;
10
- getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): ReturnType<T['factorySync']> | null;
11
- getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
10
+ }, ...selectors: Selector[]): Promise<string | null>;
11
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
12
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
12
13
  return: 'guid';
13
- }, guid: string): string | null;
14
- getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): ReturnType<T['factorySync']> | null;
14
+ }, guid: string): Promise<string | null>;
15
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
15
16
  }
16
17
  export declare class MockNymph {
17
18
  private entityClasses;
@@ -19,16 +20,18 @@ export declare class MockNymph {
19
20
  Tilmeld: any;
20
21
  Entity: typeof Entity;
21
22
  constructor();
22
- addEntityClass<T extends EntityConstructor>(entityClass: T): T;
23
+ addEntityClass<T extends EntityConstructor>(EntityClass: T): T;
23
24
  getEntityClass(className: string): EntityConstructor;
25
+ getEntityClass<T extends EntityConstructor>(className: T): T;
26
+ getEntityClassByEtype(etype: string): EntityConstructor;
24
27
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
25
28
  return: 'guid';
26
29
  }, ...selectors: Selector[]): Promise<string | null>;
27
- getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<ReturnType<T['factorySync']> | null>;
30
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
28
31
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
29
32
  return: 'guid';
30
33
  }, guid: string): Promise<string | null>;
31
- getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<ReturnType<T['factorySync']> | null>;
34
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
32
35
  saveEntity(entity: EntityInterface): Promise<boolean>;
33
36
  deleteEntity(entity: EntityInterface): Promise<boolean>;
34
37
  }
package/dist/testMocks.js CHANGED
@@ -1,18 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MockNymph = exports.MockNymphDriver = void 0;
7
- const guid_1 = require("@nymphjs/guid");
8
- const errors_1 = require("./errors");
9
- const Entity_1 = __importDefault(require("./Entity"));
1
+ import { guid } from '@nymphjs/guid';
2
+ import { ClassNotAvailableError } from './errors/index.js';
3
+ import Entity from './Entity.js';
10
4
  const entities = {};
11
- class MockNymphDriver {
5
+ export class MockNymphDriver {
6
+ nymph;
12
7
  constructor(nymph) {
13
8
  this.nymph = nymph;
14
9
  }
15
- getEntitySync(options = {}, ...selectors) {
10
+ async getEntity(options = {}, ...selectors) {
16
11
  const guid = typeof selectors[0] === 'string' ? selectors[0] : selectors[0].guid;
17
12
  if (!options || !guid || typeof guid !== 'string' || !(guid in entities)) {
18
13
  return null;
@@ -23,42 +18,59 @@ class MockNymphDriver {
23
18
  entity.cdate = entityJson.cdate;
24
19
  entity.mdate = entityJson.mdate;
25
20
  entity.tags = entityJson.tags;
26
- entity.$putData(entityJson.data, {});
21
+ entity.$putData(entityJson.data, {}, 'server');
27
22
  return entity;
28
23
  }
29
24
  }
30
- exports.MockNymphDriver = MockNymphDriver;
31
- class MockNymph {
25
+ export class MockNymph {
26
+ entityClasses = {};
27
+ driver;
28
+ Tilmeld = undefined;
29
+ Entity;
32
30
  constructor() {
33
- this.entityClasses = {};
34
- this.Tilmeld = undefined;
35
31
  this.driver = new MockNymphDriver(this);
36
- this.Entity = this.addEntityClass(Entity_1.default);
32
+ // class NymphEntity extends Entity {}
33
+ this.Entity = this.addEntityClass(Entity);
37
34
  }
38
- addEntityClass(entityClass) {
35
+ addEntityClass(EntityClass) {
39
36
  const nymph = this;
40
- class NymphEntity extends entityClass {
37
+ this.entityClasses[EntityClass.class] = class extends EntityClass {
38
+ static nymph = nymph;
41
39
  constructor(...args) {
42
40
  super(...args);
43
41
  }
44
- }
45
- NymphEntity.nymph = nymph;
46
- this.entityClasses[entityClass.class] = NymphEntity;
47
- return NymphEntity;
42
+ };
43
+ return this.entityClasses[EntityClass.class];
48
44
  }
49
45
  getEntityClass(className) {
50
- if (className in this.entityClasses) {
51
- return this.entityClasses[className];
46
+ let key = null;
47
+ if (typeof className === 'string') {
48
+ key = className;
49
+ }
50
+ else {
51
+ key = className.class;
52
+ }
53
+ if (key in this.entityClasses) {
54
+ return this.entityClasses[key];
55
+ }
56
+ throw new ClassNotAvailableError(`Tried to use missing class "${key}".`);
57
+ }
58
+ getEntityClassByEtype(etype) {
59
+ for (const EntityClass of Object.values(this.entityClasses)) {
60
+ if (EntityClass.ETYPE === etype) {
61
+ return EntityClass;
62
+ }
52
63
  }
53
- throw new errors_1.ClassNotAvailableError('Tried to use class: ' + className);
64
+ throw new ClassNotAvailableError(`Tried to use missing class by etype "${etype}".`);
54
65
  }
55
66
  async getEntity(options = {}, ...selectors) {
56
- return this.driver.getEntitySync(options, ...selectors);
67
+ // @ts-ignore: The selector type is correct here.
68
+ return await this.driver.getEntity(options, ...selectors);
57
69
  }
58
70
  async saveEntity(entity) {
59
71
  const className = entity.constructor.class;
60
72
  if (entity.guid == null) {
61
- entity.guid = (0, guid_1.guid)();
73
+ entity.guid = guid();
62
74
  entity.cdate = Date.now();
63
75
  }
64
76
  else if (entity.guid in entities &&
@@ -85,5 +97,4 @@ class MockNymph {
85
97
  return false;
86
98
  }
87
99
  }
88
- exports.MockNymph = MockNymph;
89
100
  //# sourceMappingURL=testMocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testMocks.js","sourceRoot":"","sources":["../src/testMocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testMocks.js","sourceRoot":"","sources":["../src/testMocks.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import Nymph from './Nymph';
2
- import { Selector } from './Nymph.types';
1
+ import Nymph from './Nymph.js';
2
+ import { Selector } from './Nymph.types.js';
3
3
  export declare function xor(a: any, b: any): boolean;
4
4
  export declare function uniqueStrings(array: string[]): string[];
5
- export declare function classNamesToEntityConstructors(nymph: Nymph, selectors: Selector[]): Selector[];
6
- export declare function entitiesToReferences(item: any): any;
5
+ export declare function classNamesToEntityConstructors(nymph: Nymph, selectors: Selector[], enforceRestEnabledFlag?: boolean): Selector[];
6
+ export declare function entitiesToReferences(item: any, existingOnly?: boolean): any;
7
7
  export declare function referencesToEntities(item: any, nymph: Nymph, useSkipAc?: boolean): any;
8
8
  export declare function sortObj<T extends {
9
9
  [k: string]: any;
package/dist/utils.js CHANGED
@@ -1,23 +1,15 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sortObj = exports.referencesToEntities = exports.entitiesToReferences = exports.classNamesToEntityConstructors = exports.uniqueStrings = exports.xor = void 0;
7
- const Entity_1 = __importDefault(require("./Entity"));
8
- function xor(a, b) {
1
+ import Entity from './Entity.js';
2
+ export function xor(a, b) {
9
3
  return !!(a && !b) || (!a && b);
10
4
  }
11
- exports.xor = xor;
12
- function uniqueStrings(array) {
5
+ export function uniqueStrings(array) {
13
6
  const obj = {};
14
7
  for (let i = 0; i < array.length; ++i) {
15
8
  obj[array[i]] = true;
16
9
  }
17
10
  return Object.keys(obj);
18
11
  }
19
- exports.uniqueStrings = uniqueStrings;
20
- function classNamesToEntityConstructors(nymph, selectors) {
12
+ export function classNamesToEntityConstructors(nymph, selectors, enforceRestEnabledFlag = false) {
21
13
  const newSelectors = [];
22
14
  for (const curSelector of selectors) {
23
15
  const newSelector = { type: curSelector.type };
@@ -37,24 +29,31 @@ function classNamesToEntityConstructors(nymph, selectors) {
37
29
  for (let i = 0; i < tmpArr.length; i++) {
38
30
  const name = tmpArr[i][0];
39
31
  const [qrefOptions, ...selectors] = tmpArr[i][1];
40
- const QrefEntityClass = typeof qrefOptions.class === 'string'
32
+ const QrefEntityClass = qrefOptions.class
41
33
  ? nymph.getEntityClass(qrefOptions.class)
42
- : qrefOptions.class ?? nymph.getEntityClass('Entity');
34
+ : nymph.getEntityClass('Entity');
35
+ if (enforceRestEnabledFlag && !QrefEntityClass.restEnabled) {
36
+ throw new Error('Not accessible.');
37
+ }
43
38
  const options = { ...qrefOptions, class: QrefEntityClass };
44
39
  if (!newSelector[key]) {
45
40
  newSelector[key] = [];
46
41
  }
47
42
  newSelector[key].push([
48
43
  name,
49
- [options, ...classNamesToEntityConstructors(nymph, selectors)],
44
+ [
45
+ options,
46
+ ...classNamesToEntityConstructors(nymph, selectors, enforceRestEnabledFlag),
47
+ ],
50
48
  ]);
51
49
  }
52
50
  }
53
51
  else if (key === 'selector' || key === '!selector') {
54
52
  const tmpArr = (Array.isArray(value) ? value : [value]);
55
- newSelector[key] = classNamesToEntityConstructors(nymph, tmpArr);
53
+ newSelector[key] = classNamesToEntityConstructors(nymph, tmpArr, enforceRestEnabledFlag);
56
54
  }
57
55
  else {
56
+ // @ts-ignore: ts doesn't know what value is here.
58
57
  newSelector[key] = value;
59
58
  }
60
59
  }
@@ -62,26 +61,35 @@ function classNamesToEntityConstructors(nymph, selectors) {
62
61
  }
63
62
  return newSelectors;
64
63
  }
65
- exports.classNamesToEntityConstructors = classNamesToEntityConstructors;
66
- function entitiesToReferences(item) {
67
- if (item instanceof Entity_1.default && typeof item.$toReference === 'function') {
68
- return item.$toReference();
64
+ export function entitiesToReferences(item, existingOnly) {
65
+ if (item == null || Buffer.isBuffer(item) || ArrayBuffer.isView(item)) {
66
+ return item;
67
+ }
68
+ else if (item instanceof Entity &&
69
+ typeof item.$toReference === 'function') {
70
+ // Convert entities to references.
71
+ return item.$toReference(existingOnly);
69
72
  }
70
73
  else if (Array.isArray(item)) {
71
- return item.map((entry) => entitiesToReferences(entry));
74
+ // Recurse into lower arrays.
75
+ return item.map((entry) => entitiesToReferences(entry, existingOnly));
72
76
  }
73
77
  else if (item instanceof Object) {
74
78
  let newObj = Object.create(item);
75
79
  for (let [key, value] of Object.entries(item)) {
76
- newObj[key] = entitiesToReferences(value);
80
+ newObj[key] = entitiesToReferences(value, existingOnly);
77
81
  }
78
82
  return newObj;
79
83
  }
84
+ // Not an entity or array, just return it.
80
85
  return item;
81
86
  }
82
- exports.entitiesToReferences = entitiesToReferences;
83
- function referencesToEntities(item, nymph, useSkipAc = false) {
84
- if (Array.isArray(item)) {
87
+ export function referencesToEntities(item, nymph, useSkipAc = false) {
88
+ if (item == null || Buffer.isBuffer(item) || ArrayBuffer.isView(item)) {
89
+ return item;
90
+ }
91
+ else if (Array.isArray(item)) {
92
+ // Check if it's a reference.
85
93
  if (item[0] === 'nymph_entity_reference') {
86
94
  try {
87
95
  const EntityClass = nymph.getEntityClass(item[2]);
@@ -95,26 +103,29 @@ function referencesToEntities(item, nymph, useSkipAc = false) {
95
103
  }
96
104
  }
97
105
  else {
106
+ // Recurse into lower arrays.
98
107
  return item.map((entry) => referencesToEntities(entry, nymph, useSkipAc));
99
108
  }
100
109
  }
101
- else if (Entity_1.default && item instanceof Object && !(item instanceof Entity_1.default)) {
110
+ else if (Entity && item instanceof Object && !(item instanceof Entity)) {
102
111
  for (let [key, value] of Object.entries(item)) {
103
112
  item[key] = referencesToEntities(value, nymph);
104
113
  }
105
114
  }
115
+ // Not an array, just return it.
106
116
  return item;
107
117
  }
108
- exports.referencesToEntities = referencesToEntities;
109
- function sortObj(obj) {
118
+ export function sortObj(obj) {
119
+ // adapted from
120
+ // http://am.aurlien.net/post/1221493460/sorting-javascript-objects
110
121
  const tempArray = Object.keys(obj);
111
122
  tempArray.sort();
112
123
  for (let i = 0; i < tempArray.length; i++) {
113
124
  const temp = obj[tempArray[i]];
114
125
  delete obj[tempArray[i]];
126
+ // @ts-ignore: string can't be used to index type T?? yes, it can.
115
127
  obj[tempArray[i]] = temp;
116
128
  }
117
129
  return obj;
118
130
  }
119
- exports.sortObj = sortObj;
120
131
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAKjC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAE,CAAM;IAChC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAY,EACZ,SAAqB,EACrB,sBAAsB,GAAG,KAAK;IAE9B,MAAM,YAAY,GAAe,EAAE,CAAC;IAEpC,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;QACpC,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,CAAmB,CAAC;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,CACb,KAAK,CAAC,OAAO,CAAC,CAAE,KAA0B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAC4B,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK;wBACvC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;wBACzC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACnC,IAAI,sBAAsB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;wBAC3D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;oBAC3D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACxB,CAAC;oBACA,WAAW,CAAC,GAAG,CAA0C,CAAC,IAAI,CAAC;wBAC9D,IAAI;wBACJ;4BACE,OAAO;4BACP,GAAG,8BAA8B,CAC/B,KAAK,EACL,SAAS,EACT,sBAAsB,CACvB;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAe,CAAC;gBACtE,WAAW,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAC/C,KAAK,EACL,MAAM,EACN,sBAAsB,CACvB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS,EAAE,YAAsB;IACpE,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IACL,IAAI,YAAY,MAAM;QACtB,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EACvC,CAAC;QACD,kCAAkC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,0CAA0C;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAS,EACT,KAAY,EACZ,SAAS,GAAG,KAAK;IAEjB,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAuB,CAAC,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC7B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,IAAI,YAAY,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,EAAE,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,gCAAgC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAiC,GAAM;IAC5D,eAAe;IACf,mEAAmE;IACnE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,kEAAkE;QAClE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/jest.config.js CHANGED
@@ -1,6 +1,15 @@
1
+ import { createDefaultEsmPreset } from 'ts-jest';
2
+
3
+ const presetConfig = createDefaultEsmPreset();
4
+
1
5
  /** @type {import('ts-jest').JestConfigWithTsJest} */
2
- module.exports = {
3
- preset: 'ts-jest',
6
+ const jestConfig = {
7
+ ...presetConfig,
4
8
  testEnvironment: 'node',
5
9
  rootDir: 'src/',
10
+ moduleNameMapper: {
11
+ '^(\\.|\\.\\.)\\/(.+)\\.js': '$1/$2',
12
+ },
6
13
  };
14
+
15
+ export default jestConfig;