@lyku/lockstep-core 0.2.1 → 0.3.0

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 (36) hide show
  1. package/LLMs.md +17 -13
  2. package/README.md +64 -126
  3. package/diagrams/generate.d.ts +10 -0
  4. package/diagrams/generate.d.ts.map +1 -0
  5. package/diagrams/generate.js +164 -0
  6. package/diagrams/generate.js.map +1 -0
  7. package/package.json +1 -1
  8. package/pipeline.svg +1 -0
  9. package/postgres/PostgresColumnModel.d.ts +2 -2
  10. package/postgres/PostgresColumnModel.d.ts.map +1 -1
  11. package/postgres/columns/numeric/Snowflake.d.ts +16 -0
  12. package/postgres/columns/numeric/Snowflake.d.ts.map +1 -0
  13. package/postgres/columns/numeric/Snowflake.js +2 -0
  14. package/postgres/columns/numeric/Snowflake.js.map +1 -0
  15. package/postgres/columns/numeric/index.d.ts +1 -0
  16. package/postgres/columns/numeric/index.d.ts.map +1 -1
  17. package/postgres/columns/numeric/index.js +1 -0
  18. package/postgres/columns/numeric/index.js.map +1 -1
  19. package/postgres/postgresColumnToTson.d.ts.map +1 -1
  20. package/postgres/postgresColumnToTson.js +1 -0
  21. package/postgres/postgresColumnToTson.js.map +1 -1
  22. package/tson/parseBON.d.ts.map +1 -1
  23. package/tson/parseBON.js +0 -15
  24. package/tson/parseBON.js.map +1 -1
  25. package/tson/stringifyBON.js +1 -1
  26. package/tson/stringifyBON.js.map +1 -1
  27. package/typeverters/postgresColumnToKysely.d.ts.map +1 -1
  28. package/typeverters/postgresColumnToKysely.js +1 -0
  29. package/typeverters/postgresColumnToKysely.js.map +1 -1
  30. package/typeverters/postgresColumnToType.d.ts.map +1 -1
  31. package/typeverters/postgresColumnToType.js +3 -0
  32. package/typeverters/postgresColumnToType.js.map +1 -1
  33. package/vitest.config.d.ts +3 -0
  34. package/vitest.config.d.ts.map +1 -0
  35. package/vitest.config.js +13 -0
  36. package/vitest.config.js.map +1 -0
package/LLMs.md CHANGED
@@ -5,19 +5,23 @@ This document is a complete mechanical reference for the `@lyku/lockstep-core` l
5
5
  ## Pipeline overview
6
6
 
7
7
  ```
8
- pg-models (PostgresRecordModel)
9
- ↓ generateJsonModels
10
- json-models (JSON schemas + TypeScript types + Insertable types)
11
- ↓ generateDbTypes
12
- db-types (Kysely Database interface)
13
-
14
- mapi-models (TsonHandlerModel)
15
- ↓ generateApiTypes
16
- mapi-types (Request/Response TypeScript types)
17
- ↓ generateHandles
18
- handles (Handler factories with validators)
19
- generateClient
20
- monolith-ts-api (Type-safe HTTP + WebSocket client with MessagePack)
8
+ Table schemas (PostgresRecordModel)
9
+ ↓ generateJsonModels (this package)
10
+ JSON schemas + TypeScript types
11
+ ↓ generateDbTypes (this package)
12
+ Kysely Database interface
13
+
14
+ API definitions (TsonHandlerModel)
15
+ ↓ generateApiTypes (this package)
16
+ Request/Response TypeScript types
17
+ ↓ generateHandles (@lyku/lockstep-handles-ts)
18
+ Handler factories with validators
19
+ generateTsClient (@lyku/lockstep-client-ts)
20
+ Type-safe HTTP client
21
+
22
+ Table schemas
23
+ ↓ detectDrift / generateMigration (@lyku/lockstep-pg)
24
+ SQL migrations
21
25
  ```
22
26
 
23
27
  ---
package/README.md CHANGED
@@ -1,23 +1,19 @@
1
1
  # @lyku/lockstep-core
2
2
 
3
- Schema-driven code generation for TypeScript. Define your database tables and API endpoints once, generate everything else: TypeScript types, Kysely types, runtime validators, handler factories, and type-safe API clients.
3
+ Schema-driven code generation for TypeScript. Define your database tables and API endpoints once, generate everything else: TypeScript types, Kysely types, runtime validators, and more.
4
4
 
5
- ## What it generates
5
+ ## The lockstep ecosystem
6
6
 
7
- ```
8
- pg-models (PostgreSQL schemas)
9
- generateJsonModels
10
- json-models (JSON schemas + TypeScript types)
11
- generateDbTypes
12
- db-types (Kysely Database interface)
13
-
14
- mapi-models (API endpoint contracts)
15
- ↓ generateApiTypes
16
- mapi-types (Request/Response TypeScript types)
17
- ↓ generateHandles
18
- handles (Handler factories + validators)
19
- ↓ generateClient
20
- monolith-ts-api (Type-safe HTTP + WebSocket client)
7
+ <!-- Generated from libs/lockstep-core/diagrams/pipeline.mmd — do not edit manually -->
8
+
9
+ <p align="center"><img src="./pipeline.svg" alt="lockstep-core pipeline diagram" /></p>
10
+
11
+ This package (`lockstep-core`) provides the schema type system, the first three generators, runtime validators, and BON serialization. Handler and client generation live in separate packages.
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @lyku/lockstep-core
21
17
  ```
22
18
 
23
19
  ## Defining schemas
@@ -25,17 +21,17 @@ monolith-ts-api (Type-safe HTTP + WebSocket client)
25
21
  ### Database tables
26
22
 
27
23
  ```typescript
28
- // libs/pg-models/src/friendship.ts
29
24
  import type { PostgresRecordModel } from '@lyku/lockstep-core';
30
25
 
31
- export const friendship = {
26
+ export const users = {
32
27
  properties: {
33
28
  id: { type: 'bigserial' },
29
+ username: { type: 'varchar', maxLength: 32 },
34
30
  created: { type: 'timestamptz', default: { sql: 'CURRENT_TIMESTAMP' } },
35
- users: { type: 'array', items: { type: 'bigint' }, minItems: 2, maxItems: 2 },
36
- deleted: { type: 'timestamptz' },
31
+ email: { type: 'text' },
32
+ banned: { type: 'boolean' },
37
33
  },
38
- required: ['created', 'id', 'users'],
34
+ required: ['id', 'username', 'created', 'email'],
39
35
  } as const satisfies PostgresRecordModel;
40
36
  ```
41
37
 
@@ -44,24 +40,20 @@ Supported column types: `bigint`, `bigserial`, `serial`, `integer`, `smallint`,
44
40
  ### API endpoints
45
41
 
