@antelopejs/interface-database 0.0.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 (90) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +45 -0
  3. package/dist/antelope.test.d.ts +2 -0
  4. package/dist/antelope.test.js +35 -0
  5. package/dist/antelope.test.js.map +1 -0
  6. package/dist/common.d.ts +58 -0
  7. package/dist/common.js +44 -0
  8. package/dist/common.js.map +1 -0
  9. package/dist/datum.d.ts +55 -0
  10. package/dist/datum.js +70 -0
  11. package/dist/datum.js.map +1 -0
  12. package/dist/index.d.ts +6 -0
  13. package/dist/index.js +19 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/query.d.ts +15 -0
  16. package/dist/query.js +79 -0
  17. package/dist/query.js.map +1 -0
  18. package/dist/schema.d.ts +102 -0
  19. package/dist/schema.js +88 -0
  20. package/dist/schema.js.map +1 -0
  21. package/dist/selection.d.ts +99 -0
  22. package/dist/selection.js +119 -0
  23. package/dist/selection.js.map +1 -0
  24. package/dist/stream.d.ts +185 -0
  25. package/dist/stream.js +221 -0
  26. package/dist/stream.js.map +1 -0
  27. package/dist/tests/aggregation_operations.test.d.ts +1 -0
  28. package/dist/tests/aggregation_operations.test.js +157 -0
  29. package/dist/tests/aggregation_operations.test.js.map +1 -0
  30. package/dist/tests/basic_operations.test.d.ts +1 -0
  31. package/dist/tests/basic_operations.test.js +216 -0
  32. package/dist/tests/basic_operations.test.js.map +1 -0
  33. package/dist/tests/between_operations.test.d.ts +1 -0
  34. package/dist/tests/between_operations.test.js +76 -0
  35. package/dist/tests/between_operations.test.js.map +1 -0
  36. package/dist/tests/change_feeds.test.d.ts +1 -0
  37. package/dist/tests/change_feeds.test.js +90 -0
  38. package/dist/tests/change_feeds.test.js.map +1 -0
  39. package/dist/tests/datasets/index.d.ts +4 -0
  40. package/dist/tests/datasets/index.js +22 -0
  41. package/dist/tests/datasets/index.js.map +1 -0
  42. package/dist/tests/datasets/orders.d.ts +62 -0
  43. package/dist/tests/datasets/orders.js +158 -0
  44. package/dist/tests/datasets/orders.js.map +1 -0
  45. package/dist/tests/datasets/products.d.ts +48 -0
  46. package/dist/tests/datasets/products.js +139 -0
  47. package/dist/tests/datasets/products.js.map +1 -0
  48. package/dist/tests/datasets/users.d.ts +50 -0
  49. package/dist/tests/datasets/users.js +145 -0
  50. package/dist/tests/datasets/users.js.map +1 -0
  51. package/dist/tests/datasets/vehicles.d.ts +23 -0
  52. package/dist/tests/datasets/vehicles.js +41 -0
  53. package/dist/tests/datasets/vehicles.js.map +1 -0
  54. package/dist/tests/date_operations.test.d.ts +1 -0
  55. package/dist/tests/date_operations.test.js +119 -0
  56. package/dist/tests/date_operations.test.js.map +1 -0
  57. package/dist/tests/do_operations.test.d.ts +1 -0
  58. package/dist/tests/do_operations.test.js +209 -0
  59. package/dist/tests/do_operations.test.js.map +1 -0
  60. package/dist/tests/filters.test.d.ts +1 -0
  61. package/dist/tests/filters.test.js +158 -0
  62. package/dist/tests/filters.test.js.map +1 -0
  63. package/dist/tests/group_operations.test.d.ts +1 -0
  64. package/dist/tests/group_operations.test.js +190 -0
  65. package/dist/tests/group_operations.test.js.map +1 -0
  66. package/dist/tests/instance_modes.test.d.ts +1 -0
  67. package/dist/tests/instance_modes.test.js +192 -0
  68. package/dist/tests/instance_modes.test.js.map +1 -0
  69. package/dist/tests/joins.test.d.ts +1 -0
  70. package/dist/tests/joins.test.js +163 -0
  71. package/dist/tests/joins.test.js.map +1 -0
  72. package/dist/tests/lookup_operations.test.d.ts +1 -0
  73. package/dist/tests/lookup_operations.test.js +103 -0
  74. package/dist/tests/lookup_operations.test.js.map +1 -0
  75. package/dist/tests/merge_operations.test.d.ts +1 -0
  76. package/dist/tests/merge_operations.test.js +216 -0
  77. package/dist/tests/merge_operations.test.js.map +1 -0
  78. package/dist/tests/row_level_operations.test.d.ts +1 -0
  79. package/dist/tests/row_level_operations.test.js +467 -0
  80. package/dist/tests/row_level_operations.test.js.map +1 -0
  81. package/dist/tests/sorting.test.d.ts +1 -0
  82. package/dist/tests/sorting.test.js +161 -0
  83. package/dist/tests/sorting.test.js.map +1 -0
  84. package/dist/tests/union_operations.test.d.ts +1 -0
  85. package/dist/tests/union_operations.test.js +129 -0
  86. package/dist/tests/union_operations.test.js.map +1 -0
  87. package/dist/valueproxy.d.ts +415 -0
  88. package/dist/valueproxy.js +562 -0
  89. package/dist/valueproxy.js.map +1 -0
  90. package/package.json +88 -0
