@antelopejs/interface-database-decorators 0.1.10 → 0.1.11

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 (55) hide show
  1. package/dist/common.js.map +1 -1
  2. package/dist/database.js.map +1 -1
  3. package/dist/model.js +29 -26
  4. package/dist/model.js.map +1 -1
  5. package/dist/modifiers/common.d.ts +24 -4
  6. package/dist/modifiers/common.js +92 -114
  7. package/dist/modifiers/common.js.map +1 -1
  8. package/dist/modifiers/encryption.js +14 -9
  9. package/dist/modifiers/encryption.js.map +1 -1
  10. package/dist/modifiers/internal/kinds.d.ts +12 -0
  11. package/dist/modifiers/internal/kinds.js +29 -0
  12. package/dist/modifiers/internal/kinds.js.map +1 -0
  13. package/dist/modifiers/internal/records.d.ts +29 -0
  14. package/dist/modifiers/internal/records.js +42 -0
  15. package/dist/modifiers/internal/records.js.map +1 -0
  16. package/dist/modifiers/localization.js +5 -1
  17. package/dist/modifiers/localization.js.map +1 -1
  18. package/dist/schema.js +1 -2
  19. package/dist/schema.js.map +1 -1
  20. package/dist/table.js +19 -5
  21. package/dist/table.js.map +1 -1
  22. package/dist/tests/codec_helpers.d.ts +6 -2
  23. package/dist/tests/codec_helpers.js +18 -14
  24. package/dist/tests/codec_helpers.js.map +1 -1
  25. package/dist/tests/common.test.js +38 -46
  26. package/dist/tests/common.test.js.map +1 -1
  27. package/dist/tests/cross_instance.test.js +27 -2
  28. package/dist/tests/cross_instance.test.js.map +1 -1
  29. package/dist/tests/database.test.js +246 -256
  30. package/dist/tests/database.test.js.map +1 -1
  31. package/dist/tests/helpers/other-instance.d.ts +1 -1
  32. package/dist/tests/helpers/other-instance.js +41 -9
  33. package/dist/tests/helpers/other-instance.js.map +1 -1
  34. package/dist/tests/integration.test.js +485 -485
  35. package/dist/tests/integration.test.js.map +1 -1
  36. package/dist/tests/model.test.js +293 -308
  37. package/dist/tests/model.test.js.map +1 -1
  38. package/dist/tests/modifiers/autodate.test.js +80 -86
  39. package/dist/tests/modifiers/autodate.test.js.map +1 -1
  40. package/dist/tests/modifiers/common.test.js +181 -195
  41. package/dist/tests/modifiers/common.test.js.map +1 -1
  42. package/dist/tests/modifiers/encryption.test.js +149 -155
  43. package/dist/tests/modifiers/encryption.test.js.map +1 -1
  44. package/dist/tests/modifiers/hash.test.js +91 -99
  45. package/dist/tests/modifiers/hash.test.js.map +1 -1
  46. package/dist/tests/modifiers/localization.test.js +186 -196
  47. package/dist/tests/modifiers/localization.test.js.map +1 -1
  48. package/dist/tests/relation.test.js +92 -97
  49. package/dist/tests/relation.test.js.map +1 -1
  50. package/dist/tests/schema.test.js +101 -106
  51. package/dist/tests/schema.test.js.map +1 -1
  52. package/dist/tests/table.test.js +124 -132
  53. package/dist/tests/table.test.js.map +1 -1
  54. package/package.json +14 -3
  55. package/skills/database-decorators-interface/cases.json +71 -0