46
42
  ```typescript
47
- // libs/mapi-models/src/createFriendRequest.ts
48
43
  import type { TsonHandlerModel } from '@lyku/lockstep-core';
49
44
 
50
- export const createFriendRequest = {
45
+ export const getUser = {
51
46
  request: { type: 'bigint' },
52
47
  response: {
53
48
  type: 'object',
54
- properties: { id: { type: 'bigint' } },
55
- required: ['id'],
49
+ properties: {
50
+ id: { type: 'bigint' },
51
+ username: { type: 'string' },
52
+ },
53
+ required: ['id', 'username'],
56
54
  },
57
55
  authenticated: true,
58
- throws: [400, 401, 404, 409, 500],
59
-
60
- title: 'Create Friend Request',
61
- description: 'Sends a friend request to another user.',
62
- category: 'Friendship',
63
- tags: ['social', 'friends'],
64
- since: '1.0.0',
56
+ throws: [400, 401, 404],
65
57
  } as const satisfies TsonHandlerModel;
66
58
  ```
67
59
 
@@ -91,14 +83,14 @@ The type system used by API models:
91
83
 
92
84
  String formats: `email`, `uuid`, `uri`, `ipv4`, `ipv6`, `hostname`, `date-time`.
93
85
 
94
- ## Five generators
86
+ ## Generators
95
87
 
96
- ### 1. `generateJsonModels`
88
+ ### `generateJsonModels`
97
89
 
98
90
  Converts PostgreSQL column schemas to JSON schemas and TypeScript types.
99
91
 
100
92
  ```bash
101
- from-schema generate json-models --models ./pg-models --output ./json-models
93
+ lockstep generate json-models --models ./my-tables --output ./generated/json-models
102
94
  ```
103
95
 
104
96
  Produces two type variants per table:
@@ -106,12 +98,12 @@ Produces two type variants per table:
106
98
  - Full type (all fields, optionals included)
107
99
  - Insertable type (only required fields, auto-generated columns excluded)
108
100
 
109
- ### 2. `generateDbTypes`
101
+ ### `generateDbTypes`
110
102
 
111
103
  Generates a Kysely `Database` interface from PostgreSQL table definitions.
112
104
 
113
105
  ```bash
114
- from-schema generate db-types --models ./pg-models --output ./db-types --file kysely.d.ts
106
+ lockstep generate db-types --models ./my-tables --output ./generated/db-types --file kysely.d.ts
115
107
  ```
116
108
 
117
109
  Output:
@@ -129,88 +121,29 @@ export interface Database {
129
121
  }
130
122
  ```
131
123
 
132
- ### 3. `generateApiTypes`
124
+ ### `generateApiTypes`
133
125
 
134
126
  Generates TypeScript request/response types from API models.
135
127
 
136
128
  ```bash
137
- from-schema generate api-types --models ./mapi-models --output ./mapi-types
129
+ lockstep generate api-types --models ./my-endpoints --output ./generated/api-types
138
130
  ```
139
131
 
140
132
  Output:
141
133
 
142
134
  ```typescript
143
- export type CreateFriendRequestRequest = bigint;
144
- export type CreateFriendRequestResponse = { id: bigint };
135
+ export type GetUserRequest = bigint;
136
+ export type GetUserResponse = { id: bigint; username: string };
145
137
 
