@danielfgray/pg-sourcerer 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/cli.js +25 -19
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +14 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generate.d.ts +31 -21
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +53 -43
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +20 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +27 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts +0 -1
  20. package/dist/init.d.ts.map +1 -1
  21. package/dist/init.js +90 -35
  22. package/dist/init.js.map +1 -1
  23. package/dist/ir/extensions/queries.d.ts +264 -0
  24. package/dist/ir/extensions/queries.d.ts.map +1 -0
  25. package/dist/ir/extensions/queries.js +153 -0
  26. package/dist/ir/extensions/queries.js.map +1 -0
  27. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  28. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  29. package/dist/ir/extensions/schema-builder.js +5 -0
  30. package/dist/ir/extensions/schema-builder.js.map +1 -0
  31. package/dist/lib/conjure.d.ts +101 -0
  32. package/dist/lib/conjure.d.ts.map +1 -1
  33. package/dist/lib/conjure.js +204 -26
  34. package/dist/lib/conjure.js.map +1 -1
  35. package/dist/lib/hex.d.ts +10 -8
  36. package/dist/lib/hex.d.ts.map +1 -1
  37. package/dist/lib/hex.js +18 -15
  38. package/dist/lib/hex.js.map +1 -1
  39. package/dist/plugins/arktype.d.ts +27 -14
  40. package/dist/plugins/arktype.d.ts.map +1 -1
  41. package/dist/plugins/arktype.js +166 -130
  42. package/dist/plugins/arktype.js.map +1 -1
  43. package/dist/plugins/effect.d.ts +53 -0
  44. package/dist/plugins/effect.d.ts.map +1 -0
  45. package/dist/plugins/effect.js +1074 -0
  46. package/dist/plugins/effect.js.map +1 -0
  47. package/dist/plugins/http-elysia.d.ts +32 -0
  48. package/dist/plugins/http-elysia.d.ts.map +1 -0
  49. package/dist/plugins/http-elysia.js +613 -0
  50. package/dist/plugins/http-elysia.js.map +1 -0
  51. package/dist/plugins/http-express.d.ts +36 -0
  52. package/dist/plugins/http-express.d.ts.map +1 -0
  53. package/dist/plugins/http-express.js +388 -0
  54. package/dist/plugins/http-express.js.map +1 -0
  55. package/dist/plugins/http-hono.d.ts +36 -0
  56. package/dist/plugins/http-hono.d.ts.map +1 -0
  57. package/dist/plugins/http-hono.js +453 -0
  58. package/dist/plugins/http-hono.js.map +1 -0
  59. package/dist/plugins/http-orpc.d.ts +55 -0
  60. package/dist/plugins/http-orpc.d.ts.map +1 -0
  61. package/dist/plugins/http-orpc.js +370 -0
  62. package/dist/plugins/http-orpc.js.map +1 -0
  63. package/dist/plugins/http-trpc.d.ts +59 -0
  64. package/dist/plugins/http-trpc.d.ts.map +1 -0
  65. package/dist/plugins/http-trpc.js +392 -0
  66. package/dist/plugins/http-trpc.js.map +1 -0
  67. package/dist/plugins/kysely/queries.d.ts +92 -0
  68. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  69. package/dist/plugins/kysely/queries.js +1169 -0
  70. package/dist/plugins/kysely/queries.js.map +1 -0
  71. package/dist/plugins/kysely/shared.d.ts +59 -0
  72. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  73. package/dist/plugins/kysely/shared.js +247 -0
  74. package/dist/plugins/kysely/shared.js.map +1 -0
  75. package/dist/plugins/kysely/types.d.ts +22 -0
  76. package/dist/plugins/kysely/types.d.ts.map +1 -0
  77. package/dist/plugins/kysely/types.js +428 -0
  78. package/dist/plugins/kysely/types.js.map +1 -0
  79. package/dist/plugins/kysely.d.ts +72 -0
  80. package/dist/plugins/kysely.d.ts.map +1 -0
  81. package/dist/plugins/kysely.js +906 -0
  82. package/dist/plugins/kysely.js.map +1 -0
  83. package/dist/plugins/sql-queries.d.ts +55 -7
  84. package/dist/plugins/sql-queries.d.ts.map +1 -1
  85. package/dist/plugins/sql-queries.js +747 -121
  86. package/dist/plugins/sql-queries.js.map +1 -1
  87. package/dist/plugins/types.d.ts +20 -14
  88. package/dist/plugins/types.d.ts.map +1 -1
  89. package/dist/plugins/types.js +90 -112
  90. package/dist/plugins/types.js.map +1 -1
  91. package/dist/plugins/valibot.d.ts +45 -0
  92. package/dist/plugins/valibot.d.ts.map +1 -0
  93. package/dist/plugins/valibot.js +422 -0
  94. package/dist/plugins/valibot.js.map +1 -0
  95. package/dist/plugins/zod.d.ts +27 -14
  96. package/dist/plugins/zod.d.ts.map +1 -1
  97. package/dist/plugins/zod.js +231 -166
  98. package/dist/plugins/zod.js.map +1 -1
  99. package/dist/services/artifact-store.d.ts +11 -1
  100. package/dist/services/artifact-store.d.ts.map +1 -1
  101. package/dist/services/artifact-store.js +9 -0
  102. package/dist/services/artifact-store.js.map +1 -1
  103. package/dist/services/config-loader.d.ts +4 -0
  104. package/dist/services/config-loader.d.ts.map +1 -1
  105. package/dist/services/config-loader.js +1 -1
  106. package/dist/services/config-loader.js.map +1 -1
  107. package/dist/services/config.d.ts +57 -0
  108. package/dist/services/config.d.ts.map +1 -0
  109. package/dist/services/config.js +66 -0
  110. package/dist/services/config.js.map +1 -0
  111. package/dist/services/core-providers.d.ts +15 -0
  112. package/dist/services/core-providers.d.ts.map +1 -0
  113. package/dist/services/core-providers.js +23 -0
  114. package/dist/services/core-providers.js.map +1 -0
  115. package/dist/services/emissions.d.ts +14 -0
  116. package/dist/services/emissions.d.ts.map +1 -1
  117. package/dist/services/emissions.js +86 -47
  118. package/dist/services/emissions.js.map +1 -1
  119. package/dist/services/execution.d.ts +35 -0
  120. package/dist/services/execution.d.ts.map +1 -0
  121. package/dist/services/execution.js +86 -0
  122. package/dist/services/execution.js.map +1 -0
  123. package/dist/services/file-builder.d.ts +4 -0
  124. package/dist/services/file-builder.d.ts.map +1 -1
  125. package/dist/services/file-builder.js.map +1 -1
  126. package/dist/services/inflection.d.ts +2 -2
  127. package/dist/services/inflection.d.ts.map +1 -1
  128. package/dist/services/inflection.js +4 -4
  129. package/dist/services/inflection.js.map +1 -1
  130. package/dist/services/ir-builder.d.ts.map +1 -1
  131. package/dist/services/ir-builder.js +10 -3
  132. package/dist/services/ir-builder.js.map +1 -1
  133. package/dist/services/pg-types.d.ts +31 -0
  134. package/dist/services/pg-types.d.ts.map +1 -1
  135. package/dist/services/pg-types.js +24 -0
  136. package/dist/services/pg-types.js.map +1 -1
  137. package/dist/services/plugin-runner.d.ts +27 -37
  138. package/dist/services/plugin-runner.d.ts.map +1 -1
  139. package/dist/services/plugin-runner.js +73 -171
  140. package/dist/services/plugin-runner.js.map +1 -1
  141. package/dist/services/plugin.d.ts +350 -215
  142. package/dist/services/plugin.d.ts.map +1 -1
  143. package/dist/services/plugin.js +182 -130
  144. package/dist/services/plugin.js.map +1 -1
  145. package/dist/services/resolution.d.ts +38 -0
  146. package/dist/services/resolution.d.ts.map +1 -0
  147. package/dist/services/resolution.js +242 -0
  148. package/dist/services/resolution.js.map +1 -0
  149. package/dist/services/service-registry.d.ts +74 -0
  150. package/dist/services/service-registry.d.ts.map +1 -0
  151. package/dist/services/service-registry.js +61 -0
  152. package/dist/services/service-registry.js.map +1 -0
  153. package/dist/services/symbols.d.ts +59 -0
  154. package/dist/services/symbols.d.ts.map +1 -1
  155. package/dist/services/symbols.js +16 -0
  156. package/dist/services/symbols.js.map +1 -1
  157. package/dist/testing.d.ts +4 -25
  158. package/dist/testing.d.ts.map +1 -1
  159. package/dist/testing.js +2 -23
  160. package/dist/testing.js.map +1 -1
  161. package/package.json +1 -1
  162. package/dist/plugins/effect-model.d.ts +0 -17
  163. package/dist/plugins/effect-model.d.ts.map +0 -1
  164. package/dist/plugins/effect-model.js +0 -409
  165. package/dist/plugins/effect-model.js.map +0 -1
  166. package/dist/plugins/kysely-queries.d.ts +0 -66
  167. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  168. package/dist/plugins/kysely-queries.js +0 -960
  169. package/dist/plugins/kysely-queries.js.map +0 -1
  170. package/dist/plugins/kysely-types.d.ts +0 -35
  171. package/dist/plugins/kysely-types.d.ts.map +0 -1
  172. package/dist/plugins/kysely-types.js +0 -601
  173. package/dist/plugins/kysely-types.js.map +0 -1