@@ -1 +1 @@
1
- {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../../src/tests/model.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../../src/tests/model.test.ts"],"names":[],"mappings":"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"}
@@ -10,97 +10,91 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const chai_1 = require("chai");
13
- const table_1 = require("@antelopejs/interface-database-decorators/table");
14
- const common_1 = require("@antelopejs/interface-database-decorators/modifiers/common");
15
- const autodate_1 = require("@antelopejs/interface-database-decorators/modifiers/autodate");
13
+ const table_1 = require("../../table");
14
+ const common_1 = require("../../modifiers/common");
15
+ const autodate_1 = require("../../modifiers/autodate");
16
16
  describe("Modifiers - autodate", () => {
17
- it("sets creation date on insert", async () => SetCreationDateOnInsertTest());
18
- it("sets update date on insert", async () => SetUpdateDateOnInsertTest());
19
- it("refreshes update date on update", async () => RefreshUpdateDateOnUpdateTest());
20
- it("preserves creation date on update", async () => PreserveCreationDateOnUpdateTest());
21
- it("handles decorators through events", async () => HandleDecoratorsThroughEventsTest());
22
- it("omits creation date from update database payloads", async () => OmitCreationDateFromUpdatePayloadTest());
17
+ it("sets creation date on insert", async () => {
18
+ const modifier = new TestableAutoDateModifier();
19
+ modifier.setOptions({ type: "created" });
20
+ const object = {};
21
+ modifier.insert(object, "createdAt");
22
+ (0, chai_1.expect)(object.createdAt).to.be.an.instanceOf(Date);
23
+ });
24
+ it("sets update date on insert", async () => {
25
+ const modifier = new TestableAutoDateModifier();
26
+ modifier.setOptions({ type: "updated" });
27
+ const object = {};
28
+ modifier.insert(object, "updatedAt");
29
+ (0, chai_1.expect)(object.updatedAt).to.be.an.instanceOf(Date);
30
+ });
31
+ it("refreshes update date on update", async () => {
32
+ const modifier = new TestableAutoDateModifier();
33
+ modifier.setOptions({ type: "updated" });
34
+ const previousDate = new Date(0);
35
+ const object = { updatedAt: previousDate };
36
+ modifier.update(object, "updatedAt");
37
+ (0, chai_1.expect)(object.updatedAt).to.be.an.instanceOf(Date);
38
+ (0, chai_1.expect)(object.updatedAt).to.not.equal(previousDate);
39
+ });
40
+ it("preserves creation date on update", async () => {
41
+ const modifier = new TestableAutoDateModifier();
42
+ modifier.setOptions({ type: "created" });
43
+ const object = { createdAt: new Date(0) };
44
+ modifier.update(object, "createdAt");
45
+ (0, chai_1.expect)(object).to.not.have.property("createdAt");
46
+ });
47
+ it("handles decorators through events", async () => {
48
+ class TestTable extends table_1.Table {
49
+ }
50
+ __decorate([
51
+ (0, autodate_1.CreationTime)(),
52
+ (0, table_1.Field)("date"),
53
+ __metadata("design:type", Date)
54
+ ], TestTable.prototype, "createdAt", void 0);
55
+ __decorate([
56
+ (0, autodate_1.UpdateTime)(),
57
+ (0, table_1.Field)("date"),
58
+ __metadata("design:type", Date)
59
+ ], TestTable.prototype, "updatedAt", void 0);
60
+ const instance = new TestTable();
61
+ (0, common_1.triggerEvent)(instance, "insert");
62
+ (0, chai_1.expect)(instance.createdAt).to.be.an.instanceOf(Date);
63
+ (0, chai_1.expect)(instance.updatedAt).to.be.an.instanceOf(Date);
64
+ const insertedUpdateDate = instance.updatedAt;
65
+ (0, common_1.triggerEvent)(instance, "update");
66
+ (0, chai_1.expect)(instance.createdAt).to.equal(undefined);
67
+ (0, chai_1.expect)(instance.updatedAt).to.be.an.instanceOf(Date);
68
+ (0, chai_1.expect)(instance.updatedAt).to.not.equal(insertedUpdateDate);
69
+ });
70
+ it("omits creation date from update database payloads", async () => {
71
+ class TestTable extends table_1.Table {
72
+ }
73
+ __decorate([
74
+ (0, autodate_1.CreationTime)(),
75
+ (0, table_1.Field)("date"),
76
+ __metadata("design:type", Date)
77
+ ], TestTable.prototype, "createdAt", void 0);
78
+ __decorate([
79
+ (0, autodate_1.UpdateTime)(),
80
+ (0, table_1.Field)("date"),
81
+ __metadata("design:type", Date)
82
+ ], TestTable.prototype, "updatedAt", void 0);
83
+ const inserted = (0, common_1.fromPlainData)({}, TestTable);
84
+ (0, common_1.triggerEvent)(inserted, "insert");
85
+ const insertPayload = (0, common_1.toDatabase)(inserted);
86
+ (0, chai_1.expect)(insertPayload.createdAt).to.be.an.instanceOf(Date);
87
+ (0, chai_1.expect)(insertPayload.updatedAt).to.be.an.instanceOf(Date);
88
+ const updated = (0, common_1.fromPlainData)({ createdAt: new Date(0) }, TestTable);
89
+ (0, common_1.triggerEvent)(updated, "update");
90
+ const updatePayload = (0, common_1.toDatabase)(updated);
91
+ (0, chai_1.expect)(updatePayload).to.not.have.property("createdAt");
92
+ (0, chai_1.expect)(updatePayload.updatedAt).to.be.an.instanceOf(Date);
93
+ });
23
94
  });
24
95
  class TestableAutoDateModifier extends autodate_1.AutoDateModifier {
25
96
  setOptions(options) {
26
97
  this.options = options;
27
98
  }
28
99
  }
29
- async function SetCreationDateOnInsertTest() {
30
- const modifier = new TestableAutoDateModifier();
31
- modifier.setOptions({ type: "created" });
32
- const object = {};
33
- modifier.insert(object, "createdAt");
34
- (0, chai_1.expect)(object.createdAt).to.be.an.instanceOf(Date);
35
- }
36
- async function SetUpdateDateOnInsertTest() {
37
- const modifier = new TestableAutoDateModifier();
38
- modifier.setOptions({ type: "updated" });
39
- const object = {};
40
- modifier.insert(object, "updatedAt");
41
- (0, chai_1.expect)(object.updatedAt).to.be.an.instanceOf(Date);
42
- }
43
- async function RefreshUpdateDateOnUpdateTest() {
44
- const modifier = new TestableAutoDateModifier();
45
- modifier.setOptions({ type: "updated" });
46
- const previousDate = new Date(0);
47
- const object = { updatedAt: previousDate };
48
- modifier.update(object, "updatedAt");
49
- (0, chai_1.expect)(object.updatedAt).to.be.an.instanceOf(Date);
50
- (0, chai_1.expect)(object.updatedAt).to.not.equal(previousDate);
51
- }
52
- async function PreserveCreationDateOnUpdateTest() {
53
- const modifier = new TestableAutoDateModifier();
54
- modifier.setOptions({ type: "created" });
55
- const object = { createdAt: new Date(0) };
56
- modifier.update(object, "createdAt");
57
- (0, chai_1.expect)(object).to.not.have.property("createdAt");
58
- }
59
- async function HandleDecoratorsThroughEventsTest() {
60
- class TestTable extends table_1.Table {
61
- }
62
- __decorate([
63
- (0, autodate_1.CreationTime)(),
64
- (0, table_1.Field)("date"),
65
- __metadata("design:type", Date)
66
- ], TestTable.prototype, "createdAt", void 0);
67
- __decorate([
68
- (0, autodate_1.UpdateTime)(),
69
- (0, table_1.Field)("date"),
70
- __metadata("design:type", Date)
71
- ], TestTable.prototype, "updatedAt", void 0);
72
- const instance = new TestTable();
73
- (0, common_1.triggerEvent)(instance, "insert");
74
- (0, chai_1.expect)(instance.createdAt).to.be.an.instanceOf(Date);
75
- (0, chai_1.expect)(instance.updatedAt).to.be.an.instanceOf(Date);
76
- const insertedUpdateDate = instance.updatedAt;
77
- (0, common_1.triggerEvent)(instance, "update");
78
- (0, chai_1.expect)(instance.createdAt).to.equal(undefined);
79
- (0, chai_1.expect)(instance.updatedAt).to.be.an.instanceOf(Date);
80
- (0, chai_1.expect)(instance.updatedAt).to.not.equal(insertedUpdateDate);
81
- }
82
- async function OmitCreationDateFromUpdatePayloadTest() {
83
- class TestTable extends table_1.Table {
84
- }
85
- __decorate([
86
- (0, autodate_1.CreationTime)(),
87
- (0, table_1.Field)("date"),
88
- __metadata("design:type", Date)
89
- ], TestTable.prototype, "createdAt", void 0);
90
- __decorate([
91
- (0, autodate_1.UpdateTime)(),
92
- (0, table_1.Field)("date"),
93
- __metadata("design:type", Date)
94
- ], TestTable.prototype, "updatedAt", void 0);
95
- const inserted = (0, common_1.fromPlainData)({}, TestTable);
96
- (0, common_1.triggerEvent)(inserted, "insert");
97
- const insertPayload = (0, common_1.toDatabase)(inserted);
98
- (0, chai_1.expect)(insertPayload.createdAt).to.be.an.instanceOf(Date);
99
- (0, chai_1.expect)(insertPayload.updatedAt).to.be.an.instanceOf(Date);
100
- const updated = (0, common_1.fromPlainData)({ createdAt: new Date(0) }, TestTable);
101
- (0, common_1.triggerEvent)(updated, "update");
102
- const updatePayload = (0, common_1.toDatabase)(updated);
103
- (0, chai_1.expect)(updatePayload).to.not.have.property("createdAt");
104
- (0, chai_1.expect)(updatePayload.updatedAt).to.be.an.instanceOf(Date);
105
- }
106
100
  //# sourceMappingURL=autodate.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autodate.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/autodate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autodate.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/autodate.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA8B;AAC9B,uCAA2C;AAC3C,mDAIgC;AAChC,uDAIkC;AAElC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzC,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzC,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,SAAU,SAAQ,aAAK;SAQ5B;QALS;YAFP,IAAA,uBAAY,GAAE;YACd,IAAA,aAAK,EAAC,MAAM,CAAC;sCACK,IAAI;oDAAC;QAIhB;YAFP,IAAA,qBAAU,GAAE;YACZ,IAAA,aAAK,EAAC,MAAM,CAAC;sCACK,IAAI;oDAAC;QAG1B,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,IAAA,qBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjC,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAErD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC9C,IAAA,qBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjC,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,SAAU,SAAQ,aAAK;SAQ5B;QALS;YAFP,IAAA,uBAAY,GAAE;YACd,IAAA,aAAK,EAAC,MAAM,CAAC;sCACK,IAAI;oDAAC;QAIhB;YAFP,IAAA,qBAAU,GAAE;YACZ,IAAA,aAAK,EAAC,MAAM,CAAC;sCACK,IAAI;oDAAC;QAG1B,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAA,qBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;QAE3C,IAAA,aAAM,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAA,aAAM,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACrE,IAAA,qBAAY,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,aAAa,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;QAE1C,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAMH,MAAM,wBAAyB,SAAQ,2BAAgB;IAC9C,UAAU,CAAC,OAAwB;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
@@ -10,201 +10,187 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const chai_1 = require("chai");
13
- const table_1 = require("@antelopejs/interface-database-decorators/table");
14
- const common_1 = require("@antelopejs/interface-database-decorators/modifiers/common");
13
+ const table_1 = require("../../table");
14
+ const common_1 = require("../../modifiers/common");
15
15
  describe("Modifiers - common", () => {
16
- it("creates basic modifier", async () => CreateBasicModifierTest());
17
- it("creates one way modifier", async () => CreateOneWayModifierTest());
18
- it("creates two way modifier", async () => CreateTwoWayModifierTest());
19
- it("creates container modifier", async () => CreateContainerModifierTest());
20
- it("passes options to modifier via attachModifier()", async () => AttachWithOptionsTest());
21
- it("attaches multiple modifiers on same field", async () => ChainedModifiersTest());
22
- it("throws if adding OneWayModifier after another OneWayModifier", async () => DuplicateOneWayErrorTest());
23
- it("converts database data to table instance", async () => ConvertDatabaseDataToTableTest());
24
- it("converts table instance to database data", async () => ConvertTableToDatabaseDataTest());
25
- it("gets modified fields", async () => GetModifiedFieldsTest());
16
+ it("creates basic modifier", async () => {
17
+ class TestModifier extends common_1.Modifier {
18
+ lock(v) {
19
+ return v;
20
+ }
21
+ }
22
+ const modifier = new TestModifier();
23
+ (0, chai_1.expect)(modifier).to.be.instanceOf(common_1.Modifier);
24
+ });
25
+ it("creates one way modifier", async () => {
26
+ class TestOneWayModifier extends common_1.OneWayModifier {
27
+ lock(_, value, prefix) {
28
+ return `${prefix}_${String(value)}`;
29
+ }
30
+ test(lockedValue, value, prefix) {
31
+ return this.lock(undefined, value, prefix) === lockedValue;
32
+ }
33
+ }
34
+ const mod = new TestOneWayModifier();
35
+ const locked = mod.lock(undefined, "val", "prefix");
36
+ (0, chai_1.expect)(locked).to.equal("prefix_val");
37
+ (0, chai_1.expect)(mod.test(locked, "val", "prefix")).to.equal(true);
38
+ });
39
+ it("creates two way modifier", async () => {
40
+ class TestTwoWayModifier extends common_1.TwoWayModifier {
41
+ lock(_, value, prefix) {
42
+ return `${prefix}_${String(value)}`;
43
+ }
44
+ unlock(lockedValue, prefix) {
45
+ return lockedValue.replace(`${prefix}_`, "");
46
+ }
47
+ }
48
+ const mod = new TestTwoWayModifier();
49
+ const locked = mod.lock(undefined, "value", "pre");
50
+ const unlocked = mod.unlock(locked, "pre");
51
+ (0, chai_1.expect)(unlocked).to.equal("value");
52
+ });
53
+ it("creates container modifier", async () => {
54
+ class TestContainer extends common_1.ContainerModifier {
55
+ }
56
+ const mod = new TestContainer();
57
+ const data1 = mod.lock(undefined, "val", "key1");
58
+ (0, chai_1.expect)(data1).to.deep.equal({ key1: "val" });
59
+ const data2 = mod.lock(data1, "val2", "key2");
60
+ (0, chai_1.expect)(data2).to.deep.equal({ key1: "val", key2: "val2" });
61
+ const result = mod.unlock(data2, "key1");
62
+ (0, chai_1.expect)(result).to.equal("val");
63
+ });
64
+ it("passes options to modifier via attachModifier()", async () => {
65
+ class SuffixModifier extends common_1.OneWayModifier {
66
+ autolock = true;
67
+ lock(_, value) {
68
+ return `${String(value)}${this.options.suffix}`;
69
+ }
70
+ }
71
+ class TestTable extends table_1.Table {
72
+ }
73
+ __decorate([
74
+ (0, table_1.Field)("string"),
75
+ __metadata("design:type", String)
76
+ ], TestTable.prototype, "name", void 0);
77
+ (0, common_1.attachModifier)(TestTable, SuffixModifier, "name", { suffix: "_suffix" });
78
+ const row = new TestTable();
79
+ row.name = "hello";
80
+ (0, chai_1.expect)(row.name).to.equal("hello_suffix");
81
+ });
82
+ });
83
+ describe("Modifiers - common", () => {
84
+ it("attaches multiple modifiers on same field", async () => {
85
+ class Prefix extends common_1.OneWayModifier {
86
+ lock(_, value) {
87
+ return `${this.options.prefix}${String(value)}`;
88
+ }
89
+ }
90
+ class Suffix extends common_1.TwoWayModifier {
91
+ lock(_, value) {
92
+ return `${String(value)}${this.options.suffix}`;
93
+ }
94
+ unlock(lockedValue) {
95
+ return lockedValue.replace(this.options.suffix, "");
96
+ }
97
+ }
98
+ class TestTable extends table_1.Table {
99
+ name;
100
+ }
101
+ __decorate([
102
+ (0, table_1.Field)("string"),
103
+ __metadata("design:type", String)
104
+ ], TestTable.prototype, "name", void 0);
105
+ (0, common_1.attachModifier)(TestTable, Prefix, "name", { prefix: "pre_" });
106
+ (0, chai_1.expect)(() => {
107
+ (0, common_1.attachModifier)(TestTable, Suffix, "name", { suffix: "_suffix" });
108
+ }).to.throw(/please review your ordering/);
109
+ });
110
+ it("throws if adding OneWayModifier after another OneWayModifier", async () => {
111
+ class Mod1 extends common_1.OneWayModifier {
112
+ lock(_, val) {
113
+ return `#${String(val)}`;
114
+ }
115
+ }
116
+ class Mod2 extends common_1.OneWayModifier {
117
+ lock(_, val) {
118
+ return `@${String(val)}`;
119
+ }
120
+ }
121
+ class TestTable extends table_1.Table {
122
+ name;
123
+ }
124
+ __decorate([
125
+ (0, table_1.Field)("string"),
126
+ __metadata("design:type", String)
127
+ ], TestTable.prototype, "name", void 0);
128
+ (0, common_1.attachModifier)(TestTable, Mod1, "name", {});
129
+ (0, chai_1.expect)(() => {
130
+ (0, common_1.attachModifier)(TestTable, Mod2, "name", {});
131
+ }).to.throw(/already has a One-Way Modifier/);
132
+ });
133
+ it("converts database data to table instance", async () => {
134
+ class TestTable extends table_1.Table {
135
+ name;
136
+ age;
137
+ }
138
+ __decorate([
139
+ (0, table_1.Field)("string"),
140
+ __metadata("design:type", String)
141
+ ], TestTable.prototype, "name", void 0);
142
+ __decorate([
143
+ (0, table_1.Field)("number"),
144
+ __metadata("design:type", Number)
145
+ ], TestTable.prototype, "age", void 0);
146
+ const dbRow = { _id: "1", name: "John", age: 40 };
147
+ const instance = (0, common_1.fromDatabase)(dbRow, TestTable);
148
+ (0, chai_1.expect)(instance).to.be.instanceOf(TestTable);
149
+ (0, chai_1.expect)(instance.name).to.equal("John");
150
+ (0, chai_1.expect)(instance.age).to.equal(40);
151
+ });
152
+ it("converts table instance to database data", async () => {
153
+ class TestTable extends table_1.Table {
154
+ name;
155
+ age;
156
+ }
157
+ __decorate([
158
+ (0, table_1.Field)("string"),
159
+ __metadata("design:type", String)
160
+ ], TestTable.prototype, "name", void 0);
161
+ __decorate([
162
+ (0, table_1.Field)("number"),
163
+ __metadata("design:type", Number)
164
+ ], TestTable.prototype, "age", void 0);
165
+ const instance = new TestTable();
166
+ instance.name = "Eva";
167
+ instance.age = 22;
168
+ const db = (0, common_1.toDatabase)(instance);
169
+ (0, chai_1.expect)(db.name).to.equal("Eva");
170
+ (0, chai_1.expect)(db.age).to.equal(22);
171
+ });
172
+ it("gets modified fields", async () => {
173
+ class TestMod extends common_1.OneWayModifier {
174
+ lock(_, v) {
175
+ return `mod_${String(v)}`;
176
+ }
177
+ }
178
+ class TestTable extends table_1.Table {
179
+ name;
180
+ age;
181
+ }
182
+ __decorate([
183
+ (0, table_1.Field)("string"),
184
+ __metadata("design:type", String)
185
+ ], TestTable.prototype, "name", void 0);
186
+ __decorate([
187
+ (0, table_1.Field)("number"),
188
+ __metadata("design:type", Number)
189
+ ], TestTable.prototype, "age", void 0);
190
+ (0, common_1.attachModifier)(TestTable, TestMod, "name", { prefix: "mod" });
191
+ const row = new TestTable();
192
+ const fields = (0, common_1.getModifiedFields)(row, TestMod);
193
+ (0, chai_1.expect)(fields).to.deep.equal(["name"]);
194
+ });
26
195
  });
27
- async function CreateBasicModifierTest() {
28
- class TestModifier extends common_1.Modifier {
29
- lock(v) {
30
- return v;
31
- }
32
- }
33
- const modifier = new TestModifier();
34
- (0, chai_1.expect)(modifier).to.be.instanceOf(common_1.Modifier);
35
- }
36
- async function CreateOneWayModifierTest() {
37
- class TestOneWayModifier extends common_1.OneWayModifier {
38
- lock(_, value, prefix) {
39
- return `${prefix}_${String(value)}`;
40
- }
41
- test(lockedValue, value, prefix) {
42
- return this.lock(undefined, value, prefix) === lockedValue;
43
- }
44
- }
45
- const mod = new TestOneWayModifier();
46
- const locked = mod.lock(undefined, "val", "prefix");
47
- (0, chai_1.expect)(locked).to.equal("prefix_val");
48
- (0, chai_1.expect)(mod.test(locked, "val", "prefix")).to.equal(true);
49
- }
50
- async function CreateTwoWayModifierTest() {
51
- class TestTwoWayModifier extends common_1.TwoWayModifier {
52
- lock(_, value, prefix) {
53
- return `${prefix}_${String(value)}`;
54
- }
55
- unlock(lockedValue, prefix) {
56
- return lockedValue.replace(`${prefix}_`, "");
57
- }
58
- }
59
- const mod = new TestTwoWayModifier();
60
- const locked = mod.lock(undefined, "value", "pre");
61
- const unlocked = mod.unlock(locked, "pre");
62
- (0, chai_1.expect)(unlocked).to.equal("value");
63
- }
64
- async function CreateContainerModifierTest() {
65
- class TestContainer extends common_1.ContainerModifier {
66
- getLock() {
67
- return this.lock;
68
- }
69
- getUnlock() {
70
- return this.unlock;
71
- }
72
- }
73
- const mod = new TestContainer();
74
- const data1 = mod.lock(undefined, "val", "key1");
75
- (0, chai_1.expect)(data1).to.deep.equal({ key1: "val" });
76
- const data2 = mod.lock(data1, "val2", "key2");
77
- (0, chai_1.expect)(data2).to.deep.equal({ key1: "val", key2: "val2" });
78
- const result = mod.unlock(data2, "key1");
79
- (0, chai_1.expect)(result).to.equal("val");
80
- }
81
- async function AttachWithOptionsTest() {
82
- class SuffixModifier extends common_1.OneWayModifier {
83
- autolock = true;
84
- lock(_, value) {
85
- return `${String(value)}${this.options.suffix}`;
86
- }
87
- }
88
- class TestTable extends table_1.Table {
89
- }
90
- __decorate([
91
- (0, table_1.Field)("string"),
92
- __metadata("design:type", String)
93
- ], TestTable.prototype, "name", void 0);
94
- (0, common_1.attachModifier)(TestTable, SuffixModifier, "name", { suffix: "_suffix" });
95
- const row = new TestTable();
96
- row.name = "hello";
97
- (0, chai_1.expect)(row.name).to.equal("hello_suffix");
98
- }
99
- async function ChainedModifiersTest() {
100
- class Prefix extends common_1.OneWayModifier {
101
- lock(_, value) {
102
- return `${this.options.prefix}${String(value)}`;
103
- }
104
- }
105
- class Suffix extends common_1.TwoWayModifier {
106
- lock(_, value) {
107
- return `${String(value)}${this.options.suffix}`;
108
- }
109
- unlock(lockedValue) {
110
- return lockedValue.replace(this.options.suffix, "");
111
- }
112
- }
113
- class TestTable extends table_1.Table {
114
- name;
115
- }
116
- __decorate([
117
- (0, table_1.Field)("string"),
118
- __metadata("design:type", String)
119
- ], TestTable.prototype, "name", void 0);
120
- (0, common_1.attachModifier)(TestTable, Prefix, "name", { prefix: "pre_" });
121
- (0, chai_1.expect)(() => {
122
- (0, common_1.attachModifier)(TestTable, Suffix, "name", { suffix: "_suffix" });
123
- }).to.throw(/please review your ordering/);
124
- }
125
- async function DuplicateOneWayErrorTest() {
126
- class Mod1 extends common_1.OneWayModifier {
127
- lock(_, val) {
128
- return `#${String(val)}`;
129
- }
130
- }
131
- class Mod2 extends common_1.OneWayModifier {
132
- lock(_, val) {
133
- return `@${String(val)}`;
134
- }
135
- }
136
- class TestTable extends table_1.Table {
137
- name;
138
- }
139
- __decorate([
140
- (0, table_1.Field)("string"),
141
- __metadata("design:type", String)
142
- ], TestTable.prototype, "name", void 0);
143
- (0, common_1.attachModifier)(TestTable, Mod1, "name", {});
144
- (0, chai_1.expect)(() => {
145
- (0, common_1.attachModifier)(TestTable, Mod2, "name", {});
146
- }).to.throw(/already has a One-Way Modifier/);
147
- }
148
- async function ConvertDatabaseDataToTableTest() {
149
- class TestTable extends table_1.Table {
150
- name;
151
- age;
152
- }
153
- __decorate([
154
- (0, table_1.Field)("string"),
155
- __metadata("design:type", String)
156
- ], TestTable.prototype, "name", void 0);
157
- __decorate([
158
- (0, table_1.Field)("number"),
159
- __metadata("design:type", Number)
160
- ], TestTable.prototype, "age", void 0);
161
- const dbRow = { _id: "1", name: "John", age: 40 };
162
- const instance = (0, common_1.fromDatabase)(dbRow, TestTable);
163
- (0, chai_1.expect)(instance).to.be.instanceOf(TestTable);
164
- (0, chai_1.expect)(instance.name).to.equal("John");
165
- (0, chai_1.expect)(instance.age).to.equal(40);
166
- }
167
- async function ConvertTableToDatabaseDataTest() {
168
- class TestTable extends table_1.Table {
169
- name;
170
- age;
171
- }
172
- __decorate([
173
- (0, table_1.Field)("string"),
174
- __metadata("design:type", String)
175
- ], TestTable.prototype, "name", void 0);
176
- __decorate([
177
- (0, table_1.Field)("number"),
178
- __metadata("design:type", Number)
179
- ], TestTable.prototype, "age", void 0);
180
- const instance = new TestTable();
181
- instance.name = "Eva";
182
- instance.age = 22;
183
- const db = (0, common_1.toDatabase)(instance);
184
- (0, chai_1.expect)(db.name).to.equal("Eva");
185
- (0, chai_1.expect)(db.age).to.equal(22);
186
- }
187
- async function GetModifiedFieldsTest() {
188
- class TestMod extends common_1.OneWayModifier {
189
- lock(_, v) {
190
- return `mod_${String(v)}`;
191
- }
192
- }
193
- class TestTable extends table_1.Table {
194
- name;
195
- age;
196
- }
197
- __decorate([
198
- (0, table_1.Field)("string"),
199
- __metadata("design:type", String)
200
- ], TestTable.prototype, "name", void 0);
201
- __decorate([
202
- (0, table_1.Field)("number"),
203
- __metadata("design:type", Number)
204
- ], TestTable.prototype, "age", void 0);
205
- (0, common_1.attachModifier)(TestTable, TestMod, "name", { prefix: "mod" });
206
- const row = new TestTable();
207
- const fields = (0, common_1.getModifiedFields)(row, TestMod);
208
- (0, chai_1.expect)(fields).to.deep.equal(["name"]);
209
- }
210
196
  //# sourceMappingURL=common.test.js.map