@b2bc-devkit/sheetorm 1.2.3 → 1.2.4

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 (149) hide show
  1. package/dist/npm/SheetOrm.d.ts +41 -0
  2. package/dist/npm/SheetOrm.d.ts.map +1 -0
  3. package/dist/npm/SheetOrm.js +41 -0
  4. package/dist/npm/SheetOrm.js.map +1 -0
  5. package/dist/npm/core/Decorators.d.ts +145 -0
  6. package/dist/npm/core/Decorators.d.ts.map +1 -0
  7. package/dist/npm/core/Decorators.js +226 -0
  8. package/dist/npm/core/Decorators.js.map +1 -0
  9. package/dist/npm/core/Record.d.ts +184 -0
  10. package/dist/npm/core/Record.d.ts.map +1 -0
  11. package/dist/npm/core/Record.js +321 -0
  12. package/dist/npm/core/Record.js.map +1 -0
  13. package/dist/npm/core/RecordConstructor.d.ts +20 -0
  14. package/dist/npm/core/RecordConstructor.d.ts.map +1 -0
  15. package/dist/npm/core/RecordConstructor.js +2 -0
  16. package/dist/npm/core/RecordConstructor.js.map +1 -0
  17. package/dist/npm/core/RecordStatic.d.ts +25 -0
  18. package/dist/npm/core/RecordStatic.d.ts.map +1 -0
  19. package/dist/npm/core/RecordStatic.js +2 -0
  20. package/dist/npm/core/RecordStatic.js.map +1 -0
  21. package/dist/npm/core/Registry.d.ts +101 -0
  22. package/dist/npm/core/Registry.d.ts.map +1 -0
  23. package/dist/npm/core/Registry.js +231 -0
  24. package/dist/npm/core/Registry.js.map +1 -0
  25. package/dist/npm/core/SheetRepository.d.ts +331 -0
  26. package/dist/npm/core/SheetRepository.d.ts.map +1 -0
  27. package/dist/npm/core/SheetRepository.js +1041 -0
  28. package/dist/npm/core/SheetRepository.js.map +1 -0
  29. package/dist/npm/core/cache/MemoryCache.d.ts +67 -0
  30. package/dist/npm/core/cache/MemoryCache.d.ts.map +1 -0
  31. package/dist/npm/core/cache/MemoryCache.js +112 -0
  32. package/dist/npm/core/cache/MemoryCache.js.map +1 -0
  33. package/dist/npm/core/types/Entity.d.ts +21 -0
  34. package/dist/npm/core/types/Entity.d.ts.map +1 -0
  35. package/dist/npm/core/types/Entity.js +2 -0
  36. package/dist/npm/core/types/Entity.js.map +1 -0
  37. package/dist/npm/core/types/FieldDefinition.d.ts +21 -0
  38. package/dist/npm/core/types/FieldDefinition.d.ts.map +1 -0
  39. package/dist/npm/core/types/FieldDefinition.js +2 -0
  40. package/dist/npm/core/types/FieldDefinition.js.map +1 -0
  41. package/dist/npm/core/types/FieldType.d.ts +12 -0
  42. package/dist/npm/core/types/FieldType.d.ts.map +1 -0
  43. package/dist/npm/core/types/FieldType.js +2 -0
  44. package/dist/npm/core/types/FieldType.js.map +1 -0
  45. package/dist/npm/core/types/Filter.d.ts +16 -0
  46. package/dist/npm/core/types/Filter.d.ts.map +1 -0
  47. package/dist/npm/core/types/Filter.js +2 -0
  48. package/dist/npm/core/types/Filter.js.map +1 -0
  49. package/dist/npm/core/types/FilterOperator.d.ts +16 -0
  50. package/dist/npm/core/types/FilterOperator.d.ts.map +1 -0
  51. package/dist/npm/core/types/FilterOperator.js +2 -0
  52. package/dist/npm/core/types/FilterOperator.js.map +1 -0
  53. package/dist/npm/core/types/GroupResult.d.ts +14 -0
  54. package/dist/npm/core/types/GroupResult.d.ts.map +1 -0
  55. package/dist/npm/core/types/GroupResult.js +2 -0
  56. package/dist/npm/core/types/GroupResult.js.map +1 -0
  57. package/dist/npm/core/types/ICacheProvider.d.ts +20 -0
  58. package/dist/npm/core/types/ICacheProvider.d.ts.map +1 -0
  59. package/dist/npm/core/types/ICacheProvider.js +2 -0
  60. package/dist/npm/core/types/ICacheProvider.js.map +1 -0
  61. package/dist/npm/core/types/ISheetAdapter.d.ts +53 -0
  62. package/dist/npm/core/types/ISheetAdapter.d.ts.map +1 -0
  63. package/dist/npm/core/types/ISheetAdapter.js +2 -0
  64. package/dist/npm/core/types/ISheetAdapter.js.map +1 -0
  65. package/dist/npm/core/types/ISpreadsheetAdapter.d.ts +49 -0
  66. package/dist/npm/core/types/ISpreadsheetAdapter.d.ts.map +1 -0
  67. package/dist/npm/core/types/ISpreadsheetAdapter.js +2 -0
  68. package/dist/npm/core/types/ISpreadsheetAdapter.js.map +1 -0
  69. package/dist/npm/core/types/IndexDefinition.d.ts +16 -0
  70. package/dist/npm/core/types/IndexDefinition.d.ts.map +1 -0
  71. package/dist/npm/core/types/IndexDefinition.js +2 -0
  72. package/dist/npm/core/types/IndexDefinition.js.map +1 -0
  73. package/dist/npm/core/types/LifecycleHooks.d.ts +32 -0
  74. package/dist/npm/core/types/LifecycleHooks.d.ts.map +1 -0
  75. package/dist/npm/core/types/LifecycleHooks.js +2 -0
  76. package/dist/npm/core/types/LifecycleHooks.js.map +1 -0
  77. package/dist/npm/core/types/PaginatedResult.d.ts +18 -0
  78. package/dist/npm/core/types/PaginatedResult.d.ts.map +1 -0
  79. package/dist/npm/core/types/PaginatedResult.js +2 -0
  80. package/dist/npm/core/types/PaginatedResult.js.map +1 -0
  81. package/dist/npm/core/types/QueryOptions.d.ts +21 -0
  82. package/dist/npm/core/types/QueryOptions.d.ts.map +1 -0
  83. package/dist/npm/core/types/QueryOptions.js +2 -0
  84. package/dist/npm/core/types/QueryOptions.js.map +1 -0
  85. package/dist/npm/core/types/SortClause.d.ts +10 -0
  86. package/dist/npm/core/types/SortClause.d.ts.map +1 -0
  87. package/dist/npm/core/types/SortClause.js +2 -0
  88. package/dist/npm/core/types/SortClause.js.map +1 -0
  89. package/dist/npm/core/types/SystemColumns.d.ts +16 -0
  90. package/dist/npm/core/types/SystemColumns.d.ts.map +1 -0
  91. package/dist/npm/core/types/SystemColumns.js +16 -0
  92. package/dist/npm/core/types/SystemColumns.js.map +1 -0
  93. package/dist/npm/core/types/TableSchema.d.ts +24 -0
  94. package/dist/npm/core/types/TableSchema.d.ts.map +1 -0
  95. package/dist/npm/core/types/TableSchema.js +2 -0
  96. package/dist/npm/core/types/TableSchema.js.map +1 -0
  97. package/dist/npm/index/IndexMeta.d.ts +16 -0
  98. package/dist/npm/index/IndexMeta.d.ts.map +1 -0
  99. package/dist/npm/index/IndexMeta.js +2 -0
  100. package/dist/npm/index/IndexMeta.js.map +1 -0
  101. package/dist/npm/index/IndexStore.d.ts +397 -0
  102. package/dist/npm/index/IndexStore.d.ts.map +1 -0
  103. package/dist/npm/index/IndexStore.js +1102 -0
  104. package/dist/npm/index/IndexStore.js.map +1 -0
  105. package/dist/npm/index.d.ts +117 -0
  106. package/dist/npm/index.d.ts.map +1 -0
  107. package/dist/npm/index.js +371 -0
  108. package/dist/npm/index.js.map +1 -0
  109. package/dist/npm/query/Query.d.ts +176 -0
  110. package/dist/npm/query/Query.d.ts.map +1 -0
  111. package/dist/npm/query/Query.js +270 -0
  112. package/dist/npm/query/Query.js.map +1 -0
  113. package/dist/npm/query/QueryEngine.d.ts +140 -0
  114. package/dist/npm/query/QueryEngine.d.ts.map +1 -0
  115. package/dist/npm/query/QueryEngine.js +453 -0
  116. package/dist/npm/query/QueryEngine.js.map +1 -0
  117. package/dist/npm/storage/GoogleSheetAdapter.d.ts +119 -0
  118. package/dist/npm/storage/GoogleSheetAdapter.d.ts.map +1 -0
  119. package/dist/npm/storage/GoogleSheetAdapter.js +238 -0
  120. package/dist/npm/storage/GoogleSheetAdapter.js.map +1 -0
  121. package/dist/npm/storage/GoogleSpreadsheetAdapter.d.ts +71 -0
  122. package/dist/npm/storage/GoogleSpreadsheetAdapter.d.ts.map +1 -0
  123. package/dist/npm/storage/GoogleSpreadsheetAdapter.js +131 -0
  124. package/dist/npm/storage/GoogleSpreadsheetAdapter.js.map +1 -0
  125. package/dist/npm/testing/ParityCatalog.d.ts +38 -0
  126. package/dist/npm/testing/ParityCatalog.d.ts.map +1 -0
  127. package/dist/npm/testing/ParityCatalog.js +407 -0
  128. package/dist/npm/testing/ParityCatalog.js.map +1 -0
  129. package/dist/npm/testing/RuntimeBenchmark.d.ts +37 -0
  130. package/dist/npm/testing/RuntimeBenchmark.d.ts.map +1 -0
  131. package/dist/npm/testing/RuntimeBenchmark.js +449 -0
  132. package/dist/npm/testing/RuntimeBenchmark.js.map +1 -0
  133. package/dist/npm/testing/RuntimeParity.d.ts +66 -0
  134. package/dist/npm/testing/RuntimeParity.d.ts.map +1 -0
  135. package/dist/npm/testing/RuntimeParity.js +4193 -0
  136. package/dist/npm/testing/RuntimeParity.js.map +1 -0
  137. package/dist/npm/utils/Serialization.d.ts +111 -0
  138. package/dist/npm/utils/Serialization.d.ts.map +1 -0
  139. package/dist/npm/utils/Serialization.js +281 -0
  140. package/dist/npm/utils/Serialization.js.map +1 -0
  141. package/dist/npm/utils/SheetOrmLogger.d.ts +31 -0
  142. package/dist/npm/utils/SheetOrmLogger.d.ts.map +1 -0
  143. package/dist/npm/utils/SheetOrmLogger.js +42 -0
  144. package/dist/npm/utils/SheetOrmLogger.js.map +1 -0
  145. package/dist/npm/utils/Uuid.d.ts +29 -0
  146. package/dist/npm/utils/Uuid.d.ts.map +1 -0
  147. package/dist/npm/utils/Uuid.js +86 -0
  148. package/dist/npm/utils/Uuid.js.map +1 -0
  149. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexStore.js","sourceRoot":"","sources":["../../../src/index/IndexStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @module index
