@syncular/typegen 0.1.2 → 0.2.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.
- package/README.md +436 -94
- package/dist/cli.d.ts +1 -2
- package/dist/cli.js +159 -73
- package/dist/emit-dart.d.ts +17 -0
- package/dist/emit-dart.js +201 -0
- package/dist/emit-kotlin.d.ts +16 -0
- package/dist/emit-kotlin.js +201 -0
- package/dist/emit-queries-dart.d.ts +2 -0
- package/dist/emit-queries-dart.js +160 -0
- package/dist/emit-queries-kotlin.d.ts +2 -0
- package/dist/emit-queries-kotlin.js +162 -0
- package/dist/emit-queries-swift.d.ts +2 -0
- package/dist/emit-queries-swift.js +146 -0
- package/dist/emit-queries.d.ts +2 -0
- package/dist/emit-queries.js +129 -0
- package/dist/emit-swift.d.ts +18 -0
- package/dist/emit-swift.js +235 -0
- package/dist/emit.d.ts +16 -0
- package/dist/emit.js +191 -0
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +10 -0
- package/dist/generate.d.ts +53 -18
- package/dist/generate.js +391 -77
- package/dist/index.d.ts +17 -14
- package/dist/index.js +16 -13
- package/dist/init.d.ts +12 -0
- package/dist/init.js +85 -0
- package/dist/ir.d.ts +90 -0
- package/dist/ir.js +94 -0
- package/dist/manifest.d.ts +76 -0
- package/dist/manifest.js +303 -0
- package/dist/query.d.ts +96 -0
- package/dist/query.js +719 -0
- package/dist/sql.d.ts +13 -0
- package/dist/sql.js +440 -0
- package/package.json +14 -34
- package/src/cli.ts +161 -82
- package/src/emit-dart.ts +245 -0
- package/src/emit-kotlin.ts +257 -0
- package/src/emit-queries-dart.ts +203 -0
- package/src/emit-queries-kotlin.ts +209 -0
- package/src/emit-queries-swift.ts +198 -0
- package/src/emit-queries.ts +183 -0
- package/src/emit-swift.ts +295 -0
- package/src/emit.ts +239 -0
- package/src/errors.ts +11 -0
- package/src/generate.ts +574 -105
- package/src/index.ts +16 -13
- package/src/init.ts +100 -0
- package/src/ir.ts +197 -0
- package/src/manifest.ts +445 -0
- package/src/query.ts +918 -0
- package/src/sql.ts +533 -0
- package/dist/app-contract.d.ts +0 -154
- package/dist/app-contract.d.ts.map +0 -1
- package/dist/app-contract.js +0 -250
- package/dist/app-contract.js.map +0 -1
- package/dist/checksums.d.ts +0 -6
- package/dist/checksums.d.ts.map +0 -1
- package/dist/checksums.js +0 -173
- package/dist/checksums.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/generate.d.ts.map +0 -1
- package/dist/generate.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/introspect-postgres.d.ts +0 -8
- package/dist/introspect-postgres.d.ts.map +0 -1
- package/dist/introspect-postgres.js +0 -94
- package/dist/introspect-postgres.js.map +0 -1
- package/dist/introspect-sqlite.d.ts +0 -10
- package/dist/introspect-sqlite.d.ts.map +0 -1
- package/dist/introspect-sqlite.js +0 -97
- package/dist/introspect-sqlite.js.map +0 -1
- package/dist/introspect.d.ts +0 -8
- package/dist/introspect.d.ts.map +0 -1
- package/dist/introspect.js +0 -18
- package/dist/introspect.js.map +0 -1
- package/dist/map-types.d.ts +0 -20
- package/dist/map-types.d.ts.map +0 -1
- package/dist/map-types.js +0 -151
- package/dist/map-types.js.map +0 -1
- package/dist/render.d.ts +0 -23
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -140
- package/dist/render.js.map +0 -1
- package/dist/types.d.ts +0 -122
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/src/app-contract.ts +0 -531
- package/src/checksums.ts +0 -257
- package/src/introspect-postgres.ts +0 -149
- package/src/introspect-sqlite.ts +0 -156
- package/src/introspect.ts +0 -36
- package/src/map-types.ts +0 -189
- package/src/render.ts +0 -196
- package/src/types.ts +0 -137
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - SQLite schema introspection
|
|
3
|
-
*
|
|
4
|
-
* Works with both better-sqlite3 (Node.js) and bun:sqlite (Bun runtime).
|
|
5
|
-
*/
|
|
6
|
-
import { Kysely, SqliteDialect } from 'kysely';
|
|
7
|
-
const runtimeGlobals = globalThis;
|
|
8
|
-
const isBun = typeof runtimeGlobals.Bun !== 'undefined';
|
|
9
|
-
async function createSqliteDb() {
|
|
10
|
-
if (isBun) {
|
|
11
|
-
const { Database } = await import('bun:sqlite');
|
|
12
|
-
return new Database(':memory:');
|
|
13
|
-
}
|
|
14
|
-
const { default: Database } = await import('better-sqlite3');
|
|
15
|
-
return new Database(':memory:');
|
|
16
|
-
}
|
|
17
|
-
async function createKysely(sqliteDb) {
|
|
18
|
-
if (isBun) {
|
|
19
|
-
const { BunSqliteDialect } = await import('kysely-bun-sqlite');
|
|
20
|
-
return new Kysely({
|
|
21
|
-
dialect: new BunSqliteDialect({
|
|
22
|
-
database: sqliteDb,
|
|
23
|
-
}),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return new Kysely({
|
|
27
|
-
dialect: new SqliteDialect({
|
|
28
|
-
database: sqliteDb,
|
|
29
|
-
}),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function introspectTable(sqliteDb, tableName) {
|
|
33
|
-
const columns = sqliteDb
|
|
34
|
-
.prepare(`PRAGMA table_info("${tableName}")`)
|
|
35
|
-
.all();
|
|
36
|
-
return {
|
|
37
|
-
name: tableName,
|
|
38
|
-
columns: columns.map((col) => {
|
|
39
|
-
const nullable = col.notnull === 0 && col.pk === 0;
|
|
40
|
-
const hasDefault = col.dflt_value !== null;
|
|
41
|
-
return {
|
|
42
|
-
name: col.name,
|
|
43
|
-
sqlType: col.type,
|
|
44
|
-
tsType: '', // resolved later by map-types
|
|
45
|
-
nullable,
|
|
46
|
-
isPrimaryKey: col.pk === 1,
|
|
47
|
-
hasDefault,
|
|
48
|
-
};
|
|
49
|
-
}),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function getAllTables(sqliteDb) {
|
|
53
|
-
const rows = sqliteDb
|
|
54
|
-
.prepare(`SELECT name FROM sqlite_master
|
|
55
|
-
WHERE type='table'
|
|
56
|
-
AND name NOT LIKE 'sqlite_%'
|
|
57
|
-
ORDER BY name`)
|
|
58
|
-
.all();
|
|
59
|
-
return rows.map((r) => r.name);
|
|
60
|
-
}
|
|
61
|
-
async function introspectAtVersion(migrations, targetVersion, filterTables) {
|
|
62
|
-
const sqliteDb = await createSqliteDb();
|
|
63
|
-
try {
|
|
64
|
-
const db = await createKysely(sqliteDb);
|
|
65
|
-
for (const migration of migrations.migrations) {
|
|
66
|
-
if (migration.version > targetVersion)
|
|
67
|
-
break;
|
|
68
|
-
await migration.up(db);
|
|
69
|
-
}
|
|
70
|
-
let tableNames = getAllTables(sqliteDb);
|
|
71
|
-
if (filterTables && filterTables.length > 0) {
|
|
72
|
-
const filterSet = new Set(filterTables);
|
|
73
|
-
tableNames = tableNames.filter((t) => filterSet.has(t));
|
|
74
|
-
}
|
|
75
|
-
const tables = tableNames.map((name) => introspectTable(sqliteDb, name));
|
|
76
|
-
await db.destroy();
|
|
77
|
-
return {
|
|
78
|
-
version: targetVersion,
|
|
79
|
-
tables,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
finally {
|
|
83
|
-
sqliteDb.close();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export async function introspectSqliteAllVersions(migrations, filterTables) {
|
|
87
|
-
const schemas = [];
|
|
88
|
-
for (const migration of migrations.migrations) {
|
|
89
|
-
const schema = await introspectAtVersion(migrations, migration.version, filterTables);
|
|
90
|
-
schemas.push(schema);
|
|
91
|
-
}
|
|
92
|
-
return schemas;
|
|
93
|
-
}
|
|
94
|
-
export async function introspectSqliteCurrentSchema(migrations, filterTables) {
|
|
95
|
-
return introspectAtVersion(migrations, migrations.currentVersion, filterTables);
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=introspect-sqlite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"introspect-sqlite.js","sourceRoot":"","sources":["../src/introspect-sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/introspect.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - Schema introspection dispatcher
|
|
3
|
-
*/
|
|
4
|
-
import type { DefinedMigrations } from '@syncular/migrations';
|
|
5
|
-
import type { TypegenDialect, VersionedSchema } from './types';
|
|
6
|
-
export declare function introspectAllVersions<DB = unknown>(migrations: DefinedMigrations<DB>, dialect: TypegenDialect, filterTables?: string[]): Promise<VersionedSchema[]>;
|
|
7
|
-
export declare function introspectCurrentSchema<DB = unknown>(migrations: DefinedMigrations<DB>, dialect: TypegenDialect, filterTables?: string[]): Promise<VersionedSchema>;
|
|
8
|
-
//# sourceMappingURL=introspect.d.ts.map
|
package/dist/introspect.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/D,wBAAsB,qBAAqB,CAAC,EAAE,GAAG,OAAO,EACtD,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,EACjC,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAK5B;AAED,wBAAsB,uBAAuB,CAAC,EAAE,GAAG,OAAO,EACxD,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,EACjC,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,CAK1B"}
|
package/dist/introspect.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - Schema introspection dispatcher
|
|
3
|
-
*/
|
|
4
|
-
import { introspectPostgresAllVersions, introspectPostgresCurrentSchema, } from './introspect-postgres.js';
|
|
5
|
-
import { introspectSqliteAllVersions, introspectSqliteCurrentSchema, } from './introspect-sqlite.js';
|
|
6
|
-
export async function introspectAllVersions(migrations, dialect, filterTables) {
|
|
7
|
-
if (dialect === 'postgres') {
|
|
8
|
-
return introspectPostgresAllVersions(migrations, filterTables);
|
|
9
|
-
}
|
|
10
|
-
return introspectSqliteAllVersions(migrations, filterTables);
|
|
11
|
-
}
|
|
12
|
-
export async function introspectCurrentSchema(migrations, dialect, filterTables) {
|
|
13
|
-
if (dialect === 'postgres') {
|
|
14
|
-
return introspectPostgresCurrentSchema(migrations, filterTables);
|
|
15
|
-
}
|
|
16
|
-
return introspectSqliteCurrentSchema(migrations, filterTables);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=introspect.js.map
|
package/dist/introspect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAiC,EACjC,OAAuB,EACvB,YAAuB;IAEvB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,6BAA6B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,2BAA2B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAiC,EACjC,OAAuB,EACvB,YAAuB;IAEvB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,6BAA6B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/map-types.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - Type mapping
|
|
3
|
-
*
|
|
4
|
-
* Maps SQL types to TypeScript types for each dialect,
|
|
5
|
-
* with support for column codec type overrides.
|
|
6
|
-
*/
|
|
7
|
-
import type { ColumnInfo, TypeOverride } from './types';
|
|
8
|
-
export interface ResolvedType {
|
|
9
|
-
tsType: string;
|
|
10
|
-
imports: Array<{
|
|
11
|
-
name: string;
|
|
12
|
-
from: string;
|
|
13
|
-
}>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Resolve the TypeScript type for a column, applying an optional override
|
|
17
|
-
* first and falling back to the default dialect mapping.
|
|
18
|
-
*/
|
|
19
|
-
export declare function resolveColumnType(col: ColumnInfo, override?: TypeOverride): ResolvedType;
|
|
20
|
-
//# sourceMappingURL=map-types.d.ts.map
|
package/dist/map-types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-types.d.ts","sourceRoot":"","sources":["../src/map-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAkB,YAAY,EAAE,MAAM,SAAS,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AA6ID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,UAAU,EACf,QAAQ,CAAC,EAAE,YAAY,GACtB,YAAY,CA4Bd"}
|
package/dist/map-types.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - Type mapping
|
|
3
|
-
*
|
|
4
|
-
* Maps SQL types to TypeScript types for each dialect,
|
|
5
|
-
* with support for column codec type overrides.
|
|
6
|
-
*/
|
|
7
|
-
function mapSqliteType(sqlType) {
|
|
8
|
-
const upper = sqlType.toUpperCase();
|
|
9
|
-
if (upper.includes('INT'))
|
|
10
|
-
return 'number';
|
|
11
|
-
if (upper.includes('REAL') ||
|
|
12
|
-
upper.includes('FLOAT') ||
|
|
13
|
-
upper.includes('DOUBLE'))
|
|
14
|
-
return 'number';
|
|
15
|
-
if (upper.includes('BLOB'))
|
|
16
|
-
return 'Uint8Array';
|
|
17
|
-
if (upper.includes('BOOL'))
|
|
18
|
-
return 'number';
|
|
19
|
-
// TEXT, VARCHAR, CHAR, etc.
|
|
20
|
-
return 'string';
|
|
21
|
-
}
|
|
22
|
-
function mapPostgresType(sqlType) {
|
|
23
|
-
const lower = sqlType.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
24
|
-
// Array types — strip trailing [] and map the element type
|
|
25
|
-
if (lower.endsWith('[]')) {
|
|
26
|
-
const element = mapPostgresType(lower.slice(0, -2));
|
|
27
|
-
return `${element}[]`;
|
|
28
|
-
}
|
|
29
|
-
// Integer types
|
|
30
|
-
if (lower === 'int2' ||
|
|
31
|
-
lower === 'int4' ||
|
|
32
|
-
lower === 'integer' ||
|
|
33
|
-
lower === 'smallint' ||
|
|
34
|
-
lower === 'serial')
|
|
35
|
-
return 'number';
|
|
36
|
-
// 64-bit integers — not safe in JS
|
|
37
|
-
if (lower === 'int8' || lower === 'bigint' || lower === 'bigserial')
|
|
38
|
-
return 'string';
|
|
39
|
-
// Floating-point / numeric
|
|
40
|
-
if (lower === 'float4' ||
|
|
41
|
-
lower === 'float8' ||
|
|
42
|
-
lower === 'real' ||
|
|
43
|
-
lower === 'double precision')
|
|
44
|
-
return 'number';
|
|
45
|
-
// Exact numeric types are string by default to match common pg driver behavior.
|
|
46
|
-
if (lower === 'numeric' || lower === 'decimal')
|
|
47
|
-
return 'string';
|
|
48
|
-
// Boolean
|
|
49
|
-
if (lower === 'bool' || lower === 'boolean')
|
|
50
|
-
return 'boolean';
|
|
51
|
-
// JSON
|
|
52
|
-
if (lower === 'json' || lower === 'jsonb')
|
|
53
|
-
return 'unknown';
|
|
54
|
-
// Date/time
|
|
55
|
-
if (lower === 'timestamp' ||
|
|
56
|
-
lower === 'timestamptz' ||
|
|
57
|
-
lower === 'timestamp with time zone' ||
|
|
58
|
-
lower === 'timestamp without time zone' ||
|
|
59
|
-
lower === 'date' ||
|
|
60
|
-
lower === 'time' ||
|
|
61
|
-
lower === 'timetz' ||
|
|
62
|
-
lower === 'time with time zone' ||
|
|
63
|
-
lower === 'time without time zone')
|
|
64
|
-
return 'string';
|
|
65
|
-
// Binary
|
|
66
|
-
if (lower === 'bytea')
|
|
67
|
-
return 'Uint8Array';
|
|
68
|
-
// Text types
|
|
69
|
-
if (lower === 'uuid' ||
|
|
70
|
-
lower === 'text' ||
|
|
71
|
-
lower === 'varchar' ||
|
|
72
|
-
lower === 'char' ||
|
|
73
|
-
lower === 'citext' ||
|
|
74
|
-
lower.startsWith('character varying') ||
|
|
75
|
-
lower.startsWith('character(') ||
|
|
76
|
-
lower.startsWith('varchar(') ||
|
|
77
|
-
lower.startsWith('char('))
|
|
78
|
-
return 'string';
|
|
79
|
-
// Interval
|
|
80
|
-
if (lower === 'interval')
|
|
81
|
-
return 'string';
|
|
82
|
-
// Network types
|
|
83
|
-
if (lower === 'inet' || lower === 'cidr' || lower === 'macaddr')
|
|
84
|
-
return 'string';
|
|
85
|
-
// Geometric types
|
|
86
|
-
if (lower === 'point' ||
|
|
87
|
-
lower === 'line' ||
|
|
88
|
-
lower === 'box' ||
|
|
89
|
-
lower === 'path' ||
|
|
90
|
-
lower === 'polygon' ||
|
|
91
|
-
lower === 'circle' ||
|
|
92
|
-
lower === 'lseg')
|
|
93
|
-
return 'string';
|
|
94
|
-
// Range types
|
|
95
|
-
if (lower === 'int4range' ||
|
|
96
|
-
lower === 'int8range' ||
|
|
97
|
-
lower === 'tsrange' ||
|
|
98
|
-
lower === 'tstzrange' ||
|
|
99
|
-
lower === 'daterange' ||
|
|
100
|
-
lower === 'numrange')
|
|
101
|
-
return 'string';
|
|
102
|
-
// Full-text search
|
|
103
|
-
if (lower === 'tsvector' || lower === 'tsquery')
|
|
104
|
-
return 'string';
|
|
105
|
-
// Other
|
|
106
|
-
if (lower === 'xml')
|
|
107
|
-
return 'string';
|
|
108
|
-
if (lower === 'money')
|
|
109
|
-
return 'string';
|
|
110
|
-
if (lower === 'bit' ||
|
|
111
|
-
lower === 'varbit' ||
|
|
112
|
-
lower.startsWith('bit(') ||
|
|
113
|
-
lower.startsWith('bit varying'))
|
|
114
|
-
return 'string';
|
|
115
|
-
return 'string';
|
|
116
|
-
}
|
|
117
|
-
function defaultMapper(dialect) {
|
|
118
|
-
return dialect === 'postgres' ? mapPostgresType : mapSqliteType;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Resolve the TypeScript type for a column, applying an optional override
|
|
122
|
-
* first and falling back to the default dialect mapping.
|
|
123
|
-
*/
|
|
124
|
-
export function resolveColumnType(col, override) {
|
|
125
|
-
const imports = [];
|
|
126
|
-
if (override !== undefined) {
|
|
127
|
-
if (typeof override === 'string') {
|
|
128
|
-
const baseType = override;
|
|
129
|
-
return {
|
|
130
|
-
tsType: col.nullable ? `${baseType} | null` : baseType,
|
|
131
|
-
imports,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
if (override.import) {
|
|
135
|
-
imports.push(override.import);
|
|
136
|
-
}
|
|
137
|
-
const baseType = override.type;
|
|
138
|
-
return {
|
|
139
|
-
tsType: col.nullable ? `${baseType} | null` : baseType,
|
|
140
|
-
imports,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
// Default mapping
|
|
144
|
-
const mapper = defaultMapper(col.dialect);
|
|
145
|
-
const baseType = mapper(col.sqlType);
|
|
146
|
-
return {
|
|
147
|
-
tsType: col.nullable ? `${baseType} | null` : baseType,
|
|
148
|
-
imports,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=map-types.js.map
|
package/dist/map-types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-types.js","sourceRoot":"","sources":["../src/map-types.ts"],"names":[],"mappings":"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"}
|
package/dist/render.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - TypeScript code generation
|
|
3
|
-
*/
|
|
4
|
-
import type { VersionedSchema } from './types';
|
|
5
|
-
/**
|
|
6
|
-
* Options for rendering types.
|
|
7
|
-
*/
|
|
8
|
-
export interface RenderOptions {
|
|
9
|
-
/** Schemas at each version (for version history) */
|
|
10
|
-
schemas: VersionedSchema[];
|
|
11
|
-
/** Generate versioned interfaces */
|
|
12
|
-
includeVersionHistory?: boolean;
|
|
13
|
-
/** Custom imports collected from resolver results */
|
|
14
|
-
customImports?: Array<{
|
|
15
|
-
name: string;
|
|
16
|
-
from: string;
|
|
17
|
-
}>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Render complete TypeScript type definitions.
|
|
21
|
-
*/
|
|
22
|
-
export declare function renderTypes(options: RenderOptions): string;
|
|
23
|
-
//# sourceMappingURL=render.d.ts.map
|
package/dist/render.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAA6B,eAAe,EAAE,MAAM,SAAS,CAAC;AAiD1E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,oCAAoC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qDAAqD;IACrD,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAwG1D"}
|
package/dist/render.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - TypeScript code generation
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Convert a snake_case table/column name to PascalCase.
|
|
6
|
-
*/
|
|
7
|
-
function toPascalCase(str) {
|
|
8
|
-
return str
|
|
9
|
-
.split(/[_-]/)
|
|
10
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
11
|
-
.join('');
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Render a single column definition.
|
|
15
|
-
*/
|
|
16
|
-
function renderColumn(column) {
|
|
17
|
-
const tsType = column.hasDefault
|
|
18
|
-
? `Generated<${column.tsType}>`
|
|
19
|
-
: column.tsType;
|
|
20
|
-
return ` ${column.name}: ${tsType};`;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Render a table interface.
|
|
24
|
-
*/
|
|
25
|
-
function renderTableInterface(table, interfaceName) {
|
|
26
|
-
const columns = table.columns.map(renderColumn).join('\n');
|
|
27
|
-
return `export interface ${interfaceName} {\n${columns}\n}`;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Render a database interface containing all tables.
|
|
31
|
-
*/
|
|
32
|
-
function renderDbInterface(schema, interfaceName, extendsType) {
|
|
33
|
-
const extendsClause = extendsType ? ` extends ${extendsType}` : '';
|
|
34
|
-
const tableEntries = schema.tables
|
|
35
|
-
.map((t) => ` ${t.name}: ${toPascalCase(t.name)}Table;`)
|
|
36
|
-
.join('\n');
|
|
37
|
-
return `export interface ${interfaceName}${extendsClause} {\n${tableEntries}\n}`;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Render complete TypeScript type definitions.
|
|
41
|
-
*/
|
|
42
|
-
export function renderTypes(options) {
|
|
43
|
-
const { schemas, includeVersionHistory, customImports } = options;
|
|
44
|
-
const lines = [];
|
|
45
|
-
// Header
|
|
46
|
-
lines.push('/**');
|
|
47
|
-
lines.push(' * Auto-generated database types from migrations.');
|
|
48
|
-
lines.push(' * DO NOT EDIT - regenerate with @syncular/typegen');
|
|
49
|
-
lines.push(' */');
|
|
50
|
-
lines.push('');
|
|
51
|
-
const usesGenerated = schemas.some((schema) => schema.tables.some((table) => table.columns.some((column) => column.hasDefault)));
|
|
52
|
-
if (usesGenerated) {
|
|
53
|
-
lines.push("import type { Generated } from 'kysely';");
|
|
54
|
-
lines.push('');
|
|
55
|
-
}
|
|
56
|
-
// Render custom imports from resolver
|
|
57
|
-
if (customImports && customImports.length > 0) {
|
|
58
|
-
// Group imports by source module
|
|
59
|
-
const byModule = new Map();
|
|
60
|
-
for (const imp of customImports) {
|
|
61
|
-
let names = byModule.get(imp.from);
|
|
62
|
-
if (!names) {
|
|
63
|
-
names = new Set();
|
|
64
|
-
byModule.set(imp.from, names);
|
|
65
|
-
}
|
|
66
|
-
names.add(imp.name);
|
|
67
|
-
}
|
|
68
|
-
for (const [from, names] of byModule) {
|
|
69
|
-
const sorted = [...names].sort();
|
|
70
|
-
lines.push(`import type { ${sorted.join(', ')} } from '${from}';`);
|
|
71
|
-
}
|
|
72
|
-
lines.push('');
|
|
73
|
-
}
|
|
74
|
-
// Get the latest schema
|
|
75
|
-
const latestSchema = schemas[schemas.length - 1];
|
|
76
|
-
if (!latestSchema) {
|
|
77
|
-
lines.push('// No migrations defined');
|
|
78
|
-
return lines.join('\n');
|
|
79
|
-
}
|
|
80
|
-
// Generate table interfaces for latest version
|
|
81
|
-
for (const table of latestSchema.tables) {
|
|
82
|
-
lines.push(renderTableInterface(table, `${toPascalCase(table.name)}Table`));
|
|
83
|
-
lines.push('');
|
|
84
|
-
}
|
|
85
|
-
// Generate versioned DB interfaces if requested
|
|
86
|
-
if (includeVersionHistory && schemas.length > 0) {
|
|
87
|
-
for (const schema of schemas) {
|
|
88
|
-
// For each version, generate table interfaces with version suffix
|
|
89
|
-
// if they differ from the latest
|
|
90
|
-
const versionSuffix = `V${schema.version}`;
|
|
91
|
-
// Generate versioned table interfaces
|
|
92
|
-
for (const table of schema.tables) {
|
|
93
|
-
const latestTable = latestSchema.tables.find((t) => t.name === table.name);
|
|
94
|
-
// Only generate versioned interface if different from latest
|
|
95
|
-
if (latestTable && !tablesEqual(table, latestTable)) {
|
|
96
|
-
lines.push(renderTableInterface(table, `${toPascalCase(table.name)}Table${versionSuffix}`));
|
|
97
|
-
lines.push('');
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Generate versioned DB interface
|
|
101
|
-
const tableEntries = schema.tables
|
|
102
|
-
.map((t) => {
|
|
103
|
-
const latestTable = latestSchema.tables.find((lt) => lt.name === t.name);
|
|
104
|
-
const useVersioned = latestTable && !tablesEqual(t, latestTable);
|
|
105
|
-
const typeName = useVersioned
|
|
106
|
-
? `${toPascalCase(t.name)}Table${versionSuffix}`
|
|
107
|
-
: `${toPascalCase(t.name)}Table`;
|
|
108
|
-
return ` ${t.name}: ${typeName};`;
|
|
109
|
-
})
|
|
110
|
-
.join('\n');
|
|
111
|
-
lines.push(`export interface ClientDb${versionSuffix} {`);
|
|
112
|
-
lines.push(tableEntries);
|
|
113
|
-
lines.push('}');
|
|
114
|
-
lines.push('');
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
// Generate main DB interface (latest version)
|
|
118
|
-
lines.push(renderDbInterface(latestSchema, 'ClientDb'));
|
|
119
|
-
lines.push('');
|
|
120
|
-
return lines.join('\n');
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Check if two table schemas are equal.
|
|
124
|
-
*/
|
|
125
|
-
function tablesEqual(a, b) {
|
|
126
|
-
if (a.columns.length !== b.columns.length)
|
|
127
|
-
return false;
|
|
128
|
-
for (let i = 0; i < a.columns.length; i++) {
|
|
129
|
-
const colA = a.columns[i];
|
|
130
|
-
const colB = b.columns[i];
|
|
131
|
-
if (colA.name !== colB.name ||
|
|
132
|
-
colA.tsType !== colB.tsType ||
|
|
133
|
-
colA.nullable !== colB.nullable ||
|
|
134
|
-
colA.hasDefault !== colB.hasDefault) {
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=render.js.map
|
package/dist/render.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/typegen - Type definitions
|
|
3
|
-
*/
|
|
4
|
-
import type { DefinedMigrations } from '@syncular/migrations';
|
|
5
|
-
export type TypegenDialect = 'sqlite' | 'postgres';
|
|
6
|
-
/**
|
|
7
|
-
* Column information for a schema column.
|
|
8
|
-
*/
|
|
9
|
-
export interface ColumnInfo {
|
|
10
|
-
table: string;
|
|
11
|
-
column: string;
|
|
12
|
-
sqlType: string;
|
|
13
|
-
nullable: boolean;
|
|
14
|
-
isPrimaryKey: boolean;
|
|
15
|
-
hasDefault: boolean;
|
|
16
|
-
dialect: TypegenDialect;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Return type from a resolver function.
|
|
20
|
-
*/
|
|
21
|
-
export type TypeOverride = string | {
|
|
22
|
-
type: string;
|
|
23
|
-
import?: {
|
|
24
|
-
name: string;
|
|
25
|
-
from: string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Column codec definition shared across runtime and typegen.
|
|
30
|
-
* Typegen only consumes the `ts` field, but a full codec object can be
|
|
31
|
-
* provided as a single source of truth.
|
|
32
|
-
*/
|
|
33
|
-
export interface ColumnCodec<App, Db> {
|
|
34
|
-
ts: TypeOverride;
|
|
35
|
-
toDb(value: App): Db;
|
|
36
|
-
fromDb(value: Db): App;
|
|
37
|
-
dialects?: Partial<Record<TypegenDialect, {
|
|
38
|
-
toDb?(value: App): Db;
|
|
39
|
-
fromDb?(value: Db): App;
|
|
40
|
-
}>>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Column codec resolver for a column.
|
|
44
|
-
*/
|
|
45
|
-
export type ColumnCodecResolver = (column: ColumnInfo) => ColumnCodec<unknown, unknown> | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Parsed table schema.
|
|
48
|
-
*/
|
|
49
|
-
export interface TableSchema {
|
|
50
|
-
name: string;
|
|
51
|
-
columns: ColumnSchema[];
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Parsed column schema.
|
|
55
|
-
*/
|
|
56
|
-
export interface ColumnSchema {
|
|
57
|
-
name: string;
|
|
58
|
-
sqlType: string;
|
|
59
|
-
tsType: string;
|
|
60
|
-
nullable: boolean;
|
|
61
|
-
isPrimaryKey: boolean;
|
|
62
|
-
hasDefault: boolean;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Schema snapshot at a specific version.
|
|
66
|
-
*/
|
|
67
|
-
export interface VersionedSchema {
|
|
68
|
-
version: number;
|
|
69
|
-
tables: TableSchema[];
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Options for generateTypes().
|
|
73
|
-
*/
|
|
74
|
-
export interface GenerateTypesOptions<DB = unknown> {
|
|
75
|
-
/** Defined migrations from defineMigrations() */
|
|
76
|
-
migrations: DefinedMigrations<DB>;
|
|
77
|
-
/** Output file path for generated types */
|
|
78
|
-
output: string;
|
|
79
|
-
/** Database dialect to use for introspection (default: 'sqlite') */
|
|
80
|
-
dialect?: TypegenDialect;
|
|
81
|
-
/** Generate versioned interfaces (ClientDbV1, ClientDbV2, etc.) */
|
|
82
|
-
includeVersionHistory?: boolean;
|
|
83
|
-
/** Only generate types for these tables (default: all tables) */
|
|
84
|
-
tables?: string[];
|
|
85
|
-
/**
|
|
86
|
-
* Optional column codec resolver for per-column type overrides.
|
|
87
|
-
* Receives full column metadata (table, column, sqlType, dialect, etc.).
|
|
88
|
-
*/
|
|
89
|
-
codecs?: ColumnCodecResolver;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Result of type generation.
|
|
93
|
-
*/
|
|
94
|
-
export interface GenerateTypesResult {
|
|
95
|
-
/** Path to the generated file */
|
|
96
|
-
outputPath: string;
|
|
97
|
-
/** Current schema version */
|
|
98
|
-
currentVersion: number;
|
|
99
|
-
/** Number of tables generated */
|
|
100
|
-
tableCount: number;
|
|
101
|
-
/** Generated TypeScript code */
|
|
102
|
-
code: string;
|
|
103
|
-
}
|
|
104
|
-
export interface GenerateMigrationChecksumsOptions<DB = unknown> {
|
|
105
|
-
/** Defined migrations from defineMigrations() */
|
|
106
|
-
migrations: DefinedMigrations<DB>;
|
|
107
|
-
/** Output file path for generated checksums */
|
|
108
|
-
output: string;
|
|
109
|
-
/** Database dialect to use for replay (default: 'sqlite') */
|
|
110
|
-
dialect?: TypegenDialect;
|
|
111
|
-
}
|
|
112
|
-
export interface GenerateMigrationChecksumsResult {
|
|
113
|
-
/** Path to the generated file */
|
|
114
|
-
outputPath: string;
|
|
115
|
-
/** Current schema version */
|
|
116
|
-
currentVersion: number;
|
|
117
|
-
/** Number of checksums generated */
|
|
118
|
-
checksumCount: number;
|
|
119
|
-
/** Generated TypeScript code */
|
|
120
|
-
code: string;
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|