@antelopejs/interface-database-decorators 0.2.1 → 0.2.2

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 (45) hide show
  1. package/dist/common.js +7 -5
  2. package/dist/common.js.map +1 -1
  3. package/dist/model.js +21 -11
  4. package/dist/model.js.map +1 -1
  5. package/dist/modifiers/common.d.ts +4 -29
  6. package/dist/modifiers/common.js +12 -66
  7. package/dist/modifiers/common.js.map +1 -1
  8. package/dist/modifiers/encryption.js +32 -1
  9. package/dist/modifiers/encryption.js.map +1 -1
  10. package/dist/modifiers/hash.d.ts +3 -1
  11. package/dist/modifiers/hash.js +3 -1
  12. package/dist/modifiers/hash.js.map +1 -1
  13. package/dist/modifiers/internal/classes.d.ts +45 -0
  14. package/dist/modifiers/internal/classes.js +131 -0
  15. package/dist/modifiers/internal/classes.js.map +1 -0
  16. package/dist/modifiers/internal/records.d.ts +6 -0
  17. package/dist/modifiers/internal/records.js +12 -1
  18. package/dist/modifiers/internal/records.js.map +1 -1
  19. package/dist/modifiers/localization.d.ts +30 -4
  20. package/dist/modifiers/localization.js +8 -20
  21. package/dist/modifiers/localization.js.map +1 -1
  22. package/dist/tests/hash_upgrade.test.js +6 -2
  23. package/dist/tests/hash_upgrade.test.js.map +1 -1
  24. package/dist/tests/localized_query_keys.test.d.ts +1 -0
  25. package/dist/tests/localized_query_keys.test.js +63 -0
  26. package/dist/tests/localized_query_keys.test.js.map +1 -0
  27. package/dist/tests/metadata_inheritance.test.js +63 -0
  28. package/dist/tests/metadata_inheritance.test.js.map +1 -1
  29. package/dist/tests/modifiers/common.test.js +6 -0
  30. package/dist/tests/modifiers/common.test.js.map +1 -1
  31. package/dist/tests/modifiers/encryption_date_marker.test.js +22 -0
  32. package/dist/tests/modifiers/encryption_date_marker.test.js.map +1 -1
  33. package/dist/tests/modifiers/hash.test.js +10 -4
  34. package/dist/tests/modifiers/hash.test.js.map +1 -1
  35. package/dist/tests/modifiers/localization.test.js +134 -0
  36. package/dist/tests/modifiers/localization.test.js.map +1 -1
  37. package/dist/tests/modifiers/symbol_fields.test.d.ts +1 -0
  38. package/dist/tests/modifiers/symbol_fields.test.js +62 -0
  39. package/dist/tests/modifiers/symbol_fields.test.js.map +1 -0
  40. package/dist/tests/partial_update.test.js +79 -6
  41. package/dist/tests/partial_update.test.js.map +1 -1
  42. package/docs/3.table-modifiers.md +9 -6
  43. package/docs/4.data-models.md +2 -0
  44. package/package.json +4 -4
  45. package/skills/database-decorators-interface/SKILL.md +3 -0
