@antelopejs/interface-database-decorators 0.1.10 → 0.1.12

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 (71) hide show
  1. package/README.md +9 -7
  2. package/dist/common.js.map +1 -1
  3. package/dist/database.js +18 -2
  4. package/dist/database.js.map +1 -1
  5. package/dist/model.js +48 -29
  6. package/dist/model.js.map +1 -1
  7. package/dist/modifiers/common.d.ts +24 -4
  8. package/dist/modifiers/common.js +104 -130
  9. package/dist/modifiers/common.js.map +1 -1
  10. package/dist/modifiers/encryption.js +14 -9
  11. package/dist/modifiers/encryption.js.map +1 -1
  12. package/dist/modifiers/hash.d.ts +46 -4
  13. package/dist/modifiers/hash.js +172 -14
  14. package/dist/modifiers/hash.js.map +1 -1
  15. package/dist/modifiers/internal/kinds.d.ts +13 -0
  16. package/dist/modifiers/internal/kinds.js +33 -0
  17. package/dist/modifiers/internal/kinds.js.map +1 -0
  18. package/dist/modifiers/internal/records.d.ts +31 -0
  19. package/dist/modifiers/internal/records.js +56 -0
  20. package/dist/modifiers/internal/records.js.map +1 -0
  21. package/dist/modifiers/localization.js +4 -2
  22. package/dist/modifiers/localization.js.map +1 -1
  23. package/dist/schema.js +1 -2
  24. package/dist/schema.js.map +1 -1
  25. package/dist/table.js +21 -6
  26. package/dist/table.js.map +1 -1
  27. package/dist/tests/codec_helpers.d.ts +6 -2
  28. package/dist/tests/codec_helpers.js +18 -14
  29. package/dist/tests/codec_helpers.js.map +1 -1
  30. package/dist/tests/common.test.js +38 -46
  31. package/dist/tests/common.test.js.map +1 -1
  32. package/dist/tests/cross_instance.test.js +27 -2
  33. package/dist/tests/cross_instance.test.js.map +1 -1
  34. package/dist/tests/database.test.js +278 -256
  35. package/dist/tests/database.test.js.map +1 -1
  36. package/dist/tests/hash_upgrade.test.d.ts +1 -0
  37. package/dist/tests/hash_upgrade.test.js +132 -0
  38. package/dist/tests/hash_upgrade.test.js.map +1 -0
  39. package/dist/tests/helpers/hash-rows.d.ts +40 -0
  40. package/dist/tests/helpers/hash-rows.js +41 -0
  41. package/dist/tests/helpers/hash-rows.js.map +1 -0
  42. package/dist/tests/helpers/other-instance.d.ts +1 -1
  43. package/dist/tests/helpers/other-instance.js +41 -9
  44. package/dist/tests/helpers/other-instance.js.map +1 -1
  45. package/dist/tests/integration.test.js +485 -485
  46. package/dist/tests/integration.test.js.map +1 -1
  47. package/dist/tests/model.test.js +293 -308
  48. package/dist/tests/model.test.js.map +1 -1
  49. package/dist/tests/modifiers/autodate.test.js +80 -86
  50. package/dist/tests/modifiers/autodate.test.js.map +1 -1
  51. package/dist/tests/modifiers/common.test.js +181 -195
  52. package/dist/tests/modifiers/common.test.js.map +1 -1
  53. package/dist/tests/modifiers/encryption.test.js +149 -155
  54. package/dist/tests/modifiers/encryption.test.js.map +1 -1
  55. package/dist/tests/modifiers/hash.test.js +386 -99
  56. package/dist/tests/modifiers/hash.test.js.map +1 -1
  57. package/dist/tests/modifiers/localization.test.js +186 -196
  58. package/dist/tests/modifiers/localization.test.js.map +1 -1
  59. package/dist/tests/partial_update.test.d.ts +1 -0
  60. package/dist/tests/partial_update.test.js +55 -0
  61. package/dist/tests/partial_update.test.js.map +1 -0
  62. package/dist/tests/relation.test.js +92 -97
  63. package/dist/tests/relation.test.js.map +1 -1
  64. package/dist/tests/schema.test.js +101 -106
  65. package/dist/tests/schema.test.js.map +1 -1
  66. package/dist/tests/table.test.js +124 -132
  67. package/dist/tests/table.test.js.map +1 -1
  68. package/docs/3.table-modifiers.md +36 -15
  69. package/package.json +14 -3
  70. package/skills/database-decorators-interface/SKILL.md +4 -2
  71. package/skills/database-decorators-interface/cases.json +71 -0
