@antelopejs/interface-database-decorators 0.3.2 → 0.4.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.
@@ -48,6 +48,12 @@ export declare class ModifiersDynamicMetadata {
48
48
  fields: Record<string, Record<string, unknown[]>>;
49
49
  constructor(target: any);
50
50
  canGet(field: PropertyKey): boolean;
51
+ /**
52
+ * Reads a field through its modifiers. A field the row stores reads `null`
53
+ * when its modifiers find no value in it, as under a locale with no text,
54
+ * or when it stores `null`: no modifier unlocks `null`. A field the row
55
+ * does not store, or cannot read yet, reads `undefined`.
56
+ */
51
57
  get(field: PropertyKey, internal: InternalRecord): unknown;
52
58
  canSet(field: PropertyKey): boolean;
53
59
  set(field: PropertyKey, internal: InternalRecord, value: unknown): void;
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "MixinSymbol", { enumerable: true, get: function
21
21
  Object.defineProperty(exports, "Modifier", { enumerable: true, get: function () { return classes_1.Modifier; } });
22
22
  Object.defineProperty(exports, "OneWayModifier", { enumerable: true, get: function () { return classes_1.OneWayModifier; } });
23
23
  Object.defineProperty(exports, "TwoWayModifier", { enumerable: true, get: function () { return classes_1.TwoWayModifier; } });
24
+ /** The stored values no modifier unlocks: a field holding one reads `null`. */
25
+ const NO_VALUE = new Set([undefined, null]);
24
26
  class ModifiersStaticMetadata {
25
27
  static key = Symbol.for("@antelopejs/interface-database-decorators/ModifiersStaticMetadata@1");
26
28
  /**
@@ -66,6 +68,12 @@ class ModifiersDynamicMetadata {
66
68
  "unlock" in modifier &&
67
69
  !(id in (0, records_1.unlockArgsOf)(this, field))));
68
70
  }
71
+ /**
72
+ * Reads a field through its modifiers. A field the row stores reads `null`
73
+ * when its modifiers find no value in it, as under a locale with no text,
74
+ * or when it stores `null`: no modifier unlocks `null`. A field the row
75
+ * does not store, or cannot read yet, reads `undefined`.
76
+ */
69
77
  get(field, internal) {
70
78
  if (Object.hasOwn(this.floating, field)) {
71
79
  return (0, records_1.floatingByKey)(this)[field];
@@ -74,9 +82,10 @@ class ModifiersDynamicMetadata {
74
82
  return;
75
83
  }
76
84
  const list = (0, records_1.fieldsByKey)(this.staticMeta)[field];
77
- let value = (0, records_1.dataByKey)(internal)[field];
85
+ const stored = (0, records_1.dataByKey)(internal)[field];
86
+ let value = stored;
78
87
  for (const { id, modifier, metaRef } of list) {
79
- if ((0, kinds_1.isTwoWay)(modifier) && value !== undefined) {
88
+ if ((0, kinds_1.isTwoWay)(modifier) && !NO_VALUE.has(value)) {
80
89
  if ((0, records_1.unlockArgsOf)(this, field)[id]) {
81
90
  value = (0, records_1.withRef)(internal, id, modifier, metaRef, (modifier) => modifier.unlock(value, ...(0, records_1.unlockArgsOf)(this, field)[id]));
82
91
  }
@@ -85,7 +94,7 @@ class ModifiersDynamicMetadata {
85
94
  }
86
95
  }
87
96
  }
88
- return value;
97
+ return value === undefined && stored !== undefined ? null : value;
89
98
  }
90
99
  canSet(field) {
91
100
  const list = (0, records_1.fieldsByKey)(this.staticMeta)[field];
@@ -106,12 +115,10 @@ class ModifiersDynamicMetadata {
106
115
  const { id, modifier, metaRef } = list[i];
107
116
  prevlist[i] = { id, modifier, metaRef, prev };
108
117
  if ((0, kinds_1.isTwoWay)(modifier)) {
109
- if ((0, records_1.unlockArgsOf)(this, field)[id]) {
110
- prev = modifier.unlock(prev, ...(0, records_1.unlockArgsOf)(this, field)[id]);
111
- }
112
- else {
113
- prev = undefined;
114
- }
118
+ prev =
119
+ (0, records_1.unlockArgsOf)(this, field)[id] && !NO_VALUE.has(prev)
120
+ ? modifier.unlock(prev, ...(0, records_1.unlockArgsOf)(this, field)[id])
121
+ : undefined;
115
122
  }
116
123
  }
117
124
  prevlist.push({
@@ -327,7 +334,7 @@ function testValue(object, field, value) {
327
334
  if ((0, kinds_1.isWriteOnly)(modifier)) {
328
335
  return (0, records_1.withRef)(internal, id, modifier, metaRef, (modifier) => modifier.test(val, value, ...args));
329
336
  }
330
- if ((0, kinds_1.isTwoWay)(modifier) && val !== undefined) {
337
+ if ((0, kinds_1.isTwoWay)(modifier) && !NO_VALUE.has(val)) {
331
338
  return (0, records_1.withRef)(internal, id, modifier, metaRef, (modifier) => modifier.unlock(val, ...args));
332
339
  }
333
340
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/modifiers/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/modifiers/common.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,7 @@ export declare class EncryptionModifier extends TwoWayModifier<LockedType, [
20
20
  readonly autolock = true;
21
21
  lock(_locked_value: LockedType | undefined, value: unknown): LockedType;
22
22
  readonly autounlock = true;
23
- /**
24
- * Decrypts a stored value. `null` is no value and stays `null`, as a
25
- * localized field read with no locale gives it.
26
- */
27
- unlock(locked: LockedType | null): unknown;
23
+ unlock([locked_value, iv_str, authTag]: LockedType): unknown;
28
24
  unlockrequest(data: DatabaseDev.ValueProxy<LockedType>): DatabaseDev.ValueProxy<unknown>;
29
25
  [MixinSymbol]: {
30
26
  new (): {};
@@ -95,15 +95,7 @@ class EncryptionModifier extends common_1.TwoWayModifier {
95
95
  return [encrypted, iv.toString("base64"), authTag];
96
96
  }
97
97
  autounlock = true;
98
- /**
99
- * Decrypts a stored value. `null` is no value and stays `null`, as a
100
- * localized field read with no locale gives it.
101
- */
102
- unlock(locked) {
103
- if (locked === null) {
104
- return null;
105
- }
106
- const [locked_value, iv_str, authTag] = locked;
98
+ unlock([locked_value, iv_str, authTag]) {
107
99
  const decipher = (0, node_crypto_1.createDecipheriv)(this.options.algorithm || "aes-256-gcm", this.options.secretKey, Buffer.from(iv_str, "base64"));
108
100
  if (acceptsAuthTag(decipher) && authTag) {
109
101
  decipher.setAuthTag(Buffer.from(authTag, "base64"));
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/modifiers/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/modifiers/encryption.ts"],"names":[],"mappings":"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"}
@@ -43,14 +43,12 @@ export declare class LocalizationModifier extends ContainerModifier<Record<strin
43
43
  */
44
44
  static fallbackLocaleOf(TableClass: Constructible, field: string): string | undefined;
45
45
  /**
46
- * Stores an empty text as no text, so that the fallback locale answers for
47
- * it in queries too (`unlockrequest`).
46
+ * Stores an empty text or `null` as no text, so that the fallback locale
47
+ * answers for it in queries too (`unlockrequest`). A read with no text
48
+ * answers `null`, so saving that answer again stores nothing.
48
49
  */
49
50
  lock(locked_value: Record<string, unknown> | undefined, value: unknown, key: string | undefined): Record<string, unknown>;
50
- /**
51
- * The value under `key`, else under the fallback locale. With no `key`, a
52
- * field without a fallback value reads `null`, as an unset field does.
53
- */
51
+ /** The value under `key`, else under the fallback locale. */
54
52
  unlock(locked_value: Record<string, unknown>, key: string | undefined): unknown;
55
53
  /**
56
54
  * Reads a field that plain data gives as a plain object as its values by
@@ -5,10 +5,13 @@ const decorators_1 = require("@antelopejs/interface-core/decorators");
5
5
  const common_1 = require("../common");
6
6
  const kinds_1 = require("./internal/kinds");
7
7
  const common_2 = require("./common");
8
- /** A text left empty in one language counts as no text in that language. */
9
- const EMPTY_TEXT = "";
10
- function withoutEmptyTexts(values) {
11
- return Object.fromEntries(Object.entries(values).filter(([, value]) => value !== EMPTY_TEXT));
8
+ /**
9
+ * The values that count as no text in one language: an empty text, and the
10
+ * `null` a read with no text answers.
11
+ */
12
+ const NO_TEXT = new Set([undefined, null, ""]);
13
+ function withoutMissingTexts(values) {
14
+ return Object.fromEntries(Object.entries(values).filter(([, value]) => !NO_TEXT.has(value)));
12
15
  }
13
16
  /** Whether `value` is an object literal, not an array, a date or a class instance. */
14
17
  function isPlainObject(value) {
@@ -42,31 +45,28 @@ class LocalizationModifier extends common_2.ContainerModifier {
42
45
  .fallbackLocale;
43
46
  }
44
47
  /**
45
- * Stores an empty text as no text, so that the fallback locale answers for
46
- * it in queries too (`unlockrequest`).
48
+ * Stores an empty text or `null` as no text, so that the fallback locale
49
+ * answers for it in queries too (`unlockrequest`). A read with no text
50
+ * answers `null`, so saving that answer again stores nothing.
47
51
  */
48
52
  lock(
49
53
  // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container modifier leaves the values by locale untyped
50
54
  locked_value,
51
55
  // 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
52
56
  value, key) {
53
- return withoutEmptyTexts(super.lock(locked_value, value, key));
57
+ return withoutMissingTexts(super.lock(locked_value, value, key));
54
58
  }
55
- /**
56
- * The value under `key`, else under the fallback locale. With no `key`, a
57
- * field without a fallback value reads `null`, as an unset field does.
58
- */
59
+ /** The value under `key`, else under the fallback locale. */
59
60
  unlock(
60
61
  // oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- the container modifier leaves the values by locale untyped
61
62
  locked_value, key) {
62
63
  const unlocked = super.unlock(locked_value, key);
63
- if (unlocked !== undefined && unlocked !== EMPTY_TEXT) {
64
+ if (!NO_TEXT.has(unlocked)) {
64
65
  return unlocked;
65
66
  }
66
- const fallback = this.options.fallbackLocale
67
- ? super.unlock(locked_value, this.options.fallbackLocale)
68
- : undefined;
69
- return key === undefined ? (fallback ?? null) : fallback;
67
+ if (this.options.fallbackLocale) {
68
+ return super.unlock(locked_value, this.options.fallbackLocale);
69
+ }
70
70
  }
71
71
  /**
72
72
  * Reads a field that plain data gives as a plain object as its values by
@@ -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":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,120 @@
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 decorators_1 = require("@antelopejs/interface-core/decorators");
14
+ const table_1 = require("../table");
15
+ const common_1 = require("../modifiers/common");
16
+ const localization_1 = require("../modifiers/localization");
17
+ class WrapModifier extends common_1.TwoWayModifier {
18
+ autolock = true;
19
+ autounlock = true;
20
+ lock(_locked, value) {
21
+ return [value];
22
+ }
23
+ unlock([text]) {
24
+ return text;
25
+ }
26
+ [common_1.MixinSymbol] = class {
27
+ };
28
+ }
29
+ const Wrapped = (0, decorators_1.MakePropertyDecorator)((target, propertyKey) => {
30
+ (0, common_1.attachModifier)(target.constructor, WrapModifier, propertyKey, {});
31
+ });
32
+ describe("Modified fields - a read that finds no value", () => {
33
+ class Page extends table_1.Table.with(localization_1.LocalizationModifier, WrapModifier) {
34
+ }
35
+ __decorate([
36
+ (0, localization_1.Localized)(),
37
+ Wrapped(),
38
+ (0, table_1.Field)("string"),
39
+ __metadata("design:type", String)
40
+ ], Page.prototype, "title", void 0);
41
+ __decorate([
42
+ (0, localization_1.Localized)(),
43
+ (0, table_1.Field)("string"),
44
+ __metadata("design:type", String)
45
+ ], Page.prototype, "summary", void 0);
46
+ function pageInEnglish() {
47
+ const stored = {
48
+ _id: "page-1",
49
+ _internal: {
50
+ meta: {},
51
+ data: { title: { en: ["Hello"] }, summary: { en: "Greeting" } },
52
+ },
53
+ };
54
+ return (0, common_1.fromDatabase)(stored, Page).localize("en");
55
+ }
56
+ it("never passes null to a two-way modifier stacked after @Localized()", () => {
57
+ const page = pageInEnglish();
58
+ (0, common_1.unlock)(page, localization_1.LocalizationModifier, undefined, undefined);
59
+ (0, chai_1.expect)(page.title).to.equal(null);
60
+ (0, chai_1.expect)(JSON.parse(JSON.stringify(page))).to.deep.include({ title: null });
61
+ });
62
+ it("reads null for a locale with no value and no fallback", () => {
63
+ const page = pageInEnglish();
64
+ const english = { title: page.title, summary: page.summary };
65
+ page.localize("de");
66
+ (0, chai_1.expect)(english).to.deep.equal({ title: "Hello", summary: "Greeting" });
67
+ (0, chai_1.expect)(page.summary).to.equal(null);
68
+ (0, chai_1.expect)(page.title).to.equal(null);
69
+ });
70
+ it("reads undefined for a field the row does not store", () => {
71
+ const page = new Page().localize("en");
72
+ (0, chai_1.expect)(page.summary).to.equal(undefined);
73
+ });
74
+ it("takes a new value on a stacked field that stores nothing or null", () => {
75
+ const fresh = new Page().localize("en");
76
+ const cleared = (0, common_1.fromDatabase)({ _id: "page-3", _internal: { meta: {}, data: { title: null } } }, Page).localize("en");
77
+ fresh.title = "Hello";
78
+ cleared.title = "Hello";
79
+ (0, chai_1.expect)(fresh.title).to.equal("Hello");
80
+ (0, chai_1.expect)(cleared.title).to.equal("Hello");
81
+ (0, chai_1.expect)((0, common_1.toDatabase)(cleared)._internal?.data.title).to.deep.equal({
82
+ en: ["Hello"],
83
+ });
84
+ });
85
+ describe("written back", () => {
86
+ class Note extends table_1.Table.with(localization_1.LocalizationModifier) {
87
+ }
88
+ __decorate([
89
+ (0, localization_1.Localized)({ fallbackLocale: "fr" }),
90
+ (0, table_1.Field)("string"),
91
+ __metadata("design:type", String)
92
+ ], Note.prototype, "title", void 0);
93
+ it("keeps the fallback after a read answer is saved again", () => {
94
+ const stored = {
95
+ _id: "note-1",
96
+ _internal: { meta: {}, data: { title: {} } },
97
+ };
98
+ const read = (0, common_1.fromDatabase)(stored, Note).localize("en");
99
+ const resent = (0, common_1.fromPlainData)((0, common_1.toPlainData)(read), Note).localize("en");
100
+ (0, common_1.lock)(resent, localization_1.LocalizationModifier, undefined, "en");
101
+ const saved = (0, common_1.fromDatabase)((0, common_1.toDatabase)(resent), Note).localize("fr");
102
+ saved.title = "Salut";
103
+ (0, chai_1.expect)(read.title).to.equal(null);
104
+ (0, chai_1.expect)(saved.localize("en").title).to.equal("Salut");
105
+ });
106
+ it("stores no text when lock writes back a read with no text", () => {
107
+ const stored = {
108
+ _id: "page-2",
109
+ _internal: { meta: {}, data: { summary: { fr: "Salut" } } },
110
+ };
111
+ const page = (0, common_1.fromDatabase)(stored, Page);
112
+ (0, common_1.unlock)(page, localization_1.LocalizationModifier, ["summary"], "en");
113
+ (0, common_1.lock)(page, localization_1.LocalizationModifier, ["summary"], "en");
114
+ (0, chai_1.expect)((0, common_1.toDatabase)(page)._internal?.data.summary).to.deep.equal({
115
+ fr: "Salut",
116
+ });
117
+ });
118
+ });
119
+ });
120
+ //# sourceMappingURL=end_of_read_null.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end_of_read_null.test.js","sourceRoot":"","sources":["../../src/tests/end_of_read_null.test.ts"],"names":[],"mappings":"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"}
@@ -75,9 +75,10 @@ describe("Localized fields - plain data with values by locale", () => {
75
75
  const read = await stored(RoleModel.fromPlainData({ displayName: "Members" }).localize("en"));
76
76
  (0, chai_1.expect)((0, records_1.getInternal)(read).data.displayName).to.deep.equal({ en: "Members" });
77
77
  });
78
- it("stores a null value under the locale it is read with", async () => {
78
+ it("stores a null value as no text under the locale it is read with", async () => {
79
79
  const read = await stored(RoleModel.fromPlainData({ displayName: wording, tooltip: null }).localize("en"));
80
- (0, chai_1.expect)((0, records_1.getInternal)(read).data.tooltip).to.deep.equal({ en: null });
80
+ (0, chai_1.expect)((0, records_1.getInternal)(read).data.tooltip).to.deep.equal({});
81
+ (0, chai_1.expect)(read.localize("en").tooltip).to.equal(null);
81
82
  });
82
83
  it("stores no record for a field encrypted inside its locales", async () => {
83
84
  const read = await stored(RoleModel.fromPlainData({ note: wording }));
@@ -1 +1 @@
1
- {"version":3,"file":"localized_plain_data.test.js","sourceRoot":"","sources":["../../src/tests/localized_plain_data.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localized_plain_data.test.js","sourceRoot":"","sources":["../../src/tests/localized_plain_data.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const chai_1 = require("chai");
13
13
  const table_1 = require("../../table");
14
14
  const encryption_1 = require("../../modifiers/encryption");
15
+ const common_1 = require("../../modifiers/common");
15
16
  describe("Modifiers - encryption", () => {
16
17
  it("creates encryption modifier", async () => {
17
18
  const Mixed = table_1.Table.with(encryption_1.EncryptionModifier);
@@ -160,5 +161,43 @@ describe("Modifiers - encryption", () => {
160
161
  (0, chai_1.expect)(instance.payload).to.deep.equal(original);
161
162
  (0, chai_1.expect)(instance.payload.date).to.be.instanceOf(Date);
162
163
  });
164
+ it("unlocks a stored value typed from unlock's parameter, which excludes null", () => {
165
+ class IvLength extends encryption_1.EncryptionModifier {
166
+ unlock(stored) {
167
+ return Buffer.from(stored[1], "base64").length;
168
+ }
169
+ }
170
+ class Note extends table_1.Table.with(IvLength) {
171
+ }
172
+ __decorate([
173
+ (0, table_1.Field)("string"),
174
+ __metadata("design:type", Object)
175
+ ], Note.prototype, "body", void 0);
176
+ (0, common_1.attachModifier)(Note, IvLength, "body", {
177
+ secretKey: "12345678901234567890123456789012",
178
+ });
179
+ const note = new Note();
180
+ note.body = "hello";
181
+ (0, chai_1.expect)(note.body).to.equal(16);
182
+ });
183
+ it("reads a stored null as null, without decrypting it", () => {
184
+ class Vault extends table_1.Table.with(encryption_1.EncryptionModifier) {
185
+ }
186
+ __decorate([
187
+ (0, encryption_1.Encrypted)({ secretKey: "12345678901234567890123456789012" }),
188
+ (0, table_1.Field)("string"),
189
+ __metadata("design:type", Object)
190
+ ], Vault.prototype, "secret", void 0);
191
+ const stored = {
192
+ _id: "vault-1",
193
+ _internal: { meta: {}, data: { secret: null } },
194
+ };
195
+ const vault = (0, common_1.fromDatabase)(stored, Vault);
196
+ (0, chai_1.expect)(vault.secret).to.equal(null);
197
+ (0, chai_1.expect)((0, common_1.testValue)(vault, "secret", null)).to.equal(true);
198
+ (0, chai_1.expect)(JSON.parse(JSON.stringify(vault))).to.deep.include({
199
+ secret: null,
200
+ });
201
+ });
163
202
  });
164
203
  //# sourceMappingURL=encryption.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/encryption.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/encryption.test.ts"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ describe("Modifiers - localization", () => {
219
219
  (0, common_1.lock)(unset, localization_1.LocalizationModifier, undefined, "*");
220
220
  page.localize("*").title = undefined;
221
221
  (0, chai_1.expect)((0, common_1.toDatabase)(unset)._internal?.data.title).to.deep.equal({});
222
- (0, chai_1.expect)(page.localize("en").title).to.equal(undefined);
222
+ (0, chai_1.expect)(page.localize("en").title).to.equal(null);
223
223
  (0, chai_1.expect)((0, common_1.toDatabase)(page)._internal?.data.title).to.deep.equal({});
224
224
  });
225
225
  it("maintains data structure integrity", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"localization.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/localization.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localization.test.js","sourceRoot":"","sources":["../../../src/tests/modifiers/localization.test.ts"],"names":[],"mappings":"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"}
@@ -198,6 +198,8 @@ const german = product.localize("de");
198
198
  console.log(german.name); // "Premium Headphones" (fallback)
199
199
  ```
200
200
 
201
+ A field without a `fallbackLocale` reads `null` in a locale that has no text. A field the row does not store at all reads `undefined`. An empty text `""` or `null` assigned in a locale is stored as no text, so saving a row read with no text stores nothing and the fallback still answers.
202
+
201
203
  #### Wildcard key
202
204
 
203
205
  The wildcard key `"*"` reads or writes all translations at once. List the localized fields with it, and `localize("*", fields)` types each listed field as its values by locale, a `LocalizedRecords<T, K>`: a field declared as `string` reads as a `Record<string, string>`. Calling `localize()` on that view with one locale gives back the row type. The view is not the row type, so pass the row itself to `insert()` or `update()`. Write all translations with `Object.assign`, which calls the field's setter. `undefined` or `null` clears every translation. Any other value that is not a record, such as a single text, throws a `TypeError` and leaves the stored translations as they were:
@@ -368,7 +370,7 @@ The generic parameters of `OneWayModifier<LockedType, Args, Meta, Options>` are:
368
370
 
369
371
  ### `TwoWayModifier`
370
372
 
371
- A `TwoWayModifier` extends `OneWayModifier` with an `unlock` method, for a transformation that can be reversed, such as encryption:
373
+ A `TwoWayModifier` extends `OneWayModifier` with an `unlock` method, for a transformation that can be reversed, such as encryption. A read never passes `undefined` or `null` to `unlock`: a field that stores `null` reads `null`, and a field the row stores reads `null` when its modifiers find no value in it:
372
374
 
373
375
  ```ts docs-check
374
376
  import {
@@ -422,11 +424,11 @@ const Base64Encoded = MakePropertyDecorator(
422
424
  );
423
425
  ```
424
426
 
425
- Base64 is an encoding, not encryption. The example declares its `LockedType` as `unknown`, so `unlockrequest()` can return the stored value's proxy as it is. Database expressions therefore see the encoded value, and only instance reads decode it. `unlock` reads a stored value that is not a string as `undefined`.
427
+ Base64 is an encoding, not encryption. The example declares its `LockedType` as `unknown`, so `unlockrequest()` can return the stored value's proxy as it is. Database expressions therefore see the encoded value, and only instance reads decode it. `unlock` reads a stored value that is not a string as `undefined`, so the field reads `null`: a field the row stores reads `null` when its modifiers find no value.
426
428
 
427
429
  ### `ContainerModifier`
428
430
 
429
- A modifier that stores several values under keys, as `LocalizationModifier` does, extends `ContainerModifier`. Its `lock`, `unlock`, and `unlockrequest` take the key as their argument, a `string` or `undefined`. `lock` and `unlock` treat the wildcard key `"*"` as the whole record, and `lock` throws a `TypeError` for a value under `"*"` that is not a record. `undefined` is no key: `lock` stores nothing under it, and `unlock` and `unlockrequest` find no value, so a `LocalizationModifier` answers its `fallbackLocale`, or `null` when that locale has no value either:
431
+ A modifier that stores several values under keys, as `LocalizationModifier` does, extends `ContainerModifier`. Its `lock`, `unlock`, and `unlockrequest` take the key as their argument, a `string` or `undefined`. `lock` and `unlock` treat the wildcard key `"*"` as the whole record, and `lock` throws a `TypeError` for a value under `"*"` that is not a record. `undefined` is no key: `lock` stores nothing under it, and `unlock` and `unlockrequest` find no value, so a `LocalizationModifier` answers its `fallbackLocale`, and the field reads `null` when that locale has no value either. The modifier chain passes no `null` to a modifier stacked after it:
430
432
 
431
433
  ```typescript
432
434
  import { ContainerModifier } from "@antelopejs/interface-database-decorators";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-database-decorators",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "AntelopeJS decorators for database tables and typed data models, with encrypted, hashed and localized fields",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -133,8 +133,9 @@ class Chef extends Table.with(
133
133
  - In plain data, a plain object given for a localized field is its texts by locale: `fromPlainData` and `insert` store every locale, whatever `localize()` call follows, and `update` replaces the stored texts with that record. A single text still waits for a locale. A field with another modifier inside its locales, such as `@Localized() @Encrypted()`, does not read a record this way.
134
134
  - `instance.localize("*", ["motto"])` reads and writes every locale at once, typed `Record<string, string>` for each listed field (`LocalizedRecords<T, K>`); without a field list the field types stay unchanged.
135
135
  - Under `localize("*")` a localized field takes the record of texts by locale, and `undefined` or `null` clears every locale. A single text throws a `TypeError`, whether it is assigned or held from `fromPlainData` when `localize("*")` runs.
136
- - A localized value `""` is stored as no value: reads and queries in that locale get the `fallbackLocale` value.
136
+ - A localized value `""` or `null` is stored as no value: reads and queries in that locale get the `fallbackLocale` value. A row read with no text answers `null`, and saving that answer again stores nothing.
137
137
  - A `ContainerModifier` key of `undefined` is no key: writes store nothing under it, and reads and queries get no value. A localized field reads the `fallbackLocale` value, or `null` when there is none.
138
+ - A modified field the row stores reads `null` when its modifiers find no value, such as `localize("de")` with no German text and no `fallbackLocale`. A field the row does not store reads `undefined`. A field that stores `null` reads `null`. A custom `unlock` never receives `undefined` or `null`.
138
139
  - `@Relation({ to: () => Target })` is declarative metadata only: no foreign-key enforcement, consumed by introspection tooling via `RelationStaticMetadata`.
139
140
  - `Model.validate` (and `{ validate: true }` on insert/update) only checks fields whose `@Field` type is an
140
141
  io-ts-style codec with `.decode`; plain string field tokens are skipped. Update validates with