@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,163 @@
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 orders_1 = require("./datasets/orders");
6
+ const products_1 = require("./datasets/products");
7
+ const users_1 = require("./datasets/users");
8
+ const ordersTableName = "orders";
9
+ const usersTableName = "users";
10
+ const productsTableName = "products";
11
+ const schema = new interface_database_1.Schema("test-joins", {
12
+ [ordersTableName]: orders_1.Order,
13
+ [usersTableName]: users_1.User,
14
+ [productsTableName]: products_1.Product,
15
+ });
16
+ const ordersTable = schema.instance("default").table(ordersTableName);
17
+ const usersTable = schema.instance("default").table(usersTableName);
18
+ const productsTable = schema.instance("default").table(productsTableName);
19
+ const usersData = (0, users_1.getUniqueUsers)();
20
+ const productsData = (0, products_1.getUniqueProducts)();
21
+ const ordersData = (0, orders_1.getUniqueOrders)();
22
+ const insertedKeys = {
23
+ users: [],
24
+ products: [],
25
+ orders: [],
26
+ };
27
+ describe("Join Operations", () => {
28
+ before(async () => {
29
+ await schema.createInstance("default").run();
30
+ });
31
+ after(async () => {
32
+ await ordersTable.delete().run();
33
+ await usersTable.delete().run();
34
+ await productsTable.delete().run();
35
+ await schema.destroyInstance("default").run();
36
+ });
37
+ it("Insert Test Data", InsertTestData);
38
+ it("Inner Join Orders with Users", InnerJoinOrdersWithUsers);
39
+ it("Inner Join Orders with Products", InnerJoinOrdersWithProducts);
40
+ it("Left Join Orders with Users", LeftJoinOrdersWithUsers);
41
+ it("Multiple Joins", MultipleJoins);
42
+ it("Join with Filter", JoinWithFilter);
43
+ it("Cleanup", CleanupTest);
44
+ });
45
+ async function InsertTestData() {
46
+ const usersResponse = await usersTable.insert(usersData).run();
47
+ const productsResponse = await productsTable.insert(productsData).run();
48
+ const ordersResponse = await ordersTable.insert(ordersData).run();
49
+ (0, chai_1.expect)(usersResponse).to.be.an("array");
50
+ (0, chai_1.expect)(productsResponse).to.be.an("array");
51
+ (0, chai_1.expect)(ordersResponse).to.be.an("array");
52
+ insertedKeys.users = usersResponse;
53
+ insertedKeys.products = productsResponse;
54
+ insertedKeys.orders = ordersResponse;
55
+ }
56
+ async function InnerJoinOrdersWithUsers() {
57
+ const result = await ordersTable
58
+ .joinInner(usersTable, (left, right) => left.key("customerEmail").eq(right.key("email")), (left, right) => left.merge({ customer: right }))
59
+ .run();
60
+ (0, chai_1.expect)(result).to.be.an("array");
61
+ (0, chai_1.expect)(result).to.have.lengthOf(usersData.length);
62
+ result.forEach((doc) => {
63
+ (0, chai_1.expect)(doc).to.have.property("customerEmail");
64
+ (0, chai_1.expect)(doc).to.have.property("customer");
65
+ (0, chai_1.expect)(doc.customer).to.have.property("email");
66
+ (0, chai_1.expect)(doc.customer).to.have.property("name");
67
+ (0, chai_1.expect)(doc.customer).to.have.property("age");
68
+ (0, chai_1.expect)(doc.customer).to.have.property("isActive");
69
+ (0, chai_1.expect)(doc.customerEmail).to.equal(doc.customer?.email);
70
+ });
71
+ const aliceOrders = result.filter((doc) => doc.customerEmail === "alice@example.com");
72
+ const expectedAliceOrdersCount = ordersData.filter((order) => order.customerEmail === "alice@example.com").length;
73
+ (0, chai_1.expect)(aliceOrders).to.have.lengthOf(expectedAliceOrdersCount);
74
+ aliceOrders.forEach((order) => {
75
+ (0, chai_1.expect)(order.customer?.name).to.equal("Alice");
76
+ (0, chai_1.expect)(order.customer?.age).to.equal(30);
77
+ (0, chai_1.expect)(order.customer?.isActive).to.equal(false);
78
+ });
79
+ }
80
+ async function InnerJoinOrdersWithProducts() {
81
+ const result = await ordersTable
82
+ .joinInner(productsTable, (left, right) => left.key("productSku").eq(right.key("sku")), (left, right) => left.merge({ product: right }))
83
+ .run();
84
+ (0, chai_1.expect)(result).to.be.an("array");
85
+ (0, chai_1.expect)(result).to.have.lengthOf(productsData.length);
86
+ result.forEach((doc) => {
87
+ (0, chai_1.expect)(doc).to.have.property("productSku");
88
+ (0, chai_1.expect)(doc).to.have.property("product");
89
+ (0, chai_1.expect)(doc.product).to.have.property("sku");
90
+ (0, chai_1.expect)(doc.product).to.have.property("name");
91
+ (0, chai_1.expect)(doc.product).to.have.property("price");
92
+ (0, chai_1.expect)(doc.productSku).to.equal(doc.product?.sku);
93
+ });
94
+ const laptopOrders = result.filter((doc) => doc.productSku === "LAPTOP-001");
95
+ const expectedLaptopOrdersCount = ordersData.filter((order) => order.productSku === "LAPTOP-001").length;
96
+ (0, chai_1.expect)(laptopOrders).to.have.lengthOf(expectedLaptopOrdersCount);
97
+ (0, chai_1.expect)(laptopOrders[0].product?.name).to.equal("Asell f00");
98
+ (0, chai_1.expect)(laptopOrders[0].product?.price).to.equal(1200);
99
+ }
100
+ async function LeftJoinOrdersWithUsers() {
101
+ const result = await ordersTable
102
+ .join(usersTable, (left, right) => left.key("customerEmail").eq(right.key("email")), (left, right) => left.merge({ customer: right }))
103
+ .run();
104
+ (0, chai_1.expect)(result).to.be.an("array");
105
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
106
+ result.forEach((doc) => {
107
+ (0, chai_1.expect)(doc).to.have.property("customerEmail");
108
+ (0, chai_1.expect)(doc).to.have.property("customer");
109
+ if (doc.customer) {
110
+ (0, chai_1.expect)(doc.customerEmail).to.equal(doc.customer.email);
111
+ }
112
+ });
113
+ }
114
+ async function MultipleJoins() {
115
+ const result = await ordersTable
116
+ .joinInner(usersTable, (left, right) => left.key("customerEmail").eq(right.key("email")), (left, right) => left.merge({ customer: right }))
117
+ .joinInner(productsTable, (left, right) => left.key("productSku").eq(right.key("sku")), (left, right) => left.merge({ product: right }))
118
+ .run();
119
+ (0, chai_1.expect)(result).to.be.an("array");
120
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
121
+ result.forEach((doc) => {
122
+ (0, chai_1.expect)(doc).to.have.property("customer");
123
+ (0, chai_1.expect)(doc).to.have.property("product");
124
+ (0, chai_1.expect)(doc.customerEmail).to.equal(doc.customer?.email);
125
+ (0, chai_1.expect)(doc.productSku).to.equal(doc.product?.sku);
126
+ });
127
+ const aliceBookOrder = result.find((doc) => doc.customerEmail === "alice@example.com" &&
128
+ doc.productSku === "BOOK-001");
129
+ (0, chai_1.expect)(aliceBookOrder).to.not.equal(undefined);
130
+ (0, chai_1.expect)(aliceBookOrder?.customer?.name).to.equal("Alice");
131
+ (0, chai_1.expect)(aliceBookOrder?.product?.name).to.equal("Programming Fundamentals");
132
+ }
133
+ async function JoinWithFilter() {
134
+ const result = await ordersTable
135
+ .joinInner(usersTable, (left, right) => left.key("customerEmail").eq(right.key("email")), (left, right) => left.merge({ customer: right }))
136
+ .filter((order) => order.key("customer").key("isActive").eq(true))
137
+ .run();
138
+ (0, chai_1.expect)(result).to.be.an("array");
139
+ const expectedActiveOrdersCount = ordersData.filter((order) => {
140
+ const user = usersData.find((user) => user.email === order.customerEmail);
141
+ return user?.isActive;
142
+ }).length;
143
+ (0, chai_1.expect)(result).to.have.lengthOf(expectedActiveOrdersCount);
144
+ result.forEach((doc) => {
145
+ (0, chai_1.expect)(doc.customer?.isActive).to.equal(true);
146
+ });
147
+ const activeUsers = result.filter((doc) => doc.customerEmail === "antoine@example.com");
148
+ const expectedActiveUsersCount = ordersData.filter((order) => order.customerEmail === "antoine@example.com" &&
149
+ usersData.find((user) => user.email === order.customerEmail)?.isActive).length;
150
+ (0, chai_1.expect)(activeUsers).to.have.lengthOf(expectedActiveUsersCount);
151
+ }
152
+ async function CleanupTest() {
153
+ for (const key of insertedKeys.orders) {
154
+ await ordersTable.get(key).delete().run();
155
+ }
156
+ for (const key of insertedKeys.products) {
157
+ await productsTable.get(key).delete().run();
158
+ }
159
+ for (const key of insertedKeys.users) {
160
+ await usersTable.get(key).delete().run();
161
+ }
162
+ }
163
+ //# sourceMappingURL=joins.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joins.test.js","sourceRoot":"","sources":["../../src/tests/joins.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,103 @@
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 orders_1 = require("./datasets/orders");
6
+ const users_1 = require("./datasets/users");
7
+ const ordersTableName = "orders";
8
+ const usersTableName = "users";
9
+ const schema = new interface_database_1.Schema("test-lookup-operations", {
10
+ [ordersTableName]: orders_1.Order,
11
+ [usersTableName]: users_1.User,
12
+ });
13
+ const ordersTable = schema.instance("default").table(ordersTableName);
14
+ const usersTable = schema.instance("default").table(usersTableName);
15
+ const usersData = (0, users_1.getUniqueUsers)();
16
+ const ordersData = (0, orders_1.getUniqueOrders)();
17
+ const insertedKeys = {
18
+ users: [],
19
+ orders: [],
20
+ };
21
+ describe("Lookup Operations", () => {
22
+ before(async () => {
23
+ await schema.createInstance("default").run();
24
+ await ordersTable.delete().run();
25
+ await usersTable.delete().run();
26
+ });
27
+ after(async () => {
28
+ await ordersTable.delete().run();
29
+ await usersTable.delete().run();
30
+ await schema.destroyInstance("default").run();
31
+ });
32
+ it("Insert Test Data", InsertTestData);
33
+ it("Lookup Basic", LookupBasic);
34
+ it("Lookup On Get", LookupOnGet);
35
+ it("Lookup With Filter", LookupWithFilter);
36
+ it("Cleanup", CleanupTest);
37
+ });
38
+ async function InsertTestData() {
39
+ const usersResponse = await usersTable.insert(usersData).run();
40
+ const ordersResponse = await ordersTable.insert(ordersData).run();
41
+ (0, chai_1.expect)(usersResponse).to.be.an("array");
42
+ (0, chai_1.expect)(ordersResponse).to.be.an("array");
43
+ insertedKeys.users = usersResponse;
44
+ insertedKeys.orders = ordersResponse;
45
+ }
46
+ async function LookupBasic() {
47
+ const result = await ordersTable
48
+ .lookup(usersTable, "customerName", "name")
49
+ .run();
50
+ (0, chai_1.expect)(result).to.be.an("array");
51
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
52
+ result.forEach((doc) => {
53
+ (0, chai_1.expect)(doc).to.have.property("customerName");
54
+ const customerName = doc.customerName;
55
+ (0, chai_1.expect)(customerName).to.be.an("object");
56
+ (0, chai_1.expect)(customerName).to.have.property("name");
57
+ (0, chai_1.expect)(customerName).to.have.property("age");
58
+ (0, chai_1.expect)(customerName).to.have.property("email");
59
+ (0, chai_1.expect)(customerName).to.have.property("isActive");
60
+ });
61
+ const antoineOrder = result.find((doc) => doc.orderId === "ORD-001");
62
+ (0, chai_1.expect)(antoineOrder).to.not.equal(undefined);
63
+ (0, chai_1.expect)(antoineOrder?.customerName).to.have.property("name", "Antoine");
64
+ (0, chai_1.expect)(antoineOrder?.customerName).to.have.property("age", 25);
65
+ }
66
+ async function LookupOnGet() {
67
+ const result = await ordersTable
68
+ .get(insertedKeys.orders[0])
69
+ .lookup(usersTable, "customerName", "name")
70
+ .run();
71
+ (0, chai_1.expect)(result).to.have.property("customerName");
72
+ const customerName = result.customerName;
73
+ (0, chai_1.expect)(customerName).to.be.an("object");
74
+ (0, chai_1.expect)(customerName).to.have.property("name");
75
+ (0, chai_1.expect)(customerName).to.have.property("age");
76
+ (0, chai_1.expect)(customerName).to.have.property("email");
77
+ (0, chai_1.expect)(customerName).to.have.property("isActive");
78
+ (0, chai_1.expect)(result?.customerName).to.have.property("name", "Antoine");
79
+ (0, chai_1.expect)(result?.customerName).to.have.property("age", 25);
80
+ }
81
+ async function LookupWithFilter() {
82
+ const result = await ordersTable
83
+ .lookup(usersTable, "customerName", "name")
84
+ .filter((doc) => doc.key("isPaid").eq(true))
85
+ .run();
86
+ (0, chai_1.expect)(result).to.be.an("array");
87
+ const expectedCount = ordersData.filter((o) => o.isPaid).length;
88
+ (0, chai_1.expect)(result).to.have.lengthOf(expectedCount);
89
+ result.forEach((doc) => {
90
+ (0, chai_1.expect)(doc.isPaid).to.equal(true);
91
+ (0, chai_1.expect)(doc.customerName).to.be.an("object");
92
+ (0, chai_1.expect)(doc.customerName).to.have.property("name");
93
+ });
94
+ }
95
+ async function CleanupTest() {
96
+ for (const key of insertedKeys.orders) {
97
+ await ordersTable.get(key).delete().run();
98
+ }
99
+ for (const key of insertedKeys.users) {
100
+ await usersTable.get(key).delete().run();
101
+ }
102
+ }
103
+ //# sourceMappingURL=lookup_operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup_operations.test.js","sourceRoot":"","sources":["../../src/tests/lookup_operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-unused-expressions */
4
+ const interface_database_1 = require("@antelopejs/interface-database");
5
+ const chai_1 = require("chai");
6
+ const orders_1 = require("./datasets/orders");
7
+ const products_1 = require("./datasets/products");
8
+ const users_1 = require("./datasets/users");
9
+ const ordersTableName = "orders";
10
+ const usersTableName = "users";
11
+ const productsTableName = "products";
12
+ const schema = new interface_database_1.Schema("test-merge-operations", {
13
+ [ordersTableName]: orders_1.Order,
14
+ [usersTableName]: users_1.User,
15
+ [productsTableName]: products_1.Product,
16
+ });
17
+ const ordersTable = schema.instance("default").table(ordersTableName);
18
+ const usersTable = schema.instance("default").table(usersTableName);
19
+ const productsTable = schema.instance("default").table(productsTableName);
20
+ // Utiliser le dataset unifié
21
+ const usersData = (0, users_1.getUniqueUsers)();
22
+ const productsData = (0, products_1.getUniqueProducts)();
23
+ const ordersData = (0, orders_1.getUniqueOrders)();
24
+ const insertedKeys = {
25
+ users: [],
26
+ products: [],
27
+ orders: [],
28
+ };
29
+ describe("Merge Operations", () => {
30
+ before(async () => {
31
+ await schema.createInstance("default").run();
32
+ });
33
+ after(async () => {
34
+ await ordersTable.delete().run();
35
+ await usersTable.delete().run();
36
+ await productsTable.delete().run();
37
+ await schema.destroyInstance("default").run();
38
+ });
39
+ it("Insert Test Data", InsertTestData);
40
+ it("Merge Customer with User Data", MergeCustomerWithUserData);
41
+ it("Merge Order Items with Product Data", MergeOrderItemsWithProductData);
42
+ it("Merge Multiple Objects", MergeMultipleObjects);
43
+ it("Merge with Conditional Logic", MergeWithConditionalLogic);
44
+ it("Merge Nested Objects", MergeNestedObjects);
45
+ it("Merge with Default Values", MergeWithDefaultValues);
46
+ it("Cleanup", CleanupTest);
47
+ });
48
+ async function InsertTestData() {
49
+ const usersResponse = await usersTable.insert(usersData).run();
50
+ const productsResponse = await productsTable.insert(productsData).run();
51
+ const ordersResponse = await ordersTable.insert(ordersData).run();
52
+ (0, chai_1.expect)(usersResponse).to.be.an("array");
53
+ (0, chai_1.expect)(productsResponse).to.be.an("array");
54
+ (0, chai_1.expect)(ordersResponse).to.be.an("array");
55
+ insertedKeys.users = usersResponse;
56
+ insertedKeys.products = productsResponse;
57
+ insertedKeys.orders = ordersResponse;
58
+ }
59
+ async function MergeCustomerWithUserData() {
60
+ const result = await ordersTable
61
+ .map((row) => row.merge({
62
+ orderSummary: {
63
+ totalAmount: row.key("totalAmount"),
64
+ isPaid: row.key("isPaid"),
65
+ },
66
+ }))
67
+ .run();
68
+ (0, chai_1.expect)(result).to.be.an("array");
69
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
70
+ result.forEach((doc) => {
71
+ (0, chai_1.expect)(doc).to.have.property("orderSummary");
72
+ (0, chai_1.expect)(doc.orderSummary).to.have.property("totalAmount");
73
+ (0, chai_1.expect)(doc.orderSummary).to.have.property("isPaid");
74
+ });
75
+ const antoineOrder = result.find((doc) => doc.customer?.email === "antoine@example.com");
76
+ (0, chai_1.expect)(antoineOrder).to.not.be.undefined;
77
+ (0, chai_1.expect)(antoineOrder?.orderSummary.totalAmount).to.equal(1250);
78
+ }
79
+ async function MergeOrderItemsWithProductData() {
80
+ const result = await ordersTable
81
+ .map((row) => row.merge({
82
+ orderInfo: {
83
+ totalAmount: row.key("totalAmount"),
84
+ isPaid: row.key("isPaid"),
85
+ },
86
+ }))
87
+ .run();
88
+ (0, chai_1.expect)(result).to.be.an("array");
89
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
90
+ result.forEach((order) => {
91
+ (0, chai_1.expect)(order).to.have.property("orderInfo");
92
+ (0, chai_1.expect)(order.orderInfo).to.have.property("totalAmount");
93
+ (0, chai_1.expect)(order.orderInfo).to.have.property("isPaid");
94
+ });
95
+ const antoineOrder = result.find((order) => order.customer?.email === "antoine@example.com");
96
+ (0, chai_1.expect)(antoineOrder).to.not.be.undefined;
97
+ (0, chai_1.expect)(antoineOrder?.orderInfo.totalAmount).to.equal(1250);
98
+ }
99
+ async function MergeMultipleObjects() {
100
+ const result = await ordersTable
101
+ .map((row) => row.merge({
102
+ orderDetails: {
103
+ customerEmail: row.key("customerEmail"),
104
+ customerName: row.key("customerName"),
105
+ totalAmount: row.key("totalAmount"),
106
+ },
107
+ metadata: {
108
+ orderDate: new Date(),
109
+ processedBy: "system",
110
+ },
111
+ }))
112
+ .run();
113
+ (0, chai_1.expect)(result).to.be.an("array");
114
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
115
+ result.forEach((order) => {
116
+ (0, chai_1.expect)(order).to.have.property("orderDetails");
117
+ (0, chai_1.expect)(order.orderDetails).to.have.property("customerEmail");
118
+ (0, chai_1.expect)(order.orderDetails).to.have.property("customerName");
119
+ (0, chai_1.expect)(order.orderDetails).to.have.property("totalAmount");
120
+ (0, chai_1.expect)(order).to.have.property("metadata");
121
+ (0, chai_1.expect)(order.metadata).to.have.property("orderDate");
122
+ (0, chai_1.expect)(order.metadata).to.have.property("processedBy");
123
+ });
124
+ }
125
+ async function MergeWithConditionalLogic() {
126
+ const result = await ordersTable
127
+ .map((row) => row.merge({
128
+ orderStatus: row.key("status").eq("completed").default("pending"),
129
+ totalAmount: row.key("totalAmount"),
130
+ isHighValue: row.key("totalAmount").gt(1000),
131
+ isPremium: row.key("totalAmount").gt(1200),
132
+ }))
133
+ .run();
134
+ (0, chai_1.expect)(result).to.be.an("array");
135
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
136
+ result.forEach((order) => {
137
+ (0, chai_1.expect)(order).to.have.property("orderStatus");
138
+ (0, chai_1.expect)(order).to.have.property("totalAmount");
139
+ (0, chai_1.expect)(order).to.have.property("isHighValue");
140
+ (0, chai_1.expect)(order).to.have.property("isPremium");
141
+ });
142
+ const highValueOrder = result.find((order) => order.totalAmount > 1200);
143
+ (0, chai_1.expect)(highValueOrder).to.not.be.undefined;
144
+ if (highValueOrder) {
145
+ (0, chai_1.expect)(highValueOrder.isHighValue).to.equal(true);
146
+ (0, chai_1.expect)(highValueOrder.isPremium).to.equal(true);
147
+ }
148
+ const lowValueOrder = result.find((order) => order.totalAmount <= 1000);
149
+ (0, chai_1.expect)(lowValueOrder).to.not.be.undefined;
150
+ if (lowValueOrder) {
151
+ (0, chai_1.expect)(lowValueOrder.isHighValue).to.equal(false);
152
+ (0, chai_1.expect)(lowValueOrder.isPremium).to.equal(false);
153
+ }
154
+ }
155
+ async function MergeNestedObjects() {
156
+ const result = await ordersTable
157
+ .map((row) => row.merge({
158
+ customerInfo: {
159
+ customerEmail: row.key("customerEmail"),
160
+ customerName: row.key("customerName"),
161
+ },
162
+ orderInfo: {
163
+ totalAmount: row.key("totalAmount"),
164
+ isPaid: row.key("isPaid"),
165
+ },
166
+ }))
167
+ .run();
168
+ (0, chai_1.expect)(result).to.be.an("array");
169
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
170
+ result.forEach((order) => {
171
+ (0, chai_1.expect)(order).to.have.property("customerInfo");
172
+ (0, chai_1.expect)(order.customerInfo).to.have.property("customerEmail");
173
+ (0, chai_1.expect)(order.customerInfo).to.have.property("customerName");
174
+ (0, chai_1.expect)(order).to.have.property("orderInfo");
175
+ (0, chai_1.expect)(order.orderInfo).to.have.property("totalAmount");
176
+ (0, chai_1.expect)(order.orderInfo).to.have.property("isPaid");
177
+ });
178
+ }
179
+ async function MergeWithDefaultValues() {
180
+ const result = await ordersTable
181
+ .map((row) => row.merge({
182
+ shipping: {
183
+ method: "standard",
184
+ cost: 0,
185
+ estimatedDays: 5,
186
+ },
187
+ payment: {
188
+ method: "credit_card",
189
+ status: "pending",
190
+ },
191
+ }))
192
+ .run();
193
+ (0, chai_1.expect)(result).to.be.an("array");
194
+ (0, chai_1.expect)(result).to.have.lengthOf(ordersData.length);
195
+ result.forEach((order) => {
196
+ (0, chai_1.expect)(order).to.have.property("shipping");
197
+ (0, chai_1.expect)(order.shipping).to.have.property("method");
198
+ (0, chai_1.expect)(order.shipping).to.have.property("cost");
199
+ (0, chai_1.expect)(order.shipping).to.have.property("estimatedDays");
200
+ (0, chai_1.expect)(order).to.have.property("payment");
201
+ (0, chai_1.expect)(order.payment).to.have.property("method");
202
+ (0, chai_1.expect)(order.payment).to.have.property("status");
203
+ });
204
+ }
205
+ async function CleanupTest() {
206
+ for (const key of insertedKeys.orders) {
207
+ await ordersTable.get(key).delete().run();
208
+ }
209
+ for (const key of insertedKeys.products) {
210
+ await productsTable.get(key).delete().run();
211
+ }
212
+ for (const key of insertedKeys.users) {
213
+ await usersTable.get(key).delete().run();
214
+ }
215
+ }
216
+ //# sourceMappingURL=merge_operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge_operations.test.js","sourceRoot":"","sources":["../../src/tests/merge_operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};