@antelopejs/interface-database-decorators 0.2.1 → 0.3.0

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 (49) hide show
  1. package/README.md +1 -0
  2. package/dist/common.js +7 -5
  3. package/dist/common.js.map +1 -1
  4. package/dist/model.js +21 -11
  5. package/dist/model.js.map +1 -1
  6. package/dist/modifiers/common.d.ts +49 -29
  7. package/dist/modifiers/common.js +57 -66
  8. package/dist/modifiers/common.js.map +1 -1
  9. package/dist/modifiers/encryption.js +32 -1
  10. package/dist/modifiers/encryption.js.map +1 -1
  11. package/dist/modifiers/hash.d.ts +29 -2
  12. package/dist/modifiers/hash.js +66 -7
  13. package/dist/modifiers/hash.js.map +1 -1
  14. package/dist/modifiers/internal/classes.d.ts +45 -0
  15. package/dist/modifiers/internal/classes.js +131 -0
  16. package/dist/modifiers/internal/classes.js.map +1 -0
  17. package/dist/modifiers/internal/records.d.ts +6 -0
  18. package/dist/modifiers/internal/records.js +12 -1
  19. package/dist/modifiers/internal/records.js.map +1 -1
  20. package/dist/modifiers/localization.d.ts +30 -4
  21. package/dist/modifiers/localization.js +8 -20
  22. package/dist/modifiers/localization.js.map +1 -1
  23. package/dist/tests/hash_upgrade.test.js +25 -2
  24. package/dist/tests/hash_upgrade.test.js.map +1 -1
  25. package/dist/tests/localized_query_keys.test.d.ts +1 -0
  26. package/dist/tests/localized_query_keys.test.js +63 -0
  27. package/dist/tests/localized_query_keys.test.js.map +1 -0
  28. package/dist/tests/metadata_inheritance.test.js +63 -0
  29. package/dist/tests/metadata_inheritance.test.js.map +1 -1
  30. package/dist/tests/modifiers/common.test.js +6 -0
  31. package/dist/tests/modifiers/common.test.js.map +1 -1
  32. package/dist/tests/modifiers/encryption_date_marker.test.js +22 -0
  33. package/dist/tests/modifiers/encryption_date_marker.test.js.map +1 -1
  34. package/dist/tests/modifiers/hash.test.js +10 -4
  35. package/dist/tests/modifiers/hash.test.js.map +1 -1
  36. package/dist/tests/modifiers/hash_async_set.test.d.ts +1 -0
  37. package/dist/tests/modifiers/hash_async_set.test.js +135 -0
  38. package/dist/tests/modifiers/hash_async_set.test.js.map +1 -0
  39. package/dist/tests/modifiers/localization.test.js +134 -0
  40. package/dist/tests/modifiers/localization.test.js.map +1 -1
  41. package/dist/tests/modifiers/symbol_fields.test.d.ts +1 -0
  42. package/dist/tests/modifiers/symbol_fields.test.js +62 -0
  43. package/dist/tests/modifiers/symbol_fields.test.js.map +1 -0
  44. package/dist/tests/partial_update.test.js +79 -6
  45. package/dist/tests/partial_update.test.js.map +1 -1
  46. package/docs/3.table-modifiers.md +35 -9
  47. package/docs/4.data-models.md +2 -0
  48. package/package.json +5 -5
  49. package/skills/database-decorators-interface/SKILL.md +6 -2
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const interface_database_1 = require("@antelopejs/interface-database");
14
+ const schema_1 = require("../schema");
15
+ const database_1 = require("../database");
16
+ const model_1 = require("../model");
17
+ const table_1 = require("../table");
18
+ const localization_1 = require("../modifiers/localization");
19
+ const common_1 = require("../modifiers/common");
20
+ describe("Localized queries - keys a controller hands over", () => {
21
+ let Title = class Title extends table_1.Table.with(localization_1.LocalizationModifier) {
22
+ };
23
+ __decorate([
24
+ (0, localization_1.Localized)({ fallbackLocale: "en" }),
25
+ __metadata("design:type", String)
26
+ ], Title.prototype, "title", void 0);
27
+ Title = __decorate([
28
+ (0, schema_1.RegisterTable)("titles", "localized-query-keys-schema")
29
+ ], Title);
30
+ async function titlesFor(key) {
31
+ await (0, database_1.RegisterSchema)("localized-query-keys-schema");
32
+ const instance = interface_database_1.Schema.get("localized-query-keys-schema")?.instance();
33
+ if (!instance)
34
+ throw new Error("Database not found");
35
+ const row = new Title();
36
+ row._id = "title-1";
37
+ row.localize("en").title = "English";
38
+ row.localize("fr").title = "French";
39
+ await new ((0, model_1.BasicDataModel)(Title, "titles"))(instance).insert(row);
40
+ return Title.table(instance)
41
+ .filter((stored) => stored.key("_id").eq("title-1"))
42
+ .map((stored) => (0, common_1.unlockrequest)(Title, stored, "title", [
43
+ { modifier: localization_1.LocalizationModifier, args: [key] },
44
+ ]))
45
+ .run();
46
+ }
47
+ afterEach(async () => {
48
+ await interface_database_1.Schema.get("localized-query-keys-schema")
49
+ ?.instance()
50
+ .table("titles")
51
+ .delete()
52
+ .run();
53
+ });
54
+ it("answers the fallback locale for no key", async () => {
55
+ (0, chai_1.expect)(await titlesFor(undefined)).to.deep.equal(["English"]);
56
+ });
57
+ it("answers the locale of a constant proxy key", async () => {
58
+ (0, chai_1.expect)(await titlesFor(interface_database_1.ValueProxy.constant("fr"))).to.deep.equal([
59
+ "French",
60
+ ]);
61
+ });
62
+ });
63
+ //# sourceMappingURL=localized_query_keys.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localized_query_keys.test.js","sourceRoot":"","sources":["../../src/tests/localized_query_keys.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA8B;AAC9B,uEAAoE;AACpE,sCAA0C;AAC1C,0CAA6C;AAC7C,oCAA0C;AAC1C,oCAAiC;AACjC,4DAA4E;AAC5E,gDAAoD;AAEpD,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAEhE,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,aAAK,CAAC,IAAI,CAAC,mCAAoB,CAAC;KAGnD,CAAA;IADS;QADP,IAAA,wBAAS,EAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;;wCACd;IAFlB,KAAK;QADV,IAAA,sBAAa,EAAC,QAAQ,EAAE,6BAA6B,CAAC;OACjD,KAAK,CAGV;IAED,KAAK,UAAU,SAAS,CAAC,GAA4C;QACnE,MAAM,IAAA,yBAAc,EAAC,6BAA6B,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,2BAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;QACpC,MAAM,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;aACzB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;aACnD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;YACpC,EAAE,QAAQ,EAAE,mCAAoB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;SAChD,CAAC,CACH;aACA,GAAG,EAAE,CAAC;IACX,CAAC;IAED,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,2BAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;YAC7C,EAAE,QAAQ,EAAE;aACX,KAAK,CAAC,QAAQ,CAAC;aACf,MAAM,EAAE;aACR,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,IAAA,aAAM,EAAC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAA,aAAM,EAAC,MAAM,SAAS,CAAC,+BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/D,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -209,4 +209,67 @@ describe("Metadata - subclasses of a table with fixtures, modifiers and relation
209
209
  (0, chai_1.expect)(fieldsOf(Child)).to.deep.equal(["createdBy"]);