146
138
  export type ApiTypes = {
147
- createFriendRequest: {
148
- request: CreateFriendRequestRequest;
149
- response: CreateFriendRequestResponse;
139
+ getUser: {
140
+ request: GetUserRequest;
141
+ response: GetUserResponse;
150
142
  };
151
143
  // ...
152
144
  };
153
145
  ```
154
146
 
155
- ### 4. `generateHandles`
156
-
157
- Generates handler factory functions with built-in request validation.
158
-
159
- ```bash
160
- from-schema generate handles \
161
- --models ./mapi-models --output ./handles \
162
- --models-pkg @myapp/mapi-models \
163
- --types-pkg @myapp/mapi-types
164
- ```
165
-
166
- Each handler factory wraps your implementation with type safety:
167
-
168
- ```typescript
169
- // Generated
170
- export declare const handleCreateFriendRequest: (handler: (request: CreateFriendRequestRequest, context: SecureHttpContext<typeof createFriendRequest>) => CreateFriendRequestResponse | Promise<CreateFriendRequestResponse>) => {
171
- readonly execute: typeof handler;
172
- readonly validator: { validate; validateOrThrow; isValid };
173
- readonly model: typeof createFriendRequest;
174
- };
175
- ```
176
-
177
- Usage in route handlers:
178
-
179
- ```typescript
180
- import { handleCreateFriendRequest } from '@lyku/handles';
181
-
182
- export const createFriendRequest = handleCreateFriendRequest(async (targetUserId, { requester }) => {
183
- // fully typed: targetUserId is bigint, requester is bigint
184
- const bond = await createBond(requester, targetUserId);
185
- return { id: bond.id };
186
- });
187
- ```
188
-
189
- ### 5. `generateClient`
190
-
191
- Generates a type-safe API client using MessagePack serialization.
192
-
193
- ```bash
194
- from-schema generate client \
195
- --models ./mapi-models --output ./client \
196
- --types-pkg @myapp/mapi-types
197
- ```
198
-
199
- The generated client supports both HTTP and WebSocket endpoints:
200
-
201
- ```typescript
202
- import { createClient } from '@myapp/client';
203
-
204
- const api = createClient({ baseUrl: 'https://api.example.com' });
205
-
206
- // HTTP — returns Promise<Response>
207
- const result = await api.createFriendRequest(456n);
208
-
209
- // WebSocket — returns StreamSocket
210
- const socket = api.subscribeToPosts({ groupId: 1n });
211
- socket.listen((post) => console.log(post));
212
- ```
213
-
214
147
  ## Handler contexts
215
148
 
216
149
  Handlers receive a typed context object based on auth requirements:
@@ -244,19 +177,16 @@ Context fields:
244
177
 
245
178
  ## Runtime validation
246
179
 
247
- Each generated handler includes validators built from the schema:
180
+ Build validators from any schema:
248
181
 
249
182
  ```typescript
250
- const handle = handleCreateUser(myHandler);
251
-
252
- // Collect all validation errors
253
- const errors = handle.validator.validate(input);
183
+ import { buildValidator } from '@lyku/lockstep-core';
254
184
 
255
- // Throw on first error
256
- handle.validator.validateOrThrow(input);
185
+ const validator = buildValidator('input', { type: 'string', minLength: 1 });
257
186
 
258
- // Check validity (returns true or first error string)
259
- const result = handle.validator.isValid(input);
187
+ validator.validate(input); // returns string[] of errors
188
+ validator.validateOrThrow(input); // throws on invalid
189
+ validator.isValid(input); // returns true or first error string
260
190
  ```
261
191
 
262
192
  Validators check types, required fields, string lengths/patterns/formats, numeric ranges, enum membership, and array constraints.
@@ -283,29 +213,37 @@ API models support rich documentation metadata:
283
213
 
284
214
  ```typescript
285
215
  {
286
- title: 'Create Friend Request',
287
- description: 'Sends a friend request to another user.',
288
- category: 'Friendship',
289
- tags: ['social', 'friends'],
216
+ title: 'Get User',
217
+ description: 'Fetch a user by ID.',
218
+ category: 'Users',
219
+ tags: ['users'],
290
220
  since: '1.0.0',
291
- examples: [{ title: 'Basic', request: 456n, response: { id: 789n } }],
292
- notes: ['Cannot send to yourself', 'Cannot duplicate existing requests'],
293
- errors: [{ code: 409, title: 'Already Friends', description: '...' }],
294
- relatedEndpoints: ['acceptFriendRequest', 'deleteFriendship'],
295
- rateLimit: { requests: 10, period: '1 minute', scope: 'user' },
296
- deprecated: { since: '2.0.0', useInstead: 'createConnection', reason: '...' },
297
- requiredPermissions: ['social:write'],
221
+ examples: [{ title: 'Basic', request: 456n, response: { id: 456n, username: 'alice' } }],
222
+ notes: ['Returns 404 if user does not exist'],
223
+ errors: [{ code: 404, title: 'Not Found', description: '...' }],
224
+ relatedEndpoints: ['updateUser', 'deleteUser'],
225
+ rateLimit: { requests: 100, period: '1 minute', scope: 'user' },
226
+ deprecated: { since: '2.0.0', useInstead: 'getUserV2', reason: '...' },
227
+ requiredPermissions: ['users:read'],
298
228
  }
299
229
  ```
300
230
 
301
231
  ## Exports
302
232
 
303
233
  ```
304
- @lyku/lockstep-core # Schema types, BON, type converters, validators
305
- @lyku/lockstep-core/contexts # Handler context types
306
- @lyku/lockstep-core/generators # Code generators (json-models, db-types, api-types, handles, client)
234
+ @lyku/lockstep-core # Schema types, BON, type converters, validators
235
+ @lyku/lockstep-core/contexts # Handler context types
236
+ @lyku/lockstep-core/generators # Code generators (json-models, db-types, api-types)
307
237
  ```
308
238
 
239
+ ## Related packages
240
+
241
+ | Package | Purpose |
242
+ | --------------------------- | ------------------------------------------------ |
243
+ | `@lyku/lockstep-handles-ts` | Generate typed handler factories from API models |
244
+ | `@lyku/lockstep-client-ts` | Generate typed HTTP clients from API models |
245
+ | `@lyku/lockstep-pg` | PostgreSQL drift detection and migrations |
246
+
309
247
  ## License
310
248
 
311
249
  GPL-3.0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Generates per-package pipeline diagrams from the master pipeline.mmd.
3
+ *
4
+ * Each variant highlights the nodes belonging to that package and dims everything else.
5
+ * Output is a mermaid code block ready to paste into a README.
6
+ *
7
+ * Usage: bun libs/lockstep-core/diagrams/generate.ts
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/diagrams/generate.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG"}
@@ -0,0 +1,164 @@
1
+ /* eslint-disable security/detect-non-literal-fs-filename, security/detect-object-injection */
2
+ /**
3
+ * Generates per-package pipeline diagrams from the master pipeline.mmd.
4
+ *
5
+ * Each variant highlights the nodes belonging to that package and dims everything else.
6
+ * Output is a mermaid code block ready to paste into a README.
7
+ *
8
+ * Usage: bun libs/lockstep-core/diagrams/generate.ts
9
+ */
10
+ import { readFileSync, writeFileSync, mkdirSync, copyFileSync } from 'fs';
11
+ import { join, dirname } from 'path';
12
+ import { execSync } from 'child_process';
13
+ const DIAGRAMS_DIR = dirname(new URL(import.meta.url).pathname);
14
+ const master = readFileSync(join(DIAGRAMS_DIR, 'pipeline.mmd'), 'utf-8');
15
+ // Strip comment lines from master
16
+ const masterLines = master
17
+ .split('\n')
18
+ .filter((line) => !line.trim().startsWith('%%'));
19
+ const packages = {
20
+ 'lockstep-core': {
21
+ prefix: 'core-',
22
+ title: '@lyku/lockstep-core',
23
+ },
24
+ 'lockstep-handles-ts': {
25
+ prefix: 'handles-',
26
+ title: '@lyku/lockstep-handles-ts',
27
+ },
28
+ 'lockstep-client-ts': {
29
+ prefix: 'client-',
30
+ title: '@lyku/lockstep-client-ts',
31
+ },
32
+ 'lockstep-pg': {
33
+ prefix: 'pg-',
34
+ title: '@lyku/lockstep-pg',
35
+ },
36
+ };
37
+ // Find all node IDs in the diagram
38
+ const nodeIdRegex = /^\s{4}(\S+?)[[("]/m;
39
+ const allNodeIds = [];
40
+ for (const line of masterLines) {
41
+ const match = line.match(nodeIdRegex);
42
+ if (match) {
43
+ allNodeIds.push(match[1]);
44
+ }
45
+ }
46
+ function generateVariant(pkgKey) {
47
+ const pkg = packages[pkgKey];
48
+ const highlighted = allNodeIds.filter((id) => id.startsWith(pkg.prefix));
49
+ const dimmed = allNodeIds.filter((id) => !id.startsWith(pkg.prefix) &&
50
+ !id.startsWith('input-') &&
51
+ !id.startsWith('output-'));
52
+ const inputs = allNodeIds.filter((id) => id.startsWith('input-'));
53
+ const outputs = allNodeIds.filter((id) => id.startsWith('output-'));
54
+ // Find which outputs are directly produced by this package's nodes
55
+ // by scanning edges: highlighted-node --> output-node
56
+ const ownedOutputs = new Set();
57
+ for (const line of masterLines) {
58
+ const edgeMatch = line.match(/^\s{4}(\S+)\s+--.*?-->\s+(\S+)/);
59
+ const simpleEdge = line.match(/^\s{4}(\S+)\s+-->\s+(\S+)/);
60
+ const dottedEdge = line.match(/^\s{4}(\S+)\s+-\.\s*->\s+(\S+)/);
61
+ const dottedEdge2 = line.match(/^\s{4}(\S+)\s+-\.+->\s+(\S+)/);
62
+ const edge = edgeMatch || simpleEdge || dottedEdge || dottedEdge2;
63
+ if (edge) {
64
+ const [, from, to] = edge;
65
+ if (from.startsWith(pkg.prefix) && to.startsWith('output-')) {
66
+ ownedOutputs.add(to);
67
+ }
68
+ }
69
+ }
70
+ // Find which inputs feed directly into this package's nodes
71
+ const ownedInputs = new Set();
72
+ for (const line of masterLines) {
73
+ const edgeMatch = line.match(/^\s{4}(\S+)\s+--.*?-->\s+(\S+)/);
74
+ const simpleEdge = line.match(/^\s{4}(\S+)\s+-->\s+(\S+)/);
75
+ const dottedEdge = line.match(/^\s{4}(\S+)\s+-\.\s*->\s+(\S+)/);
76
+ const dottedEdge2 = line.match(/^\s{4}(\S+)\s+-\.+->\s+(\S+)/);
77
+ const edge = edgeMatch || simpleEdge || dottedEdge || dottedEdge2;
78
+ if (edge) {
79
+ const [, from, to] = edge;
80
+ if (from.startsWith('input-') && to.startsWith(pkg.prefix)) {
81
+ ownedInputs.add(from);
82
+ }
83
+ }
84
+ }
85
+ const classDefs = [
86
+ 'classDef highlight fill:#4f46e5,stroke:#3730a3,color:#fff,stroke-width:2px',
87
+ 'classDef dimmed fill:#f1f5f9,stroke:#cbd5e1,color:#94a3b8,stroke-width:1px',
88
+ 'classDef inputNode fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:1px',
89
+ 'classDef outputNode fill:#d1fae5,stroke:#10b981,color:#065f46,stroke-width:1px',
90
+ 'classDef ownedOutput fill:#a5b4fc,stroke:#4f46e5,color:#1e1b4b,stroke-width:2px',
91
+ 'classDef ownedInput fill:#fde68a,stroke:#4f46e5,color:#1e1b4b,stroke-width:2px',
92
+ ];
93
+ const classAssignments = [];
94
+ if (highlighted.length > 0) {
95
+ classAssignments.push(`class ${highlighted.join(',')} highlight`);
96
+ }
97
+ if (dimmed.length > 0) {
98
+ classAssignments.push(`class ${dimmed.join(',')} dimmed`);
99
+ }
100
+ // Assign input/output classes, with owned variants taking precedence
101
+ const regularInputs = inputs.filter((id) => !ownedInputs.has(id));
102
+ const regularOutputs = outputs.filter((id) => !ownedOutputs.has(id));
103
+ if (regularInputs.length > 0) {
104
+ classAssignments.push(`class ${regularInputs.join(',')} inputNode`);
105
+ }
106
+ if (regularOutputs.length > 0) {
107
+ classAssignments.push(`class ${regularOutputs.join(',')} outputNode`);
108
+ }
109
+ if (ownedInputs.size > 0) {
110
+ classAssignments.push(`class ${[...ownedInputs].join(',')} ownedInput`);
111
+ }
112
+ if (ownedOutputs.size > 0) {
113
+ classAssignments.push(`class ${[...ownedOutputs].join(',')} ownedOutput`);
114
+ }
115
+ const lines = [...masterLines, '', ...classDefs, ...classAssignments];
116
+ return lines.join('\n').trim();
117
+ }
118
+ // Generate all variants
119
+ mkdirSync(join(DIAGRAMS_DIR, 'generated'), { recursive: true });
120
+ for (const [pkgKey, _pkg] of Object.entries(packages)) {
121
+ const variant = generateVariant(pkgKey);
122
+ const outPath = join(DIAGRAMS_DIR, 'generated', `${pkgKey}.mmd`);
123
+ writeFileSync(outPath, variant + '\n');
124
+ console.log(`Generated ${outPath}`);
125
+ }
126
+ // Also generate a "full" variant with no highlighting (all nodes normal)
127
+ const fullVariant = [
128
+ ...masterLines,
129
+ '',
130
+ `classDef inputNode fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:1px`,
131
+ `classDef outputNode fill:#d1fae5,stroke:#10b981,color:#065f46,stroke-width:1px`,
132
+ `classDef coreNode fill:#dbeafe,stroke:#3b82f6,color:#1e3a5f,stroke-width:1px`,
133
+ `classDef handlesNode fill:#e0e7ff,stroke:#6366f1,color:#312e81,stroke-width:1px`,
134
+ `classDef clientNode fill:#fce7f3,stroke:#ec4899,color:#831843,stroke-width:1px`,
135
+ `classDef pgNode fill:#fef9c3,stroke:#eab308,color:#713f12,stroke-width:1px`,
136
+ `class ${allNodeIds.filter((id) => id.startsWith('input-')).join(',')} inputNode`,
137
+ `class ${allNodeIds.filter((id) => id.startsWith('output-')).join(',')} outputNode`,
138
+ `class ${allNodeIds.filter((id) => id.startsWith('core-')).join(',')} coreNode`,
139
+ `class ${allNodeIds.filter((id) => id.startsWith('handles-')).join(',')} handlesNode`,
140
+ `class ${allNodeIds.filter((id) => id.startsWith('client-')).join(',')} clientNode`,
141
+ `class ${allNodeIds.filter((id) => id.startsWith('pg-')).join(',')} pgNode`,
142
+ ]
143
+ .join('\n')
144
+ .trim();
145
+ writeFileSync(join(DIAGRAMS_DIR, 'generated', 'full.mmd'), fullVariant + '\n');
146
+ console.log(`Generated ${join(DIAGRAMS_DIR, 'generated', 'full.mmd')}`);
147
+ // Render all .mmd files to SVG
148
+ const LIBS_DIR = join(DIAGRAMS_DIR, '..', '..');
149
+ const generatedDir = join(DIAGRAMS_DIR, 'generated');
150
+ console.log('\nRendering SVGs...');
151
+ for (const file of ['full', ...Object.keys(packages)]) {
152
+ const mmdPath = join(generatedDir, `${file}.mmd`);
153
+ const svgPath = join(generatedDir, `${file}.svg`);
154
+ execSync(`npx @mermaid-js/mermaid-cli -i "${mmdPath}" -o "${svgPath}" -b transparent -p /dev/null`, { stdio: 'inherit' });
155
+ console.log(`Rendered ${svgPath}`);
156
+ }
157
+ // Copy per-package SVGs into each package directory
158
+ for (const pkgKey of Object.keys(packages)) {
159
+ const src = join(generatedDir, `${pkgKey}.svg`);
160
+ const dest = join(LIBS_DIR, pkgKey, 'pipeline.svg');
161
+ copyFileSync(src, dest);
162
+ console.log(`Copied ${dest}`);
163
+ }
164
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/diagrams/generate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lyku/lockstep-core",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Schema-driven code generation: PostgreSQL models → TypeScript types, Kysely types, API handlers, and typed clients",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
package/pipeline.svg ADDED
@@ -0,0 +1 @@
1
+ <svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 1035.32px; background-color: transparent;" viewBox="0 0 1035.3203125 558" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#my-svg .highlight&gt;*{fill:#4f46e5!important;stroke:#3730a3!important;color:#fff!important;stroke-width:2px!important;}#my-svg .highlight span{fill:#4f46e5!important;stroke:#3730a3!important;color:#fff!important;stroke-width:2px!important;}#my-svg .highlight tspan{fill:#fff!important;}#my-svg .dimmed&gt;*{fill:#f1f5f9!important;stroke:#cbd5e1!important;color:#94a3b8!important;stroke-width:1px!important;}#my-svg .dimmed span{fill:#f1f5f9!important;stroke:#cbd5e1!important;color:#94a3b8!important;stroke-width:1px!important;}#my-svg .dimmed tspan{fill:#94a3b8!important;}#my-svg .inputNode&gt;*{fill:#fef3c7!important;stroke:#f59e0b!important;color:#92400e!important;stroke-width:1px!important;}#my-svg .inputNode span{fill:#fef3c7!important;stroke:#f59e0b!important;color:#92400e!important;stroke-width:1px!important;}#my-svg .inputNode tspan{fill:#92400e!important;}#my-svg .outputNode&gt;*{fill:#d1fae5!important;stroke:#10b981!important;color:#065f46!important;stroke-width:1px!important;}#my-svg .outputNode span{fill:#d1fae5!important;stroke:#10b981!important;color:#065f46!important;stroke-width:1px!important;}#my-svg .outputNode tspan{fill:#065f46!important;}#my-svg .ownedOutput&gt;*{fill:#a5b4fc!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedOutput span{fill:#a5b4fc!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedOutput tspan{fill:#1e1b4b!important;}#my-svg .ownedInput&gt;*{fill:#fde68a!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedInput span{fill:#fde68a!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedInput tspan{fill:#1e1b4b!important;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M744.994,86L736.586,90.167C728.178,94.333,711.363,102.667,702.955,110.333C694.547,118,694.547,125,694.547,128.5L694.547,132" id="L_input-tables_core-jsonmodels_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-tables_core-jsonmodels_0" data-points="W3sieCI6NzQ0Ljk5Mzk1NzUxOTUzMTIsInkiOjg2fSx7IngiOjY5NC41NDY4NzUsInkiOjExMX0seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjoxMzZ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,190L694.547,194.167C694.547,198.333,694.547,206.667,694.547,214.333C694.547,222,694.547,229,694.547,232.5L694.547,236" id="L_core-jsonmodels_output-jsonschemas_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-jsonmodels_output-jsonschemas_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6MTkwfSx7IngiOjY5NC41NDY4NzUsInkiOjIxNX0seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjoyNDB9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,318L694.547,322.167C694.547,326.333,694.547,334.667,694.547,342.333C694.547,350,694.547,357,694.547,360.5L694.547,364" id="L_output-jsonschemas_core-dbtypes_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-jsonschemas_core-dbtypes_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6MzE4fSx7IngiOjY5NC41NDY4NzUsInkiOjM0M30seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjozNjh9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,422L694.547,426.167C694.547,430.333,694.547,438.667,694.547,446.333C694.547,454,694.547,461,694.547,464.5L694.547,468" id="L_core-dbtypes_output-kysely_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-dbtypes_output-kysely_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6NDIyfSx7IngiOjY5NC41NDY4NzUsInkiOjQ0N30seyJ4Ijo2OTQuNTQ2ODc1LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M219.156,75.195L201.046,81.163C182.935,87.13,146.714,99.065,128.603,108.533C110.492,118,110.492,125,110.492,128.5L110.492,132" id="L_input-api_core-apitypes_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_core-apitypes_0" data-points="W3sieCI6MjE5LjE1NjI1LCJ5Ijo3NS4xOTUzMTgxNTYyMjIzNH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MTExfSx7IngiOjExMC40OTIxODc1LCJ5IjoxMzZ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M110.492,190L110.492,194.167C110.492,198.333,110.492,206.667,110.492,214.333C110.492,222,110.492,229,110.492,232.5L110.492,236" id="L_core-apitypes_output-reqres_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-apitypes_output-reqres_0" data-points="W3sieCI6MTEwLjQ5MjE4NzUsInkiOjE5MH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MjE1fSx7IngiOjExMC40OTIxODc1LCJ5IjoyNDB9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M390.297,79.572L404.057,84.81C417.818,90.048,445.339,100.524,459.099,114.429C472.859,128.333,472.859,145.667,472.859,163C472.859,180.333,472.859,197.667,472.859,211.833C472.859,226,472.859,237,472.859,242.5L472.859,248" id="L_input-api_core-validators_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_core-validators_0" data-points="W3sieCI6MzkwLjI5Njg3NSwieSI6NzkuNTcyNDY0MTA0ODI3ODR9LHsieCI6NDcyLjg1OTM3NSwieSI6MTExfSx7IngiOjQ3Mi44NTkzNzUsInkiOjE2M30seyJ4Ijo0NzIuODU5Mzc1LCJ5IjoyMTV9LHsieCI6NDcyLjg1OTM3NSwieSI6MjUyfV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M212.984,314.604L226.608,319.337C240.232,324.069,267.479,333.535,285.81,342.019C304.141,350.502,313.555,358.005,318.262,361.756L322.969,365.507" id="L_output-reqres_handles-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-reqres_handles-gen_0" data-points="W3sieCI6MjEyLjk4NDM3NSwieSI6MzE0LjYwNDEwNDgyNTcxNDU2fSx7IngiOjI5NC43MjY1NjI1LCJ5IjozNDN9LHsieCI6MzI2LjA5Njc1NDgwNzY5MjMsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M338.395,86L341.992,90.167C345.589,94.333,352.783,102.667,356.38,115.5C359.977,128.333,359.977,145.667,359.977,163C359.977,180.333,359.977,197.667,359.977,217C359.977,236.333,359.977,257.667,359.977,279C359.977,300.333,359.977,321.667,359.977,335.833C359.977,350,359.977,357,359.977,360.5L359.977,364" id="L_input-api_handles-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_handles-gen_0" data-points="W3sieCI6MzM4LjM5NDUzMTI1LCJ5Ijo4Nn0seyJ4IjozNTkuOTc2NTYyNSwieSI6MTExfSx7IngiOjM1OS45NzY1NjI1LCJ5IjoxNjN9LHsieCI6MzU5Ljk3NjU2MjUsInkiOjIxNX0seyJ4IjozNTkuOTc2NTYyNSwieSI6Mjc5fSx7IngiOjM1OS45NzY1NjI1LCJ5IjozNDN9LHsieCI6MzU5Ljk3NjU2MjUsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M472.859,306L472.859,312.167C472.859,318.333,472.859,330.667,464.42,340.721C455.98,350.775,439.101,358.551,430.661,362.439L422.222,366.326" id="L_core-validators_handles-gen_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-validators_handles-gen_0" data-points="W3sieCI6NDcyLjg1OTM3NSwieSI6MzA2fSx7IngiOjQ3Mi44NTkzNzUsInkiOjM0M30seyJ4Ijo0MTguNTg4NzkyMDY3MzA3NywieSI6MzY4fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M359.977,422L359.977,426.167C359.977,430.333,359.977,438.667,359.977,446.333C359.977,454,359.977,461,359.977,464.5L359.977,468" id="L_handles-gen_output-handlers_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_handles-gen_output-handlers_0" data-points="W3sieCI6MzU5Ljk3NjU2MjUsInkiOjQyMn0seyJ4IjozNTkuOTc2NTYyNSwieSI6NDQ3fSx7IngiOjM1OS45NzY1NjI1LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M110.492,318L110.492,322.167C110.492,326.333,110.492,334.667,111.752,342.372C113.011,350.077,115.53,357.154,116.789,360.693L118.049,364.232" id="L_output-reqres_client-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-reqres_client-gen_0" data-points="W3sieCI6MTEwLjQ5MjE4NzUsInkiOjMxOH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MzQzfSx7IngiOjExOS4zOTAxNzQyNzg4NDYxNiwieSI6MzY4fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M286.445,86L284.492,90.167C282.539,94.333,278.633,102.667,276.68,115.5C274.727,128.333,274.727,145.667,274.727,163C274.727,180.333,274.727,197.667,274.727,217C274.727,236.333,274.727,257.667,274.727,279C274.727,300.333,274.727,321.667,263.678,336.276C252.629,350.885,230.531,358.77,219.482,362.713L208.433,366.656" id="L_input-api_client-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_client-gen_0" data-points="W3sieCI6Mjg2LjQ0NTMxMjUsInkiOjg2fSx7IngiOjI3NC43MjY1NjI1LCJ5IjoxMTF9LHsieCI6Mjc0LjcyNjU2MjUsInkiOjE2M30seyJ4IjoyNzQuNzI2NTYyNSwieSI6MjE1fSx7IngiOjI3NC43MjY1NjI1LCJ5IjoyNzl9LHsieCI6Mjc0LjcyNjU2MjUsInkiOjM0M30seyJ4IjoyMDQuNjY1NzE1MTQ0MjMwNzcsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M129,422L129,426.167C129,430.333,129,438.667,129,446.333C129,454,129,461,129,464.5L129,468" id="L_client-gen_output-client_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_client-gen_output-client_0" data-points="W3sieCI6MTI5LCJ5Ijo0MjJ9LHsieCI6MTI5LCJ5Ijo0NDd9LHsieCI6MTI5LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M890.201,86L897.307,90.167C904.413,94.333,918.624,102.667,925.73,110.333C932.836,118,932.836,125,932.836,128.5L932.836,132" id="L_input-tables_pg-drift_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-tables_pg-drift_0" data-points="W3sieCI6ODkwLjIwMTM1NDk4MDQ2ODgsInkiOjg2fSx7IngiOjkzMi44MzU5Mzc1LCJ5IjoxMTF9LHsieCI6OTMyLjgzNTkzNzUsInkiOjEzNn1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M932.836,190L932.836,194.167C932.836,198.333,932.836,206.667,932.836,216.333C932.836,226,932.836,237,932.836,242.5L932.836,248" id="L_pg-drift_pg-migrate_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_pg-drift_pg-migrate_0" data-points="W3sieCI6OTMyLjgzNTkzNzUsInkiOjE5MH0seyJ4Ijo5MzIuODM1OTM3NSwieSI6MjE1fSx7IngiOjkzMi44MzU5Mzc1LCJ5IjoyNTJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M932.836,306L932.836,312.167C932.836,318.333,932.836,330.667,932.836,340.333C932.836,350,932.836,357,932.836,360.5L932.836,364" id="L_pg-migrate_output-sql_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_pg-migrate_output-sql_0" data-points="W3sieCI6OTMyLjgzNTkzNzUsInkiOjMwNn0seyJ4Ijo5MzIuODM1OTM3NSwieSI6MzQzfSx7IngiOjkzMi44MzU5Mzc1LCJ5IjozNjh9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_input-tables_core-jsonmodels_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-jsonmodels_output-jsonschemas_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-jsonschemas_core-dbtypes_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-dbtypes_output-kysely_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_core-apitypes_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-apitypes_output-reqres_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_core-validators_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-reqres_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-validators_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_handles-gen_output-handlers_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-reqres_client-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_client-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_client-gen_output-client_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-tables_pg-drift_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_pg-drift_pg-migrate_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_pg-migrate_output-sql_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default ownedInput" id="flowchart-input-tables-0" transform="translate(823.69140625, 47)"><rect class="basic label-container" style="fill:#fde68a !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-95.9375" y="-39" width="191.875" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-65.9375, -24)"><rect/><foreignObject width="131.875" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Table Schemas<br /><small>PostgresRecordModel</small></p></span></div></foreignObject></g></g><g class="node default ownedInput" id="flowchart-input-api-1" transform="translate(304.7265625, 47)"><rect class="basic label-container" style="fill:#fde68a !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-85.5703125" y="-39" width="171.140625" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-55.5703125, -24)"><rect/><foreignObject width="111.140625" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>API Definitions<br /><small>TsonHandlerModel</small></p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-jsonmodels-2" transform="translate(694.546875, 163)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-104.2734375" y="-27" width="208.546875" height="54"/><g class="label" style="color:#fff !important" transform="translate(-74.2734375, -12)"><rect/><foreignObject width="148.546875" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateJsonModels</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-dbtypes-3" transform="translate(694.546875, 395)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-93.15625" y="-27" width="186.3125" height="54"/><g class="label" style="color:#fff !important" transform="translate(-63.15625, -12)"><rect/><foreignObject width="126.3125" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateDbTypes</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-apitypes-4" transform="translate(110.4921875, 163)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-94.4921875" y="-27" width="188.984375" height="54"/><g class="label" style="color:#fff !important" transform="translate(-64.4921875, -12)"><rect/><foreignObject width="128.984375" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateApiTypes</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-validators-5" transform="translate(472.859375, 279)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-77.8828125" y="-27" width="155.765625" height="54"/><g class="label" style="color:#fff !important" transform="translate(-47.8828125, -12)"><rect/><foreignObject width="95.765625" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>buildValidator</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-handles-gen-6" transform="translate(359.9765625, 395)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-90.9375" y="-27" width="181.875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-60.9375, -12)"><rect/><foreignObject width="121.875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateHandles</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-client-gen-7" transform="translate(129, 395)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-90.0390625" y="-27" width="180.078125" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-60.0390625, -12)"><rect/><foreignObject width="120.078125" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateTsClient</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-pg-drift-8" transform="translate(932.8359375, 163)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-66.4609375" y="-27" width="132.921875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-36.4609375, -12)"><rect/><foreignObject width="72.921875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>detectDrift</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-pg-migrate-9" transform="translate(932.8359375, 279)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-94.484375" y="-27" width="188.96875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-64.484375, -12)"><rect/><foreignObject width="128.96875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateMigration</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-jsonschemas-10" transform="translate(694.546875, 279)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-93.8046875" y="-39" width="187.609375" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-63.8046875, -24)"><rect/><foreignObject width="127.609375" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>JSON Schemas +<br />TypeScript Types</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-kysely-11" transform="translate(694.546875, 511)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-90.03125" y="-39" width="180.0625" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-60.03125, -24)"><rect/><foreignObject width="120.0625" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Kysely Database<br />Interface</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-reqres-12" transform="translate(110.4921875, 279)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-102.4921875" y="-39" width="204.984375" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-72.4921875, -24)"><rect/><foreignObject width="144.984375" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Request / Response<br />TypeScript Types</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-handlers-13" transform="translate(359.9765625, 511)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-93.140625" y="-39" width="186.28125" height="78"/><g class="label" style="color:#065f46 !important" transform="translate(-63.140625, -24)"><rect/><foreignObject width="126.28125" height="48"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>Handler Factories<br />+ Validators</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-client-14" transform="translate(129, 511)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-73.421875" y="-39" width="146.84375" height="78"/><g class="label" style="color:#065f46 !important" transform="translate(-43.421875, -24)"><rect/><foreignObject width="86.84375" height="48"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>Type-safe<br />HTTP Client</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-sql-15" transform="translate(932.8359375, 395)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-84.8359375" y="-27" width="169.671875" height="54"/><g class="label" style="color:#065f46 !important" transform="translate(-54.8359375, -12)"><rect/><foreignObject width="109.671875" height="24"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>SQL Migrations</p></span></div></foreignObject></g></g></g></g></g></svg>
@@ -1,5 +1,5 @@
1
1
  import { FromJsonSchema } from '../json';