@@ -0,0 +1,50 @@
1
+ export type User = {
2
+ _id?: string;
3
+ name: string;
4
+ age: number;
5
+ email?: string;
6
+ isActive: boolean;
7
+ department?: string;
8
+ skills?: string[];
9
+ createdAt?: Date;
10
+ lastModified?: Date;
11
+ version?: number;
12
+ status?: string;
13
+ salary?: number;
14
+ score?: number;
15
+ metadata?: {
16
+ level?: number;
17
+ tags?: string[];
18
+ preferences?: {
19
+ theme?: string;
20
+ language?: string;
21
+ };
22
+ };
23
+ };
24
+ export declare const User: {
25
+ fields: {
26
+ name: string;
27
+ age: string;
28
+ email: string;
29
+ isActive: string;
30
+ department: string;
31
+ skills: string;
32
+ createdAt: string;
33
+ lastModified: string;
34
+ version: string;
35
+ status: string;
36
+ salary: string;
37
+ score: string;
38
+ metadata: {
39
+ level: string;
40
+ tags: string;
41
+ preferences: string;
42
+ };
43
+ };
44
+ indexes: {
45
+ email: {};
46
+ name: {};
47
+ };
48
+ };
49
+ export declare const users: User[];
50
+ export declare function getUniqueUsers(): User[];
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.users = exports.User = void 0;
4
+ exports.getUniqueUsers = getUniqueUsers;
5
+ exports.User = {
6
+ fields: {
7
+ name: "string",
8
+ age: "number",
9
+ email: "string",
10
+ isActive: "boolean",
11
+ department: "string",
12
+ skills: "string[]",
13
+ createdAt: "date",
14
+ lastModified: "date",
15
+ version: "number",
16
+ status: "string",
17
+ salary: "number",
18
+ score: "number",
19
+ metadata: {
20
+ level: "number",
21
+ tags: "string[]",
22
+ preferences: "object",
23
+ },
24
+ },
25
+ indexes: {
26
+ email: {},
27
+ name: {},
28
+ },
29
+ };
30
+ exports.users = [
31
+ {
32
+ name: "Antoine",
33
+ age: 25,
34
+ email: "antoine@example.com",
35
+ isActive: true,
36
+ department: "Development",
37
+ skills: ["JavaScript", "TypeScript", "React"],
38
+ createdAt: new Date("2023-01-15"),
39
+ lastModified: new Date("2024-01-15"),
40
+ version: 1,
41
+ status: "active",
42
+ salary: 50000,
43
+ score: 1000000000000000,
44
+ metadata: {
45
+ level: 3,
46
+ tags: ["senior", "frontend"],
47
+ preferences: {
48
+ theme: "dark",
49
+ language: "fr",
50
+ },
51
+ },
52
+ },
53
+ {
54
+ name: "Alice",
55
+ age: 30,
56
+ email: "alice@example.com",
57
+ isActive: false,
58
+ department: "Marketing",
59
+ skills: ["Photoshop", "Illustrator", "Design"],
60
+ createdAt: new Date("2022-06-20"),
61
+ lastModified: new Date("2024-01-20"),
62
+ version: 1,
63
+ status: "inactive",
64
+ salary: -15000,
65
+ score: -999999999999999,
66
+ metadata: {
67
+ level: 1,
68
+ tags: ["junior", "design"],
69
+ preferences: {
70
+ theme: "light",
71
+ language: "en",
72
+ },
73
+ },
74
+ },
75
+ {
76
+ name: "Camille",
77
+ age: 22,
78
+ email: "camille@example.com",
79
+ isActive: true,
80
+ department: "Development",
81
+ skills: ["Python", "Django", "PostgreSQL"],
82
+ createdAt: new Date("2024-03-10"),
83
+ lastModified: new Date("2024-01-25"),
84
+ version: 1,
85
+ status: "active",
86
+ salary: 0,
87
+ score: 0,
88
+ metadata: {
89
+ level: 2,
90
+ tags: ["mid-level", "backend"],
91
+ preferences: {
92
+ theme: "auto",
93
+ language: "fr",
94
+ },
95
+ },
96
+ },
97
+ {
98
+ name: "Dominique",
99
+ age: 35,
100
+ email: "dominique@example.com",
101
+ isActive: true,
102
+ department: "Management",
103
+ skills: ["Embedded C", "C++"],
104
+ createdAt: new Date("2021-12-05"),
105
+ lastModified: new Date("2024-01-30"),
106
+ version: 1,
107
+ status: "active",
108
+ salary: 90000,
109
+ score: 9999999999999,
110
+ metadata: {
111
+ level: 5,
112
+ tags: ["senior", "management"],
113
+ preferences: {
114
+ theme: "dark",
115
+ language: "en",
116
+ },
117
+ },
118
+ },
119
+ {
120
+ name: "Emilie",
121
+ age: 28,
122
+ email: "emilie@example.com",
123
+ isActive: true,
124
+ department: "Development",
125
+ skills: ["Java", "Spring", "Microservices"],
126
+ createdAt: new Date("2023-08-30"),
127
+ lastModified: new Date("2024-02-01"),
128
+ version: 1,
129
+ status: "active",
130
+ salary: 60000,
131
+ score: -500000000000000,
132
+ metadata: {
133
+ level: 4,
134
+ tags: ["senior", "backend"],
135
+ preferences: {
136
+ theme: "light",
137
+ language: "fr",
138
+ },
139
+ },
140
+ },
141
+ ];
142
+ function getUniqueUsers() {
143
+ return exports.users;
144
+ }
145
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/tests/datasets/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type Vehicle = {
2
+ _id?: string;
3
+ car: string;
4
+ manufactured: Date;
5
+ price: number;
6
+ isElectric: boolean;
7
+ kilometers: number;
8
+ };
9
+ export declare const Vehicle: {
10
+ fields: {
11
+ car: string;
12
+ manufactured: string;
13
+ price: string;
14
+ isElectric: string;
15
+ kilometers: string;
16
+ };
17
+ indexes: {
18
+ isElectric: {};
19
+ price: {};
20
+ car: {};
21
+ };
22
+ };
23
+ export declare const vehicles: Vehicle[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vehicles = exports.Vehicle = void 0;
4
+ exports.Vehicle = {
5
+ fields: {
6
+ car: "string",
7
+ manufactured: "date",
8
+ price: "number",
9
+ isElectric: "boolean",
10
+ kilometers: "number",
11
+ },
12
+ indexes: {
13
+ isElectric: {},
14
+ price: {},
15
+ car: {},
16
+ },
17
+ };
18
+ exports.vehicles = [
19
+ {
20
+ car: "Peugeot",
21
+ manufactured: new Date("2003-01-01"),
22
+ price: 3000,
23
+ isElectric: false,
24
+ kilometers: 9876543210,
25
+ },
26
+ {
27
+ car: "Renault",
28
+ manufactured: new Date("1960-06-30"),
29
+ price: -1000,
30
+ isElectric: false,
31
+ kilometers: 123456789012345,
32
+ },
33
+ {
34
+ car: "Citroen",
35
+ manufactured: new Date("2040-12-31"),
36
+ price: 0,
37
+ isElectric: true,
38
+ kilometers: -100000000000000,
39
+ },
40
+ ];
41
+ //# sourceMappingURL=vehicles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicles.js","sourceRoot":"","sources":["../../../src/tests/datasets/vehicles.ts"],"names":[],"mappings":";;;AASa,QAAA,OAAO,GAAG;IACrB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,YAAY,EAAE,MAAM;QACpB,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,QAAQ;KACrB;IACD,OAAO,EAAE;QACP,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;KACR;CACF,CAAC;AAEW,QAAA,QAAQ,GAAc;IACjC;QACE,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;QACpC,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;KACvB;IACD;QACE,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;QACpC,KAAK,EAAE,CAAC,IAAI;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;QACpC,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,eAAe;KAC7B;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const interface_database_1 = require("@antelopejs/interface-database");
4
+ const chai_1 = require("chai");
5
+ const users_1 = require("./datasets/users");
6
+ const tableName = "test-table";
7
+ const schema = new interface_database_1.Schema("test-date-operations", {
8
+ [tableName]: users_1.User,
9
+ });
10
+ const table = schema.instance("default").table(tableName);
11
+ const testData = (0, users_1.getUniqueUsers)();
12
+ let insertedKeys = [];
13
+ describe("Date Operations", () => {
14
+ before(async () => {
15
+ await schema.createInstance("default").run();
16
+ });
17
+ after(async () => {
18
+ await table.delete().run();
19
+ await schema.destroyInstance("default").run();
20
+ });
21
+ it("Insert Test Data", InsertTestData);
22
+ it("Filter by Year", FilterByYear);
23
+ it("Filter by Month", FilterByMonth);
24
+ it("Filter by Day", FilterByDay);
25
+ it("Filter by Year Comparison", FilterByYearComparison);
26
+ it("Filter by During", FilterByDuring);
27
+ it("Filter by Epoch Comparison", FilterByEpochComparison);
28
+ it("Filter by Date Greater Than", FilterByDateGreaterThan);
29
+ it("Filter by Date Less Than", FilterByDateLessThan);
30
+ it("Cleanup", CleanupTest);
31
+ });
32
+ async function InsertTestData() {
33
+ const response = await table.insert(testData).run();
34
+ (0, chai_1.expect)(response).to.be.an("array");
35
+ (0, chai_1.expect)(response).to.have.lengthOf(testData.length);
36
+ response.forEach((val) => {
37
+ (0, chai_1.expect)(val).to.be.a("string");
38
+ });
39
+ insertedKeys = response;
40
+ }
41
+ async function FilterByYear() {
42
+ const result = await table
43
+ .filter((doc) => doc.key("createdAt").year().eq(2023))
44
+ .run();
45
+ (0, chai_1.expect)(result).to.be.an("array");
46
+ (0, chai_1.expect)(result).to.have.lengthOf(2);
47
+ const names = result.map((doc) => doc.name).sort();
48
+ (0, chai_1.expect)(names).to.deep.equal(["Antoine", "Emilie"]);
49
+ }
50
+ async function FilterByMonth() {
51
+ const result = await table
52
+ .filter((doc) => doc.key("createdAt").month().eq(1))
53
+ .run();
54
+ (0, chai_1.expect)(result).to.be.an("array");
55
+ (0, chai_1.expect)(result).to.have.lengthOf(1);
56
+ (0, chai_1.expect)(result[0].name).to.equal("Antoine");
57
+ }
58
+ async function FilterByDay() {
59
+ const result = await table
60
+ .filter((doc) => doc.key("createdAt").day().eq(15))
61
+ .run();
62
+ (0, chai_1.expect)(result).to.be.an("array");
63
+ (0, chai_1.expect)(result).to.have.lengthOf(1);
64
+ (0, chai_1.expect)(result[0].name).to.equal("Antoine");
65
+ }
66
+ async function FilterByYearComparison() {
67
+ const result = await table
68
+ .filter((doc) => doc.key("createdAt").year().gt(2022))
69
+ .run();
70
+ (0, chai_1.expect)(result).to.be.an("array");
71
+ (0, chai_1.expect)(result).to.have.lengthOf(3);
72
+ const names = result.map((doc) => doc.name).sort();
73
+ (0, chai_1.expect)(names).to.deep.equal(["Antoine", "Camille", "Emilie"]);
74
+ }
75
+ async function FilterByDuring() {
76
+ const result = await table
77
+ .filter((doc) => doc
78
+ .key("createdAt")
79
+ .during(new Date("2022-01-01"), new Date("2023-12-31")))
80
+ .run();
81
+ (0, chai_1.expect)(result).to.be.an("array");
82
+ (0, chai_1.expect)(result).to.have.lengthOf(3);
83
+ const names = result.map((doc) => doc.name).sort();
84
+ (0, chai_1.expect)(names).to.deep.equal(["Alice", "Antoine", "Emilie"]);
85
+ }
86
+ async function FilterByEpochComparison() {
87
+ const cutoff = new Date("2023-06-01").getTime() / 1000;
88
+ const result = await table
89
+ .filter((doc) => doc.key("createdAt").epoch().gt(cutoff))
90
+ .run();
91
+ (0, chai_1.expect)(result).to.be.an("array");
92
+ (0, chai_1.expect)(result).to.have.lengthOf(2);
93
+ const names = result.map((doc) => doc.name).sort();
94
+ (0, chai_1.expect)(names).to.deep.equal(["Camille", "Emilie"]);
95
+ }
96
+ async function FilterByDateGreaterThan() {
97
+ const result = await table
98
+ .filter((doc) => doc.key("createdAt").gt(new Date("2023-06-01")))
99
+ .run();
100
+ (0, chai_1.expect)(result).to.be.an("array");
101
+ (0, chai_1.expect)(result).to.have.lengthOf(2);
102
+ const names = result.map((doc) => doc.name).sort();
103
+ (0, chai_1.expect)(names).to.deep.equal(["Camille", "Emilie"]);
104
+ }
105
+ async function FilterByDateLessThan() {
106
+ const result = await table
107
+ .filter((doc) => doc.key("createdAt").lt(new Date("2023-01-01")))
108
+ .run();
109
+ (0, chai_1.expect)(result).to.be.an("array");
110
+ (0, chai_1.expect)(result).to.have.lengthOf(2);
111
+ const names = result.map((doc) => doc.name).sort();
112
+ (0, chai_1.expect)(names).to.deep.equal(["Alice", "Dominique"]);
113
+ }
114
+ async function CleanupTest() {
115
+ for (const key of insertedKeys) {
116
+ await table.get(key).delete().run();
117
+ }
118
+ }
119
+ //# sourceMappingURL=date_operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_operations.test.js","sourceRoot":"","sources":["../../src/tests/date_operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const interface_database_1 = require("@antelopejs/interface-database");
4
+ const chai_1 = require("chai");
5
+ const users_1 = require("./datasets/users");
6
+ const tableName = "test-table";
7
+ const schema = new interface_database_1.Schema("test-do-operations", {
8
+ [tableName]: users_1.User,
9
+ });
10
+ const table = schema.instance("default").table(tableName);
11
+ // Utiliser le dataset unifié
12
+ const testData = (0, users_1.getUniqueUsers)();
13
+ let insertedKeys = [];
14
+ describe("Do Operations", () => {
15
+ before(async () => {
16
+ await schema.createInstance("default").run();
17
+ });
18
+ after(async () => {
19
+ await table.delete().run();
20
+ await schema.destroyInstance("default").run();
21
+ });
22
+ it("Insert Test Data", InsertTestData);
23
+ it("Do with Merge Operation", DoWithMergeOperation);
24
+ it("Do with Prepend Operation", DoWithPrependOperation);
25
+ it("Do with Append Operation", DoWithAppendOperation);
26
+ it("Do with Complex Transformation", DoWithComplexTransformation);
27
+ it("Do with Conditional Logic", DoWithConditionalLogic);
28
+ it("Do with Array Operations", DoWithArrayOperations);
29
+ it("Do with Nested Object Operations", DoWithNestedObjectOperations);
30
+ it("Cleanup", CleanupTest);
31
+ });
32
+ async function InsertTestData() {
33
+ const response = await table.insert(testData).run();
34
+ (0, chai_1.expect)(response).to.be.an("array");
35
+ (0, chai_1.expect)(response).to.have.lengthOf(testData.length);
36
+ response.forEach((val) => {
37
+ (0, chai_1.expect)(val).to.be.a("string");
38
+ });
39
+ insertedKeys = response;
40
+ }
41
+ async function DoWithMergeOperation() {
42
+ const result = await table
43
+ .get(insertedKeys[0])
44
+ .do((order) => order.merge({
45
+ metadata: {
46
+ level: 10,
47
+ tags: ["expert", "architect"],
48
+ preferences: table
49
+ .get(insertedKeys[1])
50
+ .key("metadata")
51
+ .key("preferences"),
52
+ },
53
+ }))
54
+ .run();
55
+ (0, chai_1.expect)(result).to.be.an("object");
56
+ (0, chai_1.expect)(result).to.have.property("name", "Antoine");
57
+ (0, chai_1.expect)(result).to.have.property("metadata");
58
+ (0, chai_1.expect)(result.metadata).to.have.property("level", 10);
59
+ (0, chai_1.expect)(result.metadata).to.have.property("tags");
60
+ (0, chai_1.expect)(result.metadata.tags).to.include("expert");
61
+ (0, chai_1.expect)(result.metadata.tags).to.include("architect");
62
+ (0, chai_1.expect)(result.metadata).to.have.property("preferences");
63
+ (0, chai_1.expect)(result.metadata.preferences).to.deep.equal({
64
+ theme: "light",
65
+ language: "en",
66
+ });
67
+ }
68
+ async function DoWithPrependOperation() {
69
+ const result = await table
70
+ .get(insertedKeys[0])
71
+ .do((order) => order.merge({
72
+ skills: table.get(insertedKeys[1]).key("skills"),
73
+ }))
74
+ .run();
75
+ (0, chai_1.expect)(result).to.be.an("object");
76
+ (0, chai_1.expect)(result).to.have.property("name", "Antoine");
77
+ (0, chai_1.expect)(result).to.have.property("skills");
78
+ (0, chai_1.expect)(result.skills).to.be.an("array");
79
+ const expectedSkillsCount = testData[1].skills?.length || 0;
80
+ (0, chai_1.expect)(result.skills).to.have.lengthOf(expectedSkillsCount);
81
+ (0, chai_1.expect)(result.skills?.[0]).to.equal("Photoshop");
82
+ (0, chai_1.expect)(result.skills?.[1]).to.equal("Illustrator");
83
+ (0, chai_1.expect)(result.skills?.[2]).to.equal("Design");
84
+ }
85
+ async function DoWithAppendOperation() {
86
+ const result = await table
87
+ .get(insertedKeys[0])
88
+ .do((order) => order.merge({
89
+ scores: table.get(insertedKeys[2]).key("skills"),
90
+ }))
91
+ .run();
92
+ (0, chai_1.expect)(result).to.be.an("object");
93
+ (0, chai_1.expect)(result).to.have.property("name", "Antoine");
94
+ (0, chai_1.expect)(result).to.have.property("scores");
95
+ (0, chai_1.expect)(result.scores).to.be.an("array");
96
+ const expectedScoresCount = testData[2].skills?.length || 0;
97
+ (0, chai_1.expect)(result.scores).to.have.lengthOf(expectedScoresCount);
98
+ (0, chai_1.expect)(result.scores?.[0]).to.equal("Python");
99
+ (0, chai_1.expect)(result.scores?.[1]).to.equal("Django");
100
+ (0, chai_1.expect)(result.scores?.[2]).to.equal("PostgreSQL");
101
+ }
102
+ async function DoWithComplexTransformation() {
103
+ const result = await table
104
+ .get(insertedKeys[0])
105
+ .do((order) => order.merge({
106
+ name: "Antoine - Senior",
107
+ age: order.key("age").add(5),
108
+ skills: ["Node.js", "MongoDB"],
109
+ metadata: {
110
+ level: order.key("metadata").key("level").add(2),
111
+ tags: ["fullstack"],
112
+ preferences: order.key("metadata").key("preferences"),
113
+ },
114
+ }))
115
+ .run();
116
+ (0, chai_1.expect)(result).to.be.an("object");
117
+ (0, chai_1.expect)(result).to.have.property("name", "Antoine - Senior");
118
+ (0, chai_1.expect)(result).to.have.property("age", 30);
119
+ (0, chai_1.expect)(result).to.have.property("skills");
120
+ (0, chai_1.expect)(result.skills).to.include("Node.js");
121
+ (0, chai_1.expect)(result.skills).to.include("MongoDB");
122
+ (0, chai_1.expect)(result.metadata).to.have.property("level", 5);
123
+ (0, chai_1.expect)(result.metadata.tags).to.include("fullstack");
124
+ }
125
+ async function DoWithConditionalLogic() {
126
+ const result = await table
127
+ .get(insertedKeys[1])
128
+ .do((order) => order.merge({
129
+ status: order.key("isActive").eq(true).default("inactive"),
130
+ experience: order.key("age").gt(25).default("junior"),
131
+ skills: order.key("skills"),
132
+ }))
133
+ .run();
134
+ (0, chai_1.expect)(result).to.be.an("object");
135
+ (0, chai_1.expect)(result).to.have.property("name", "Alice");
136
+ (0, chai_1.expect)(result).to.have.property("status");
137
+ (0, chai_1.expect)(result.status).to.be.a("boolean");
138
+ (0, chai_1.expect)(result).to.have.property("experience");
139
+ (0, chai_1.expect)(result.experience).to.be.a("boolean");
140
+ (0, chai_1.expect)(result).to.have.property("skills");
141
+ (0, chai_1.expect)(result.skills).to.be.an("array");
142
+ const expectedSkillsCount = testData[1].skills?.length || 0;
143
+ (0, chai_1.expect)(result.skills).to.have.lengthOf(expectedSkillsCount);
144
+ }
145
+ async function DoWithArrayOperations() {
146
+ const result = await table
147
+ .get(insertedKeys[2])
148
+ .do((order) => order.merge({
149
+ averageScore: order.key("skills").count(),
150
+ maxScore: order.key("skills").count(),
151
+ minScore: order.key("skills").count(),
152
+ totalSkills: order.key("skills").count(),
153
+ skills: order.key("skills"),
154
+ }))
155
+ .run();
156
+ (0, chai_1.expect)(result).to.be.an("object");
157
+ (0, chai_1.expect)(result).to.have.property("name", "Camille");
158
+ (0, chai_1.expect)(result).to.have.property("averageScore");
159
+ (0, chai_1.expect)(result.averageScore).to.be.a("number");
160
+ const expectedSkillsCount = testData[2].skills?.length || 0;
161
+ (0, chai_1.expect)(result.averageScore).to.equal(expectedSkillsCount);
162
+ (0, chai_1.expect)(result).to.have.property("maxScore", expectedSkillsCount);
163
+ (0, chai_1.expect)(result).to.have.property("minScore", expectedSkillsCount);
164
+ (0, chai_1.expect)(result).to.have.property("totalSkills", expectedSkillsCount);
165
+ (0, chai_1.expect)(result).to.have.property("skills");
166
+ (0, chai_1.expect)(result.skills).to.deep.equal(["Python", "Django", "PostgreSQL"]);
167
+ }
168
+ async function DoWithNestedObjectOperations() {
169
+ const result = await table
170
+ .get(insertedKeys[3])
171
+ .do((order) => order.merge({
172
+ profile: {
173
+ basic: {
174
+ name: order.key("name"),
175
+ age: order.key("age"),
176
+ isActive: order.key("isActive"),
177
+ },
178
+ skills: order.key("skills"),
179
+ metadata: {
180
+ preferences: ["remote-first"],
181
+ tags: ["experienced"],
182
+ level: order.key("metadata").key("level"),
183
+ },
184
+ },
185
+ }))
186
+ .run();
187
+ (0, chai_1.expect)(result).to.be.an("object");
188
+ (0, chai_1.expect)(result).to.have.property("name", "Dominique");
189
+ (0, chai_1.expect)(result).to.have.property("profile");
190
+ (0, chai_1.expect)(result.profile).to.have.property("basic");
191
+ (0, chai_1.expect)(result.profile.basic).to.have.property("name", "Dominique");
192
+ (0, chai_1.expect)(result.profile.basic).to.have.property("age", 35);
193
+ (0, chai_1.expect)(result.profile.basic).to.have.property("isActive", true);
194
+ (0, chai_1.expect)(result.profile).to.have.property("skills");
195
+ (0, chai_1.expect)(result.profile.skills).to.deep.equal(["Embedded C", "C++"]);
196
+ (0, chai_1.expect)(result.profile).to.have.property("metadata");
197
+ if (typeof result.profile.metadata.preferences === "object" &&
198
+ result.profile.metadata.preferences &&
199
+ "theme" in result.profile.metadata.preferences) {
200
+ (0, chai_1.expect)(result.profile.metadata.preferences.theme).to.equal("dark");
201
+ }
202
+ (0, chai_1.expect)(result.profile.metadata.tags).to.include("experienced");
203
+ }
204
+ async function CleanupTest() {
205
+ for (const key of insertedKeys) {
206
+ await table.get(key).delete().run();
207
+ }
208
+ }
209
+ //# sourceMappingURL=do_operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"do_operations.test.js","sourceRoot":"","sources":["../../src/tests/do_operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};