210
210
  });
211
211
  });
212
+ describe("Metadata - subclasses of an undecorated subclass of a table", () => {
213
+ it("keeps the fields of the grandparent table", async () => {
214
+ class Base extends table_1.Table {
215
+ }
216
+ __decorate([
217
+ (0, table_1.Field)("string"),
218
+ __metadata("design:type", String)
219
+ ], Base.prototype, "a", void 0);
220
+ class Mid extends Base {
221
+ }
222
+ class Leaf extends Mid {
223
+ }
224
+ __decorate([
225
+ (0, table_1.Field)("string"),
226
+ __metadata("design:type", String)
227
+ ], Leaf.prototype, "b", void 0);
228
+ (0, chai_1.expect)(fieldsOf(Leaf)).to.deep.equal(["a", "b"]);
229
+ (0, chai_1.expect)(fieldsOf(Mid)).to.deep.equal(["a"]);
230
+ (0, chai_1.expect)(fieldsOf(Base)).to.deep.equal(["a"]);
231
+ });
232
+ it("keeps the modified fields of a table extended through with", async () => {
233
+ class Base extends table_1.Table.with(hash_1.HashModifier) {
234
+ }
235
+ __decorate([
236
+ (0, hash_1.Hashed)(),
237
+ __metadata("design:type", String)
238
+ ], Base.prototype, "token", void 0);
239
+ class Leaf extends Base.with() {
240
+ }
241
+ __decorate([
242
+ (0, hash_1.Hashed)(),
243
+ __metadata("design:type", String)
244
+ ], Leaf.prototype, "password", void 0);
245
+ (0, chai_1.expect)((0, common_2.getModifiedFields)(new Leaf(), hash_1.HashModifier)).to.deep.equal([
246
+ "token",
247
+ "password",
248
+ ]);
249
+ (0, chai_1.expect)((0, common_2.getModifiedFields)(new Base(), hash_1.HashModifier)).to.deep.equal([
250
+ "token",
251
+ ]);
252
+ });
253
+ it("keeps the relations of the grandparent table", async () => {
254
+ class Target extends table_1.Table {
255
+ }
256
+ class Base extends table_1.Table {
257
+ }
258
+ __decorate([
259
+ (0, relation_1.Relation)({ to: () => Target }),
260
+ __metadata("design:type", String)
261
+ ], Base.prototype, "owner", void 0);
262
+ class Mid extends Base {
263
+ }
264
+ class Leaf extends Mid {
265
+ }
266
+ __decorate([
267
+ (0, relation_1.Relation)({ to: () => Target }),
268
+ __metadata("design:type", String)
269
+ ], Leaf.prototype, "team", void 0);
270
+ const relationsOf = (tableClass) => Object.keys((0, common_1.getMetadata)(tableClass, relation_1.RelationStaticMetadata).relations);
271
+ (0, chai_1.expect)(relationsOf(Leaf)).to.deep.equal(["owner", "team"]);
272
+ (0, chai_1.expect)(relationsOf(Base)).to.deep.equal(["owner"]);
273
+ });
274
+ });
212
275
  //# sourceMappingURL=metadata_inheritance.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata_inheritance.test.js","sourceRoot":"","sources":["../../src/tests/metadata_inheritance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata_inheritance.test.js","sourceRoot":"","sources":["../../src/tests/metadata_inheritance.test.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,12 @@ describe("Modifiers - common", () => {
