@danielfgray/pg-sourcerer 0.1.8 → 0.1.9

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 (55) hide show
  1. package/dist/cli.js +30 -105
  2. package/dist/cli.js.map +1 -1
  3. package/dist/generate.d.ts.map +1 -1
  4. package/dist/generate.js +4 -8
  5. package/dist/generate.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/init.d.ts +4 -1
  11. package/dist/init.d.ts.map +1 -1
  12. package/dist/init.js +207 -86
  13. package/dist/init.js.map +1 -1
  14. package/dist/lib/conjure.d.ts +15 -2
  15. package/dist/lib/conjure.d.ts.map +1 -1
  16. package/dist/lib/conjure.js +44 -3
  17. package/dist/lib/conjure.js.map +1 -1
  18. package/dist/lib/field-utils.js +5 -8
  19. package/dist/lib/field-utils.js.map +1 -1
  20. package/dist/plugins/arktype.d.ts +7 -0
  21. package/dist/plugins/arktype.d.ts.map +1 -1
  22. package/dist/plugins/arktype.js +219 -40
  23. package/dist/plugins/arktype.js.map +1 -1
  24. package/dist/plugins/effect-model.d.ts +8 -1
  25. package/dist/plugins/effect-model.d.ts.map +1 -1
  26. package/dist/plugins/effect-model.js +163 -15
  27. package/dist/plugins/effect-model.js.map +1 -1
  28. package/dist/plugins/kysely-queries.d.ts +7 -0
  29. package/dist/plugins/kysely-queries.d.ts.map +1 -1
  30. package/dist/plugins/kysely-queries.js +175 -74
  31. package/dist/plugins/kysely-queries.js.map +1 -1
  32. package/dist/plugins/sql-queries.d.ts +4 -0
  33. package/dist/plugins/sql-queries.d.ts.map +1 -1
  34. package/dist/plugins/sql-queries.js +81 -16
  35. package/dist/plugins/sql-queries.js.map +1 -1
  36. package/dist/plugins/types.d.ts +2 -0
  37. package/dist/plugins/types.d.ts.map +1 -1
  38. package/dist/plugins/types.js +1 -1
  39. package/dist/plugins/types.js.map +1 -1
  40. package/dist/plugins/zod.d.ts +7 -0
  41. package/dist/plugins/zod.d.ts.map +1 -1
  42. package/dist/plugins/zod.js +169 -13
  43. package/dist/plugins/zod.js.map +1 -1
  44. package/dist/services/artifact-store.d.ts.map +1 -1
  45. package/dist/services/artifact-store.js +2 -5
  46. package/dist/services/artifact-store.js.map +1 -1
  47. package/dist/services/inflection.d.ts +51 -30
  48. package/dist/services/inflection.d.ts.map +1 -1
  49. package/dist/services/inflection.js +86 -93
  50. package/dist/services/inflection.js.map +1 -1
  51. package/dist/services/plugin.d.ts +10 -10
  52. package/dist/services/plugin.d.ts.map +1 -1
  53. package/dist/services/plugin.js +16 -3
  54. package/dist/services/plugin.js.map +1 -1
  55. package/package.json +3 -2
package/dist/init.js CHANGED
@@ -6,55 +6,70 @@
6
6
  */
7
7
  import { Prompt } from "@effect/cli";
8
8
  import { FileSystem } from "@effect/platform";
9
- import { Console, Effect } from "effect";
9
+ import { Array, Console, Effect, HashMap, HashSet, Option, pipe } from "effect";
10
10
  import postgres from "postgres";
11
11
  import { conjure, cast } from "./lib/conjure.js";
12
12
  import recast from "recast";