@@ -0,0 +1,131 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ContainerModifier = exports.TwoWayModifier = exports.OneWayModifier = exports.Modifier = exports.MixinSymbol = void 0;
37
+ /** @internal @packageDocumentation */
38
+ const DatabaseDev = __importStar(require("@antelopejs/interface-database"));
39
+ const kinds_1 = require("./kinds");
40
+ exports.MixinSymbol = Symbol();
41
+ class Modifier {
42
+ meta;
43
+ options;
44
+ }
45
+ exports.Modifier = Modifier;
46
+ class OneWayModifier extends Modifier {
47
+ lock(_locked_value,
48
+ // oxlint-disable-next-line anti-slop/no-unknown-parameters -- the published override point of every modifier; a modified field's value has its table class's type, which the shared modifier chain cannot name
49
+ _value, ..._args) {
50
+ throw new Error("Unimplemented");
51
+ }
52
+ test(locked_value,
53
+ // oxlint-disable-next-line anti-slop/no-unknown-parameters -- a modified field's value has its table class's type, which the shared modifier chain cannot name
54
+ value, ...args) {
55
+ return this.lock(undefined, value, ...args) === locked_value;
56
+ }
57
+ }
58
+ exports.OneWayModifier = OneWayModifier;
59
+ class TwoWayModifier extends OneWayModifier {
60
+ // oxlint-disable-next-line anti-slop/no-unknown-returns -- the unlocked value has its table class's type, which the shared modifier chain cannot name
61
+ unlock(_locked_value, ..._args) {
62
+ throw new Error("Unimplemented");
63
+ }
64
+ unlockrequest(_data, _meta, ..._args) {
65
+ throw new Error("Unimplemented");
66
+ }
67
+ }
68
+ exports.TwoWayModifier = TwoWayModifier;
69
+ /**
70
+ * A modifier that holds a field's values in a record by key, as
71
+ * `LocalizationModifier` holds one text per locale.
72
+ *
73
+ * The key `"*"` addresses the whole record. The key `undefined` is no key:
74
+ * `lock` stores nothing under it, and `unlock` and `unlockrequest` find no
75
+ * value. A key given as a `ValueProxy` goes to the database as it is.
76
+ */
77
+ class ContainerModifier extends TwoWayModifier {
78
+ /**
79
+ * Stores `value` under `key`. The wildcard key `"*"` replaces the whole
80
+ * container, so it takes a record of values by key; `undefined` or `null`
81
+ * clears it.
82
+ *
83
+ * @throws TypeError when `key` is `"*"` and `value` is neither a record,
84
+ * `undefined` nor `null`
85
+ */
86
+ lock(
87
+ // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container holds the field's values by key, typed by the table class, not by the modifier
88
+ locked_value,
89
+ // oxlint-disable-next-line anti-slop/no-unknown-parameters -- a modified field's value has its table class's type, which the shared modifier chain cannot name
90
+ value, key) {
91
+ if (key === undefined) {
92
+ return locked_value ?? {};
93
+ }
94
+ if (key === "*") {
95
+ if (value === undefined || value === null) {
96
+ return {};
97
+ }
98
+ if (!(0, kinds_1.isRecord)(value)) {
99
+ throw new TypeError('The "*" key takes a record of values by key');
100
+ }
101
+ return value;
102
+ }
103
+ return locked_value
104
+ ? {
105
+ ...locked_value,
106
+ [key]: value,
107
+ }
108
+ : { [key]: value };
109
+ }
110
+ unlock(
111
+ // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container holds the field's values by key, typed by the table class, not by the modifier
112
+ locked_value, key) {
113
+ if (key === undefined) {
114
+ return undefined;
115
+ }
116
+ if (key === "*") {
117
+ return locked_value;
118
+ }
119
+ return Object.hasOwn(locked_value, key) ? locked_value[key] : undefined;
120
+ }
121
+ unlockrequest(
122
+ // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container holds the field's values by key, typed by the table class, not by the modifier
123
+ data, _meta, key) {
124
+ if (key === undefined) {
125
+ return DatabaseDev.ValueProxy.constant(null);
126
+ }
127
+ return data.key(key instanceof DatabaseDev.ValueProxy ? key.cast() : key);
128
+ }
129
+ }
130
+ exports.ContainerModifier = ContainerModifier;
131
+ //# sourceMappingURL=classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/modifiers/internal/classes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,4EAA8D;AAE9D,mCAAmC;AAEtB,QAAA,WAAW,GAAG,MAAM,EAAE,CAAC;AAIpC,MAAa,QAAQ;IAMT,IAAI,CAAQ;IACZ,OAAO,CAAW;CAC7B;AARD,4BAQC;AAED,MAAa,cAKX,SAAQ,QAAuB;IACxB,IAAI,CACT,aAAqC;IACrC,+MAA+M;IAC/M,MAAe,EACf,GAAG,KAAW;QAEd,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IACM,IAAI,CACT,YAAwB;IACxB,+JAA+J;IAC/J,KAAc,EACd,GAAG,IAAU;QAEb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,YAAY,CAAC;IAC/D,CAAC;CACF;AAtBD,wCAsBC;AAMD,MAAa,cAKX,SAAQ,cAA+C;IACvD,sJAAsJ;IAC/I,MAAM,CAAC,aAAyB,EAAE,GAAG,KAAW;QACrD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IACM,aAAa,CAClB,KAAyC,EACzC,KAAmC,EACnC,GAAG,KAA4B;QAE/B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;CACF;AAjBD,wCAiBC;AAED;;;;;;;GAOG;AACH,MAAa,iBAGX,SAAQ,cAMT;IACC;;;;;;;OAOG;IACa,IAAI;IAClB,+JAA+J;IAC/J,YAAiD;IACjD,+JAA+J;IAC/J,KAAc,EACd,GAAuB;QAEvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,YAAY,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,YAAY;YACjB,CAAC,CAAC;gBACE,GAAG,YAAY;gBACf,CAAC,GAAG,CAAC,EAAE,KAAK;aACb;YACH,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACe,MAAM;IACpB,+JAA+J;IAC/J,YAAqC,EACrC,GAAuB;QAEvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IACe,aAAa;IAC3B,+JAA+J;IAC/J,IAAqD,EACrD,KAAmC,EACnC,GAAsD;QAEtD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,YAAY,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAU,CAAC,CAAC,CAAC,GAAG,CACjE,CAAC;IACJ,CAAC;CACF;AAtED,8CAsEC"}
@@ -34,6 +34,12 @@ export declare function assertModifiableField(tableName: string, modifierId: str
34
34
  export declare function fieldsByKey(meta: ModifiersStaticMetadata): {
35
35
  [field: PropertyKey]: ModifiedFieldList;
36
36
  };
37
+ /**
38
+ * Whether a value assigned from plain data to a field with these modifiers is
39
+ * locked: every modifier that locks does so without arguments. Otherwise the
40
+ * value stays floating until `localize()` or `unlock()` gives them.
41
+ */
42
+ export declare function locksPlainData(list: ModifiedFieldList): boolean;
37
43
  export declare function eventsByKey(meta: ModifiersStaticMetadata): Map<string, Array<[
38
44
  field: PropertyKey,
39
45
  modified: ModifiedFieldList[number],
@@ -4,6 +4,7 @@ exports.getInternal = getInternal;
4
4
  exports.isEmptyInternal = isEmptyInternal;
5
5
  exports.assertModifiableField = assertModifiableField;
6
6
  exports.fieldsByKey = fieldsByKey;
7
+ exports.locksPlainData = locksPlainData;
7
8
  exports.eventsByKey = eventsByKey;
8
9
  exports.unlockArgsOf = unlockArgsOf;
9
10
  exports.fieldTypesByKey = fieldTypesByKey;
@@ -44,6 +45,15 @@ function assertModifiableField(tableName, modifierId, field) {
44
45
  function fieldsByKey(meta) {
45
46
  return meta.fields;
46
47
  }
48
+ /**
49
+ * Whether a value assigned from plain data to a field with these modifiers is
50
+ * locked: every modifier that locks does so without arguments. Otherwise the
51
+ * value stays floating until `localize()` or `unlock()` gives them.
52
+ */
53
+ function locksPlainData(list) {
54
+ return list.every(({ modifier }) => !("lock" in modifier) ||
55
+ ("autolock" in modifier && Boolean(modifier.autolock)));
56
+ }
47
57
  function eventsByKey(meta) {
48
58
  return meta.events;
49
59
  }
@@ -104,7 +114,8 @@ function listsCopied(entries) {
104
114
  }
105
115
  /** Fills `copy` with the modified fields and events of `parent`, every list copied. */
106
116
  function copyModifierLists(copy, parent) {
107
- copy.fields = Object.fromEntries(listsCopied(Object.entries(parent.fields)));
117
+ const fields = fieldsByKey(parent);
118
+ copy.fields = Object.fromEntries(listsCopied(Reflect.ownKeys(fields).map((field) => [field, fields[field]])));
108
119
  copy.events = new Map(listsCopied(parent.events));
109
120
  return copy;
110
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/modifiers/internal/records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/modifiers/internal/records.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,21 @@ type Options = {
8
8
  */
9
9
  fallbackLocale?: string;
10
10
  };
11
+ /** The keys of the methods of `This`. */
12
+ type MethodKey<This> = {
13
+ [P in keyof This]-?: This[P] extends (...args: never[]) => void ? P : never;
14
+ }[keyof This];
15
+ /**
16
+ * A row read through `localize("*", fields)`: each listed field `K` holds its
17
+ * values by locale, and every other field keeps its type. A listed method
18
+ * stays callable. Its `localize` selects a locale again and gives back the
19
+ * row type.
20
+ */
21
+ export type LocalizedRecords<This, K extends keyof This> = Omit<This, K | "localize"> & {
22
+ [P in Exclude<K, "localize">]: Record<string, Exclude<This[P], undefined>>;
23
+ } & Pick<This, Extract<Exclude<K, "localize">, MethodKey<This>>> & {
24
+ localize(locale: string, fields?: ReadonlyArray<keyof This>): This;
25
+ };
11
26
  /**
12
27
  * Localization modifier. enables the use of {@link Localized} on table fields.
13
28
  *
@@ -31,11 +46,22 @@ export declare class LocalizationModifier extends ContainerModifier<Record<strin
31
46
  * Stores an empty text as no text, so that the fallback locale answers for
32
47
  * it in queries too (`unlockrequest`).
33
48
  */
34
- lock(locked_value: Record<string, unknown> | undefined, value: unknown, key: string): Record<string, unknown>;
35
- unlock(locked_value: Record<string, unknown>, key: string): unknown;
36
- unlockrequest(data: DatabaseDev.ValueProxy<Record<string, unknown>>, _meta: DatabaseDev.ValueProxy<Record<string, never>>, key: DatabaseDev.ValueProxyOrValue<string>): DatabaseDev.ValueProxy<unknown>;
49
+ lock(locked_value: Record<string, unknown> | undefined, value: unknown, key: string | undefined): Record<string, unknown>;
50
+ unlock(locked_value: Record<string, unknown>, key: string | undefined): unknown;
51
+ unlockrequest(data: DatabaseDev.ValueProxy<Record<string, unknown>>, meta: DatabaseDev.ValueProxy<Record<string, never>>, key: DatabaseDev.ValueProxyOrValue<string | undefined>): DatabaseDev.ValueProxy<unknown>;
37
52
  [MixinSymbol]: {
38
53
  new (): {
54
+ /**
55
+ * Read or write every locale of the listed localized fields at once.
56
+ *
57
+ * @param locale - The wildcard key `"*"`.
58
+ * @param fields - Localized field names to unlock. Picks from the fields of the object this function is mixed into.
59
+ *
60
+ * @returns `this`, typed with each listed field as its values by locale
61
+ */
62
+ localize<This extends {
63
+ constructor: any;
64
+ }, K extends keyof This>(this: This, locale: "*", fields: readonly K[]): LocalizedRecords<This, K>;
39
65
  /**
40
66
  * Specify which locale to use for accessing some or all localized fields.
41
67
  *
@@ -46,7 +72,7 @@ export declare class LocalizationModifier extends ContainerModifier<Record<strin
46
72
  */
47
73
  localize<This extends {
48
74
  constructor: any;
49
- }>(this: This, locale: string, fields?: Array<keyof This>): This;
75
+ }>(this: This, locale: string, fields?: ReadonlyArray<keyof This>): This;
50
76
  };
51
77
  };
52
78
  }
@@ -4,7 +4,6 @@ exports.Localized = exports.LocalizationModifier = void 0;
4
4
  const decorators_1 = require("@antelopejs/interface-core/decorators");
5
5
  const common_1 = require("../common");
6
6
  const common_2 = require("./common");
7
- const kinds_1 = require("./internal/kinds");
8
7
  /** A text left empty in one language counts as no text in that language. */
9
8
  const EMPTY_TEXT = "";
10
9
  function withoutEmptyTexts(values) {
@@ -43,15 +42,11 @@ class LocalizationModifier extends common_2.ContainerModifier {
43
42
  locked_value,
44
43
  // oxlint-disable-next-line anti-slop/no-unknown-parameters -- overrides ContainerModifier.lock; a modified field's value has its table class's type, which the shared modifier chain cannot name
45
44
  value, key) {
46
- if (key === "*") {
47
- return (0, kinds_1.isRecord)(value)
48
- ? withoutEmptyTexts(value)
49
- : super.lock(locked_value, value, key);
50
- }
51
45
  return withoutEmptyTexts(super.lock(locked_value, value, key));
52
46
  }
47
+ unlock(
53
48
  // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container modifier leaves the values by locale untyped
54
- unlock(locked_value, key) {
49
+ locked_value, key) {
55
50
  const unlocked = super.unlock(locked_value, key);
56
51
  if (unlocked !== undefined && unlocked !== EMPTY_TEXT) {
57
52
  return unlocked;
@@ -62,21 +57,14 @@ class LocalizationModifier extends common_2.ContainerModifier {
62
57
  }
63
58
  unlockrequest(
64
59
  // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container modifier leaves the values by locale untyped
65
- data, _meta, key) {
66
- if (this.options.fallbackLocale) {
67
- return data.key(key).default(data.key(this.options.fallbackLocale));
68
- }
69
- return data.key(key);
60
+ data, meta, key) {
61
+ const unlocked = super.unlockrequest(data, meta, key);
62
+ const { fallbackLocale } = this.options;
63
+ return fallbackLocale
64
+ ? unlocked.default(data.key(fallbackLocale))
65
+ : unlocked;
70
66
  }
71
67
  [common_2.MixinSymbol] = class {
72
- /**
73
- * Specify which locale to use for accessing some or all localized fields.
74
- *
75
- * @param locale - Locale to use to unlock the field(s).
76
- * @param fields - Field names to unlock. Picks from the fields of the object this function is mixed into.
77
- *
78
- * @returns `this`
79
- */
80
68
  localize(locale, fields) {
81
69
  (0, common_2.unlock)(this, LocalizationModifier, fields, locale);
82
70
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/modifiers/localization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/modifiers/localization.ts"],"names":[],"mappings":";;;AACA,sEAA8E;AAE9E,sCAA4D;AAC5D,qCAMkB;AA8BlB,4EAA4E;AAC5E,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,SAAS,iBAAiB,CAAI,MAAyB;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAa,oBAAqB,SAAQ,0BAGzC;IACC;;;;;;;OAOG;IACI,MAAM,CAAC,gBAAgB,CAC5B,UAAyB,EACzB,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,UAAU,EAAE,gCAAuB,CAAC,CAAC,MAAM,CACtE,KAAK,CACN,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtD,0QAA0Q;QAC1Q,OAAQ,QAAQ,EAAE,QAA6C,EAAE,OAAO;aACrE,cAAc,CAAC;IACpB,CAAC;IAED;;;OAGG;IACa,IAAI;IAClB,6HAA6H;IAC7H,YAAiD;IACjD,iMAAiM;IACjM,KAAc,EACd,GAAuB;QAEvB,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAEe,MAAM;IACpB,6HAA6H;IAC7H,YAAqC,EACrC,GAAuB;QAEvB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEe,aAAa;IAC3B,6HAA6H;IAC7H,IAAqD,EACrD,IAAmD,EACnD,GAAsD;QAEtD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxC,OAAO,cAAc;YACnB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAED,CAAC,oBAAW,CAAC,GAAG;QA2Bd,QAAQ,CAEN,MAAc,EACd,MAAkC;YAElC,IAAA,eAAM,EAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;CACH;AArGD,oDAqGC;AAED;;;;;;GAMG;AACU,QAAA,SAAS,GAAG,IAAA,kCAAqB,EAC5C,CAAC,MAAM,EAAE,WAAW,EAAE,OAAiB,EAAE,EAAE;IACzC,IAAA,uBAAc,EACZ,MAAM,CAAC,WAAW,EAClB,oBAAoB,EACpB,WAAW,EACX,OAAO,IAAI,EAAE,CACd,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -67,11 +67,15 @@ const AccountModel = (0, model_1.BasicDataModel)(Account, "hash_upgrade_accounts
67
67
  throw new Error(`Row ${id} not found`);
68
68
  return account;
69
69
  }
70
+ /** Starts both async tests before the sync ones, so their scrypt runs overlap. */
70
71
  async function expectVerifies(account) {
72
+ const pending = Promise.all([
73
+ account.testHashAsync("password", hash_rows_1.PASSWORD),
74
+ account.testHashAsync("password", WRONG_PASSWORD),
75
+ ]);
71
76
  (0, chai_1.expect)(account.testHash("password", hash_rows_1.PASSWORD)).to.equal(true);
72
- (0, chai_1.expect)(await account.testHashAsync("password", hash_rows_1.PASSWORD)).to.equal(true);
73
77
  (0, chai_1.expect)(account.testHash("password", WRONG_PASSWORD)).to.equal(false);
74
- (0, chai_1.expect)(await account.testHashAsync("password", WRONG_PASSWORD)).to.equal(false);
78
+ (0, chai_1.expect)(await pending).to.deep.equal([true, false]);
75
79
  }
76
80
  it("verifies, flags, re-hashes and saves a row written by 0.1.11", async () => {
77
81
  const id = await storedRowFrom0_1_11();
@@ -1 +1 @@
1
- {"version":3,"file":"hash_upgrade.test.js","sourceRoot":"","sources":["../../src/tests/hash_upgrade.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash_upgrade.test.js","sourceRoot":"","sources":["../../src/tests/hash_upgrade.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -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":"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"}
1
+ {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/common.test.ts"],"names":[],"mappings":"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"}