61
61
  const result = mod.unlock(data2, "key1");
62
62
  (0, chai_1.expect)(result).to.equal("val");
63
63
  });
64
+ it("stores nothing and finds nothing under no key", async () => {
65
+ const mod = new common_1.ContainerModifier();
66
+ (0, chai_1.expect)(mod.lock(undefined, "v", undefined)).to.deep.equal({});
67
+ (0, chai_1.expect)(mod.lock({ en: "x" }, "v", undefined)).to.deep.equal({ en: "x" });
68
+ (0, chai_1.expect)(mod.unlock({ undefined: "v" }, undefined)).to.equal(undefined);
69
+ });
64
70
  it("passes options to modifier via attachModifier()", async () => {
65
71
  class SuffixModifier extends common_1.OneWayModifier {
66
72
  autolock = true;
@@ -1 +1 @@
1
- {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/common.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA8B;AAC9B,uCAA2C;AAC3C,mDASgC;AAEhC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,YAAa,SAAQ,iBAAkB;YACpC,IAAI,CAAC,CAAM;gBAChB,OAAO,CAAC,CAAC;YACX,CAAC;SACF;QAED,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,kBAAmB,SAAQ,uBAAgC;YAC/D,IAAI,CAAC,CAAqB,EAAE,KAAa,EAAE,MAAc;gBACvD,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,WAAmB,EAAE,KAAa,EAAE,MAAc;gBACrD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC;YAC7D,CAAC;SACF;QAED,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,kBAAmB,SAAQ,uBAAgC;YAC/D,IAAI,CAAC,CAAqB,EAAE,KAAa,EAAE,MAAc;gBACvD,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,MAAM,CAAC,WAAmB,EAAE,MAAc;gBACxC,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;SACF;QAED,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,aAAc,SAAQ,0BAAiB;SAAG;QAEhD,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;QAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAK/D,MAAM,cAAe,SAAQ,uBAAwC;YACnD,QAAQ,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,CAAqB,EAAE,KAAa;gBACvC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,CAAC;SACF;QACD,MAAM,SAAU,SAAQ,aAAK;SAG5B;QADS;YADP,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACK;QAGvB,IAAA,uBAAc,EAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,IAAA,aAAM,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAO,SAAQ,uBAKpB;YACC,IAAI,CAAC,CAAqB,EAAE,KAAa;gBACvC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,CAAC;SACF;QAED,MAAM,MAAO,SAAQ,uBAKpB;YACC,IAAI,CAAC,CAAqB,EAAE,KAAa;gBACvC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,CAAC;YAED,MAAM,CAAC,WAAmB;gBACxB,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;SACF;QAED,MAAM,SAAU,SAAQ,aAAK;YAE3B,IAAI,CAAU;SACf;QADC;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACF;QAGhB,IAAA,uBAAc,EAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,GAAG,EAAE;YACV,IAAA,uBAAc,EAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,IAAK,SAAQ,uBAA0B;YAC3C,IAAI,CAAC,CAAqB,EAAE,GAAW;gBACrC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,CAAC;SACF;QAED,MAAM,IAAK,SAAQ,uBAA0B;YAC3C,IAAI,CAAC,CAAqB,EAAE,GAAW;gBACrC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,CAAC;SACF;QAED,MAAM,SAAU,SAAQ,aAAK;YAE3B,IAAI,CAAU;SACf;QADC;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACF;QAGhB,IAAA,uBAAc,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,GAAG,EAAE;YACV,IAAA,uBAAc,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,SAAU,SAAQ,aAAK;YAE3B,IAAI,CAAU;YAEd,GAAG,CAAU;SACd;QAHC;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACF;QAEd;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;8CACH;QAGf,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEhD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAA,aAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,SAAU,SAAQ,aAAK;YAE3B,IAAI,CAAU;YAEd,GAAG,CAAU;SACd;QAHC;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACF;QAEd;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;8CACH;QAGf,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;QAElB,MAAM,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;QAChC,IAAA,aAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAA,aAAM,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,OAAQ,SAAQ,uBAA0B;YAC9C,IAAI,CAAC,CAAqB,EAAE,CAAS;gBACnC,OAAO,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,CAAC;SACF;QAED,MAAM,SAAU,SAAQ,aAAK;YAE3B,IAAI,CAAU;YAEd,GAAG,CAAU;SACd;QAHC;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;+CACF;QAEd;YADC,IAAA,aAAK,EAAC,QAAQ,CAAC;;8CACH;QAGf,IAAA,uBAAc,EAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/common.test.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,26 @@ describe("Modifiers - encryption - Date marker", () => {
43
43
  (0, chai_1.expect)(read).to.be.instanceOf(Date);
44
44
  (0, chai_1.expect)(read).to.deep.equal(date);
45
45
  });
46
+ it("returns a Date of any year toUTCString writes as that Date", async () => {
47
+ const years = [
48
+ ...Array.from({ length: 400 }, (_, i) => i - 300),
49
+ 100,
50
+ 275760,
51
+ ];
52
+ const dates = years.map((year) => {
53
+ const date = new Date(Date.UTC(2000, 6, 15, 10, 20, 30));
54
+ date.setUTCFullYear(year);
55
+ return date;
56
+ });
57
+ dates.push(new Date(-8.64e15), new Date(8.64e15));
58
+ const unread = dates.filter((date) => {
59
+ const dated = new DatedCard();
60
+ dated.payload = { at: date };
61
+ const read = dated.payload.at;
62
+ return !(read instanceof Date) || read.getTime() !== date.getTime();
63
+ });
64
+ (0, chai_1.expect)(unread.map((date) => date.toUTCString())).to.deep.equal([]);
65
+ });
46
66
  it("returns an invalid Date as an invalid Date", async () => {
47
67
  const dated = new DatedCard();
48
68
  dated.payload = { at: new Date(Number.NaN) };
@@ -56,6 +76,8 @@ describe("Modifiers - encryption - Date marker", () => {
56
76
  { type: "Date", value: null },
57
77
  { type: "Date", value: ["Thu, 01 Dec 2022 10:20:30 GMT"] },
58
78
  { type: "Date", value: { year: 2022 } },
79
+ { type: "Date", value: "Fri, 01 Dec 2022 10:20:30 GMT" },
80
+ { type: "Date", value: "Thu, 01 Dec 0099 10:20:30 UTC" },
59
81
  ]) {
60
82
  it(`returns ${JSON.stringify(stored)} as stored`, async () => {
61
83
  (0, chai_1.expect)(roundTrip(stored)).to.deep.equal(stored);
@@ -1 +1 @@
1
- {"version":3,"file":"encryption_date_marker.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/encryption_date_marker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption_date_marker.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/encryption_date_marker.test.ts"],"names":[],"mappings":"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"}
@@ -63,13 +63,18 @@ function scryptRow(ln, password = hash_rows_1.PASSWORD) {
63
63
  const encoded = [salt, key].map((part) => part.toString("base64").replace(/=+$/, ""));
64
64
  return `$scrypt$ln=${ln},r=8,p=1$${encoded[0]}$${encoded[1]}`;
65
65
  }
66
+ /** Starts the async test before the sync one, so their scrypt runs overlap. */
67
+ async function expectTests(account, password, expected) {
68
+ const pending = account.testHashAsync("password", password);
69
+ const matches = account.testHash("password", password);
70
+ (0, chai_1.expect)(matches).to.equal(expected);
71
+ (0, chai_1.expect)(await pending).to.equal(expected);
72
+ }
66
73
  async function expectVerifies(account, password = hash_rows_1.PASSWORD) {
67
- (0, chai_1.expect)(account.testHash("password", password)).to.equal(true);
68
- (0, chai_1.expect)(await account.testHashAsync("password", password)).to.equal(true);
74
+ await expectTests(account, password, true);
69
75
  }
70
76
  async function expectRefuses(account, password = WRONG_PASSWORD) {
71
- (0, chai_1.expect)(account.testHash("password", password)).to.equal(false);
72
- (0, chai_1.expect)(await account.testHashAsync("password", password)).to.equal(false);
77
+ await expectTests(account, password, false);
73
78
  }
74
79
  function fastestMs(work) {
75
80
  const runs = [0, 1, 2].map(() => {
@@ -198,6 +203,7 @@ describe("Modifiers - hash", () => {
198
203
  it("throws when asked about a field that is not hashed", async () => {
199
204
  const account = newAccount();
200
205
  (0, chai_1.expect)(() => account.isHashOutdated("email")).to.throw("email");
206
+ (0, chai_1.expect)(() => account.testHash("email", hash_rows_1.PASSWORD)).to.throw("email");
201
207
  let failure;
202
208
  await account.testHashAsync("email", hash_rows_1.PASSWORD).catch((error) => {
203
209
  failure = error;
@@ -1 +1 @@
1
- {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/hash.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/hash.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const table_1 = require("../../table");
14
+ const common_1 = require("../../modifiers/common");
15
+ const hash_1 = require("../../modifiers/hash");
16
+ const localization_1 = require("../../modifiers/localization");
17
+ const hash_rows_1 = require("../helpers/hash-rows");
18
+ const WRONG_PASSWORD = "not the password";
19
+ const CURRENT_FORMAT = /^\$scrypt\$ln=15,r=8,p=3\$[A-Za-z0-9+/]{22}\$[A-Za-z0-9+/]{43}$/;
20
+ class Account extends table_1.Table.with(hash_1.HashModifier) {
21
+ }
22
+ __decorate([
23
+ (0, hash_1.Hashed)(),
24
+ (0, table_1.Field)("string"),
25
+ __metadata("design:type", String)
26
+ ], Account.prototype, "password", void 0);
27
+ __decorate([
28
+ (0, hash_1.Hashed)({ algorithm: "sha256" }),
29
+ (0, table_1.Field)("string"),
30
+ __metadata("design:type", String)
31
+ ], Account.prototype, "fingerprint", void 0);
32
+ __decorate([
33
+ (0, table_1.Field)("string"),
34
+ __metadata("design:type", String)
35
+ ], Account.prototype, "email", void 0);
36
+ function storedPassword(account) {
37
+ return (0, common_1.toDatabase)(account)._internal?.data.password;
38
+ }
39
+ function reloaded(account) {
40
+ return (0, common_1.fromDatabase)(structuredClone((0, common_1.toDatabase)(account)), Account);
41
+ }
42
+ async function expectTests(account, password) {
43
+ const pending = account.testHashAsync("password", password);
44
+ const matches = account.testHash("password", password);
45
+ (0, chai_1.expect)(await pending).to.equal(matches);
46
+ return matches;
47
+ }
48
+ /** The longest gap between two timer ticks while `work` runs, in ms. */
49
+ async function longestStallMs(work) {
50
+ let last = performance.now();
51
+ let longest = 0;
52
+ let ticking = true;
53
+ const tick = () => {
54
+ const now = performance.now();
55
+ longest = Math.max(longest, now - last);
56
+ last = now;
57
+ if (ticking)
58
+ setTimeout(tick, 1);
59
+ };
60
+ setTimeout(tick, 1);
61
+ await work();
62
+ await new Promise((resolve) => setTimeout(resolve, 5));
63
+ ticking = false;
64
+ return longest;
65
+ }
66
+ (0, hash_rows_1.scryptSuite)("Modifiers - hash - setHashAsync", () => {
67
+ for (const password of [hash_rows_1.PASSWORD, ""]) {
68
+ it(`keeps timers running while it hashes ${JSON.stringify(password)}, unlike an assignment`, async () => {
69
+ const blocked = await longestStallMs(async () => {
70
+ new Account().password = password;
71
+ });
72
+ const account = new Account();
73
+ const free = await longestStallMs(() => account.setHashAsync("password", password));
74
+ (0, chai_1.expect)(storedPassword(account)).to.match(CURRENT_FORMAT);
75
+ (0, chai_1.expect)(free).to.be.below(blocked / 2);
76
+ });
77
+ }
78
+ it("reads back what an assignment reads on a field another modifier holds floating", async () => {
79
+ class Content extends table_1.Table.with(hash_1.HashModifier, localization_1.LocalizationModifier) {
80
+ }
81
+ (0, localization_1.Localized)()(Content.prototype, "title");
82
+ (0, hash_1.Hashed)()(Content.prototype, "title");
83
+ const assigned = new Content();
84
+ assigned.title = hash_rows_1.PASSWORD;
85
+ const awaited = new Content();
86
+ await awaited.setHashAsync("title", hash_rows_1.PASSWORD);
87
+ (0, chai_1.expect)(awaited.title).to.equal(assigned.title);
88
+ (0, chai_1.expect)(JSON.stringify(awaited)).to.equal(JSON.stringify(assigned));
89
+ });
90
+ it("stores a hash that verifies the same way as an assigned one", async () => {
91
+ const assigned = new Account();
92
+ assigned.password = hash_rows_1.PASSWORD;
93
+ const awaited = new Account();
94
+ await awaited.setHashAsync("password", hash_rows_1.PASSWORD);
95
+ for (const account of [assigned, awaited].map(reloaded)) {
96
+ (0, chai_1.expect)(storedPassword(account)).to.match(CURRENT_FORMAT);
97
+ (0, chai_1.expect)(account.isHashOutdated("password")).to.equal(false);
98
+ (0, chai_1.expect)(await expectTests(account, hash_rows_1.PASSWORD)).to.equal(true);
99
+ (0, chai_1.expect)(await expectTests(account, WRONG_PASSWORD)).to.equal(false);
100
+ }
101
+ (0, chai_1.expect)(storedPassword(awaited)).to.not.equal(storedPassword(assigned));
102
+ });
103
+ it("replaces a stored hash and keeps it when given that hash back", async () => {
104
+ const account = new Account();
105
+ account.password = WRONG_PASSWORD;
106
+ await account.setHashAsync("password", hash_rows_1.PASSWORD);
107
+ const stored = storedPassword(account);
108
+ (0, chai_1.expect)(await expectTests(account, hash_rows_1.PASSWORD)).to.equal(true);
109
+ await account.setHashAsync("password", account.password);
110
+ (0, chai_1.expect)(storedPassword(account)).to.equal(stored);
111
+ });
112
+ it("clears the field when given undefined, like an assignment", async () => {
113
+ const account = new Account();
114
+ await account.setHashAsync("password", hash_rows_1.PASSWORD);
115
+ await account.setHashAsync("password", undefined);
116
+ (0, chai_1.expect)(storedPassword(account)).to.equal(undefined);
117
+ });
118
+ it("stores the digest an assignment stores on a field with an algorithm", async () => {
119
+ const account = new Account();
120
+ account.fingerprint = "first";
121
+ await account.setHashAsync("fingerprint", "second");
122
+ const viaAsync = (0, common_1.toDatabase)(account)._internal?.data.fingerprint;
123
+ account.fingerprint = "second";
124
+ (0, chai_1.expect)(viaAsync).to.equal((0, common_1.toDatabase)(account)._internal?.data.fingerprint);
125
+ });
126
+ it("rejects a field that is not hashed", async () => {
127
+ const error = await new Account()
128
+ .setHashAsync("email", "a@example.test")
129
+ .then(() => undefined, (reason) => reason);
130
+ (0, chai_1.expect)(error)
131
+ .to.be.an("error")
132
+ .with.property("message", "Field email is not hashed");
133
+ });
134
+ });
135
+ //# sourceMappingURL=hash_async_set.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash_async_set.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/hash_async_set.test.ts"],"names":[],"mappings":"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"}