13
- const availablePlugins = [
14
- {
15
- title: "types",
16
- value: "types",
17
- description: "TypeScript type definitions",
18
- importName: "typesPlugin",
19
- selected: true, // Default selected
20
- },
21
- {
22
- title: "zod",
23
- value: "zod",
24
- description: "Zod validation schemas",
25
- importName: "zodPlugin",
26
- },
27
- {
28
- title: "arktype",
29
- value: "arktype",
30
- description: "ArkType schemas",
31
- importName: "arktypePlugin",
32
- },
33
- {
34
- title: "effect-model",
35
- value: "effect-model",
36
- description: "Effect Schema models",
37
- importName: "effectModelPlugin",
38
- },
39
- {
40
- title: "sql-queries",
41
- value: "sql-queries",
42
- description: "SQL query functions",
43
- importName: "sqlQueriesPlugin",
44
- },
45
- {
46
- title: "kysely-queries",
47
- value: "kysely-queries",
48
- description: "Kysely query builders",
49
- importName: "kyselyQueriesPlugin",
50
- },
51
- ];
13
+ import { introspectDatabase } from "./services/introspection.js";
14
+ /** Maps plugin value to import name for config generation */
15
+ const pluginImportNames = {
16
+ types: "typesPlugin",
17
+ zod: "zodPlugin",
18
+ arktype: "arktypePlugin",
19
+ "effect-model": "effectModelPlugin",
20
+ "sql-queries": "sqlQueriesPlugin",
21
+ "kysely-queries": "kyselyQueriesPlugin",
22
+ };
23
+ /** Get plugin info by value */
24
+ const getPluginInfo = (value) => {
25
+ const importName = pluginImportNames[value];
26
+ return importName ? { value, importName } : undefined;
27
+ };
28
+ const POSTGRES_URL_REGEX = /^postgres(ql)?:\/\//i;
29
+ /**
30
+ * Parse .env content into HashMap<string, string>
31
+ * Handles: KEY=value, KEY="value", KEY='value', comments, empty lines
32
+ */
33
+ const parseDotEnv = (content) => pipe(content.split("\n"), Array.map(line => line.trim()), Array.filter(line => line.length > 0 && !line.startsWith("#")), Array.filterMap(line => {
34
+ const eqIndex = line.indexOf("=");
35
+ if (eqIndex === -1)
36
+ return Option.none();
37
+ const key = line.slice(0, eqIndex).trim();
38
+ let value = line.slice(eqIndex + 1).trim();
39
+ // Remove surrounding quotes
40
+ if ((value.startsWith('"') && value.endsWith('"')) ||
41
+ (value.startsWith("'") && value.endsWith("'"))) {
42
+ value = value.slice(1, -1);
43
+ }
44
+ return Option.some([key, value]);
45
+ }), HashMap.fromIterable);
46
+ /**
47
+ * Filter entries matching postgres URL pattern
48
+ */
49
+ const filterPostgresUrls = (entries, source) => pipe(entries, HashMap.filter(value => POSTGRES_URL_REGEX.test(value)), HashMap.toEntries, Array.map(([key, value]) => ({ key, value, source })));
50
+ /**
51
+ * Get process.env as HashMap, excluding specified keys
52
+ */
53
+ const processEnvExcluding = (exclude) => pipe(Object.entries(process.env), Array.filter(([key, value]) => value != null && !HashSet.has(exclude, key)), Array.map(([key, value]) => [key, value]), HashMap.fromIterable);
54
+ /**
55
+ * Scan .env file and process.env for postgres connection strings.
56
+ */
57
+ const scanEnvForConnectionStrings = Effect.gen(function* () {
58
+ const fs = yield* FileSystem.FileSystem;
59
+ const envPath = `${process.cwd()}/.env`;
60
+ // Try to read .env file
61
+ const dotEnvMatches = yield* fs.readFileString(envPath).pipe(Effect.map(content => filterPostgresUrls(parseDotEnv(content), ".env")), Effect.catchAll(() => Effect.succeed([])));
62
+ // Scan process.env, excluding keys already found in .env
63
+ const dotEnvKeys = pipe(dotEnvMatches, Array.map(m => m.key), HashSet.fromIterable);
64
+ const processEnvMatches = filterPostgresUrls(processEnvExcluding(dotEnvKeys), "process.env");
65
+ return [...dotEnvMatches, ...processEnvMatches];
66
+ });
52
67
  // ============================================================================
53
68
  // Prompts
54
69
  // ============================================================================