3
+ *
4
+ * Google Apps Script (GAS) entry point for the SheetORM library.
5
+ *
6
+ * This file is the root module consumed by the Vite/Webpack build that
7
+ * produces the `Code.js` bundle deployed to GAS. It exposes:
8
+ *
9
+ * - **GasEntrypoints** — a single exported class whose static members
10
+ * are the public API surface visible inside the GAS environment.
11
+ * GAS functions (`demoCreate`, `runTestsStageOne`, etc.) are mapped
12
+ * to `GasEntrypoints.*` methods.
13
+ *
14
+ * - **DemoCar** — an internal demo model (not exported) used by the
15
+ * CRUD demo methods to showcase SheetORM's capabilities in the
16
+ * GAS script editor / execution log.
17
+ *
18
+ * Internal types, classes, and utilities are bundled but **not** surfaced
19
+ * as GAS menu items.
20
+ */
21
+ import { Decorators } from "./core/Decorators.js";
22
+ import { Record } from "./core/Record.js";
23
+ import { Registry } from "./core/Registry.js";
24
+ import { IndexStore } from "./index/IndexStore.js";
25
+ import { Query } from "./query/Query.js";
26
+ import { SheetOrmLogger } from "./utils/SheetOrmLogger.js";
27
+ /**
28
+ * Single public export of this module.
29
+ *
30
+ * Every static member becomes a top-level symbol in the GAS runtime once
31
+ * the Vite build maps them via `globalThis.*` assignments in `Code.js`.
32
+ *
33
+ * **Core API classes** — consumers use these to define models and queries:
34
+ * - `Record` — ActiveRecord base class
35
+ * - `Query` — fluent query builder
36
+ * - `Decorators` — `@Field`, `@Indexed`, `@Required`
37
+ * - `IndexStore` — secondary-index manager with n-gram search
38
+ * - `Registry` — singleton class registry
39
+ * - `SheetOrmLogger` — verbose logging toggle
40
+ *
41
+ * **Test / benchmark runners** — callable from the GAS editor:
42
+ * - `runTestsStageOne()` … `runTestsStageFour()` — staged parity tests
43
+ * - `validateTests()` — validate parity results
44
+ * - `runBenchmark()` — performance benchmark
45
+ *
46
+ * **Utility functions**:
47
+ * - `removeAllSheets()` — deletes every sheet in the active spreadsheet
48
+ *
49
+ * **CRUD demos**:
50
+ * - `demoCreate()`, `demoRead()`, `demoUpdate()`, `demoDelete()`
51
+ */
52
+ export declare class GasEntrypoints {
53
+ /** ActiveRecord base class. */
54
+ static readonly Record: typeof Record;
55
+ /** Fluent query builder. */
56
+ static readonly Query: typeof Query;
57
+ /** Property decorators (`@Field`, `@Indexed`, `@Required`). */
58
+ static readonly Decorators: typeof Decorators;
59
+ /** Secondary-index manager with n-gram text search. */
60
+ static readonly IndexStore: typeof IndexStore;
61
+ /** Singleton entity-class registry. */
62
+ static readonly Registry: typeof Registry;
63
+ /** Verbose logger — set `SheetOrmLogger.verbose = true` for API-call traces. */
64
+ static readonly SheetOrmLogger: typeof SheetOrmLogger;
65
+ /** Run stage-one parity tests (basic CRUD + query). */
66
+ static runTestsStageOne(): void;
67
+ /** Run stage-two parity tests (serialization, uuid). */
68
+ static runTestsStageTwo(): void;
69
+ /** Run stage-three parity tests (record). */
70
+ static runTestsStageThree(): void;
71
+ /** Run stage-four parity tests (sheet-repository). */
72
+ static runTestsStageFour(): void;
73
+ /** Validate all parity test results collected across stages. */
74
+ static validateTests(): void;
75
+ /** Execute the performance benchmark suite. */
76
+ static runBenchmark(): void;
77
+ /** Delete every sheet in the active spreadsheet (destructive — use with caution). */
78
+ static removeAllSheets(): void;
79
+ /**
80
+ * demoCreate — saves 5 DemoCar records to the "DemoCar" sheet.
81
+ *
82
+ * Run this function first (from the GAS editor's function selector)
83
+ * to populate the table. Each car is created via `new DemoCar()`,
84
+ * fields are assigned, and `car.save()` persists it to the sheet.
85
+ * Console output mirrors the code for educational purposes.
86
+ */
87
+ static demoCreate(): void;
88
+ /**
89
+ * demoRead — demonstrates querying the DemoCar table.
90
+ *
91
+ * Shows five query styles:
92
+ * 1. `DemoCar.find()` — fetch all records.
93
+ * 2. `DemoCar.where(...)` — filter by make ("Toyota").
94
+ * 3. `Query.from(DemoCar).where(...).orderBy(...)` — recent cars sorted by price desc.
95
+ * 4. `Query.from(DemoCar).where(...)` — cheap cars (price < 35 000).
96
+ * 5. `DemoCar.count()` — total row count.
97
+ */
98
+ static demoRead(): void;
99
+ /**
100
+ * demoUpdate — finds each Toyota and raises its price by 5 %.
101
+ *
102
+ * Demonstrates three update patterns:
103
+ * 1. Filter Toyotas → mutate price & colour → save each.
104
+ * 2. Filter BMWs → bump year, discount price, change colour → save each.
105
+ * 3. Fetch all → append "(updated)" to model name → save each.
106
+ */
107
+ static demoUpdate(): void;
108
+ /**
109
+ * demoDelete — removes all Honda and Ford records from the sheet.
110
+ *
111
+ * Uses `Query.from(DemoCar).where(...).or(...)` to select multiple
112
+ * makes, then iterates and calls `car.delete()` on each.
113
+ * Before/after row counts are printed for verification.
114
+ */
115
+ static demoDelete(): void;
116
+ }
117
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAqC3D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc;IACzB,+BAA+B;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAU;IAChC,4BAA4B;IAC5B,MAAM,CAAC,QAAQ,CAAC,KAAK,eAAS;IAC9B,+DAA+D;IAC/D,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAc;IACxC,uDAAuD;IACvD,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAc;IACxC,uCAAuC;IACvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,kBAAY;IACpC,gFAAgF;IAChF,MAAM,CAAC,QAAQ,CAAC,cAAc,wBAAkB;IAIhD,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B,wDAAwD;IACxD,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B,6CAA6C;IAC7C,MAAM,CAAC,kBAAkB,IAAI,IAAI;IAIjC,sDAAsD;IACtD,MAAM,CAAC,iBAAiB,IAAI,IAAI;IAIhC,gEAAgE;IAChE,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B,+CAA+C;IAC/C,MAAM,CAAC,YAAY,IAAI,IAAI;IAI3B,qFAAqF;IACrF,MAAM,CAAC,eAAe,IAAI,IAAI;IAM9B;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IA8EzB;;;;;;;;;OASG;IACH,MAAM,CAAC,QAAQ,IAAI,IAAI;IAwCvB;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IA4EzB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CA8B1B"}
@@ -0,0 +1,371 @@
1
+ /**
2
+ * @module index
3
+ *
4
+ * Google Apps Script (GAS) entry point for the SheetORM library.
5
+ *
6
+ * This file is the root module consumed by the Vite/Webpack build that
7
+ * produces the `Code.js` bundle deployed to GAS. It exposes:
8
+ *
9
+ * - **GasEntrypoints** — a single exported class whose static members
10
+ * are the public API surface visible inside the GAS environment.
11
+ * GAS functions (`demoCreate`, `runTestsStageOne`, etc.) are mapped
12
+ * to `GasEntrypoints.*` methods.
13
+ *
14
+ * - **DemoCar** — an internal demo model (not exported) used by the
15
+ * CRUD demo methods to showcase SheetORM's capabilities in the
16
+ * GAS script editor / execution log.
17
+ *
18
+ * Internal types, classes, and utilities are bundled but **not** surfaced
19
+ * as GAS menu items.
20
+ */
21
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
22
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
24
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
25
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
26
+ };
27
+ // ─── Imports ──────────────────────────────────────────────────────────────────
28
+ import { Decorators } from "./core/Decorators.js";
29
+ import { Record } from "./core/Record.js";
30
+ import { Registry } from "./core/Registry.js";
31
+ import { IndexStore } from "./index/IndexStore.js";
32
+ import { Query } from "./query/Query.js";
33
+ import { GoogleSpreadsheetAdapter } from "./storage/GoogleSpreadsheetAdapter.js";
34
+ import { RuntimeBenchmark } from "./testing/RuntimeBenchmark.js";
35
+ import { RuntimeParity } from "./testing/RuntimeParity.js";
36
+ import { SheetOrmLogger } from "./utils/SheetOrmLogger.js";
37
+ // ─── Demo model (internal, not exported) ──────────────────────────────────────
38
+ /** Destructure decorator functions for concise property annotations. */
39
+ const { Indexed, Required, Field } = Decorators;
40
+ /**
41
+ * DemoCar — a sample entity class used by the `demoCreate`, `demoRead`,
42
+ * `demoUpdate`, and `demoDelete` methods below. Demonstrates decorators
43
+ * (`@Indexed`, `@Required`, `@Field`) and the ActiveRecord save/delete API.
44
+ *
45
+ * Not exported — exists only for in-GAS demonstration purposes.
46
+ */
47
+ class DemoCar extends Record {
48
+ constructor() {
49
+ super(...arguments);
50
+ /** Make / brand, indexed for fast lookup (e.g. "Toyota"). */
51
+ this.make = "";
52
+ /** Model name, required — save will fail if empty (e.g. "Corolla"). */
53
+ this.model = "";
54
+ /** Model year, stored as a number in the sheet. */
55
+ this.year = 0;
56
+ /** Body colour — plain string field, no special annotation. */
57
+ this.color = "";
58
+ /** Retail price in USD, stored as a number. */
59
+ this.price = 0;
60
+ }
61
+ }
62
+ __decorate([
63
+ Indexed()
64
+ ], DemoCar.prototype, "make", void 0);
65
+ __decorate([
66
+ Required()
67
+ ], DemoCar.prototype, "model", void 0);
68
+ __decorate([
69
+ Field({ type: "number" })
70
+ ], DemoCar.prototype, "year", void 0);
71
+ __decorate([
72
+ Field({ type: "number" })
73
+ ], DemoCar.prototype, "price", void 0);
74
+ // ─── GasEntrypoints ───────────────────────────────────────────────────────────
75
+ /**
76
+ * Single public export of this module.
77
+ *
78
+ * Every static member becomes a top-level symbol in the GAS runtime once
79
+ * the Vite build maps them via `globalThis.*` assignments in `Code.js`.
80
+ *
81
+ * **Core API classes** — consumers use these to define models and queries:
82
+ * - `Record` — ActiveRecord base class
83
+ * - `Query` — fluent query builder
84
+ * - `Decorators` — `@Field`, `@Indexed`, `@Required`
85
+ * - `IndexStore` — secondary-index manager with n-gram search
86
+ * - `Registry` — singleton class registry
87
+ * - `SheetOrmLogger` — verbose logging toggle
88
+ *
89
+ * **Test / benchmark runners** — callable from the GAS editor:
90
+ * - `runTestsStageOne()` … `runTestsStageFour()` — staged parity tests
91
+ * - `validateTests()` — validate parity results
92
+ * - `runBenchmark()` — performance benchmark
93
+ *
94
+ * **Utility functions**:
95
+ * - `removeAllSheets()` — deletes every sheet in the active spreadsheet
96
+ *
97
+ * **CRUD demos**:
98
+ * - `demoCreate()`, `demoRead()`, `demoUpdate()`, `demoDelete()`
99
+ */
100
+ export class GasEntrypoints {
101
+ // ─── Parity test runners ────────────────────────────────────────────────
102
+ /** Run stage-one parity tests (basic CRUD + query). */
103
+ static runTestsStageOne() {
104
+ RuntimeParity.runStageOne();
105
+ }
106
+ /** Run stage-two parity tests (serialization, uuid). */
107
+ static runTestsStageTwo() {
108
+ RuntimeParity.runStageTwo();
109
+ }
110
+ /** Run stage-three parity tests (record). */
111
+ static runTestsStageThree() {
112
+ RuntimeParity.runStageThree();
113
+ }
114
+ /** Run stage-four parity tests (sheet-repository). */
115
+ static runTestsStageFour() {
116
+ RuntimeParity.runStageFour();
117
+ }
118
+ /** Validate all parity test results collected across stages. */
119
+ static validateTests() {
120
+ RuntimeParity.validate();
121
+ }
122
+ /** Execute the performance benchmark suite. */
123
+ static runBenchmark() {
124
+ RuntimeBenchmark.run();
125
+ }
126
+ /** Delete every sheet in the active spreadsheet (destructive — use with caution). */
127
+ static removeAllSheets() {
128
+ new GoogleSpreadsheetAdapter().removeAllSheets();
129
+ }
130
+ // ─── CRUD demos ─────────────────────────────────────────────────────────
131
+ /**
132
+ * demoCreate — saves 5 DemoCar records to the "DemoCar" sheet.
133
+ *
134
+ * Run this function first (from the GAS editor's function selector)
135
+ * to populate the table. Each car is created via `new DemoCar()`,
136
+ * fields are assigned, and `car.save()` persists it to the sheet.
137
+ * Console output mirrors the code for educational purposes.
138
+ */
139
+ static demoCreate() {
140
+ console.log("[demoCreate — START]");
141
+ // ── car1 ──────────────────────────────────────────────────────────────
142
+ console.log("\n▶ const car1 = new DemoCar();");
143
+ console.log(' car1.make = "Toyota"; car1.model = "Corolla";');
144
+ console.log(' car1.year = 2022; car1.color = "White"; car1.price = 28000;');
145
+ console.log(" car1.save();");
146
+ const car1 = new DemoCar();
147
+ car1.make = "Toyota";
148
+ car1.model = "Corolla";
149
+ car1.year = 2022;
150
+ car1.color = "White";
151
+ car1.price = 28000;
152
+ car1.save();
153
+ console.log(` → [${car1.__id}] ${car1.make} ${car1.model} ${car1.color} $${car1.price}`);
154
+ // ── car2 ──────────────────────────────────────────────────────────────
155
+ console.log("\n▶ const car2 = new DemoCar();");
156
+ console.log(' car2.make = "BMW"; car2.model = "X5";');
157
+ console.log(' car2.year = 2023; car2.color = "Black"; car2.price = 85000;');
158
+ console.log(" car2.save();");
159
+ const car2 = new DemoCar();
160
+ car2.make = "BMW";
161
+ car2.model = "X5";
162
+ car2.year = 2023;
163
+ car2.color = "Black";
164
+ car2.price = 85000;
165
+ car2.save();
166
+ console.log(` → [${car2.__id}] ${car2.make} ${car2.model} ${car2.color} $${car2.price}`);
167
+ // ── car3 ──────────────────────────────────────────────────────────────
168
+ console.log("\n▶ const car3 = new DemoCar();");
169
+ console.log(' car3.make = "Honda"; car3.model = "Civic";');
170
+ console.log(' car3.year = 2024; car3.color = "Red"; car3.price = 32000;');
171
+ console.log(" car3.save();");
172
+ const car3 = new DemoCar();
173
+ car3.make = "Honda";
174
+ car3.model = "Civic";
175
+ car3.year = 2024;
176
+ car3.color = "Red";
177
+ car3.price = 32000;
178
+ car3.save();
179
+ console.log(` → [${car3.__id}] ${car3.make} ${car3.model} ${car3.color} $${car3.price}`);
180
+ // ── car4 ──────────────────────────────────────────────────────────────
181
+ console.log("\n▶ const car4 = new DemoCar();");
182
+ console.log(' car4.make = "Ford"; car4.model = "Mustang";');
183
+ console.log(' car4.year = 2023; car4.color = "Blue"; car4.price = 57000;');
184
+ console.log(" car4.save();");
185
+ const car4 = new DemoCar();
186
+ car4.make = "Ford";
187
+ car4.model = "Mustang";
188
+ car4.year = 2023;
189
+ car4.color = "Blue";
190
+ car4.price = 57000;
191
+ car4.save();
192
+ console.log(` → [${car4.__id}] ${car4.make} ${car4.model} ${car4.color} $${car4.price}`);
193
+ // ── car5 ──────────────────────────────────────────────────────────────
194
+ console.log("\n▶ const car5 = new DemoCar();");
195
+ console.log(' car5.make = "Toyota"; car5.model = "Camry";');
196
+ console.log(' car5.year = 2021; car5.color = "Silver"; car5.price = 34000;');
197
+ console.log(" car5.save();");
198
+ const car5 = new DemoCar();
199
+ car5.make = "Toyota";
200
+ car5.model = "Camry";
201
+ car5.year = 2021;
202
+ car5.color = "Silver";
203
+ car5.price = 34000;
204
+ car5.save();
205
+ console.log(` → [${car5.__id}] ${car5.make} ${car5.model} ${car5.color} $${car5.price}`);
206
+ console.log("\n▶ DemoCar.count();");
207
+ console.log(` → ${DemoCar.count()} rows in sheet`);
208
+ console.log("[demoCreate — END]");
209
+ }
210
+ /**
211
+ * demoRead — demonstrates querying the DemoCar table.
212
+ *
213
+ * Shows five query styles:
214
+ * 1. `DemoCar.find()` — fetch all records.
215
+ * 2. `DemoCar.where(...)` — filter by make ("Toyota").
216
+ * 3. `Query.from(DemoCar).where(...).orderBy(...)` — recent cars sorted by price desc.
217
+ * 4. `Query.from(DemoCar).where(...)` — cheap cars (price < 35 000).
218
+ * 5. `DemoCar.count()` — total row count.
219
+ */
220
+ static demoRead() {
221
+ console.log("[demoRead — START]");
222
+ // 1. All records
223
+ console.log("\n▶ [1] DemoCar.find()");
224
+ const all = DemoCar.find();
225
+ console.log(` → ${all.length} records:`);
226
+ for (const c of all) {
227
+ console.log(` • ${c.make} ${c.model} ${c.year} ${c.color} $${c.price}`);
228
+ }
229
+ // 2. Filter: only Toyotas
230
+ console.log('\n▶ [2] DemoCar.where("make", "=", "Toyota").execute()');
231
+ const toyotas = DemoCar.where("make", "=", "Toyota").execute();
232
+ console.log(` → ${toyotas.length} records:`);
233
+ for (const c of toyotas) {
234
+ console.log(` • ${c.model} (${c.year})`);
235
+ }
236
+ // 3. Cars from 2023 and newer, sorted by price descending
237
+ console.log('\n▶ [3] Query.from(DemoCar).where("year", ">=", 2023).orderBy("price", "desc").execute()');
238
+ const recent = Query.from(DemoCar).where("year", ">=", 2023).orderBy("price", "desc").execute();
239
+ console.log(` → ${recent.length} records:`);
240
+ for (const c of recent) {
241
+ console.log(` • ${c.make} ${c.model} $${c.price}`);
242
+ }
243
+ // 4. Cheap cars (price < 35 000)
244
+ console.log('\n▶ [4] Query.from(DemoCar).where("price", "<", 35000).execute()');
245
+ const cheap = Query.from(DemoCar).where("price", "<", 35000).execute();
246
+ console.log(` → ${cheap.length} records:`);
247
+ for (const c of cheap) {
248
+ console.log(` • ${c.make} ${c.model} $${c.price}`);
249
+ }
250
+ console.log("\n▶ [5] DemoCar.count()");
251
+ console.log(` → ${DemoCar.count()} rows total`);
252
+ console.log("[demoRead — END]");
253
+ }
254
+ /**
255
+ * demoUpdate — finds each Toyota and raises its price by 5 %.
256
+ *
257
+ * Demonstrates three update patterns:
258
+ * 1. Filter Toyotas → mutate price & colour → save each.
259
+ * 2. Filter BMWs → bump year, discount price, change colour → save each.
260
+ * 3. Fetch all → append "(updated)" to model name → save each.
261
+ */
262
+ static demoUpdate() {
263
+ console.log("[demoUpdate — START]");
264
+ // ── Step 1: raise Toyota prices by 5 % and update colour ─────────────
265
+ console.log('\n▶ [1] const toyotas = DemoCar.where("make", "=", "Toyota").execute();');
266
+ console.log(" for (const car of toyotas) {");
267
+ console.log(" car.price = Math.round(car.price * 1.05);");
268
+ console.log(' car.color = car.color === "White" ? "Pearl White" : car.color;');
269
+ console.log(" car.save();");
270
+ console.log(" }");
271
+ const toyotas = DemoCar.where("make", "=", "Toyota").execute();
272
+ if (toyotas.length === 0) {
273
+ console.log("⚠ No records found — run demoCreate first.");
274
+ return;
275
+ }
276
+ console.log(` → ${toyotas.length} Toyota(s) found:`);
277
+ for (const car of toyotas) {
278
+ const oldPrice = car.price;
279
+ const oldColor = car.color;
280
+ car.price = Math.round(car.price * 1.05);
281
+ car.color = car.color === "White" ? "Pearl White" : car.color;
282
+ car.save();
283
+ console.log(` ✎ [${car.__id}] ${car.make} ${car.model}` +
284
+ ` color: ${oldColor} → ${car.color}` +
285
+ ` price: $${oldPrice} → $${car.price}`);
286
+ }
287
+ // ── Step 2: give every BMW a model-year bump and a discount ───────────
288
+ console.log('\n▶ [2] const bmws = DemoCar.where("make", "=", "BMW").execute();');
289
+ console.log(" for (const car of bmws) {");
290
+ console.log(" car.year += 1;");
291
+ console.log(" car.price = Math.round(car.price * 0.92);");
292
+ console.log(' car.color = "Midnight Blue";');
293
+ console.log(" car.save();");
294
+ console.log(" }");
295
+ const bmws = DemoCar.where("make", "=", "BMW").execute();
296
+ console.log(` → ${bmws.length} BMW(s) found:`);
297
+ for (const car of bmws) {
298
+ const oldYear = car.year;
299
+ const oldPrice = car.price;
300
+ const oldColor = car.color;
301
+ car.year += 1;
302
+ car.price = Math.round(car.price * 0.92);
303
+ car.color = "Midnight Blue";
304
+ car.save();
305
+ console.log(` ✎ [${car.__id}] ${car.make} ${car.model}` +
306
+ ` year: ${oldYear} → ${car.year}` +
307
+ ` color: ${oldColor} → ${car.color}` +
308
+ ` price: $${oldPrice} → $${car.price}`);
309
+ }
310
+ // ── Step 3: append "(updated)" suffix to every car's model ──────────
311
+ console.log("\n▶ [3] const all = DemoCar.find();");
312
+ console.log(" for (const car of all) {");
313
+ console.log(' car.model = car.model.replace(/ \\(updated\\)$/, "") + " (updated)";');
314
+ console.log(" car.save();");
315
+ console.log(" }");
316
+ const all = DemoCar.find();
317
+ console.log(` → ${all.length} total cars:`);
318
+ for (const car of all) {
319
+ car.model = car.model.replace(/ \(updated\)$/, "") + " (updated)";
320
+ car.save();
321
+ console.log(` ✎ [${car.__id}] ${car.make} ${car.model} $${car.price} ${car.color}`);
322
+ }
323
+ console.log("\n▶ DemoCar.count()");
324
+ console.log(` → ${DemoCar.count()} rows total`);
325
+ console.log("[demoUpdate — END]");
326
+ }
327
+ /**
328
+ * demoDelete — removes all Honda and Ford records from the sheet.
329
+ *
330
+ * Uses `Query.from(DemoCar).where(...).or(...)` to select multiple
331
+ * makes, then iterates and calls `car.delete()` on each.
332
+ * Before/after row counts are printed for verification.
333
+ */
334
+ static demoDelete() {
335
+ console.log("[demoDelete — START]");
336
+ console.log("\n▶ const cars = Query.from(DemoCar)");
337
+ console.log(' .where("make", "=", "Honda")');
338
+ console.log(' .or("make", "=", "Ford")');
339
+ console.log(" .execute();");
340
+ console.log(" for (const car of cars) { car.delete(); }");
341
+ const cars = Query.from(DemoCar).where("make", "=", "Honda").or("make", "=", "Ford").execute();
342
+ if (cars.length === 0) {
343
+ console.log("⚠ No Honda / Ford records found — run demoCreate first.");
344
+ return;
345
+ }
346
+ console.log(` → ${cars.length} records found`);
347
+ console.log("\n▶ DemoCar.count();");
348
+ const before = DemoCar.count();
349
+ console.log(` → ${before} rows before delete`);
350
+ for (const car of cars) {
351
+ car.delete();
352
+ console.log(` ✗ Deleted [${car.__id}] ${car.make} ${car.model}`);
353
+ }
354
+ console.log("\n▶ DemoCar.count();");
355
+ console.log(` → ${DemoCar.count()} rows after delete`);
356
+ console.log("[demoDelete — END]");
357
+ }
358
+ }
359
+ /** ActiveRecord base class. */
360
+ GasEntrypoints.Record = Record;
361
+ /** Fluent query builder. */
362
+ GasEntrypoints.Query = Query;
363
+ /** Property decorators (`@Field`, `@Indexed`, `@Required`). */
364
+ GasEntrypoints.Decorators = Decorators;
365
+ /** Secondary-index manager with n-gram text search. */
366
+ GasEntrypoints.IndexStore = IndexStore;
367
+ /** Singleton entity-class registry. */
368
+ GasEntrypoints.Registry = Registry;
369
+ /** Verbose logger — set `SheetOrmLogger.verbose = true` for API-call traces. */
370
+ GasEntrypoints.SheetOrmLogger = SheetOrmLogger;
371
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}