2
2
  import * as columns from './columns';
3
- export type PostgresColumnModel = columns.ArrayColumnModel | columns.BigIntColumnModel | columns.BigSerialColumnModel | columns.BooleanColumnModel | columns.ByteaColumnModel | columns.CharColumnModel | columns.DateColumnModel | columns.DoubleColumnModel | columns.EnumColumnModel | columns.IntegerColumnModel | columns.MoneyColumnModel | columns.NumericColumnModel | columns.PointColumnModel | columns.RealColumnModel | columns.SmallIntColumnModel | columns.SmallSerialColumnModel | columns.SerialColumnModel | columns.TextColumnModel | columns.TimeColumnModel | columns.Timestamp | columns.Timestamptz | columns.TimeColumnModel | columns.DateColumnModel | columns.VarcharColumnModel | columns.JsonbColumnModel;
4
- export type FromPostgresColumnModel<S extends PostgresColumnModel> = S extends columns.ArrayColumnModel ? FromPostgresColumnModel<S> : S extends columns.BigIntColumnModel ? bigint : S extends columns.BigSerialColumnModel ? bigint : S extends columns.BooleanColumnModel ? boolean : S extends columns.ByteaColumnModel ? Buffer : S extends columns.CharColumnModel ? string : S extends columns.DateColumnModel ? Date : S extends columns.DoubleColumnModel ? number : S extends columns.EnumColumnModel ? string : S extends columns.IntegerColumnModel ? number : S extends columns.MoneyColumnModel ? number : S extends columns.NumericColumnModel ? number : S extends columns.RealColumnModel ? number : S extends columns.SmallIntColumnModel ? number : S extends columns.SmallSerialColumnModel ? number : S extends columns.SerialColumnModel ? number : S extends columns.TextColumnModel ? string : S extends columns.TimeColumnModel ? Date : S extends columns.Timestamp ? Date : S extends columns.Timestamptz ? Date : S extends columns.VarcharColumnModel ? string : S extends columns.JsonbColumnModel ? FromJsonSchema<S> : never;
3
+ export type PostgresColumnModel = columns.ArrayColumnModel | columns.BigIntColumnModel | columns.BigSerialColumnModel | columns.BooleanColumnModel | columns.ByteaColumnModel | columns.CharColumnModel | columns.DateColumnModel | columns.DoubleColumnModel | columns.EnumColumnModel | columns.IntegerColumnModel | columns.MoneyColumnModel | columns.NumericColumnModel | columns.PointColumnModel | columns.RealColumnModel | columns.SmallIntColumnModel | columns.SmallSerialColumnModel | columns.SnowflakeColumnModel | columns.SerialColumnModel | columns.TextColumnModel | columns.TimeColumnModel | columns.Timestamp | columns.Timestamptz | columns.TimeColumnModel | columns.DateColumnModel | columns.VarcharColumnModel | columns.JsonbColumnModel;
4
+ export type FromPostgresColumnModel<S extends PostgresColumnModel> = S extends columns.ArrayColumnModel ? FromPostgresColumnModel<S> : S extends columns.BigIntColumnModel ? bigint : S extends columns.BigSerialColumnModel ? bigint : S extends columns.BooleanColumnModel ? boolean : S extends columns.ByteaColumnModel ? Buffer : S extends columns.CharColumnModel ? string : S extends columns.DateColumnModel ? Date : S extends columns.DoubleColumnModel ? number : S extends columns.EnumColumnModel ? string : S extends columns.IntegerColumnModel ? number : S extends columns.MoneyColumnModel ? number : S extends columns.NumericColumnModel ? number : S extends columns.RealColumnModel ? number : S extends columns.SmallIntColumnModel ? number : S extends columns.SmallSerialColumnModel ? number : S extends columns.SnowflakeColumnModel ? bigint : S extends columns.SerialColumnModel ? number : S extends columns.TextColumnModel ? string : S extends columns.TimeColumnModel ? Date : S extends columns.Timestamp ? Date : S extends columns.Timestamptz ? Date : S extends columns.VarcharColumnModel ? string : S extends columns.JsonbColumnModel ? FromJsonSchema<S> : never;
5
5
  //# sourceMappingURL=PostgresColumnModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresColumnModel.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/PostgresColumnModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,mBAAmB,GAC3B,OAAO,CAAC,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,SAAS,GACjB,OAAO,CAAC,WAAW,GACnB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,IAChE,CAAC,SAAS,OAAO,CAAC,gBAAgB,GAC/B,uBAAuB,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,oBAAoB,GACrC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,OAAO,GACP,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,mBAAmB,GACpC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,sBAAsB,GACvC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,SAAS,GAC1B,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,WAAW,GAC5B,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,cAAc,CAAC,CAAC,CAAC,GACjB,KAAK,CAAC"}