@@ -11,273 +11,295 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const chai_1 = require("chai");
13
13
  const interface_database_1 = require("@antelopejs/interface-database");
14
- const schema_1 = require("@antelopejs/interface-database-decorators/schema");
15
- const database_1 = require("@antelopejs/interface-database-decorators/database");
16
- const model_1 = require("@antelopejs/interface-database-decorators/model");
17
- const table_1 = require("@antelopejs/interface-database-decorators/table");
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
18
  const codec_helpers_1 = require("./codec_helpers");
19
19
  describe("Database - initialization", () => {
20
- it("creates a schema", async () => CreateSchemaTest());
21
- it("creates tables with default primary key", async () => CreateTablesWithDefaultPrimaryKeyTest());
22
- it("creates tables with indexes", async () => CreateTablesWithIndexesTest());
23
- it("creates tables with grouped indexes", async () => CreateTablesWithGroupedIndexesTest());
24
- it("marks a single-field index as cross-instance", async () => MarksSingleFieldIndexCrossInstanceTest());
25
- it("marks a group index as cross-instance when one member sets it", async () => MarksGroupIndexCrossInstanceTest());
26
- it("marks a group index as unique when one member sets it", async () => MarksGroupIndexUniqueTest());
27
- it("leaves index definitions unchanged without crossInstance", async () => LeavesIndexDefinitionsUnchangedTest());
28
- it("creates tables with fixture data", async () => CreateTablesWithFixtureDataTest());
29
- it("handles multiple tables", async () => HandleMultipleTablesTest());
30
- it("binds a table class registered after RegisterSchema ran to that schema (module hot reload)", async () => BindsLateRegisteredTableTest());
31
- it("populates TableDefinition.fields from @Field declarations", () => PopulatesTableDefinitionFieldsTest());
20
+ it("creates a schema", async () => {
21
+ let _TestTable = class _TestTable extends table_1.Table {
22
+ };
23
+ _TestTable = __decorate([
24
+ (0, schema_1.RegisterTable)("test_table", "test-new-schema")
25
+ ], _TestTable);
26
+ await (0, database_1.RegisterSchema)("test-new-schema");
27
+ const schema = interface_database_1.Schema.get("test-new-schema");
28
+ (0, chai_1.expect)(schema).to.not.equal(undefined);
29
+ });
30
+ it("creates tables with default primary key", async () => {
31
+ let _TestTable = class _TestTable extends table_1.Table {
32
+ };
33
+ _TestTable = __decorate([
34
+ (0, schema_1.RegisterTable)("pk_table", "test-pk-schema")
35
+ ], _TestTable);
36
+ await (0, database_1.RegisterSchema)("test-pk-schema");
37
+ const schema = interface_database_1.Schema.get("test-pk-schema");
38
+ (0, chai_1.expect)(schema).to.not.equal(undefined);
39
+ });
40
+ it("creates tables with indexes", async () => {
41
+ let _TestTable = class _TestTable extends table_1.Table {
42
+ };
43
+ __decorate([
44
+ (0, table_1.Index)(),
45
+ __metadata("design:type", String)
46
+ ], _TestTable.prototype, "name", void 0);
47
+ __decorate([
48
+ (0, table_1.Index)(),
49
+ __metadata("design:type", String)
50
+ ], _TestTable.prototype, "email", void 0);
51
+ _TestTable = __decorate([
52
+ (0, schema_1.RegisterTable)("idx_table", "test-idx-schema")
53
+ ], _TestTable);
54
+ await (0, database_1.RegisterSchema)("test-idx-schema");
55
+ const schema = interface_database_1.Schema.get("test-idx-schema");
56
+ (0, chai_1.expect)(schema).to.not.equal(undefined);
57
+ });
58
+ it("creates tables with grouped indexes", async () => {
59
+ let _TestTable = class _TestTable extends table_1.Table {
60
+ };
61
+ __decorate([
62
+ (0, table_1.Index)({ group: "user_search" }),
63
+ __metadata("design:type", String)
64
+ ], _TestTable.prototype, "name", void 0);
65
+ __decorate([
66
+ (0, table_1.Index)({ group: "user_search" }),
67
+ __metadata("design:type", String)
68
+ ], _TestTable.prototype, "email", void 0);
69
+ __decorate([
70
+ (0, table_1.Index)({ group: "age_range" }),
71
+ __metadata("design:type", Number)
72
+ ], _TestTable.prototype, "age", void 0);
73
+ _TestTable = __decorate([
74
+ (0, schema_1.RegisterTable)("grp_table", "test-grp-schema")
75
+ ], _TestTable);
76
+ await (0, database_1.RegisterSchema)("test-grp-schema");
77
+ const schema = interface_database_1.Schema.get("test-grp-schema");
78
+ (0, chai_1.expect)(schema).to.not.equal(undefined);
79
+ });
80
+ it("marks a single-field index as cross-instance", async () => {
81
+ let _TestTable = class _TestTable extends table_1.Table {
82
+ };
83
+ __decorate([
84
+ (0, table_1.Index)({ crossInstance: true }),
85
+ __metadata("design:type", String)
86
+ ], _TestTable.prototype, "email", void 0);
87
+ __decorate([
88
+ (0, table_1.Index)(),
89
+ __metadata("design:type", String)
90
+ ], _TestTable.prototype, "name", void 0);
91
+ _TestTable = __decorate([
92
+ (0, schema_1.RegisterTable)("cross_single", "test-cross-single-schema")
93
+ ], _TestTable);
94
+ await (0, database_1.RegisterSchema)("test-cross-single-schema");
95
+ const indexes = getIndexDefinitions("test-cross-single-schema", "cross_single");
96
+ (0, chai_1.expect)(indexes).to.deep.equal({
97
+ email: { fields: undefined, crossInstance: true },
98
+ name: { fields: undefined },
99
+ });
100
+ });
101
+ it("marks a group index as cross-instance when one member sets it", async () => {
102
+ let _TestTable = class _TestTable extends table_1.Table {
103
+ };
104
+ __decorate([
105
+ (0, table_1.Index)({ group: "user_search" }),
106
+ __metadata("design:type", String)
107
+ ], _TestTable.prototype, "name", void 0);
108
+ __decorate([
109
+ (0, table_1.Index)({ group: "user_search", crossInstance: true }),
110
+ __metadata("design:type", String)
111
+ ], _TestTable.prototype, "email", void 0);
112
+ __decorate([
113
+ (0, table_1.Index)({ group: "age_range" }),
114
+ __metadata("design:type", Number)
115
+ ], _TestTable.prototype, "age", void 0);
116
+ _TestTable = __decorate([
117
+ (0, schema_1.RegisterTable)("cross_group", "test-cross-group-schema")
118
+ ], _TestTable);
119
+ await (0, database_1.RegisterSchema)("test-cross-group-schema");
120
+ const indexes = getIndexDefinitions("test-cross-group-schema", "cross_group");
121
+ (0, chai_1.expect)(indexes).to.deep.equal({
122
+ user_search: { fields: ["name", "email"], crossInstance: true },
123
+ age_range: { fields: ["age"] },
124
+ });
125
+ });
126
+ it("marks a group index as unique when one member sets it", async () => {
127
+ let _TestTable = class _TestTable extends table_1.Table {
128
+ };
129
+ __decorate([
130
+ (0, table_1.Index)({ unique: true }),
131
+ __metadata("design:type", String)
132
+ ], _TestTable.prototype, "slug", void 0);
133
+ __decorate([
134
+ (0, table_1.Index)({ group: "full_name" }),
135
+ __metadata("design:type", String)
136
+ ], _TestTable.prototype, "lastName", void 0);
137
+ __decorate([
138
+ (0, table_1.Index)({ group: "full_name", unique: true }),
139
+ __metadata("design:type", String)
140
+ ], _TestTable.prototype, "firstName", void 0);
141
+ __decorate([
142
+ (0, table_1.Index)(),
143
+ __metadata("design:type", Number)
144
+ ], _TestTable.prototype, "age", void 0);
145
+ _TestTable = __decorate([
146
+ (0, schema_1.RegisterTable)("unique_group", "test-unique-group-schema")
147
+ ], _TestTable);
148
+ await (0, database_1.RegisterSchema)("test-unique-group-schema");
149
+ const indexes = getIndexDefinitions("test-unique-group-schema", "unique_group");
150
+ (0, chai_1.expect)(indexes).to.deep.equal({
151
+ slug: { fields: undefined, unique: true },
152
+ full_name: { fields: ["lastName", "firstName"], unique: true },
153
+ age: { fields: undefined },
154
+ });
155
+ });
32
156
  });
