@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,76 @@
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 vehicles_1 = require("./datasets/vehicles");
6
+ const tableName = "test-table";
7
+ const schema = new interface_database_1.Schema("test-between-operations", {
8
+ [tableName]: vehicles_1.Vehicle,
9
+ });
10
+ const table = schema.instance("default").table(tableName);
11
+ let insertedKeys = [];
12
+ describe("Between Operations", () => {
13
+ before(async () => {
14
+ await schema.createInstance("default").run();
15
+ await table.delete().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("Between Inclusive Low Exclusive High", BetweenInclusiveExclusive);
23
+ it("Between All", BetweenAll);
24
+ it("Between Empty", BetweenEmpty);
25
+ it("Between Chained With Filter", BetweenChainedWithFilter);
26
+ it("Cleanup", CleanupTest);
27
+ });
28
+ async function InsertTestData() {
29
+ const response = await table.insert(vehicles_1.vehicles).run();
30
+ (0, chai_1.expect)(response).to.be.an("array");
31
+ (0, chai_1.expect)(response).to.have.lengthOf(vehicles_1.vehicles.length);
32
+ response.forEach((val) => {
33
+ (0, chai_1.expect)(val).to.be.a("string");
34
+ });
35
+ insertedKeys = response;
36
+ }
37
+ async function BetweenInclusiveExclusive() {
38
+ const result = await table.between("price", -1000, 3000).run();
39
+ (0, chai_1.expect)(result).to.be.an("array");
40
+ const expectedPrices = vehicles_1.vehicles
41
+ .filter((v) => v.price >= -1000 && v.price < 3000)
42
+ .map((v) => v.price);
43
+ (0, chai_1.expect)(result).to.have.lengthOf(expectedPrices.length);
44
+ result.forEach((doc) => {
45
+ (0, chai_1.expect)(doc.price).to.be.gte(-1000);
46
+ (0, chai_1.expect)(doc.price).to.be.lt(3000);
47
+ });
48
+ }
49
+ async function BetweenAll() {
50
+ const result = await table.between("price", -2000, 5000).run();
51
+ (0, chai_1.expect)(result).to.be.an("array");
52
+ (0, chai_1.expect)(result).to.have.lengthOf(vehicles_1.vehicles.length);
53
+ }
54
+ async function BetweenEmpty() {
55
+ const result = await table.between("price", 5000, 10000).run();
56
+ (0, chai_1.expect)(result).to.be.an("array");
57
+ (0, chai_1.expect)(result).to.have.lengthOf(0);
58
+ }
59
+ async function BetweenChainedWithFilter() {
60
+ const result = await table
61
+ .between("price", -2000, 5000)
62
+ .filter((doc) => doc.key("isElectric").eq(true))
63
+ .run();
64
+ (0, chai_1.expect)(result).to.be.an("array");
65
+ const expected = vehicles_1.vehicles.filter((v) => v.price >= -2000 && v.price < 5000 && v.isElectric);
66
+ (0, chai_1.expect)(result).to.have.lengthOf(expected.length);
67
+ result.forEach((doc) => {
68
+ (0, chai_1.expect)(doc.isElectric).to.equal(true);
69
+ });
70
+ }
71
+ async function CleanupTest() {
72
+ for (const key of insertedKeys) {
73
+ await table.get(key).delete().run();
74
+ }
75
+ }
76
+ //# sourceMappingURL=between_operations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"between_operations.test.js","sourceRoot":"","sources":["../../src/tests/between_operations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,90 @@
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 vehicles_1 = require("./datasets/vehicles");
6
+ const tableName = "test-table";
7
+ const schema = new interface_database_1.Schema("test-change-feeds", {
8
+ [tableName]: vehicles_1.Vehicle,
9
+ });
10
+ const table = schema.instance("default").table(tableName);
11
+ describe("Change Streams", () => {
12
+ it("Insert Test Data", InsertTest);
13
+ it("Insert Event", InsertEventTest);
14
+ it("Update Event", UpdateEventTest);
15
+ it("Delete Event", DeleteEventTest);
16
+ before(async () => {
17
+ await schema.createInstance("default").run();
18
+ });
19
+ after(async () => {
20
+ await table.delete().run();
21
+ await schema.destroyInstance("default").run();
22
+ });
23
+ });
24
+ async function InsertTest() {
25
+ const response = await table.insert(vehicles_1.vehicles).run();
26
+ (0, chai_1.expect)(response).to.be.an("array");
27
+ (0, chai_1.expect)(response).to.have.lengthOf(vehicles_1.vehicles.length);
28
+ response.forEach((val) => {
29
+ (0, chai_1.expect)(val).to.be.a("string");
30
+ });
31
+ }
32
+ async function ReadChanges(stream, actor) {
33
+ const results = [];
34
+ await Promise.race([
35
+ (async () => {
36
+ for await (const doc of stream) {
37
+ results.push(doc);
38
+ }
39
+ })(),
40
+ (async () => {
41
+ // Make sure watcher is ready
42
+ await new Promise((resolve) => setTimeout(resolve, 200));
43
+ await actor(results);
44
+ // Make sure watcher has received the last changes
45
+ await new Promise((resolve) => setTimeout(resolve, 200));
46
+ })(),
47
+ ]);
48
+ return results;
49
+ }
50
+ let inserted;
51
+ async function InsertEventTest() {
52
+ const newDocument = {
53
+ car: "Renault",
54
+ manufactured: new Date("2000-01-12"),
55
+ price: 12000,
56
+ isElectric: false,
57
+ kilometers: 98812,
58
+ };
59
+ const results = await ReadChanges(table.changes(), async () => {
60
+ inserted = await table.insert(newDocument);
61
+ });
62
+ (0, chai_1.expect)(results).to.be.an("array").of.length(1);
63
+ (0, chai_1.expect)(results[0]).to.have.property("changeType", "added");
64
+ (0, chai_1.expect)(results[0])
65
+ .to.have.property("newValue")
66
+ .that.deep.include(newDocument);
67
+ }
68
+ async function UpdateEventTest() {
69
+ const results = await ReadChanges(table.filter((doc) => doc.key("car").eq("Renault")).changes(), async () => {
70
+ await table
71
+ .filter((doc) => doc.key("car").eq("Renault"))
72
+ .update({ price: 0 });
73
+ });
74
+ (0, chai_1.expect)(results).to.be.an("array").of.length(2);
75
+ for (const entry of results) {
76
+ (0, chai_1.expect)(entry).to.have.property("changeType", "modified");
77
+ (0, chai_1.expect)(entry).to.have.property("newValue").that.has.property("price", 0);
78
+ }
79
+ }
80
+ async function DeleteEventTest() {
81
+ const results = await ReadChanges(table.changes(), async () => {
82
+ await table.get(inserted[0]).delete();
83
+ });
84
+ (0, chai_1.expect)(results).to.be.an("array").of.length(1);
85
+ (0, chai_1.expect)(results[0]).to.have.property("changeType", "removed");
86
+ (0, chai_1.expect)(results[0])
87
+ .to.have.property("oldValue")
88
+ .that.has.property("_id", inserted[0]);
89
+ }
90
+ //# sourceMappingURL=change_feeds.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change_feeds.test.js","sourceRoot":"","sources":["../../src/tests/change_feeds.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./orders";
2
+ export * from "./products";
3
+ export * from "./users";
4
+ export * from "./vehicles";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./orders"), exports);
18
+ __exportStar(require("./products"), exports);
19
+ __exportStar(require("./users"), exports);
20
+ __exportStar(require("./vehicles"), exports);
21
+ //TODO: Make a coherent dataset
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tests/datasets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,6CAA2B;AAE3B,+BAA+B"}
@@ -0,0 +1,62 @@
1
+ export type OrderItem = {
2
+ _id?: string;
3
+ name?: string;
4
+ sku?: string;
5
+ productSku?: string;
6
+ productName?: string;
7
+ price?: number;
8
+ unitPrice?: number;
9
+ quantity: number;
10
+ totalPrice?: number;
11
+ category: string;
12
+ };
13
+ export type Order = {
14
+ _id?: string;
15
+ orderId: string;
16
+ customerName?: string;
17
+ customerEmail?: string;
18
+ customerId?: string;
19
+ customer?: {
20
+ email: string;
21
+ name: string;
22
+ };
23
+ deliveryType?: string;
24
+ orderDate: Date;
25
+ totalAmount: number;
26
+ isPaid: boolean;
27
+ status?: string;
28
+ items?: OrderItem[];
29
+ caddy?: OrderItem[];
30
+ productSku?: string;
31
+ quantity?: number;
32
+ totalPrice?: number;
33
+ metadata?: {
34
+ source?: string;
35
+ priority?: number;
36
+ };
37
+ };
38
+ export declare const Order: {
39
+ fields: {
40
+ orderId: string;
41
+ customerName: string;
42
+ customerEmail: string;
43
+ customerId: string;
44
+ customer: string;
45
+ deliveryType: string;
46
+ orderDate: string;
47
+ totalAmount: string;
48
+ isPaid: string;
49
+ status: string;
50
+ items: string;
51
+ caddy: string;
52
+ productSku: string;
53
+ quantity: string;
54
+ totalPrice: string;
55
+ metadata: string;
56
+ };
57
+ indexes: {
58
+ customerId: {};
59
+ };
60
+ };
61
+ export declare const orders: Order[];
62
+ export declare function getUniqueOrders(): Order[];
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orders = exports.Order = void 0;
4
+ exports.getUniqueOrders = getUniqueOrders;
5
+ exports.Order = {
6
+ fields: {
7
+ orderId: "string",
8
+ customerName: "string",
9
+ customerEmail: "string",
10
+ customerId: "string",
11
+ customer: "object",
12
+ deliveryType: "string",
13
+ orderDate: "Date",
14
+ totalAmount: "number",
15
+ isPaid: "boolean",
16
+ status: "string",
17
+ items: "object[]",
18
+ caddy: "object[]",
19
+ productSku: "string",
20
+ quantity: "number",
21
+ totalPrice: "number",
22
+ metadata: "object",
23
+ },
24
+ indexes: {
25
+ customerId: {},
26
+ },
27
+ };
28
+ exports.orders = [
29
+ {
30
+ orderId: "ORD-001",
31
+ customerName: "Antoine",
32
+ customerEmail: "antoine@example.com",
33
+ customer: {
34
+ email: "antoine@example.com",
35
+ name: "Antoine",
36
+ },
37
+ deliveryType: "express",
38
+ orderDate: new Date("2024-01-15"),
39
+ caddy: [
40
+ { name: "Laptop", price: 1200, quantity: 1, category: "electronics" },
41
+ { name: "Mouse", price: 25, quantity: 2, category: "accessories" },
42
+ ],
43
+ items: [
44
+ { sku: "LAPTOP-001", quantity: 1, category: "electronics" },
45
+ { sku: "BOOK-001", quantity: 2, category: "books" },
46
+ ],
47
+ totalAmount: 1250,
48
+ totalPrice: 1250,
49
+ isPaid: true,
50
+ status: "completed",
51
+ productSku: "LAPTOP-001",
52
+ quantity: 1,
53
+ metadata: {
54
+ source: "web",
55
+ priority: 1,
56
+ },
57
+ },
58
+ {
59
+ orderId: "ORD-002",
60
+ customerName: "Alice",
61
+ customerEmail: "alice@example.com",
62
+ customer: {
63
+ email: "alice@example.com",
64
+ name: "Alice",
65
+ },
66
+ deliveryType: "standard",
67
+ orderDate: new Date("2024-01-16"),
68
+ caddy: [
69
+ { name: "Book", price: 15, quantity: 3, category: "books" },
70
+ { name: "Pen", price: 5, quantity: 5, category: "office" },
71
+ ],
72
+ items: [{ sku: "PHONE-001", quantity: 1, category: "electronics" }],
73
+ totalAmount: 70,
74
+ totalPrice: 70,
75
+ isPaid: false,
76
+ status: "pending",
77
+ productSku: "BOOK-001",
78
+ quantity: 2,
79
+ metadata: {
80
+ source: "mobile",
81
+ priority: 2,
82
+ },
83
+ },
84
+ {
85
+ orderId: "ORD-003",
86
+ customerName: "Camille",
87
+ customerEmail: "camille@example.com",
88
+ customer: {
89
+ email: "camille@example.com",
90
+ name: "Camille",
91
+ },
92
+ deliveryType: "express",
93
+ orderDate: new Date("2024-01-17"),
94
+ caddy: [
95
+ { name: "Phone", price: 800, quantity: 1, category: "electronics" },
96
+ { name: "Case", price: 20, quantity: 1, category: "accessories" },
97
+ { name: "Charger", price: 30, quantity: 2, category: "accessories" },
98
+ ],
99
+ items: [
100
+ { sku: "BOOK-001", quantity: 1, category: "books" },
101
+ { sku: "LAPTOP-001", quantity: 1, category: "electronics" },
102
+ ],
103
+ totalAmount: 880,
104
+ totalPrice: 880,
105
+ isPaid: true,
106
+ status: "completed",
107
+ productSku: "PHONE-001",
108
+ quantity: 1,
109
+ metadata: {
110
+ source: "web",
111
+ priority: 1,
112
+ },
113
+ },
114
+ {
115
+ orderId: "ORD-004",
116
+ customerName: "Dominique",
117
+ customerEmail: "dominique@example.com",
118
+ deliveryType: "standard",
119
+ orderDate: new Date("2024-01-18"),
120
+ caddy: [
121
+ { name: "Tablet", price: 500, quantity: 1, category: "electronics" },
122
+ { name: "Keyboard", price: 80, quantity: 1, category: "accessories" },
123
+ ],
124
+ totalAmount: 580,
125
+ totalPrice: 580,
126
+ isPaid: true,
127
+ productSku: "BOOK-001",
128
+ quantity: 1,
129
+ metadata: {
130
+ source: "store",
131
+ priority: 3,
132
+ },
133
+ },
134
+ {
135
+ orderId: "ORD-005",
136
+ customerName: "Emilie",
137
+ customerEmail: "emilie@example.com",
138
+ deliveryType: "express",
139
+ orderDate: new Date("2024-01-19"),
140
+ caddy: [
141
+ { name: "Monitor", price: 300, quantity: 2, category: "electronics" },
142
+ { name: "Cable", price: 10, quantity: 4, category: "accessories" },
143
+ ],
144
+ totalAmount: 640,
145
+ totalPrice: 640,
146
+ isPaid: false,
147
+ productSku: "PHONE-001",
148
+ quantity: 1,
149
+ metadata: {
150
+ source: "web",
151
+ priority: 2,
152
+ },
153
+ },
154
+ ];
155
+ function getUniqueOrders() {
156
+ return exports.orders;
157
+ }
158
+ //# sourceMappingURL=orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../src/tests/datasets/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export type Product = {
2
+ _id?: string;
3
+ sku: string;
4
+ name: string;
5
+ description?: string;
6
+ price: number;
7
+ category: string;
8
+ brand?: string;
9
+ inStock?: boolean;
10
+ weight?: number;
11
+ dimensions?: {
12
+ length?: number;
13
+ width?: number;
14
+ height?: number;
15
+ };
16
+ tags?: string[];
17
+ metadata?: {
18
+ manufacturer?: string;
19
+ warranty?: string;
20
+ rating?: number;
21
+ };
22
+ };
23
+ export declare const Product: {
24
+ fields: {
25
+ sku: string;
26
+ name: string;
27
+ description: string;
28
+ price: string;
29
+ category: string;
30
+ brand: string;
31
+ inStock: string;
32
+ weight: string;
33
+ dimensions: {
34
+ length: string;
35
+ width: string;
36
+ height: string;
37
+ };
38
+ tags: string;
39
+ metadata: {
40
+ manufacturer: string;
41
+ warranty: string;
42
+ rating: string;
43
+ };
44
+ };
45
+ indexes: {};
46
+ };
47
+ export declare const products: Product[];
48
+ export declare function getUniqueProducts(): Product[];
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.products = exports.Product = void 0;
4
+ exports.getUniqueProducts = getUniqueProducts;
5
+ exports.Product = {
6
+ fields: {
7
+ sku: "string",
8
+ name: "string",
9
+ description: "string",
10
+ price: "number",
11
+ category: "string",
12
+ brand: "string",
13
+ inStock: "boolean",
14
+ weight: "number",
15
+ dimensions: {
16
+ length: "number",
17
+ width: "number",
18
+ height: "number",
19
+ },
20
+ tags: "string[]",
21
+ metadata: {
22
+ manufacturer: "string",
23
+ warranty: "string",
24
+ rating: "number",
25
+ },
26
+ },
27
+ indexes: {},
28
+ };
29
+ exports.products = [
30
+ {
31
+ sku: "LAPTOP-001",
32
+ name: "Asell f00",
33
+ description: "High-performance laptop for professionals",
34
+ price: 1200,
35
+ category: "electronics",
36
+ brand: "Asell",
37
+ inStock: true,
38
+ weight: 2.5,
39
+ dimensions: {
40
+ length: 35,
41
+ width: 24,
42
+ height: 2,
43
+ },
44
+ tags: ["laptop", "professional", "high-performance"],
45
+ metadata: {
46
+ manufacturer: "Asell Inc.",
47
+ warranty: "2 years",
48
+ rating: 4.5,
49
+ },
50
+ },
51
+ {
52
+ sku: "BOOK-001",
53
+ name: "Programming Fundamentals",
54
+ description: "Essential guide to programming concepts",
55
+ price: 25,
56
+ category: "books",
57
+ brand: "TechBooks",
58
+ inStock: true,
59
+ weight: 0.8,
60
+ dimensions: {
61
+ length: 20,
62
+ width: 15,
63
+ height: 3,
64
+ },
65
+ tags: ["programming", "education", "beginner"],
66
+ metadata: {
67
+ manufacturer: "TechBooks Publishing",
68
+ warranty: "N/A",
69
+ rating: 4.2,
70
+ },
71
+ },
72
+ {
73
+ sku: "PHONE-001",
74
+ name: "SmartPhone Pro",
75
+ description: "Latest smartphone with advanced features",
76
+ price: 800,
77
+ category: "electronics",
78
+ brand: "TechCorp",
79
+ inStock: false,
80
+ weight: 0.2,
81
+ dimensions: {
82
+ length: 15,
83
+ width: 7,
84
+ height: 1,
85
+ },
86
+ tags: ["smartphone", "mobile", "advanced"],
87
+ metadata: {
88
+ manufacturer: "TechCorp Industries",
89
+ warranty: "1 year",
90
+ rating: 4.8,
91
+ },
92
+ },
93
+ {
94
+ sku: "MOUSE-001",
95
+ name: "Wireless Mouse",
96
+ description: "Ergonomic wireless mouse for comfort",
97
+ price: 30,
98
+ category: "accessories",
99
+ brand: "ComfortTech",
100
+ inStock: true,
101
+ weight: 0.1,
102
+ dimensions: {
103
+ length: 12,
104
+ width: 6,
105
+ height: 4,
106
+ },
107
+ tags: ["mouse", "wireless", "ergonomic"],
108
+ metadata: {
109
+ manufacturer: "ComfortTech Solutions",
110
+ warranty: "1 year",
111
+ rating: 4.0,
112
+ },
113
+ },
114
+ {
115
+ sku: "KEYBOARD-001",
116
+ name: "Mechanical Keyboard",
117
+ description: "Premium mechanical keyboard for typing enthusiasts",
118
+ price: 150,
119
+ category: "accessories",
120
+ brand: "TypeMaster",
121
+ inStock: true,
122
+ weight: 1.2,
123
+ dimensions: {
124
+ length: 45,
125
+ width: 15,
126
+ height: 3,
127
+ },
128
+ tags: ["keyboard", "mechanical", "premium"],
129
+ metadata: {
130
+ manufacturer: "TypeMaster Corp",
131
+ warranty: "3 years",
132
+ rating: 4.7,
133
+ },
134
+ },
135
+ ];
136
+ function getUniqueProducts() {
137
+ return exports.products;
138
+ }
139
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/tests/datasets/products.ts"],"names":[],"mappings":"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"}