@nymphjs/nymph 1.0.0-beta.12 → 1.0.0-beta.121

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 (103) hide show
  1. package/CHANGELOG.md +588 -0
  2. package/README.md +23 -21
  3. package/dist/Entity.d.ts +295 -12
  4. package/dist/Entity.js +560 -148
  5. package/dist/Entity.js.map +1 -1
  6. package/dist/Entity.test.js +52 -13
  7. package/dist/Entity.test.js.map +1 -1
  8. package/dist/Entity.types.d.ts +256 -23
  9. package/dist/Entity.types.js +1 -2
  10. package/dist/Nymph.d.ts +590 -13
  11. package/dist/Nymph.js +846 -180
  12. package/dist/Nymph.js.map +1 -1
  13. package/dist/Nymph.types.d.ts +131 -8
  14. package/dist/Nymph.types.js +47 -5
  15. package/dist/Nymph.types.js.map +1 -1
  16. package/dist/conf/defaults.d.ts +1 -1
  17. package/dist/conf/defaults.js +26 -3
  18. package/dist/conf/defaults.js.map +1 -1
  19. package/dist/conf/index.d.ts +50 -2
  20. package/dist/conf/index.js +2 -8
  21. package/dist/conf/index.js.map +1 -1
  22. package/dist/driver/NymphDriver.d.ts +205 -40
  23. package/dist/driver/NymphDriver.js +712 -238
  24. package/dist/driver/NymphDriver.js.map +1 -1
  25. package/dist/driver/index.d.ts +1 -2
  26. package/dist/driver/index.js +2 -23
  27. package/dist/driver/index.js.map +1 -1
  28. package/dist/driver/testArtifacts.d.ts +4 -4
  29. package/dist/driver/testArtifacts.js +1920 -1086
  30. package/dist/driver/testArtifacts.js.map +1 -1
  31. package/dist/errors/ClassNotAvailableError.js +1 -5
  32. package/dist/errors/ClassNotAvailableError.js.map +1 -1
  33. package/dist/errors/EntityConflictError.js +1 -5
  34. package/dist/errors/EntityConflictError.js.map +1 -1
  35. package/dist/errors/EntityInvalidDataError.d.ts +6 -0
  36. package/dist/errors/EntityInvalidDataError.js +8 -6
  37. package/dist/errors/EntityInvalidDataError.js.map +1 -1
  38. package/dist/errors/EntityIsSleepingReferenceError.js +1 -5
  39. package/dist/errors/EntityIsSleepingReferenceError.js.map +1 -1
  40. package/dist/errors/EntityUniqueConstraintError.d.ts +3 -0
  41. package/dist/errors/EntityUniqueConstraintError.js +7 -0
  42. package/dist/errors/EntityUniqueConstraintError.js.map +1 -0
  43. package/dist/errors/HttpError.d.ts +5 -0
  44. package/dist/errors/HttpError.js +11 -0
  45. package/dist/errors/HttpError.js.map +1 -0
  46. package/dist/errors/InvalidParametersError.js +1 -5
  47. package/dist/errors/InvalidParametersError.js.map +1 -1
  48. package/dist/errors/InvalidStateError.d.ts +3 -0
  49. package/dist/errors/InvalidStateError.js +7 -0
  50. package/dist/errors/InvalidStateError.js.map +1 -0
  51. package/dist/errors/NotConfiguredError.js +1 -5
  52. package/dist/errors/NotConfiguredError.js.map +1 -1
  53. package/dist/errors/QueryFailedError.d.ts +2 -1
  54. package/dist/errors/QueryFailedError.js +5 -6
  55. package/dist/errors/QueryFailedError.js.map +1 -1
  56. package/dist/errors/UnableToConnectError.js +1 -5
  57. package/dist/errors/UnableToConnectError.js.map +1 -1
  58. package/dist/errors/index.d.ts +11 -8
  59. package/dist/errors/index.js +11 -24
  60. package/dist/errors/index.js.map +1 -1
  61. package/dist/index.d.ts +11 -11
  62. package/dist/index.js +14 -34
  63. package/dist/index.js.map +1 -1
  64. package/dist/nymphJoiProps.d.ts +1 -1
  65. package/dist/nymphJoiProps.js +10 -15
  66. package/dist/nymphJoiProps.js.map +1 -1
  67. package/dist/testArtifacts.d.ts +19 -6
  68. package/dist/testArtifacts.js +32 -37
  69. package/dist/testArtifacts.js.map +1 -1
  70. package/dist/testMocks.d.ts +27 -12
  71. package/dist/testMocks.js +40 -29
  72. package/dist/testMocks.js.map +1 -1
  73. package/dist/utils.d.ts +4 -4
  74. package/dist/utils.js +40 -29
  75. package/dist/utils.js.map +1 -1
  76. package/jest.config.js +31 -5
  77. package/package.json +33 -23
  78. package/src/Entity.test.ts +50 -7
  79. package/src/Entity.ts +489 -150
  80. package/src/Entity.types.ts +72 -74
  81. package/src/Nymph.ts +991 -324
  82. package/src/Nymph.types.ts +201 -27
  83. package/src/conf/defaults.ts +34 -1
  84. package/src/conf/index.ts +50 -2
  85. package/src/driver/NymphDriver.ts +898 -413
  86. package/src/driver/index.ts +1 -3
  87. package/src/driver/testArtifacts.ts +2557 -1629
  88. package/src/errors/EntityUniqueConstraintError.ts +6 -0
  89. package/src/errors/HttpError.ts +12 -0
  90. package/src/errors/InvalidStateError.ts +6 -0
  91. package/src/errors/QueryFailedError.ts +3 -1
  92. package/src/errors/index.ts +14 -8
  93. package/src/index.ts +11 -11
  94. package/src/nymphJoiProps.ts +2 -2
  95. package/src/testArtifacts.ts +20 -20
  96. package/src/testMocks.ts +76 -35
  97. package/src/utils.ts +39 -18
  98. package/tsconfig.json +6 -3
  99. package/typedoc.json +4 -0
  100. package/dist/conf/d.d.ts +0 -6
  101. package/dist/conf/d.js +0 -3
  102. package/dist/conf/d.js.map +0 -1
  103. package/src/conf/d.ts +0 -24