33
- async function CreateSchemaTest() {
34
- let _TestTable = class _TestTable extends table_1.Table {
35
- };
36
- _TestTable = __decorate([
37
- (0, schema_1.RegisterTable)("test_table", "test-new-schema")
38
- ], _TestTable);
39
- await (0, database_1.RegisterSchema)("test-new-schema");
40
- const schema = interface_database_1.Schema.get("test-new-schema");
41
- (0, chai_1.expect)(schema).to.not.equal(undefined);
42
- }
43
- async function CreateTablesWithDefaultPrimaryKeyTest() {
44
- let _TestTable = class _TestTable extends table_1.Table {
45
- };
46
- _TestTable = __decorate([
47
- (0, schema_1.RegisterTable)("pk_table", "test-pk-schema")
48
- ], _TestTable);
49
- await (0, database_1.RegisterSchema)("test-pk-schema");
50
- const schema = interface_database_1.Schema.get("test-pk-schema");
51
- (0, chai_1.expect)(schema).to.not.equal(undefined);
52
- }
53
- async function CreateTablesWithIndexesTest() {
54
- let _TestTable = class _TestTable extends table_1.Table {
55
- };
56
- __decorate([
57
- (0, table_1.Index)(),
58
- __metadata("design:type", String)
59
- ], _TestTable.prototype, "name", void 0);
60
- __decorate([
61
- (0, table_1.Index)(),
62
- __metadata("design:type", String)
63
- ], _TestTable.prototype, "email", void 0);
64
- _TestTable = __decorate([
65
- (0, schema_1.RegisterTable)("idx_table", "test-idx-schema")
66
- ], _TestTable);
67
- await (0, database_1.RegisterSchema)("test-idx-schema");
68
- const schema = interface_database_1.Schema.get("test-idx-schema");
69
- (0, chai_1.expect)(schema).to.not.equal(undefined);
70
- }
71
- async function CreateTablesWithGroupedIndexesTest() {
72
- let _TestTable = class _TestTable extends table_1.Table {
73
- };
74
- __decorate([
75
- (0, table_1.Index)({ group: "user_search" }),
76
- __metadata("design:type", String)
77
- ], _TestTable.prototype, "name", void 0);
78
- __decorate([
79
- (0, table_1.Index)({ group: "user_search" }),
80
- __metadata("design:type", String)
81
- ], _TestTable.prototype, "email", void 0);
82
- __decorate([
83
- (0, table_1.Index)({ group: "age_range" }),
84
- __metadata("design:type", Number)
85
- ], _TestTable.prototype, "age", void 0);
86
- _TestTable = __decorate([
87
- (0, schema_1.RegisterTable)("grp_table", "test-grp-schema")
88
- ], _TestTable);
89
- await (0, database_1.RegisterSchema)("test-grp-schema");
90
- const schema = interface_database_1.Schema.get("test-grp-schema");
91
- (0, chai_1.expect)(schema).to.not.equal(undefined);
92
- }
93
- async function MarksSingleFieldIndexCrossInstanceTest() {
94
- let _TestTable = class _TestTable extends table_1.Table {
95
- };
96
- __decorate([
97
- (0, table_1.Index)({ crossInstance: true }),
98
- __metadata("design:type", String)
99
- ], _TestTable.prototype, "email", void 0);
100
- __decorate([
101
- (0, table_1.Index)(),
102
- __metadata("design:type", String)
103
- ], _TestTable.prototype, "name", void 0);
104
- _TestTable = __decorate([
105
- (0, schema_1.RegisterTable)("cross_single", "test-cross-single-schema")
106
- ], _TestTable);
107
- await (0, database_1.RegisterSchema)("test-cross-single-schema");
108
- const indexes = getIndexDefinitions("test-cross-single-schema", "cross_single");
109
- (0, chai_1.expect)(indexes).to.deep.equal({
110
- email: { fields: undefined, crossInstance: true },
111
- name: { fields: undefined },
157
+ describe("Database - initialization", () => {
158
+ it("leaves index definitions unchanged without crossInstance", async () => {
159
+ let _TestTable = class _TestTable extends table_1.Table {
160
+ };
161
+ __decorate([
162
+ (0, table_1.Index)(),
163
+ __metadata("design:type", String)
164
+ ], _TestTable.prototype, "name", void 0);
165
+ __decorate([
166
+ (0, table_1.Index)({ group: "user_search" }),
167
+ __metadata("design:type", String)
168
+ ], _TestTable.prototype, "email", void 0);
169
+ _TestTable = __decorate([
170
+ (0, schema_1.RegisterTable)("cross_none", "test-cross-none-schema")
171
+ ], _TestTable);
172
+ await (0, database_1.RegisterSchema)("test-cross-none-schema");
173
+ const indexes = getIndexDefinitions("test-cross-none-schema", "cross_none");
174
+ (0, chai_1.expect)(indexes).to.deep.equal({
175
+ name: { fields: undefined },
176
+ user_search: { fields: ["email"] },
177
+ });
178
+ const hasCrossInstanceKey = Object.values(indexes).some((index) => "crossInstance" in index);
179
+ (0, chai_1.expect)(hasCrossInstanceKey).to.equal(false);
112
180
  });
113
- }
114
- async function MarksGroupIndexCrossInstanceTest() {
115
- let _TestTable = class _TestTable extends table_1.Table {
116
- };
117
- __decorate([
118
- (0, table_1.Index)({ group: "user_search" }),
119
- __metadata("design:type", String)
120
- ], _TestTable.prototype, "name", void 0);
121
- __decorate([
122
- (0, table_1.Index)({ group: "user_search", crossInstance: true }),
123
- __metadata("design:type", String)
124
- ], _TestTable.prototype, "email", void 0);
125
- __decorate([
126
- (0, table_1.Index)({ group: "age_range" }),
127
- __metadata("design:type", Number)
128
- ], _TestTable.prototype, "age", void 0);
129
- _TestTable = __decorate([
130
- (0, schema_1.RegisterTable)("cross_group", "test-cross-group-schema")
131
- ], _TestTable);
132
- await (0, database_1.RegisterSchema)("test-cross-group-schema");
133
- const indexes = getIndexDefinitions("test-cross-group-schema", "cross_group");
134
- (0, chai_1.expect)(indexes).to.deep.equal({
135
- user_search: { fields: ["name", "email"], crossInstance: true },
136
- age_range: { fields: ["age"] },
181
+ it("creates tables with fixture data", async () => {
182
+ const testData = [
183
+ { id: "1", name: "Test User 1" },
184
+ { id: "2", name: "Test User 2" },
185
+ ];
186
+ let _TestTable = class _TestTable extends table_1.Table {
187
+ };
188
+ _TestTable = __decorate([
189
+ (0, table_1.Fixture)(() => testData),
190
+ (0, schema_1.RegisterTable)("fixture_table", "test-fixture-schema")
191
+ ], _TestTable);
192
+ await (0, database_1.RegisterSchema)("test-fixture-schema");
193
+ const schema = interface_database_1.Schema.get("test-fixture-schema");
194
+ if (!schema)
195
+ throw new Error("Schema not found");
196
+ const result = await schema.instance().table("fixture_table");
197
+ for (const val of result) {
198
+ delete val._id;
199
+ delete val._instance;
200
+ }
201
+ const sortById = (a, b) => a.id.localeCompare(b.id);
202
+ (0, chai_1.expect)(result.sort(sortById)).to.deep.equal(testData.sort(sortById));
137
203
  });
138
- }
139
- async function MarksGroupIndexUniqueTest() {
140
- let _TestTable = class _TestTable extends table_1.Table {
141
- };
142
- __decorate([
143
- (0, table_1.Index)({ unique: true }),
144
- __metadata("design:type", String)
145
- ], _TestTable.prototype, "slug", void 0);
146
- __decorate([
147
- (0, table_1.Index)({ group: "full_name" }),
148
- __metadata("design:type", String)
149
- ], _TestTable.prototype, "lastName", void 0);
150
- __decorate([
151
- (0, table_1.Index)({ group: "full_name", unique: true }),
152
- __metadata("design:type", String)
153
- ], _TestTable.prototype, "firstName", void 0);
154
- __decorate([
155
- (0, table_1.Index)(),
156
- __metadata("design:type", Number)
157
- ], _TestTable.prototype, "age", void 0);
158
- _TestTable = __decorate([
159
- (0, schema_1.RegisterTable)("unique_group", "test-unique-group-schema")
160
- ], _TestTable);
161
- await (0, database_1.RegisterSchema)("test-unique-group-schema");
162
- const indexes = getIndexDefinitions("test-unique-group-schema", "unique_group");
163
- (0, chai_1.expect)(indexes).to.deep.equal({
164
- slug: { fields: undefined, unique: true },
165
- full_name: { fields: ["lastName", "firstName"], unique: true },
166
- age: { fields: undefined },
204
+ it("writes one row when two processes register an id-less fixture at once", async () => {
205
+ let _TestTable = class _TestTable extends table_1.Table {
206
+ };
207
+ _TestTable = __decorate([
208
+ (0, table_1.Fixture)(() => [{ name: "Only row" }]),
209
+ (0, schema_1.RegisterTable)("fixture_race_no_id", "test-fixture-race-no-id")
210
+ ], _TestTable);
211
+ await Promise.all([
212
+ (0, database_1.RegisterSchema)("test-fixture-race-no-id"),
213
+ (0, database_1.RegisterSchema)("test-fixture-race-no-id"),
214
+ ]);
215
+ const schema = interface_database_1.Schema.get("test-fixture-race-no-id");
216
+ if (!schema)
217
+ throw new Error("Schema not found");
218
+ (0, chai_1.expect)(await schema.instance().table("fixture_race_no_id")).to.have.length(1);
167
219
  });
168
- }
169
- async function LeavesIndexDefinitionsUnchangedTest() {
170
- let _TestTable = class _TestTable extends table_1.Table {
171
- };
172
- __decorate([
173
- (0, table_1.Index)(),
174
- __metadata("design:type", String)
175
- ], _TestTable.prototype, "name", void 0);
176
- __decorate([
177
- (0, table_1.Index)({ group: "user_search" }),
178
- __metadata("design:type", String)
179
- ], _TestTable.prototype, "email", void 0);
180
- _TestTable = __decorate([
181
- (0, schema_1.RegisterTable)("cross_none", "test-cross-none-schema")
182
- ], _TestTable);
183
- await (0, database_1.RegisterSchema)("test-cross-none-schema");
184
- const indexes = getIndexDefinitions("test-cross-none-schema", "cross_none");
185
- (0, chai_1.expect)(indexes).to.deep.equal({
186
- name: { fields: undefined },
187
- user_search: { fields: ["email"] },
220
+ it("does not fail the process that loses a fixture insert", async () => {
221
+ let _TestTable = class _TestTable extends table_1.Table {
222
+ };
223
+ _TestTable = __decorate([
224
+ (0, table_1.Fixture)(() => [{ _id: "only-row", name: "Only row" }]),
225
+ (0, schema_1.RegisterTable)("fixture_race_id", "test-fixture-race-id")
226
+ ], _TestTable);
227
+ await Promise.all([
228
+ (0, database_1.RegisterSchema)("test-fixture-race-id"),
229
+ (0, database_1.RegisterSchema)("test-fixture-race-id"),
230
+ ]);
231
+ const schema = interface_database_1.Schema.get("test-fixture-race-id");
232
+ if (!schema)
233
+ throw new Error("Schema not found");
234
+ (0, chai_1.expect)(await schema.instance().table("fixture_race_id")).to.have.length(1);
188
235
  });
189
- const hasCrossInstanceKey = Object.values(indexes).some((index) => "crossInstance" in index);
190
- (0, chai_1.expect)(hasCrossInstanceKey).to.equal(false);
191
- }
236
+ it("handles multiple tables", async () => {
237
+ let _UserTable = class _UserTable extends table_1.Table {
238
+ };
239
+ __decorate([
240
+ (0, table_1.Index)(),
241
+ __metadata("design:type", String)
242
+ ], _UserTable.prototype, "email", void 0);
243
+ _UserTable = __decorate([
244
+ (0, schema_1.RegisterTable)("users", "test-multi-table-schema")
245
+ ], _UserTable);
246
+ let _ProductTable = class _ProductTable extends table_1.Table {
247
+ };
248
+ __decorate([
249
+ (0, table_1.Index)(),
250
+ __metadata("design:type", String)
251
+ ], _ProductTable.prototype, "name", void 0);
252
+ _ProductTable = __decorate([
253
+ (0, schema_1.RegisterTable)("products", "test-multi-table-schema")
254
+ ], _ProductTable);
255
+ await (0, database_1.RegisterSchema)("test-multi-table-schema");
256
+ const schema = interface_database_1.Schema.get("test-multi-table-schema");
257
+ (0, chai_1.expect)(schema).to.not.equal(undefined);
258
+ });
259
+ it("binds a table class registered after RegisterSchema ran to that schema (module hot reload)", async () => {
260
+ let _Declared = class _Declared extends table_1.Table {
261
+ };
262
+ _Declared = __decorate([
263
+ (0, schema_1.RegisterTable)("late_items", "test-late-schema")
264
+ ], _Declared);
265
+ await (0, database_1.RegisterSchema)("test-late-schema");
266
+ let Reloaded = class Reloaded extends table_1.Table {
267
+ };
268
+ Reloaded = __decorate([
269
+ (0, schema_1.RegisterTable)("late_items", "test-late-schema")
270
+ ], Reloaded);
271
+ const model = (0, model_1.GetModel)((0, model_1.BasicDataModel)(Reloaded), "late-instance");
272
+ (0, chai_1.expect)(model.database.build()[0].options.id).to.equal("test-late-schema");
273
+ (0, chai_1.expect)(Reloaded.table().build()[0].options.id).to.equal("test-late-schema");
274
+ });
275
+ it("populates TableDefinition.fields from @Field declarations", async () => {
276
+ let _Order = class _Order extends table_1.Table {
277
+ };
278
+ __decorate([
279
+ (0, table_1.Field)("string"),
280
+ __metadata("design:type", String)
281
+ ], _Order.prototype, "status", void 0);
282
+ __decorate([
283
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
284
+ __metadata("design:type", Number)
285
+ ], _Order.prototype, "total", void 0);
286
+ _Order = __decorate([
287
+ (0, schema_1.RegisterTable)("orders", "test-fields-schema")
288
+ ], _Order);
289
+ await (0, database_1.RegisterSchema)("test-fields-schema");
290
+ const schema = interface_database_1.Schema.get("test-fields-schema");
291
+ if (!schema)
292
+ throw new Error("Schema not found");
293
+ const fields = schema.definition.orders.fields;
294
+ (0, chai_1.expect)(fields.status).to.equal("string");
295
+ (0, chai_1.expect)(fields.total).to.equal(codec_helpers_1.numberCodec);
296
+ (0, chai_1.expect)("untyped" in fields).to.equal(false);
297
+ });
298
+ });
192
299
  function getIndexDefinitions(schemaId, tableName) {
193
300
  const schema = interface_database_1.Schema.get(schemaId);
194
301
  if (!schema)
195
302
  throw new Error("Schema not found");
196
303
  return schema.definition[tableName].indexes;
197
304
  }
198
- async function CreateTablesWithFixtureDataTest() {
199
- const testData = [
200
- { id: "1", name: "Test User 1" },
201
- { id: "2", name: "Test User 2" },
202
- ];
203
- let _TestTable = class _TestTable extends table_1.Table {
204
- };
205
- _TestTable = __decorate([
206
- (0, table_1.Fixture)(() => testData),
207
- (0, schema_1.RegisterTable)("fixture_table", "test-fixture-schema")
208
- ], _TestTable);
209
- await (0, database_1.RegisterSchema)("test-fixture-schema");
210
- const schema = interface_database_1.Schema.get("test-fixture-schema");
211
- if (!schema)
212
- throw new Error("Schema not found");
213
- const result = await schema.instance().table("fixture_table");
214
- for (const val of result) {
215
- delete val._id;
216
- delete val._instance;
217
- }
218
- const sortById = (a, b) => a.id.localeCompare(b.id);
219
- (0, chai_1.expect)(result.sort(sortById)).to.deep.equal(testData.sort(sortById));
220
- }
221
- async function PopulatesTableDefinitionFieldsTest() {
222
- let _Order = class _Order extends table_1.Table {
223
- };
224
- __decorate([
225
- (0, table_1.Field)("string"),
226
- __metadata("design:type", String)
227
- ], _Order.prototype, "status", void 0);
228
- __decorate([
229
- (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
230
- __metadata("design:type", Number)
231
- ], _Order.prototype, "total", void 0);
232
- _Order = __decorate([
233
- (0, schema_1.RegisterTable)("orders", "test-fields-schema")
234
- ], _Order);
235
- await (0, database_1.RegisterSchema)("test-fields-schema");
236
- const schema = interface_database_1.Schema.get("test-fields-schema");
237
- if (!schema)
238
- throw new Error("Schema not found");
239
- const fields = schema.definition.orders.fields;
240
- (0, chai_1.expect)(fields.status).to.equal("string");
241
- (0, chai_1.expect)(fields.total).to.equal(codec_helpers_1.numberCodec);
242
- (0, chai_1.expect)("untyped" in fields).to.equal(false);
243
- }
244
- async function HandleMultipleTablesTest() {
245
- let _UserTable = class _UserTable extends table_1.Table {
246
- };
247
- __decorate([
248
- (0, table_1.Index)(),
249
- __metadata("design:type", String)
250
- ], _UserTable.prototype, "email", void 0);
251
- _UserTable = __decorate([
252
- (0, schema_1.RegisterTable)("users", "test-multi-table-schema")
253
- ], _UserTable);
254
- let _ProductTable = class _ProductTable extends table_1.Table {
255
- };
256
- __decorate([
257
- (0, table_1.Index)(),
258
- __metadata("design:type", String)
259
- ], _ProductTable.prototype, "name", void 0);
260
- _ProductTable = __decorate([
261
- (0, schema_1.RegisterTable)("products", "test-multi-table-schema")
262
- ], _ProductTable);
263
- await (0, database_1.RegisterSchema)("test-multi-table-schema");
264
- const schema = interface_database_1.Schema.get("test-multi-table-schema");
265
- (0, chai_1.expect)(schema).to.not.equal(undefined);
266
- }
267
- async function BindsLateRegisteredTableTest() {
268
- let _Declared = class _Declared extends table_1.Table {
269
- };
270
- _Declared = __decorate([
271
- (0, schema_1.RegisterTable)("late_items", "test-late-schema")
272
- ], _Declared);
273
- await (0, database_1.RegisterSchema)("test-late-schema");
274
- let Reloaded = class Reloaded extends table_1.Table {
275
- };
276
- Reloaded = __decorate([
277
- (0, schema_1.RegisterTable)("late_items", "test-late-schema")
278
- ], Reloaded);
279
- const model = (0, model_1.GetModel)((0, model_1.BasicDataModel)(Reloaded), "late-instance");
280
- (0, chai_1.expect)(model.database.build()[0].options.id).to.equal("test-late-schema");
281
- (0, chai_1.expect)(Reloaded.table().build()[0].options.id).to.equal("test-late-schema");
282
- }
283
305
  //# sourceMappingURL=database.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../src/tests/database.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../src/tests/database.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};