1
+ {"version":3,"file":"PostgresColumnModel.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/PostgresColumnModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,GACxB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,mBAAmB,GAC3B,OAAO,CAAC,sBAAsB,GAC9B,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GACzB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,SAAS,GACjB,OAAO,CAAC,WAAW,GACnB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,IAChE,CAAC,SAAS,OAAO,CAAC,gBAAgB,GAC/B,uBAAuB,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,oBAAoB,GACrC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,OAAO,GACP,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,mBAAmB,GACpC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,sBAAsB,GACvC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,oBAAoB,GACrC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,iBAAiB,GAClC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,eAAe,GAChC,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,SAAS,GAC1B,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,WAAW,GAC5B,IAAI,GACJ,CAAC,SAAS,OAAO,CAAC,kBAAkB,GACnC,MAAM,GACN,CAAC,SAAS,OAAO,CAAC,gBAAgB,GACjC,cAAc,CAAC,CAAC,CAAC,GACjB,KAAK,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { NumberBase } from './NumberBase';
2
+ /**
3
+ * Client-generated snowflake ID column (64-bit bigint).
4
+ *
5
+ * Unlike bigserial, no database sequence is created — IDs are generated
6
+ * client-side using a snowflake algorithm. This is compatible with
7
+ * connection poolers (PgBouncer, DO managed pools) that don't support
8
+ * nextval() auto-generation.
9
+ *
10
+ * DDL: BIGINT NOT NULL (no sequence)
11
+ * Kysely: Generated<bigint> (plugin provides the value)
12
+ */
13
+ export type SnowflakeColumnModel = NumberBase<bigint> & {
14
+ readonly type: 'snowflake';
15
+ };
16
+ //# sourceMappingURL=Snowflake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Snowflake.d.ts","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/Snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG;IACvD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Snowflake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Snowflake.js","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/Snowflake.ts"],"names":[],"mappings":""}
@@ -8,4 +8,5 @@ export * from './Real';
8
8
  export * from './Serial';
9
9
  export * from './SmallInt';
10
10
  export * from './SmallSerial';
11
+ export * from './Snowflake';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -8,4 +8,5 @@ export * from './Real';
8
8
  export * from './Serial';
9
9
  export * from './SmallInt';
10
10
  export * from './SmallSerial';
11
+ export * from './Snowflake';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/lockstep-core/postgres/columns/numeric/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToTson.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/postgresColumnToTson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AACxC,OAAO,EAAoB,UAAU,EAAgB,MAAM,SAAS,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,mBAAmB,EACjE,GAAG,CAAC,KACF,UA8DF,CAAC"}
1
+ {"version":3,"file":"postgresColumnToTson.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/postgresColumnToTson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AACxC,OAAO,EAAoB,UAAU,EAAgB,MAAM,SAAS,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,mBAAmB,EACjE,GAAG,CAAC,KACF,UA+DF,CAAC"}
@@ -19,6 +19,7 @@ export const postgresColumnToTson = (s) => {
19
19
  return { ...s, type: 'boolean' };
20
20
  case 'int8':
21
21
  case 'bigint':
22
+ case 'snowflake':
22
23
  case 'bigserial':
23
24
  case 'serial8':
24
25
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToTson.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/postgresColumnToTson.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,CAAI,EACS,EAAE;IACf,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,CAAC,CAAC;QACV,KAAK,OAAO;YACX,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACb,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAI,CAAC,CAAC,CAAC,OAAO;oBACb,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACxD,CAAC,CAAC,8DAA8D;wBAC/D,EAAE,CAAS;aACc,CAAC;QAC9B,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACb,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW;oBACpC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACvD,CAAC,CAAC,8DAA8D;wBAC/D,EAAE,CAAS;aACb,CAAC;QACH,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YACjB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC/B,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrE;YACC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"postgresColumnToTson.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/postgres/postgresColumnToTson.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,CAAI,EACS,EAAE;IACf,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,CAAC,CAAC;QACV,KAAK,OAAO;YACX,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACb,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAI,CAAC,CAAC,CAAC,OAAO;oBACb,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACxD,CAAC,CAAC,8DAA8D;wBAC/D,EAAE,CAAS;aACc,CAAC;QAC9B,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACb,OAAO;gBACN,GAAG,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW;oBACpC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACvD,CAAC,CAAC,8DAA8D;wBAC/D,EAAE,CAAS;aACb,CAAC;QACH,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YACjB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC/B,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrE;YACC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseBON.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parseBON.ts"],"names":[],"mappings":"AA8bA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,MAAM,KAAG,CA+F3C,CAAC"}
1
+ {"version":3,"file":"parseBON.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parseBON.ts"],"names":[],"mappings":"AA4aA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,MAAM,KAAG,CA+F3C,CAAC"}
package/tson/parseBON.js CHANGED
@@ -13,12 +13,6 @@ const MAX_INPUT_LENGTH = 100000000; // 100MB
13
13
  function tokenize(input) {
14
14
  const tokens = [];
15
15
  let pos = 0;
16
- // Special case: ISO date string from stringifyBON (No quotes around dates)
17
- const isoDatePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z/;
18
- if (isoDatePattern.test(input)) {
19
- tokens.push({ type: 'string', value: input, position: 0 });
20
- return tokens;
21
- }
22
16
  while (pos < input.length) {
23
17
  const char = input[pos];
24
18
  // Skip whitespace
@@ -87,15 +81,6 @@ function tokenize(input) {
87
81
  tokens.push({ type: 'string', value, position: startPos });
88
82
  continue;
89
83
  }
90
- // Handle ISO date string pattern (no quotes) - for date values in objects or arrays
91
- const remainingInput = input.substring(pos);
92
- const dateMatch = remainingInput.match(isoDatePattern);
93
- if (dateMatch && dateMatch.index === 0) {
94
- const value = dateMatch[0];
95
- tokens.push({ type: 'string', value, position: pos });
96
- pos += value.length;
97
- continue;
98
- }
99
84
  // Handle literals (true, false, null, undefined)
100
85
  if (input.startsWith('true', pos)) {
101
86
  tokens.push({ type: 'true', value: 'true', position: pos });
@@ -1 +1 @@
1
- {"version":3,"file":"parseBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parseBON.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parseBON.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ export const stringifyBON = (value, space = '', seen = new Set()) => {
80
80
  }
81
81
  if (isValidDate(value)) {
82
82
  seen.delete(value);
83
- return `new Date("${value.toISOString()}")`;
83
+ return `"${value.toISOString()}"`;
84
84
  }
85
85
  // Special handling for Error objects
86
86
  if (value instanceof Error) {
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/stringifyBON.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringifyBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/stringifyBON.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToKysely.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToKysely.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,EACnE,GAAG,CAAC,KACF,MAgDF,CAAC"}
1
+ {"version":3,"file":"postgresColumnToKysely.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToKysely.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,EACnE,GAAG,CAAC,KACF,MAiDF,CAAC"}
@@ -30,6 +30,7 @@ export const postgresColumnToKysely = (s) => {
30
30
  case 'numeric':
31
31
  case 'money':
32
32
  return `number`;
33
+ case 'snowflake':
33
34
  case 'bigserial':
34
35
  case 'serial8':
35
36
  return `Generated<bigint>`;
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToKysely.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToKysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,CAAI,EACK,EAAE;IACX,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,KAAK,OAAO;YACX,OAAO,SAAS,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACX,OAAO,QAAQ,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACb,OAAO,mBAAmB,CAAC;QAC5B,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YACjB,OAAO,mBAAmB,CAAC;QAC5B,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YACjB,OAAO,MAAM,CAAC;QACf,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD;YACC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"postgresColumnToKysely.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToKysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,CAAI,EACK,EAAE;IACX,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,KAAK,OAAO;YACX,OAAO,SAAS,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACX,OAAO,QAAQ,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACb,OAAO,mBAAmB,CAAC;QAC5B,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YACjB,OAAO,mBAAmB,CAAC;QAC5B,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YACjB,OAAO,MAAM,CAAC;QACf,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD;YACC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToType.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,mBAAmB,EACjE,GAAG,CAAC,KACF,MAkCF,CAAC"}
1
+ {"version":3,"file":"postgresColumnToType.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,mBAAmB,EACjE,GAAG,CAAC,KACF,MAqCF,CAAC"}
@@ -25,6 +25,9 @@ export const postgresColumnToType = (s) => {
25
25
  case 'double precision':
26
26
  case 'float8':
27
27
  case 'money':
28
+ case 'snowflake':
29
+ case 'bigserial':
30
+ case 'serial8':
28
31
  return `number`;
29
32
  case 'date':
30
33
  return `Date`;
@@ -1 +1 @@
1
- {"version":3,"file":"postgresColumnToType.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,CAAI,EACK,EAAE;IACX,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,OAAO;YACX,OAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAClD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACX,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD;YACC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"postgresColumnToType.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/typeverters/postgresColumnToType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,CAAI,EACK,EAAE;IACX,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,OAAO;YACX,OAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAClD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACb,OAAO,QAAQ,CAAC;QACjB,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf,KAAK,OAAO;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD;YACC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
3
+ //# sourceMappingURL=vitest.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../../../libs/lockstep-core/vitest.config.ts"],"names":[],"mappings":";AAEA,wBAUG"}
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ export default defineConfig({
3
+ test: {
4
+ globals: true,
5
+ environment: 'node',
6
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
7
+ coverage: {
8
+ provider: 'v8',
9
+ reporter: ['text'],
10
+ },
11
+ },
12
+ });
13
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../../../libs/lockstep-core/vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC3B,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,kDAAkD,CAAC;QAC7D,QAAQ,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;SAClB;KACD;CACD,CAAC,CAAC"}