@@ -1,25 +1,12 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ClassNotAvailableError"), exports);
18
- __exportStar(require("./EntityConflictError"), exports);
19
- __exportStar(require("./EntityInvalidDataError"), exports);
20
- __exportStar(require("./EntityIsSleepingReferenceError"), exports);
21
- __exportStar(require("./InvalidParametersError"), exports);
22
- __exportStar(require("./NotConfiguredError"), exports);
23
- __exportStar(require("./QueryFailedError"), exports);
24
- __exportStar(require("./UnableToConnectError"), exports);
1
+ export * from './ClassNotAvailableError.js';
2
+ export * from './EntityConflictError.js';
3
+ export * from './EntityInvalidDataError.js';
4
+ export * from './EntityIsSleepingReferenceError.js';
5
+ export * from './EntityUniqueConstraintError.js';
6
+ export * from './HttpError.js';
7
+ export * from './InvalidParametersError.js';
8
+ export * from './InvalidStateError.js';
9
+ export * from './NotConfiguredError.js';
10
+ export * from './QueryFailedError.js';
11
+ export * from './UnableToConnectError.js';
25
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AAEzC,wDAAsC;AAEtC,2DAAyC;AAEzC,mEAAiD;AAEjD,2DAAyC;AAEzC,uDAAqC;AAErC,qDAAmC;AAEnC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,6BAA6B,CAAC;AAE5C,cAAc,wBAAwB,CAAC;AAEvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,2BAA2B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- export * from './conf';
2
- export * from './driver';
3
- export * from './errors';
4
- export * from './Entity.types';
5
- export * from './Entity';
6
- import Entity from './Entity';
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
7
  export { Entity };
8
- export * from './Nymph.types';
9
- export * from './Nymph';
10
- import Nymph from './Nymph';
8
+ export * from './Nymph.types.js';
9
+ export * from './Nymph.js';
10
+ import Nymph from './Nymph.js';
11
11
  export { Nymph };
12
- import nymphJoiProps from './nymphJoiProps';
12
+ import nymphJoiProps from './nymphJoiProps.js';
13
13
  export { nymphJoiProps };
14
- export * from './utils';
14
+ export * from './utils.js';
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"}
@@ -3,6 +3,6 @@ declare const _default: {
3
3
  guid: Joi.AlternativesSchema<any>;
4
4
  cdate: Joi.AlternativesSchema<any>;
5
5
  mdate: Joi.AlternativesSchema<any>;
6
- tags: Joi.ArraySchema<any[]>;
6
+ tags: Joi.ArraySchema<string[]>;
7
7
  };
8
8
  export default _default;
@@ -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;
@@ -6,6 +6,7 @@ export type TestModelData = {
6
6
  test?: string;
7
7
  array?: any[];
8
8
  match?: string;
9
+ search?: string;
9
10
  number?: number;
10
11
  numberString?: string;
11
12
  timestamp?: Number;
@@ -17,7 +18,11 @@ export type TestModelData = {
17
18
  };
18
19
  parent?: TestModel & TestModelData;
19
20
  index?: string;
21
+ uniques?: string[];
20
22
  };