55
70
  const connectionStringPrompt = Prompt.text({
56
71
  message: "Database connection string",
57
- validate: (value) => value.trim().length === 0
72
+ validate: value => value.trim().length === 0
58
73
  ? Effect.fail("Connection string is required")
59
74
  : Effect.succeed(value.trim()),
60
75
  });
@@ -68,7 +83,7 @@ const promptAndTestConnection = (defaultValue) => Effect.gen(function* () {
68
83
  : connectionStringPrompt;
69
84
  const connStr = yield* prompt;
70
85
  yield* Console.log("Testing connection...");
71
- const result = yield* testConnection(connStr).pipe(Effect.map((version) => ({ success: true, version })), Effect.catchAll((e) => Effect.succeed({ success: false, error: e.message })));
86
+ const result = yield* testConnection(connStr).pipe(Effect.map(version => ({ success: true, version })), Effect.catchAll(e => Effect.succeed({ success: false, error: e.message })));
72
87
  if (result.success) {
73
88
  yield* Console.log(`✓ Connected to ${result.version}\n`);
74
89
  return connStr;
@@ -80,6 +95,47 @@ const promptAndTestConnection = (defaultValue) => Effect.gen(function* () {
80
95
  return yield* promptAndTestConnection(connStr);
81
96
  }
82
97
  });
98
+ /**
99
+ * Get connection string - either from detected env var or manual entry.
100
+ */
101
+ const getConnectionString = Effect.gen(function* () {
102
+ const envMatches = yield* scanEnvForConnectionStrings;
103
+ // No matches → manual entry
104
+ if (Array.isEmptyReadonlyArray(envMatches)) {
105
+ const connectionString = yield* promptAndTestConnection();
106
+ return { connectionString, configValue: connectionString, isEnvRef: false };
107
+ }
108
+ yield* Console.log(`Found ${envMatches.length} potential connection string${envMatches.length === 1 ? "" : "s"} in environment:\n`);
109
+ const choices = pipe(envMatches, Array.map(m => ({
110
+ title: `${m.key} (${m.source})`,
111
+ value: m.key,
112
+ })), Array.append({ title: "Enter manually", value: "__manual__" }));
113
+ const selected = yield* Prompt.select({
114
+ message: "Select connection string",
115
+ choices,
116
+ });
117
+ if (selected === "__manual__") {
118
+ const connectionString = yield* promptAndTestConnection();
119
+ return { connectionString, configValue: connectionString, isEnvRef: false };
120
+ }
121
+ // Find selected match and test connection
122
+ const match = pipe(envMatches, Array.findFirst(m => m.key === selected), Option.getOrThrow);
123
+ yield* Console.log(`\nTesting ${match.key}...`);
124
+ const testResult = yield* testConnection(match.value).pipe(Effect.map(version => ({ success: true, version })), Effect.catchAll(e => Effect.succeed({ success: false, error: e.message })));
125
+ if (testResult.success) {
126
+ yield* Console.log(`✓ Connected to ${testResult.version}\n`);
127
+ return {
128
+ connectionString: match.value,
129
+ configValue: `process.env.${match.key}`,
130
+ isEnvRef: true,
131
+ };
132
+ }
133
+ // Failed → fall back to manual with value as default
134
+ yield* Console.error(`✗ ${testResult.error}`);
135
+ yield* Console.log("Connection failed. Please enter manually.\n");
136
+ const connectionString = yield* promptAndTestConnection(match.value);
137
+ return { connectionString, configValue: connectionString, isEnvRef: false };
138
+ });
83
139
  /**
84
140
  * Role prompt with explanation of when to use it.
85
141
  *
@@ -90,26 +146,79 @@ const promptAndTestConnection = (defaultValue) => Effect.gen(function* () {
90
146
  const makeRolePrompt = () => Prompt.text({
91
147
  message: "PostgreSQL role (for RLS - leave empty if not using RLS)",
92
148
  default: "",
93
- }).pipe(Prompt.map((s) => s.trim() || undefined));
94
- const makeSchemasPrompt = () => Prompt.text({
95
- message: "Schemas to introspect (comma-separated)",
96
- default: "public",
97
- }).pipe(Prompt.map((s) => s.split(",").map((x) => x.trim()).filter((x) => x.length > 0)));
149
+ }).pipe(Prompt.map(s => s.trim() || undefined));
150
+ const makeSchemasPrompt = (introspection) => {
151
+ // Group classes by schema and count tables/views
152
+ const schemaCounts = new Map();
153
+ for (const c of introspection.classes) {
154
+ if (c.relkind !== "r" && c.relkind !== "v" && c.relkind !== "m")
155
+ continue;
156
+ const schema = c.getNamespace()?.nspname;
157
+ if (!schema || schema.startsWith("pg_") || schema === "information_schema")
158
+ continue;
159
+ schemaCounts.set(schema, (schemaCounts.get(schema) ?? 0) + 1);
160
+ }
161
+ // Sort: public first, then by count desc
162
+ const schemas = [...schemaCounts.entries()].sort((a, b) => {
163
+ if (a[0] === "public")
164
+ return -1;
165
+ if (b[0] === "public")
166
+ return 1;
167
+ return b[1] - a[1];
168
+ });
169
+ if (schemas.length === 0) {
170
+ // Fallback to text prompt if no schemas found
171
+ return Prompt.text({
172
+ message: "Schemas to introspect (comma-separated)",
173
+ default: "public",
174
+ }).pipe(Prompt.map(s => s
175
+ .split(",")
176
+ .map(x => x.trim())
177
+ .filter(x => x.length > 0)));
178
+ }
179
+ // Multi-select with table counts
180
+ return Prompt.multiSelect({
181
+ message: "Select schemas to introspect",
182
+ choices: schemas.map(([name, count]) => ({
183
+ title: `${name} (${count} table${count === 1 ? "" : "s"})`,
184
+ value: name,
185
+ selected: name === "public" || schemas.length === 1,
186
+ })),
187
+ });
188
+ };
98
189
  const makeOutputDirPrompt = () => Prompt.text({
99
190
  message: "Output directory",
100
- default: "src/generated",
101
- });
102
- const makePluginsPrompt = () => Prompt.multiSelect({
103
- message: "Select plugins to enable (space to toggle, enter to confirm)",
104
- choices: availablePlugins.map((p) => ({
105
- title: `${p.title} - ${p.description}`,
106
- value: p.value,
107
- selected: p.selected,
108
- })),
191
+ default: "./generated",
109
192
  });
110
- const makeClassicInflectionPrompt = () => Prompt.confirm({
111
- message: "Use classic inflection? (PascalCase entities, camelCase fields)",
112
- initial: true,
193
+ /**
194
+ * Staged plugin selection using radio groups per category.
195
+ * Schema libs (zod/arktype/effect-model) each generate their own types,
196
+ * so they conflict with the standalone types plugin.
197
+ */
198
+ const makePluginsPrompt = () => Effect.gen(function* () {
199
+ // Stage 1: Type/Schema generation (mutually exclusive)
200
+ const typePlugin = yield* Prompt.select({
201
+ message: "Type/Schema generation",
202
+ choices: [
203
+ { title: "types - Standalone TypeScript types", value: "types" },
204
+ { title: "zod - Zod schemas (includes types)", value: "zod" },
205
+ { title: "arktype - ArkType schemas (includes types)", value: "arktype" },
206
+ { title: "effect-model - Effect Schema (includes types)", value: "effect-model" },
207
+ ],
208
+ });
209
+ // Stage 2: Query generation (optional, mutually exclusive)
210
+ const queryPlugin = yield* Prompt.select({
211
+ message: "Query generation",
212
+ choices: [
213
+ { title: "None", value: "none" },
214
+ { title: "sql-queries - Raw SQL query functions", value: "sql-queries" },
215
+ { title: "kysely-queries - Kysely query builders", value: "kysely-queries" },
216
+ ],
217
+ });
218
+ const plugins = [typePlugin];
219
+ if (queryPlugin !== "none")
220
+ plugins.push(queryPlugin);
221
+ return plugins;
113
222
  });
114
223
  const makeFormatterPrompt = () => Prompt.text({
115
224
  message: "Formatter command (optional, leave empty to skip)",
@@ -132,28 +241,37 @@ const testConnection = (connectionString) => Effect.tryPromise({
132
241
  await sql.end();
133
242
  }
134
243
  },
135
- catch: (error) => new Error(`Connection failed: ${error instanceof Error ? error.message : String(error)}`),
244
+ catch: error => new Error(`Connection failed: ${error instanceof Error ? error.message : String(error)}`),
136
245
  });
137
246
  const generateConfigContent = (answers) => {
138
- const selectedPlugins = availablePlugins.filter((p) => answers.plugins.includes(p.value));
247
+ // Look up import names for selected plugins
248
+ const selectedPlugins = pipe(answers.plugins, Array.filterMap(value => {
249
+ const info = getPluginInfo(value);
250
+ return info ? Option.some(info) : Option.none();
251
+ }));
139
252
  // Build import specifiers
140
253
  const coreImports = ["defineConfig"];
141
- if (answers.classicInflection) {
142
- coreImports.push("classicInflectionConfig");
143
- }
144
- const allImports = [...coreImports, ...selectedPlugins.map((p) => p.importName)];
254
+ const allImports = [...coreImports, ...selectedPlugins.map(p => p.importName)];
145
255
  // Build the import statement
146
- const importDecl = conjure.b.importDeclaration(allImports.map((name) => conjure.b.importSpecifier(conjure.b.identifier(name))), conjure.str("@danielfgray/pg-sourcerer"));
147
- // Build the config object
148
- let configObj = conjure.obj()
149
- .prop("connectionString", conjure.str(answers.connectionString));
256
+ const importDecl = conjure.b.importDeclaration(allImports.map(name => conjure.b.importSpecifier(conjure.b.identifier(name))), conjure.str("@danielfgray/pg-sourcerer"));
257
+ // Build the config object - handle env ref vs literal
258
+ let configObj = conjure.obj();
259
+ if (answers.isEnvRef) {
260
+ // Generate: connectionString: process.env.DATABASE_URL
261
+ const envKey = answers.connectionConfigValue.replace("process.env.", "");
262
+ const envAccess = conjure.b.memberExpression(conjure.b.memberExpression(conjure.b.identifier("process"), conjure.b.identifier("env")), conjure.b.identifier(envKey));
263
+ configObj = configObj.prop("connectionString", envAccess);
264
+ }
265
+ else {
266
+ configObj = configObj.prop("connectionString", conjure.str(answers.connectionConfigValue));
267
+ }
150
268
  // Role (only if set)
151
269
  if (answers.role) {
152
270
  configObj = configObj.prop("role", conjure.str(answers.role));
153
271
  }
154
272
  // Schemas (only if not just ["public"])
155
273
  if (answers.schemas.length !== 1 || answers.schemas[0] !== "public") {
156
- const schemasArr = conjure.arr(...answers.schemas.map((s) => conjure.str(s)));
274
+ const schemasArr = conjure.arr(...answers.schemas.map(s => conjure.str(s)));
157
275
  configObj = configObj.prop("schemas", schemasArr.build());
158
276
  }
159
277
  // Output directory (only if not default)
@@ -164,14 +282,8 @@ const generateConfigContent = (answers) => {
164
282
  if (answers.formatter.trim()) {
165
283
  configObj = configObj.prop("formatter", conjure.str(answers.formatter.trim()));
166
284
  }
167
- // Inflection (only if classic)
168
- if (answers.classicInflection) {
169
- configObj = configObj.prop("inflection", conjure.id("classicInflectionConfig").build());
170
- }
171
- // Plugins array
172
- const pluginCalls = selectedPlugins.map((plugin) => conjure.id(plugin.importName)
173
- .call([conjure.obj().prop("outputDir", conjure.str(plugin.value)).build()])
174
- .build());
285
+ // Plugins array - no config needed, all plugins have sensible defaults
286
+ const pluginCalls = selectedPlugins.map(plugin => conjure.id(plugin.importName).call([]).build());
175
287
  const pluginsArr = conjure.arr(...pluginCalls);
176
288
  configObj = configObj.prop("plugins", pluginsArr.build());
177
289
  // Build the export default statement
@@ -196,13 +308,18 @@ export const runInit = Effect.gen(function* () {
196
308
  return yield* Effect.fail(new Error("Config already exists"));
197
309
  }
198
310
  yield* Console.log("\n🔧 pg-sourcerer config generator\n");
199
- // Collect answers - connection string is tested immediately
200
- const connectionString = yield* promptAndTestConnection();
311
+ // Collect answers - connection string may be detected from env
312
+ const { connectionString, configValue, isEnvRef } = yield* getConnectionString;
313
+ // Introspect to discover schemas
314
+ yield* Console.log("Introspecting database...");
315
+ const introspection = yield* introspectDatabase({ connectionString }).pipe(Effect.catchAll(e => {
316
+ // Log error but continue with empty introspection for fallback text prompt
317
+ return Console.error(`Warning: ${e.message}`).pipe(Effect.andThen(Effect.succeed({ classes: [] })));
318
+ }));
201
319
  const role = yield* makeRolePrompt();
202
- const schemas = yield* makeSchemasPrompt();
320
+ const schemas = yield* makeSchemasPrompt(introspection);
203
321
  const outputDir = yield* makeOutputDirPrompt();
204
322
  const plugins = yield* makePluginsPrompt();
205
- const classicInflection = yield* makeClassicInflectionPrompt();
206
323
  const formatter = yield* makeFormatterPrompt();
207
324
  // Validate at least one plugin selected
208
325
  if (plugins.length === 0) {
@@ -211,19 +328,23 @@ export const runInit = Effect.gen(function* () {
211
328
  }
212
329
  const answers = {
213
330
  connectionString,
331
+ connectionConfigValue: configValue,
332
+ isEnvRef,
214
333
  role,
215
334
  schemas: schemas.length > 0 ? schemas : ["public"],
216
335
  outputDir: outputDir.trim() || "src/generated",
217
336
  plugins,
218
- classicInflection,
219
337
  formatter,
220
338
  };
221
339
  // Generate and write config
222
340
  const configContent = generateConfigContent(answers);
223
341
  yield* fs.writeFileString(configPath, configContent);
224
342
  yield* Console.log(`\n✓ Created ${CONFIG_FILENAME}`);
225
- yield* Console.log("\nNext steps:");
226
- yield* Console.log(" 1. Review the generated config file");
227
- yield* Console.log(" 2. Run: pgsourcerer generate");
343
+ // Ask if user wants to run generate now
344
+ const runGenerate = yield* Prompt.confirm({
345
+ message: "Run generate now?",
346
+ initial: true,
347
+ });
348
+ return { runGenerate, configPath };
228
349
  });
229
350
  //# sourceMappingURL=init.js.map
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -317,8 +317,19 @@ export declare const conjure: {
317
317
  readonly undefined: () => recast.types.namedTypes.TSUndefinedKeyword;
318
318
  /** Type reference: `TypeName` or `TypeName<T>` */
319
319
  readonly ref: (name: string, typeParams?: n.TSType[]) => recast.types.namedTypes.TSTypeReference;
320
- /** Qualified name reference: `Namespace.Type` */
321
- readonly qualifiedRef: (qualifier: string, name: string, typeParams?: n.TSType[]) => recast.types.namedTypes.TSTypeReference;
320
+ /**
321
+ * Qualified name reference: `Namespace.Type` or `Namespace.Nested.Type`
322
+ *
323
+ * @param parts - Dot-separated path segments (e.g., "S", "Schema", "Type" for S.Schema.Type)
324
+ * or two strings for simple qualified names (e.g., "z", "infer")
325
+ * @param typeParams - Optional type parameters
326
+ */
327
+ readonly qualifiedRef: (first: string, second: string, typeParamsOrThird?: n.TSType[] | string, ...rest: string[]) => recast.types.namedTypes.TSTypeReference;
328
+ /**
329
+ * Qualified name with type params after path: `S.Schema.Type<T>`
330
+ * Use when you need both nested path AND type parameters.
331
+ */
332
+ readonly qualifiedRefWithParams: (parts: string[], typeParams: n.TSType[]) => recast.types.namedTypes.TSTypeReference;
322
333
  /** Array type: `T[]` */
323
334
  readonly array: (elementType: n.TSType) => recast.types.namedTypes.TSArrayType;
324
335
  /** Union type: `A | B | C` */
@@ -357,6 +368,8 @@ export declare const conjure: {
357
368
  optional?: boolean;
358
369
  readonly?: boolean;
359
370
  }[]) => recast.types.namedTypes.TSTypeLiteral;
371
+ /** Indexed access type: `T["key"]` or `T[K]` */
372
+ readonly indexedAccess: (objectType: n.TSType, indexType: n.TSType) => recast.types.namedTypes.TSIndexedAccessType;
360
373
  };
361
374
  readonly param: {
362
375
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"conjure.d.ts","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conjure.d.ts","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
@@ -349,14 +349,53 @@ const ts = {
349
349
  }
350
350
  return ref;
351
351
  },
352
- /** Qualified name reference: `Namespace.Type` */
353
- qualifiedRef: (qualifier, name, typeParams) => {
354
- const ref = b.tsTypeReference(b.tsQualifiedName(b.identifier(qualifier), b.identifier(name)));
352
+ /**
353
+ * Qualified name reference: `Namespace.Type` or `Namespace.Nested.Type`
354
+ *
355
+ * @param parts - Dot-separated path segments (e.g., "S", "Schema", "Type" for S.Schema.Type)
356
+ * or two strings for simple qualified names (e.g., "z", "infer")
357
+ * @param typeParams - Optional type parameters
358
+ */
359
+ qualifiedRef: (first, second, typeParamsOrThird, ...rest) => {
360
+ let parts;
361
+ let typeParams;
362
+ if (typeof typeParamsOrThird === "string") {
363
+ // Called with multiple string parts: qualifiedRef("S", "Schema", "Type", ...)
364
+ parts = [first, second, typeParamsOrThird, ...rest];
365
+ typeParams = undefined;
366
+ }
367
+ else {
368
+ // Called with two parts and optional type params: qualifiedRef("z", "infer", [typeParams])
369
+ parts = [first, second];
370
+ typeParams = typeParamsOrThird;
371
+ }
372
+ // Build nested qualified name from parts
373
+ // e.g., ["S", "Schema", "Type"] -> S.Schema.Type
374
+ let qualifiedName = b.identifier(parts[0]);
375
+ for (let i = 1; i < parts.length; i++) {
376
+ qualifiedName = b.tsQualifiedName(qualifiedName, b.identifier(parts[i]));
377
+ }
378
+ const ref = b.tsTypeReference(qualifiedName);
355
379
  if (typeParams && typeParams.length > 0) {
356
380
  ref.typeParameters = b.tsTypeParameterInstantiation(typeParams.map(toTSType));
357
381
  }
358
382
  return ref;
359
383
  },
384
+ /**
385
+ * Qualified name with type params after path: `S.Schema.Type<T>`
386
+ * Use when you need both nested path AND type parameters.
387
+ */
388
+ qualifiedRefWithParams: (parts, typeParams) => {
389
+ let qualifiedName = b.identifier(parts[0]);
390
+ for (let i = 1; i < parts.length; i++) {
391
+ qualifiedName = b.tsQualifiedName(qualifiedName, b.identifier(parts[i]));
392
+ }
393
+ const ref = b.tsTypeReference(qualifiedName);
394
+ if (typeParams.length > 0) {
395
+ ref.typeParameters = b.tsTypeParameterInstantiation(typeParams.map(toTSType));
396
+ }
397
+ return ref;
398
+ },
360
399
  /** Array type: `T[]` */
361
400
  array: (elementType) => b.tsArrayType(toTSType(elementType)),
362
401
  /** Union type: `A | B | C` */
@@ -423,6 +462,8 @@ const ts = {
423
462
  sig.readonly = true;
424
463
  return sig;
425
464
  })),
465
+ /** Indexed access type: `T["key"]` or `T[K]` */
466
+ indexedAccess: (objectType, indexType) => b.tsIndexedAccessType(toTSType(objectType), toTSType(indexType)),
426
467
  };
427
468
  /**
428
469
  * Parameter builders for function signatures.