@@ -132,7 +132,7 @@ function createObj(props = []) {
132
132
  function createArr(elems = []) {
133
133
  return {
134
134
  add(...exprs) {
135
- const newElems = exprs.map((e) => toExpr(e));
135
+ const newElems = exprs.map(e => toExpr(e));
136
136
  return createArr([...elems, ...newElems]);
137
137
  },
138
138
  spread(expr) {
@@ -302,9 +302,7 @@ const stmt = {
302
302
  if (type) {
303
303
  id.typeAnnotation = b.tsTypeAnnotation(toTSType(type));
304
304
  }
305
- return b.variableDeclaration("let", [
306
- b.variableDeclarator(id, init ? toExpr(init) : null),
307
- ]);
305
+ return b.variableDeclaration("let", [b.variableDeclarator(id, init ? toExpr(init) : null)]);
308
306
  },
309
307
  /** `return expr` */
310
308
  return: (expr) => expr ? b.returnStatement(toExpr(expr)) : b.returnStatement(null),
@@ -317,11 +315,15 @@ const stmt = {
317
315
  /** Try-catch statement */
318
316
  try: (block, catchParam, catchBlock, finallyBlock) => b.tryStatement(b.blockStatement(block.map(toStmt)), b.catchClause(b.identifier(catchParam), null, b.blockStatement(catchBlock.map(toStmt))), finallyBlock ? b.blockStatement(finallyBlock.map(toStmt)) : null),
319
317
  /** For...of statement */
320
- forOf: (varKind, varName, iterable, body) => b.forOfStatement(b.variableDeclaration(varKind, [
321
- b.variableDeclarator(b.identifier(varName)),
322
- ]), toExpr(iterable), b.blockStatement(body.map(toStmt))),
318
+ forOf: (varKind, varName, iterable, body) => b.forOfStatement(b.variableDeclaration(varKind, [b.variableDeclarator(b.identifier(varName))]), toExpr(iterable), b.blockStatement(body.map(toStmt))),
323
319
  /** Block statement */
324
320
  block: (...statements) => b.blockStatement(statements.map(toStmt)),
321
+ /** Async function declaration */
322
+ asyncFn: (name, params, body) => {
323
+ const fn = b.functionDeclaration(b.identifier(name), params, b.blockStatement(body.map(toStmt)));
324
+ fn.async = true;
325
+ return fn;
326
+ },
325
327
  };
326
328
  // =============================================================================
327
329
  // TypeScript Type Helpers
@@ -418,7 +420,7 @@ const ts = {
418
420
  tuple: (...types) => b.tsTupleType(types.map(toTSType)),
419
421
  /** Function type: `(a: A, b: B) => R` */
420
422
  fn: (params, returnType) => {
421
- const fnParams = params.map((p) => {
423
+ const fnParams = params.map(p => {
422
424
  const param = b.identifier(p.name);
423
425
  param.typeAnnotation = b.tsTypeAnnotation(toTSType(p.type));
424
426
  if (p.optional) {
@@ -464,6 +466,72 @@ const ts = {
464
466
  })),
465
467
  /** Indexed access type: `T["key"]` or `T[K]` */
466
468
  indexedAccess: (objectType, indexType) => b.tsIndexedAccessType(toTSType(objectType), toTSType(indexType)),
469
+ // === Type Modifiers ===
470
+ /** Make type nullable: `T | null` */
471
+ nullable: (type) => b.tsUnionType([toTSType(type), b.tsNullKeyword()]),
472
+ /** Wrap type in array: `T[]` */
473
+ asArray: (type) => b.tsArrayType(toTSType(type)),
474
+ /**
475
+ * Apply modifiers to a type.
476
+ * Order: array first, then nullable (so `T[] | null`, not `(T | null)[]`)
477
+ */
478
+ withModifiers: (type, opts) => {
479
+ let result = type;
480
+ if (opts.array)
481
+ result = b.tsArrayType(toTSType(result));
482
+ if (opts.nullable)
483
+ result = b.tsUnionType([toTSType(result), b.tsNullKeyword()]);
484
+ return result;
485
+ },
486
+ /**
487
+ * Parse a type string into a TSType AST node.
488
+ *
489
+ * Handles:
490
+ * - Primitives: "string", "number", "boolean", "bigint", "unknown", "void", "null"
491
+ * - Built-ins: "Date", "Buffer"
492
+ * - Array suffix: "string[]", "MyType[]"
493
+ * - References: anything else becomes `ts.ref(typeName)`
494
+ *
495
+ * @example
496
+ * ts.fromString("string") // TSStringKeyword
497
+ * ts.fromString("Date") // TSTypeReference to "Date"
498
+ * ts.fromString("string[]") // TSArrayType(TSStringKeyword)
499
+ * ts.fromString("User") // TSTypeReference to "User"
500
+ */
501
+ fromString(typeName) {
502
+ // Handle array suffix first
503
+ if (typeName.endsWith("[]")) {
504
+ const elemType = typeName.slice(0, -2);
505
+ return b.tsArrayType(toTSType(this.fromString(elemType)));
506
+ }
507
+ switch (typeName) {
508
+ case "string":
509
+ return b.tsStringKeyword();
510
+ case "number":
511
+ return b.tsNumberKeyword();
512
+ case "boolean":
513
+ return b.tsBooleanKeyword();
514
+ case "bigint":
515
+ return b.tsBigIntKeyword();
516
+ case "unknown":
517
+ return b.tsUnknownKeyword();
518
+ case "void":
519
+ return b.tsVoidKeyword();
520
+ case "null":
521
+ return b.tsNullKeyword();
522
+ case "undefined":
523
+ return b.tsUndefinedKeyword();
524
+ case "any":
525
+ return b.tsAnyKeyword();
526
+ case "never":
527
+ return b.tsNeverKeyword();
528
+ case "Date":
529
+ case "Buffer":
530
+ default:
531
+ // Everything else is a type reference
532
+ return b.tsTypeReference(b.identifier(typeName));
533
+ }
534
+ },
467
535
  };
468
536
  /**
469
537
  * Parameter builders for function signatures.
@@ -504,7 +572,7 @@ const param = {
504
572
  * // { id, name }: Pick<UserRow, "id" | "name">
505
573
  */
506
574
  pick: (fields, entityType) => {
507
- const pattern = b.objectPattern(fields.map((f) => {
575
+ const pattern = b.objectPattern(fields.map(f => {
508
576
  const prop = b.objectProperty(b.identifier(f), b.identifier(f));
509
577
  prop.shorthand = true;
510
578
  return prop;
@@ -512,9 +580,7 @@ const param = {
512
580
  // Pick<Entity, 'field1' | 'field2'>
513
581
  const pickType = ts.ref("Pick", [
514
582
  ts.ref(entityType),
515
- fields.length === 1
516
- ? ts.literal(fields[0])
517
- : ts.union(...fields.map((f) => ts.literal(f))),
583
+ fields.length === 1 ? ts.literal(fields[0]) : ts.union(...fields.map(f => ts.literal(f))),
518
584
  ]);
519
585
  pattern.typeAnnotation = b.tsTypeAnnotation(toTSType(pickType));
520
586
  return pattern;
@@ -530,24 +596,98 @@ const param = {
530
596
  * // { limit = 50, offset = 0 }: { limit?: number; offset?: number }
531
597
  */
532
598
  destructured: (fields) => {
533
- const pattern = b.objectPattern(fields.map((f) => {
599
+ const pattern = b.objectPattern(fields.map(f => {
534
600
  const id = b.identifier(f.name);
535
601
  // Use AssignmentPattern for default values: { limit = 50 }
536
- const value = f.defaultValue
537
- ? b.assignmentPattern(id, toExpr(f.defaultValue))
538
- : id;
602
+ const value = f.defaultValue ? b.assignmentPattern(id, toExpr(f.defaultValue)) : id;
539
603
  const prop = b.objectProperty(b.identifier(f.name), value);
540
604
  prop.shorthand = true;
541
605
  return prop;
542
606
  }));
543
607
  // Build the type annotation: { name: type; name?: type; }
544
- const typeAnnotation = ts.objectType(fields.map((f) => ({ name: f.name, type: f.type, optional: f.optional })));
608
+ const typeAnnotation = ts.objectType(fields.map(f => ({ name: f.name, type: f.type, optional: f.optional })));
545
609
  pattern.typeAnnotation = b.tsTypeAnnotation(toTSType(typeAnnotation));
546
610
  return pattern;
547
611
  },
548
612
  };
549
613
  // =============================================================================
550
- // Export Helpers (exp.*)
614
+ // Export Statement Helpers (conjure.export.*)
615
+ // =============================================================================
616
+ /**
617
+ * Export statement builders for generating export declarations.
618
+ * These produce plain statements without symbol metadata tracking.
619
+ * For exports that need symbol tracking, use `exp.*` helpers instead.
620
+ */
621
+ const exportHelpers = {
622
+ /**
623
+ * Export const declaration: `export const name = init`
624
+ */
625
+ const: (name, init, type) => {
626
+ const id = b.identifier(name);
627
+ if (type) {
628
+ id.typeAnnotation = b.tsTypeAnnotation(toTSType(type));
629
+ }
630
+ const decl = b.variableDeclaration("const", [b.variableDeclarator(id, toExpr(init))]);
631
+ return b.exportNamedDeclaration(decl, []);
632
+ },
633
+ /**
634
+ * Export function declaration: `export function name(...) { ... }`
635
+ */
636
+ fn: (fn) => {
637
+ return b.exportNamedDeclaration(fn, []);
638
+ },
639
+ /**
640
+ * Export default: `export default expr`
641
+ */
642
+ default: (expr) => {
643
+ return b.exportDefaultDeclaration(toExpr(expr));
644
+ },
645
+ /**
646
+ * Export named bindings: `export { a, b, c }`
647
+ * Also supports renaming: `export { a as b }`
648
+ */
649
+ named: (...names) => {
650
+ const specifiers = names.map(n => {
651
+ if (typeof n === "string") {
652
+ return b.exportSpecifier.from({
653
+ local: b.identifier(n),
654
+ exported: b.identifier(n),
655
+ });
656
+ }
657
+ else {
658
+ return b.exportSpecifier.from({
659
+ local: b.identifier(n.local),
660
+ exported: b.identifier(n.exported),
661
+ });
662
+ }
663
+ });
664
+ return b.exportNamedDeclaration(null, specifiers);
665
+ },
666
+ /**
667
+ * Export type alias: `export type Name = Type`
668
+ */
669
+ type: (name, type) => {
670
+ const decl = b.tsTypeAliasDeclaration(b.identifier(name), toTSType(type));
671
+ return b.exportNamedDeclaration(decl, []);
672
+ },
673
+ /**
674
+ * Export interface: `export interface Name { ... }`
675
+ */
676
+ interface: (name, properties) => {
677
+ const members = properties.map((p) => {
678
+ const sig = b.tsPropertySignature(b.identifier(p.name), b.tsTypeAnnotation(toTSType(p.type)));
679
+ if (p.optional)
680
+ sig.optional = true;
681
+ if (p.readonly)
682
+ sig.readonly = true;
683
+ return sig;
684
+ });
685
+ const decl = b.tsInterfaceDeclaration(b.identifier(name), b.tsInterfaceBody(members));
686
+ return b.exportNamedDeclaration(decl, []);
687
+ },
688
+ };
689
+ // =============================================================================
690
+ // Export Helpers with Symbol Tracking (exp.*)
551
691
  // =============================================================================
552
692
  /**
553
693
  * Helper to create a SymbolStatement wrapper
@@ -609,9 +749,7 @@ export const exp = {
609
749
  if (typeAnnotation) {
610
750
  id.typeAnnotation = b.tsTypeAnnotation(toTSType(typeAnnotation));
611
751
  }
612
- const decl = b.variableDeclaration("const", [
613
- b.variableDeclarator(id, toExpr(init)),
614
- ]);
752
+ const decl = b.variableDeclaration("const", [b.variableDeclarator(id, toExpr(init))]);
615
753
  const exportDecl = b.exportNamedDeclaration(decl, []);
616
754
  return symbolStatement(exportDecl, createSymbolMeta(name, ctx, false));
617
755
  },
@@ -626,6 +764,20 @@ export const exp = {
626
764
  const exportDecl = b.exportNamedDeclaration(decl, []);
627
765
  return symbolStatement(exportDecl, createSymbolMeta(name, ctx, true));
628
766
  },
767
+ /**
768
+ * Export TypeScript enum declaration: `export enum Name { A = 'a', B = 'b' }`
769
+ *
770
+ * Member names are normalized: uppercase with non-alphanumeric chars replaced by underscore.
771
+ *
772
+ * @example
773
+ * exp.tsEnum("Status", { capability: "types", entity: "Status" }, ["active", "pending"])
774
+ * // export enum Status { ACTIVE = "active", PENDING = "pending" }
775
+ */
776
+ tsEnum: (name, ctx, values) => {
777
+ const enumDecl = b.tsEnumDeclaration(b.identifier(name), values.map(v => b.tsEnumMember(b.identifier(v.toUpperCase().replace(/[^A-Z0-9_]/g, "_")), b.stringLiteral(v))));
778
+ const exportDecl = b.exportNamedDeclaration(enumDecl, []);
779
+ return symbolStatement(exportDecl, createSymbolMeta(name, ctx, true));
780
+ },
629
781
  };
630
782
  // =============================================================================
631
783
  // Program Builder
@@ -634,10 +786,7 @@ export const exp = {
634
786
  * Type guard for SymbolStatement
635
787
  */
636
788
  function isSymbolStatement(stmt) {
637
- return (typeof stmt === "object" &&
638
- stmt !== null &&
639
- "_tag" in stmt &&
640
- stmt._tag === "SymbolStatement");
789
+ return (typeof stmt === "object" && stmt !== null && "_tag" in stmt && stmt._tag === "SymbolStatement");
641
790
  }
642
791
  /**
643
792
  * Create a SymbolProgram from statements, extracting symbol metadata.
@@ -675,11 +824,28 @@ export const conjure = {
675
824
  id: (name) => createChain(b.identifier(name)),
676
825
  /** Start a chain from any expression */
677
826
  chain: (expr) => createChain(expr),
827
+ /**
828
+ * Quick method call: `callee.method(args)`
829
+ *
830
+ * More concise than `conjure.chain(callee).method(name, args).build()` for one-shot calls.
831
+ *
832
+ * @param callee - The object to call the method on (string or expression)
833
+ * @param method - The method name
834
+ * @param args - Optional arguments to pass
835
+ *
836
+ * @example
837
+ * conjure.call("db", "selectFrom", [conjure.str("users")])
838
+ * // db.selectFrom("users")
839
+ */
840
+ call: (callee, method, args = []) => {
841
+ const calleeExpr = typeof callee === "string" ? b.identifier(callee) : callee;
842
+ return b.callExpression(b.memberExpression(toExpr(calleeExpr), b.identifier(method)), args.map(toExpr));
843
+ },
678
844
  // === Compound builders ===
679
845
  /** Start an object literal builder */
680
846
  obj: () => createObj(),
681
847
  /** Start an array literal builder */
682
- arr: (...elements) => createArr(elements.map((e) => toExpr(e))),
848
+ arr: (...elements) => createArr(elements.map(e => toExpr(e))),
683
849
  /** Start a function builder */
684
850
  fn: () => createFn({
685
851
  params: [],
@@ -709,6 +875,18 @@ export const conjure = {
709
875
  op,
710
876
  // === Statements ===
711
877
  stmt,
878
+ // === Export statements ===
879
+ export: exportHelpers,
880
+ /** Async function declaration */
881
+ asyncFn: (name, params, body) => {
882
+ const fn = b.functionDeclaration.from({
883
+ id: b.identifier(name),
884
+ params: params,
885
+ body: b.blockStatement(body.map(toStmt)),
886
+ async: true,
887
+ });
888
+ return fn;
889
+ },
712
890
  // === TypeScript types ===
713
891
  ts,
714
892
  // === Parameter helpers ===
@@ -1 +1 @@
1
- {"version":3,"file":"conjure.js","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conjure.js","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
package/dist/lib/hex.d.ts CHANGED
@@ -86,13 +86,16 @@ export declare function buildAllRowsDecl(sqlStyle: SqlStyle, varName: string, qu
86
86
  */
87
87
  export declare function buildReturnQuery(sqlStyle: SqlStyle, parts: QueryParts, typeParam: n.TSType): n.Statement[];
88
88
  /**
89
- * Create an async function declaration with inferred return type.
90
- */
91
- export declare function asyncFn(name: string, params: (n.Identifier | n.ObjectPattern)[], body: n.Statement[]): n.FunctionDeclaration;
92
- /**
93
- * Export a function declaration.
89
+ * Build an expression that uses DEFAULT when the field is undefined.
90
+ *
91
+ * For tag style: `field !== undefined ? field : sql\`default\``
92
+ * For string style: Uses COALESCE in SQL (handled differently at query level)
93
+ *
94
+ * @example
95
+ * buildDefaultIfUndefined("title")
96
+ * // title !== undefined ? title : sql`default`
94
97
  */
95
- export declare function exportFn(fn: n.FunctionDeclaration): n.Statement;
98
+ export declare function buildDefaultIfUndefined(fieldName: string): n.ConditionalExpression;
96
99
  /**
97
100
  * Hex - SQL Query Building Primitives
98
101
  *
@@ -110,8 +113,7 @@ export declare const hex: {
110
113
  readonly firstRowDecl: typeof buildFirstRowDecl;
111
114
  readonly allRowsDecl: typeof buildAllRowsDecl;
112
115
  readonly returnQuery: typeof buildReturnQuery;
113
- readonly asyncFn: typeof asyncFn;
114
- readonly exportFn: typeof exportFn;
116
+ readonly defaultIfUndefined: typeof buildDefaultIfUndefined;
115
117
  };
116
118
  export default hex;
117
119
  //# sourceMappingURL=hex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAUhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;CACzC;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,GAC7B,CAAC,CAAC,eAAe,CAOnB;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,CAAC,CAAC,eAAe,EAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAUnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAkBnB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAWnB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAgBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAcvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,CAAC,CAAC,MAAM,GAClB,CAAC,CAAC,SAAS,EAAE,CAWf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,EAC1C,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,GAClB,CAAC,CAAC,mBAAmB,CAQvB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,SAAS,CAE/D;AAMD;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;CAqBN,CAAA;AAEV,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAUhD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;CACzC;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,GAC7B,CAAC,CAAC,eAAe,CAOnB;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,CAAC,CAAC,eAAe,EAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAUnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAkBnB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,GACnB,CAAC,CAAC,eAAe,CAWnB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAgBvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,CAAC,eAAe,GAC3B,CAAC,CAAC,mBAAmB,CAcvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,CAAC,CAAC,MAAM,GAClB,CAAC,CAAC,SAAS,EAAE,CAWf;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAChB,CAAC,CAAC,qBAAqB,CAuBzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;CAoBN,CAAA;AAEV,eAAe,GAAG,CAAA"}
package/dist/lib/hex.js CHANGED
@@ -138,21 +138,25 @@ export function buildReturnQuery(sqlStyle, parts, typeParam) {
138
138
  }
139
139
  }
140
140
  // =============================================================================
141
- // Function Builders
141
+ // Optional Field Helpers
142
142
  // =============================================================================
143
143
  /**
144
- * Create an async function declaration with inferred return type.
145
- */
146
- export function asyncFn(name, params, body) {
147
- const fn = b.functionDeclaration(b.identifier(name), params, b.blockStatement(body.map(cast.toStmt)));
148
- fn.async = true;
149
- return fn;
150
- }
151
- /**
152
- * Export a function declaration.
144
+ * Build an expression that uses DEFAULT when the field is undefined.
145
+ *
146
+ * For tag style: `field !== undefined ? field : sql\`default\``
147
+ * For string style: Uses COALESCE in SQL (handled differently at query level)
148
+ *
149
+ * @example
150
+ * buildDefaultIfUndefined("title")
151
+ * // title !== undefined ? title : sql`default`
153
152
  */
154
- export function exportFn(fn) {
155
- return b.exportNamedDeclaration(fn, []);
153
+ export function buildDefaultIfUndefined(fieldName) {
154
+ // field !== undefined
155
+ const test = b.binaryExpression("!==", b.identifier(fieldName), b.identifier("undefined"));
156
+ // sql`default`
157
+ const sqlDefault = b.taggedTemplateExpression(b.identifier("sql"), b.templateLiteral([b.templateElement({ raw: "default", cooked: "default" }, true)], []));
158
+ // field !== undefined ? field : sql`default`
159
+ return b.conditionalExpression(test, b.identifier(fieldName), sqlDefault);
156
160
  }
157
161
  // =============================================================================
158
162
  // Main API
@@ -177,9 +181,8 @@ export const hex = {
177
181
  firstRowDecl: buildFirstRowDecl,
178
182
  allRowsDecl: buildAllRowsDecl,
179
183
  returnQuery: buildReturnQuery,
180
- // Function builders
181
- asyncFn,
182
- exportFn,
184
+ // Optional field handling
185
+ defaultIfUndefined: buildDefaultIfUndefined,
183
186
  };
184
187
  export default hex;
185
188
  //# sourceMappingURL=hex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;AACzB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;AAyBjC,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAwB,EACxB,KAA8B;IAE9B,OAAO,CAAC,CAAC,eAAe,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACnB,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,EACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAClB,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAA8B,EAC9B,SAAoB;IAEpB,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,2EAA2E;IAC3E,MAAM,GAAG,GAAG,SAAS;QACnB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CACzB,KAAK,EACL,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CACtD;QACH,CAAC,CAAC,KAAK,CAAA;IACT,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAA+B,EAC/B,SAAoB;IAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAEjF,mDAAmD;IACnD,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CACzB,SAAS,EACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CACtD;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,kDAAkD;IAClD,MAAM,IAAI,GAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,QAAkB,EAClB,KAAiB,EACjB,SAAoB;IAEpB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACxE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,EAAE,CAAC,CAAA;QACX,OAAO,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAkB,EAClB,OAAe,EACf,SAA4B;IAE5B,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,kCAAkC;QAClC,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACzE,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACpB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CACxC,CAAA;QACD,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;SAC7D,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,OAAe,EACf,SAA4B;IAE5B,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,mCAAmC;QACnC,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;SACvD,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,QAAQ,CAAC,SAAS,GAAG,OAAO,KAAK,MAAM,CAAA;QACvC,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;SAC7D,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,KAAiB,EACjB,SAAmB;IAEnB,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,mCAAmC;QACnC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;IACvC,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAC1D,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,IAAY,EACZ,MAA0C,EAC1C,IAAmB;IAEnB,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAC9B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAClB,MAAM,EACN,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACxC,CAAA;IACD,EAAE,CAAC,KAAK,GAAG,IAAI,CAAA;IACf,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAyB;IAChD,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAgB,CAAA;AACxD,CAAC;AAED,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,iBAAiB;IACjB,KAAK,EAAE,UAAU;IACjB,eAAe,EAAE,oBAAoB;IAErC,iBAAiB;IACjB,GAAG,EAAE;QACH,QAAQ,EAAE,gBAAgB;KAC3B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,mBAAmB;KAC9B;IAED,oBAAoB;IACpB,YAAY,EAAE,iBAAiB;IAC/B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAE7B,oBAAoB;IACpB,OAAO;IACP,QAAQ;CACA,CAAA;AAEV,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/lib/hex.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,31 @@
1
+ import { definePlugin } from "../services/plugin.js";
1
2
  /**
2
- * ArkType Plugin
3
+ * Configuration for the arktype provider
4
+ */
5
+ export interface ArkTypeConfig {
6
+ /** Output directory relative to main outputDir */
7
+ readonly outputDir?: string;
8
+ /** Export inferred types alongside schemas */
9
+ readonly exportTypes?: boolean;
10
+ /** How to represent enum values: 'strings' uses union literals, 'enum' uses TS enum */
11
+ readonly enumStyle?: "strings" | "enum";
12
+ /** Where to define enum types: 'inline' embeds at usage, 'separate' generates enum files */
13
+ readonly typeReferences?: "inline" | "separate";
14
+ }
15
+ /**
16
+ * Create an arktype provider that generates ArkType schemas.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { arktype } from "pg-sourcerer"
3
21
  *
4
- * Generates ArkType schemas for each entity's shapes (base, Insert, Update)
5
- * with inferred TypeScript types.
22
+ * export default defineConfig({
23
+ * plugins: [
24
+ * arktype(),
25
+ * arktype({ outputDir: "schemas", exportTypes: false }),
26
+ * ],
27
+ * })
28
+ * ```
6
29
  */
7
- export declare const arktypePlugin: import("../index.js").PluginFactory<{
8
- readonly outputDir: string;
9
- readonly exportTypes: boolean;
10
- readonly enumStyle: "enum" | "strings";
11
- readonly typeReferences: "inline" | "separate";
12
- }, {
13
- readonly outputDir?: string | undefined;
14
- readonly exportTypes?: boolean | undefined;
15
- readonly enumStyle?: "enum" | "strings" | undefined;
16
- readonly typeReferences?: "inline" | "separate" | undefined;
17
- }>;
30
+ export declare function arktype(config?: ArkTypeConfig): ReturnType<typeof definePlugin>;
18
31
  //# sourceMappingURL=arktype.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"AAwaA;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;EA+GxB,CAAC"}
1
+ {"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../src/plugins/arktype.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAmCzE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACjD;AAsbD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,MAAM,GAAE,aAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CA+FnF"}