23
+ /**
24
+ * This class is a test class that extends the Entity class.
25
+ */
21
26
  export declare class TestModel extends Entity<TestModelData> {
22
27
  static ETYPE: string;
23
28
  static class: string;
@@ -26,14 +31,22 @@ export declare class TestModel extends Entity<TestModelData> {
26
31
  protected $allowlistData?: string[] | undefined;
27
32
  protected $protectedTags: string[];
28
33
  protected $allowlistTags?: string[] | undefined;
29
- static factory(guid?: string): Promise<TestModel & TestModelData>;
30
- static factorySync(guid?: string): TestModel & TestModelData;
31
- constructor(guid?: string);
34
+ constructor();
35
+ $getUniques(): Promise<string[]>;
32
36
  $useProtectedData(): () => void;
33
37
  }
38
+ /**
39
+ * This class is a test class that extends the Entity class.
40
+ */
34
41
  export declare class TestBModel extends TestModel {
35
42
  static ETYPE: string;
36
43
  static class: string;
37
- static factory(guid?: string): Promise<TestBModel & TestModelData>;
38
- static factorySync(guid?: string): TestBModel & TestModelData;
44
+ }
45
+ export type TestEmptyModelData = {};
46
+ /**
47
+ * This class is a test class that extends the Entity class.
48
+ */
49
+ export declare class TestEmptyModel extends Entity<TestEmptyModelData> {
50
+ static ETYPE: string;
51
+ static class: string;
39
52
  }
@@ -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;AA0BjC;;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;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;IAC9B,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;CAC7B;AAID;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,MAA0B;IAC5D,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC;IAClC,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC;CACjC"}
@@ -1,17 +1,24 @@
1
- import { EntityConstructor, EntityInterface } from './Entity.types';
2
- import { Options, Selector } from './Nymph.types';
3
- import Entity from './Entity';
1
+ import type { EntityInstanceType, EntityObjectType } 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> & {
12
+ return: 'object';
13
+ }, ...selectors: Selector[]): Promise<EntityObjectType<T> | null>;
14
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
15
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
12
16
  return: 'guid';
13
- }, guid: string): string | null;
14
- getEntitySync<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): ReturnType<T['factorySync']> | null;
17
+ }, guid: string): Promise<string | null>;
18
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
19
+ return: 'object';
20
+ }, guid: string): Promise<EntityObjectType<T> | null>;
21
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
15
22
  }
16
23
  export declare class MockNymph {
17
24
  private entityClasses;
@@ -19,16 +26,24 @@ export declare class MockNymph {
19
26
  Tilmeld: any;
20
27
  Entity: typeof Entity;
21
28
  constructor();
22
- addEntityClass<T extends EntityConstructor>(entityClass: T): T;
29
+ addEntityClass<T extends EntityConstructor>(EntityClass: T): T;
23
30
  getEntityClass(className: string): EntityConstructor;
31
+ getEntityClass<T extends EntityConstructor>(className: T): T;
32
+ getEntityClassByEtype(etype: string): EntityConstructor;
24
33
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
25
34
  return: 'guid';
26
35
  }, ...selectors: Selector[]): Promise<string | null>;
27
- getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<ReturnType<T['factorySync']> | null>;
36
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
37
+ return: 'object';
38
+ }, ...selectors: Selector[]): Promise<EntityObjectType<T> | null>;
39
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
28
40
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
29
41
  return: 'guid';
30
42
  }, guid: string): Promise<string | null>;
31
- getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<ReturnType<T['factorySync']> | null>;
43
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
44
+ return: 'object';
45
+ }, guid: string): Promise<EntityObjectType<T> | null>;
46
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
32
47
  saveEntity(entity: EntityInterface): Promise<boolean>;
33
48
  deleteEntity(entity: EntityInterface): Promise<boolean>;
34
49
  }
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAUrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,QAAQ,GAAgC,EAAE,CAAC;AAEjD,MAAM,OAAO,eAAe;IAClB,KAAK,CAAY;IAEzB,YAAmB,KAAgB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IA0BM,KAAK,CAAC,SAAS,CACpB,OAAO,GAAe,EAAE,EACxB,GAAG,SAAgC;QAEnC,MAAM,IAAI,GACR,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GACV,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CACtD,CAAC,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,MAA+B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACZ,aAAa,GAAuC,EAAE,CAAC;IACxD,MAAM,CAAkB;IACxB,OAAO,GAAQ,SAAS,CAAC;IACzB,MAAM,CAAgB;IAE7B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAExC,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEM,cAAc,CAA8B,WAAc;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAM,SAAQ,WAAW;YAC/D,MAAM,CAAC,KAAK,GAAU,KAAyB,CAAC;YAEhD,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAM,CAAC;IACpD,CAAC;IAIM,cAAc,CACnB,SAAqB;QAErB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,sBAAsB,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAC;IAC3E,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACxC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5D,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAChC,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,sBAAsB,CAC9B,wCAAwC,KAAK,IAAI,CAClD,CAAC;IACJ,CAAC;IA0BM,KAAK,CAAC,SAAS,CACpB,OAAO,GAAe,EAAE,EACxB,GAAG,SAAgC;QAEnC,iDAAiD;QACjD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAuB;QAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,WAAmB,CAAC,KAAe,CAAC;QAE9D,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;aAAM,IACL,MAAM,CAAC,IAAI,IAAI,QAAQ;YACvB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EACxD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAe;YAC7B,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC/C,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
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;