@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.
- package/README.md +9 -7
- package/dist/common.js.map +1 -1
- package/dist/database.js +18 -2
- package/dist/database.js.map +1 -1
- package/dist/model.js +48 -29
- package/dist/model.js.map +1 -1
- package/dist/modifiers/common.d.ts +24 -4
- package/dist/modifiers/common.js +104 -130
- package/dist/modifiers/common.js.map +1 -1
- package/dist/modifiers/encryption.js +14 -9
- package/dist/modifiers/encryption.js.map +1 -1
- package/dist/modifiers/hash.d.ts +46 -4
- package/dist/modifiers/hash.js +172 -14
- package/dist/modifiers/hash.js.map +1 -1
- package/dist/modifiers/internal/kinds.d.ts +13 -0
- package/dist/modifiers/internal/kinds.js +33 -0
- package/dist/modifiers/internal/kinds.js.map +1 -0
- package/dist/modifiers/internal/records.d.ts +31 -0
- package/dist/modifiers/internal/records.js +56 -0
- package/dist/modifiers/internal/records.js.map +1 -0
- package/dist/modifiers/localization.js +4 -2
- package/dist/modifiers/localization.js.map +1 -1
- package/dist/schema.js +1 -2
- package/dist/schema.js.map +1 -1
- package/dist/table.js +21 -6
- package/dist/table.js.map +1 -1
- package/dist/tests/codec_helpers.d.ts +6 -2
- package/dist/tests/codec_helpers.js +18 -14
- package/dist/tests/codec_helpers.js.map +1 -1
- package/dist/tests/common.test.js +38 -46
- package/dist/tests/common.test.js.map +1 -1
- package/dist/tests/cross_instance.test.js +27 -2
- package/dist/tests/cross_instance.test.js.map +1 -1
- package/dist/tests/database.test.js +278 -256
- package/dist/tests/database.test.js.map +1 -1
- package/dist/tests/hash_upgrade.test.d.ts +1 -0
- package/dist/tests/hash_upgrade.test.js +132 -0
- package/dist/tests/hash_upgrade.test.js.map +1 -0
- package/dist/tests/helpers/hash-rows.d.ts +40 -0
- package/dist/tests/helpers/hash-rows.js +41 -0
- package/dist/tests/helpers/hash-rows.js.map +1 -0
- package/dist/tests/helpers/other-instance.d.ts +1 -1
- package/dist/tests/helpers/other-instance.js +41 -9
- package/dist/tests/helpers/other-instance.js.map +1 -1
- package/dist/tests/integration.test.js +485 -485
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/model.test.js +293 -308
- package/dist/tests/model.test.js.map +1 -1
- package/dist/tests/modifiers/autodate.test.js +80 -86
- package/dist/tests/modifiers/autodate.test.js.map +1 -1
- package/dist/tests/modifiers/common.test.js +181 -195
- package/dist/tests/modifiers/common.test.js.map +1 -1
- package/dist/tests/modifiers/encryption.test.js +149 -155
- package/dist/tests/modifiers/encryption.test.js.map +1 -1
- package/dist/tests/modifiers/hash.test.js +386 -99
- package/dist/tests/modifiers/hash.test.js.map +1 -1
- package/dist/tests/modifiers/localization.test.js +186 -196
- package/dist/tests/modifiers/localization.test.js.map +1 -1
- package/dist/tests/partial_update.test.d.ts +1 -0
- package/dist/tests/partial_update.test.js +55 -0
- package/dist/tests/partial_update.test.js.map +1 -0
- package/dist/tests/relation.test.js +92 -97
- package/dist/tests/relation.test.js.map +1 -1
- package/dist/tests/schema.test.js +101 -106
- package/dist/tests/schema.test.js.map +1 -1
- package/dist/tests/table.test.js +124 -132
- package/dist/tests/table.test.js.map +1 -1
- package/docs/3.table-modifiers.md +36 -15
- package/package.json +14 -3
- package/skills/database-decorators-interface/SKILL.md +4 -2
- package/skills/database-decorators-interface/cases.json +71 -0
|
@@ -1,52 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const chai_1 = require("chai");
|
|
4
|
-
const common_1 = require("
|
|
4
|
+
const common_1 = require("../common");
|
|
5
|
+
const _partial = {
|
|
6
|
+
name: "John",
|
|
7
|
+
address: {
|
|
8
|
+
street: "Main St",
|
|
9
|
+
},
|
|
10
|
+
hobbies: ["reading"],
|
|
11
|
+
};
|
|
5
12
|
describe("Common - metadata", () => {
|
|
6
|
-
it("creates metadata with default values", async () =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
it("creates metadata with default values", async () => {
|
|
14
|
+
const metadata = new common_1.DatumStaticMetadata();
|
|
15
|
+
(0, chai_1.expect)(metadata.primary).to.equal("_id");
|
|
16
|
+
(0, chai_1.expect)(metadata.indexes).to.deep.equal({});
|
|
17
|
+
(0, chai_1.expect)(metadata.generator).to.equal(undefined);
|
|
18
|
+
});
|
|
19
|
+
it("adds index to metadata", async () => {
|
|
20
|
+
const metadata = new common_1.DatumStaticMetadata();
|
|
21
|
+
metadata.addIndex("email", "user_search");
|
|
22
|
+
metadata.addIndex("name", "user_search");
|
|
23
|
+
(0, chai_1.expect)(metadata.indexes.user_search).to.deep.equal(["email", "name"]);
|
|
24
|
+
});
|
|
25
|
+
it("creates new metadata when not exists", async () => {
|
|
26
|
+
class TestClass {
|
|
27
|
+
}
|
|
28
|
+
const metadata = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
29
|
+
(0, chai_1.expect)(metadata).to.be.instanceOf(common_1.DatumStaticMetadata);
|
|
30
|
+
(0, chai_1.expect)(metadata.primary).to.equal("_id");
|
|
31
|
+
});
|
|
32
|
+
it("retrieves existing metadata", async () => {
|
|
33
|
+
class TestClass {
|
|
34
|
+
}
|
|
35
|
+
const metadata1 = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
36
|
+
const metadata2 = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
37
|
+
(0, chai_1.expect)(metadata1).to.equal(metadata2);
|
|
38
|
+
});
|
|
39
|
+
it("has schemaName undefined by default", async () => {
|
|
40
|
+
const metadata = new common_1.DatumStaticMetadata();
|
|
41
|
+
(0, chai_1.expect)(metadata.schemaName).to.equal(undefined);
|
|
42
|
+
});
|
|
12
43
|
});
|
|
13
|
-
async function CreateMetadataWithDefaultValuesTest() {
|
|
14
|
-
const metadata = new common_1.DatumStaticMetadata();
|
|
15
|
-
(0, chai_1.expect)(metadata.primary).to.equal("_id");
|
|
16
|
-
(0, chai_1.expect)(metadata.indexes).to.deep.equal({});
|
|
17
|
-
(0, chai_1.expect)(metadata.generator).to.equal(undefined);
|
|
18
|
-
}
|
|
19
|
-
async function AddIndexToMetadataTest() {
|
|
20
|
-
const metadata = new common_1.DatumStaticMetadata();
|
|
21
|
-
metadata.addIndex("email", "user_search");
|
|
22
|
-
metadata.addIndex("name", "user_search");
|
|
23
|
-
(0, chai_1.expect)(metadata.indexes.user_search).to.deep.equal(["email", "name"]);
|
|
24
|
-
}
|
|
25
|
-
async function CreateNewMetadataWhenNotExistsTest() {
|
|
26
|
-
class TestClass {
|
|
27
|
-
}
|
|
28
|
-
const metadata = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
29
|
-
(0, chai_1.expect)(metadata).to.be.instanceOf(common_1.DatumStaticMetadata);
|
|
30
|
-
(0, chai_1.expect)(metadata.primary).to.equal("_id");
|
|
31
|
-
}
|
|
32
|
-
async function RetrieveExistingMetadataTest() {
|
|
33
|
-
class TestClass {
|
|
34
|
-
}
|
|
35
|
-
const metadata1 = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
36
|
-
const metadata2 = (0, common_1.getMetadata)(TestClass, common_1.DatumStaticMetadata);
|
|
37
|
-
(0, chai_1.expect)(metadata1).to.equal(metadata2);
|
|
38
|
-
}
|
|
39
|
-
async function HandleDeepPartialTypesCorrectlyTest() {
|
|
40
|
-
const _partial = {
|
|
41
|
-
name: "John",
|
|
42
|
-
address: {
|
|
43
|
-
street: "Main St",
|
|
44
|
-
},
|
|
45
|
-
hobbies: ["reading"],
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
async function SchemaNameUndefinedByDefaultTest() {
|
|
49
|
-
const metadata = new common_1.DatumStaticMetadata();
|
|
50
|
-
(0, chai_1.expect)(metadata.schemaName).to.equal(undefined);
|
|
51
|
-
}
|
|
52
44
|
//# sourceMappingURL=common.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../src/tests/common.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../src/tests/common.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,sCAA+E;AAY/E,MAAM,QAAQ,GAA0B;IACtC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;KAClB;IACD,OAAO,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,IAAI,4BAAmB,EAAE,CAAC;QAE3C,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,QAAQ,GAAG,IAAI,4BAAmB,EAAE,CAAC;QAE3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEzC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,SAAS;SAAG;QAClB,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;QAE7D,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,4BAAmB,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,SAAS;SAAG;QAClB,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;QAE9D,IAAA,aAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,4BAAmB,EAAE,CAAC;QAC3C,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -44,8 +44,33 @@ const other_instance_1 = require("./helpers/other-instance");
|
|
|
44
44
|
const buildFolder = node_path_1.default.resolve(__dirname, "..");
|
|
45
45
|
const databaseFolder = node_path_1.default.join(node_path_1.default.dirname(require.resolve("@antelopejs/interface-database/package.json")), "dist");
|
|
46
46
|
const otherInstance = (0, other_instance_1.CreateOtherInstance)([buildFolder, databaseFolder]);
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
function isFunction(value) {
|
|
48
|
+
return typeof value === "function";
|
|
49
|
+
}
|
|
50
|
+
function isDecoratorsModule(candidate) {
|
|
51
|
+
const present = new Map(Object.entries(candidate));
|
|
52
|
+
return Object.entries(Decorators).every(([name, member]) => present.has(name) &&
|
|
53
|
+
(!isFunction(member) || isFunction(present.get(name))));
|
|
54
|
+
}
|
|
55
|
+
function isStagedSchemaModule(candidate) {
|
|
56
|
+
return "Schema" in candidate && typeof candidate.Schema === "function";
|
|
57
|
+
}
|
|
58
|
+
function loadDecorators() {
|
|
59
|
+
const loaded = otherInstance(node_path_1.default.join(buildFolder, "index.js"));
|
|
60
|
+
if (!isDecoratorsModule(loaded)) {
|
|
61
|
+
throw new Error("The other instance does not expose the decorators");
|
|
62
|
+
}
|
|
63
|
+
return loaded;
|
|
64
|
+
}
|
|
65
|
+
function loadStagedSchema() {
|
|
66
|
+
const loaded = otherInstance(node_path_1.default.join(databaseFolder, "staged-query", "schema.js"));
|
|
67
|
+
if (!isStagedSchemaModule(loaded)) {
|
|
68
|
+
throw new Error("The other instance does not expose the schema exports");
|
|
69
|
+
}
|
|
70
|
+
return loaded;
|
|
71
|
+
}
|
|
72
|
+
const Other = loadDecorators();
|
|
73
|
+
const OtherStagedSchema = loadStagedSchema();
|
|
49
74
|
const boundSchemaId = "cross-instance-bound";
|
|
50
75
|
class Item extends Decorators.Table {
|
|
51
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross_instance.test.js","sourceRoot":"","sources":["../../src/tests/cross_instance.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,+BAA8B;AAC9B,yEAA2D;
|
|
1
|
+
{"version":3,"file":"cross_instance.test.js","sourceRoot":"","sources":["../../src/tests/cross_instance.test.ts"],"names":[],"mappings":"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"}
|