on-zero 0.6.11 → 0.6.13

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 (131) hide show
  1. package/dist/cjs/createZeroSQLiteServer.cjs +319 -0
  2. package/dist/cjs/createZeroSQLiteServer.native.js +440 -0
  3. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -0
  4. package/dist/cjs/createZeroSQLiteServer.test.cjs +429 -0
  5. package/dist/cjs/createZeroSQLiteServer.test.native.js +466 -0
  6. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -0
  7. package/dist/cjs/createZeroServer.cjs +20 -234
  8. package/dist/cjs/createZeroServer.native.js +24 -250
  9. package/dist/cjs/createZeroServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroServer.test.cjs +35 -1
  11. package/dist/cjs/createZeroServer.test.native.js +38 -1
  12. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServerCore.cjs +362 -0
  14. package/dist/cjs/createZeroServerCore.native.js +389 -0
  15. package/dist/cjs/createZeroServerCore.native.js.map +1 -0
  16. package/dist/cjs/generate-lite.cjs +1 -0
  17. package/dist/cjs/generate-lite.native.js +1 -0
  18. package/dist/cjs/generate-lite.native.js.map +1 -1
  19. package/dist/cjs/generate-lite.test.cjs +5 -1
  20. package/dist/cjs/generate-lite.test.native.js +5 -1
  21. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  22. package/dist/cjs/generate.cjs +20 -11
  23. package/dist/cjs/generate.native.js +29 -21
  24. package/dist/cjs/generate.native.js.map +1 -1
  25. package/dist/cjs/generate.test.cjs +110 -0
  26. package/dist/cjs/generate.test.native.js +110 -0
  27. package/dist/cjs/generate.test.native.js.map +1 -1
  28. package/dist/cjs/httpPull/transport.test.cjs +44 -0
  29. package/dist/cjs/httpPull/transport.test.native.js +53 -0
  30. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  31. package/dist/cjs/httpPullTransport.cjs +4 -1
  32. package/dist/cjs/httpPullTransport.native.js +5 -2
  33. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  34. package/dist/cjs/server.cjs +2 -1
  35. package/dist/cjs/syncHost.cjs +164 -0
  36. package/dist/cjs/syncHost.native.js +371 -0
  37. package/dist/cjs/syncHost.native.js.map +1 -0
  38. package/dist/cjs/syncHost.test.cjs +229 -0
  39. package/dist/cjs/syncHost.test.native.js +278 -0
  40. package/dist/cjs/syncHost.test.native.js.map +1 -0
  41. package/dist/esm/createZeroSQLiteServer.mjs +293 -0
  42. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -0
  43. package/dist/esm/createZeroSQLiteServer.native.js +411 -0
  44. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -0
  45. package/dist/esm/createZeroSQLiteServer.test.mjs +430 -0
  46. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -0
  47. package/dist/esm/createZeroSQLiteServer.test.native.js +464 -0
  48. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -0
  49. package/dist/esm/createZeroServer.mjs +17 -231
  50. package/dist/esm/createZeroServer.mjs.map +1 -1
  51. package/dist/esm/createZeroServer.native.js +21 -247
  52. package/dist/esm/createZeroServer.native.js.map +1 -1
  53. package/dist/esm/createZeroServer.test.mjs +35 -1
  54. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  55. package/dist/esm/createZeroServer.test.native.js +38 -1
  56. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  57. package/dist/esm/createZeroServerCore.mjs +336 -0
  58. package/dist/esm/createZeroServerCore.mjs.map +1 -0
  59. package/dist/esm/createZeroServerCore.native.js +360 -0
  60. package/dist/esm/createZeroServerCore.native.js.map +1 -0
  61. package/dist/esm/generate-lite.mjs +1 -0
  62. package/dist/esm/generate-lite.mjs.map +1 -1
  63. package/dist/esm/generate-lite.native.js +1 -0
  64. package/dist/esm/generate-lite.native.js.map +1 -1
  65. package/dist/esm/generate-lite.test.mjs +5 -1
  66. package/dist/esm/generate-lite.test.mjs.map +1 -1
  67. package/dist/esm/generate-lite.test.native.js +5 -1
  68. package/dist/esm/generate-lite.test.native.js.map +1 -1
  69. package/dist/esm/generate.mjs +20 -11
  70. package/dist/esm/generate.mjs.map +1 -1
  71. package/dist/esm/generate.native.js +29 -21
  72. package/dist/esm/generate.native.js.map +1 -1
  73. package/dist/esm/generate.test.mjs +87 -1
  74. package/dist/esm/generate.test.mjs.map +1 -1
  75. package/dist/esm/generate.test.native.js +87 -1
  76. package/dist/esm/generate.test.native.js.map +1 -1
  77. package/dist/esm/httpPull/transport.test.mjs +44 -0
  78. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  79. package/dist/esm/httpPull/transport.test.native.js +53 -0
  80. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  81. package/dist/esm/httpPullTransport.mjs +4 -1
  82. package/dist/esm/httpPullTransport.mjs.map +1 -1
  83. package/dist/esm/httpPullTransport.native.js +5 -2
  84. package/dist/esm/httpPullTransport.native.js.map +1 -1
  85. package/dist/esm/server.mjs +1 -0
  86. package/dist/esm/server.mjs.map +1 -1
  87. package/dist/esm/syncHost.mjs +138 -0
  88. package/dist/esm/syncHost.mjs.map +1 -0
  89. package/dist/esm/syncHost.native.js +342 -0
  90. package/dist/esm/syncHost.native.js.map +1 -0
  91. package/dist/esm/syncHost.test.mjs +206 -0
  92. package/dist/esm/syncHost.test.mjs.map +1 -0
  93. package/dist/esm/syncHost.test.native.js +252 -0
  94. package/dist/esm/syncHost.test.native.js.map +1 -0
  95. package/package.json +19 -3
  96. package/readme.md +26 -0
  97. package/src/createZeroSQLiteServer.test.ts +461 -0
  98. package/src/createZeroSQLiteServer.ts +523 -0
  99. package/src/createZeroServer.test.ts +39 -1
  100. package/src/createZeroServer.ts +35 -428
  101. package/src/createZeroServerCore.ts +557 -0
  102. package/src/generate-lite.test.ts +4 -0
  103. package/src/generate-lite.ts +1 -0
  104. package/src/generate.test.ts +87 -1
  105. package/src/generate.ts +29 -20
  106. package/src/httpPull/transport.test.ts +47 -0
  107. package/src/httpPullTransport.ts +15 -1
  108. package/src/server.ts +1 -0
  109. package/src/syncHost.test.ts +216 -0
  110. package/src/syncHost.ts +255 -0
  111. package/test-fixtures/server-return-types.ts +50 -0
  112. package/test-fixtures/tsconfig.json +13 -0
  113. package/types/createZeroSQLiteServer.d.ts +37 -0
  114. package/types/createZeroSQLiteServer.d.ts.map +1 -0
  115. package/types/createZeroSQLiteServer.test.d.ts +2 -0
  116. package/types/createZeroSQLiteServer.test.d.ts.map +1 -0
  117. package/types/createZeroServer.d.ts +11 -293
  118. package/types/createZeroServer.d.ts.map +1 -1
  119. package/types/createZeroServerCore.d.ts +310 -0
  120. package/types/createZeroServerCore.d.ts.map +1 -0
  121. package/types/generate-lite.d.ts.map +1 -1
  122. package/types/generate.d.ts +2 -1
  123. package/types/generate.d.ts.map +1 -1
  124. package/types/httpPullTransport.d.ts +2 -0
  125. package/types/httpPullTransport.d.ts.map +1 -1
  126. package/types/server.d.ts +1 -0
  127. package/types/server.d.ts.map +1 -1
  128. package/types/syncHost.d.ts +51 -0
  129. package/types/syncHost.d.ts.map +1 -0
  130. package/types/syncHost.test.d.ts +2 -0
  131. package/types/syncHost.test.d.ts.map +1 -0
@@ -3,6 +3,7 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from
3
3
  import { basename, dirname, resolve } from "node:path";
4
4
  import { formatObjectKey, generateGroupedQueriesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, shouldSkipObjectKey } from "./generate-helpers.mjs";
5
5
  const hash = s => createHash("sha256").update(s).digest("hex");
6
+ const isGeneratorSourceFile = name => name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
6
7
  function hashInputTree(baseDir, generatedDir) {
7
8
  const parts = [];
8
9
  const walk = dir => {
@@ -15,7 +16,7 @@ function hashInputTree(baseDir, generatedDir) {
15
16
  if (entry.isDirectory()) {
16
17
  if (entry.name === "node_modules" || full === generatedDir) continue;
17
18
  walk(full);
18
- } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
19
+ } else if (entry.isFile() && isGeneratorSourceFile(entry.name)) {
19
20
  parts.push(`${full}\0${readFileSync(full, "utf-8")}`);
20
21
  }
21
22
  }
@@ -443,7 +444,8 @@ function generateDrizzleSchemaFile(schema) {
443
444
  const t = schema.tables[tableName];
444
445
  const colEntries = Object.entries(t.columns).map(([colName, col]) => ` ${colName}: ${serializeColumnBuilder(col)},`).join("\n");
445
446
  const pkArgs = t.primaryKey.map(k => `'${k}'`).join(", ");
446
- lines.push(`const ${tableName}Table = table('${t.name}')`);
447
+ const tableSource = t.serverName ? `table(${JSON.stringify(t.name)}).from(${JSON.stringify(t.serverName)})` : `table(${JSON.stringify(t.name)})`;
448
+ lines.push(`const ${tableName}Table = ${tableSource}`);
447
449
  lines.push(` .columns({`);
448
450
  lines.push(colEntries);
449
451
  lines.push(` })`);
@@ -458,22 +460,29 @@ function generateDrizzleSchemaFile(schema) {
458
460
  const relBody = relEntries.map(([relName, hops]) => {
459
461
  if (hops.length === 1) {
460
462
  const hop = hops[0];
461
- const fn = hop.cardinality === "one" ? "one" : "many";
463
+ const fn2 = hop.cardinality === "one" ? "one" : "many";
462
464
  const sf = hop.sourceField.map(f => `'${f}'`).join(", ");
463
465
  const df = hop.destField.map(f => `'${f}'`).join(", ");
464
- return ` ${relName}: ${fn}({
466
+ return ` ${relName}: ${fn2}({
465
467
  sourceField: [${sf}],
466
468
  destSchema: ${hop.destSchema}Table,
467
469
  destField: [${df}],
468
470
  })`;
469
471
  }
472
+ if (hops.length !== 2) {
473
+ throw new Error(`Relationship ${tableName}.${relName} must have one or two hops`);
474
+ }
475
+ const cardinality = hops[0].cardinality;
476
+ if (hops.some(hop => hop.cardinality !== cardinality)) {
477
+ throw new Error(`Relationship ${tableName}.${relName} must use one cardinality`);
478
+ }
479
+ const fn = cardinality === "one" ? "one" : "many";
470
480
  const hopCode = hops.map(hop => {
471
- const fn = hop.cardinality === "one" ? "one" : "many";
472
481
  const sf = hop.sourceField.map(f => `'${f}'`).join(", ");
473
482
  const df = hop.destField.map(f => `'${f}'`).join(", ");
474
- return `${fn}({ sourceField: [${sf}], destSchema: ${hop.destSchema}Table, destField: [${df}] })`;
483
+ return `{ sourceField: [${sf}], destSchema: ${hop.destSchema}Table, destField: [${df}] }`;
475
484
  }).join(", ");
476
- return ` ${relName}: [${hopCode}]`;
485
+ return ` ${relName}: ${fn}(${hopCode})`;
477
486
  }).join(",\n");
478
487
  lines.push(`const ${tableName}Relationships = relationships(${tableName}Table, ({ one, many }) => ({`);
479
488
  lines.push(relBody);
@@ -526,7 +535,7 @@ async function generate(options) {
526
535
  mutationCount: counts.mutationCount ?? 0
527
536
  };
528
537
  }
529
- const allModelFiles = readdirSync(modelsDir).filter(f => f.endsWith(".ts")).sort();
538
+ const allModelFiles = readdirSync(modelsDir).filter(isGeneratorSourceFile).sort();
530
539
  const filesWithSchema = allModelFiles.filter(f => readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table("));
531
540
  const allModelNames = allModelFiles.map(f => basename(f, ".ts"));
532
541
  const schemaModelNames = filesWithSchema.map(f => basename(f, ".ts"));
@@ -547,12 +556,12 @@ async function generate(options) {
547
556
  }
548
557
  };
549
558
  if (existsSync(queriesDir)) {
550
- const queryFiles = readdirSync(queriesDir).filter(f => f.endsWith(".ts"));
559
+ const queryFiles = readdirSync(queriesDir).filter(isGeneratorSourceFile);
551
560
  const allQueries = [];
552
561
  let queryResolver = null;
553
562
  const getQueryResolver = () => {
554
563
  if (!queryResolver) {
555
- const allFiles = readdirSync(queriesDir).filter(f => f.endsWith(".ts")).map(f => ({
564
+ const allFiles = readdirSync(queriesDir).filter(isGeneratorSourceFile).map(f => ({
556
565
  path: resolve(queriesDir, f),
557
566
  content: readFileSync(resolve(queriesDir, f), "utf-8")
558
567
  }));
@@ -654,7 +663,7 @@ async function generate(options) {
654
663
  const fullPath = resolve(dir2, entry.name);
655
664
  if (entry.isDirectory() && entry.name !== "node_modules") {
656
665
  results.push(...collectTsFiles(fullPath));
657
- } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
666
+ } else if (entry.isFile() && isGeneratorSourceFile(entry.name)) {
658
667
  results.push({
659
668
  path: fullPath,
660
669
  content: readFileSync(fullPath, "utf-8")
@@ -1 +1 @@
1
- {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","name","entry","full","isDirectory","isFile","endsWith","push","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","program","createProgram","map","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","prop","properties","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","value","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner2","inner","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props","objectFlags","ObjectFlags","Reference","typeRef","symbol","getSymbol","typeArguments","Tuple","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","tableList","n","relList","generate","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","file","fileBaseName","exportModifier","find","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","hasUnresolved","collectTsFiles","dir2","results","fullPath","modelResolver","size","idx","findIndex","model","mutationsChanged","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","watch","debounce","chokidar","debounceTimer","debouncedRegenerate","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","isGeneratorSourceFile","name","endsWith","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","entry","full","isDirectory","isFile","push","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","program","createProgram","map","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","prop","properties","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","value","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner2","inner","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props","objectFlags","ObjectFlags","Reference","typeRef","symbol","getSymbol","typeArguments","Tuple","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","tableSource","relTableNames","relationships","rels","relEntries","relBody","relName","hops","hop","fn2","cardinality","sf","sourceField","df","destField","destSchema","Error","fn","hopCode","tableList","n","relList","generate","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","file","fileBaseName","exportModifier","find","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","hasUnresolved","collectTsFiles","dir2","results","fullPath","modelResolver","size","idx","findIndex","model","mutationsChanged","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","watch","debounce","chokidar","debounceTimer","debouncedRegenerate","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,UAAA,EAAYC,SAAA,EAAWC,YAAA,EAAcC,WAAA,EAAaC,aAAA,QAAqB;AAChF,SAASC,QAAA,EAAUC,OAAA,EAASC,OAAA,QAAe;AAC3C,SACEC,eAAA,EACAC,0BAAA,EACAC,kBAAA,EACAC,kBAAA,EACAC,2BAAA,EACAC,yBAAA,EACAC,kBAAA,EACAC,iBAAA,EACAC,eAAA,EACAC,eAAA,EACAC,mBAAA,QACK;AAGP,MAAMC,IAAA,GAAQC,CAAA,IAAcrB,UAAA,CAAW,QAAQ,EAAEsB,MAAA,CAAOD,CAAC,EAAEE,MAAA,CAAO,KAAK;AAEvE,MAAMC,qBAAA,GAAyBC,IAAA,IAC7BA,IAAA,CAAKC,QAAA,CAAS,KAAK,KACnB,CAACD,IAAA,CAAKC,QAAA,CAAS,OAAO,KACtB,CAACD,IAAA,CAAKC,QAAA,CAAS,UAAU,KACzB,CAACD,IAAA,CAAKC,QAAA,CAAS,UAAU;AAQ3B,SAASC,cAAcC,OAAA,EAAiBC,YAAA,EAA8B;EACpE,MAAMC,KAAA,GAAkB,EAAC;EACzB,MAAMC,IAAA,GAAQC,GAAA,IAAgB;IAC5B,IAAI,CAAC/B,UAAA,CAAW+B,GAAG,GAAG;IACtB,MAAMC,OAAA,GAAU7B,WAAA,CAAY4B,GAAA,EAAK;MAAEE,aAAA,EAAe;IAAK,CAAC,EAAEC,IAAA,CAAK,CAACC,CAAA,EAAGC,CAAA,KACjED,CAAA,CAAEX,IAAA,GAAOY,CAAA,CAAEZ,IAAA,GAAO,KAAK,CACzB;IACA,WAAWa,KAAA,IAASL,OAAA,EAAS;MAC3B,MAAMM,IAAA,GAAO/B,OAAA,CAAQwB,GAAA,EAAKM,KAAA,CAAMb,IAAI;MACpC,IAAIa,KAAA,CAAME,WAAA,CAAY,GAAG;QACvB,IAAIF,KAAA,CAAMb,IAAA,KAAS,kBAAkBc,IAAA,KAASV,YAAA,EAAc;QAC5DE,IAAA,CAAKQ,IAAI;MACX,WAAWD,KAAA,CAAMG,MAAA,CAAO,KAAKjB,qBAAA,CAAsBc,KAAA,CAAMb,IAAI,GAAG;QAC9DK,KAAA,CAAMY,IAAA,CAAK,GAAGH,IAAI,KAAKpC,YAAA,CAAaoC,IAAA,EAAM,OAAO,CAAC,EAAE;MACtD;IACF;EACF;EACAR,IAAA,CAAKH,OAAO;EACZ,OAAOR,IAAA,CAAKU,KAAA,CAAMa,IAAA,CAAK,IAAI,CAAC;AAC9B;AAEA,IAAIC,aAAA,GAAwC,CAAC;AAC7C,IAAIC,iBAAA,GAAoB;AAExB,SAASC,YAAA,EAAc;EACrB,IAAId,GAAA,GAAMe,OAAA,CAAQC,GAAA,CAAI;EACtB,OAAOhB,GAAA,KAAQ,KAAK;IAClB,MAAMiB,EAAA,GAAKzC,OAAA,CAAQwB,GAAA,EAAK,cAAc;IACtC,IAAI/B,UAAA,CAAWgD,EAAE,GAAG;MAClB,MAAMC,QAAA,GAAW1C,OAAA,CAAQyC,EAAA,EAAI,UAAU;MACvC,IAAI,CAAChD,UAAA,CAAWiD,QAAQ,GAAG;QACzBhD,SAAA,CAAUgD,QAAA,EAAU;UAAEC,SAAA,EAAW;QAAK,CAAC;MACzC;MACA,OAAOD,QAAA;IACT;IACAlB,GAAA,GAAMxB,OAAA,CAAQwB,GAAA,EAAK,IAAI;EACzB;EACA,OAAO;AACT;AAEA,SAASoB,UAAA,EAAY;EACnB,MAAMF,QAAA,GAAWJ,WAAA,CAAY;EAC7B,IAAI,CAACI,QAAA,EAAU;EACfL,iBAAA,GAAoBrC,OAAA,CAAQ0C,QAAA,EAAU,qBAAqB;EAC3D,IAAI;IACFN,aAAA,GAAgBS,IAAA,CAAKC,KAAA,CAAMnD,YAAA,CAAa0C,iBAAA,EAAmB,OAAO,CAAC;EACrE,QAAQ;IACND,aAAA,GAAgB,CAAC;EACnB;AACF;AAEA,SAASW,UAAA,EAAY;EACnB,IAAIV,iBAAA,EAAmB;IACrBxC,aAAA,CAAcwC,iBAAA,EAAmBQ,IAAA,CAAKG,SAAA,CAAUZ,aAAa,IAAI,MAAM,OAAO;EAChF;AACF;AAEA,SAASa,mBAAmBC,QAAA,EAAkBC,OAAA,EAA0B;EACtE,MAAMC,WAAA,GAAcxC,IAAA,CAAKuC,OAAO;EAChC,MAAME,UAAA,GAAajB,aAAA,CAAcc,QAAQ;EAEzC,IAAIG,UAAA,KAAeD,WAAA,IAAe3D,UAAA,CAAWyD,QAAQ,GAAG;IACtD,OAAO;EACT;EAEArD,aAAA,CAAcqD,QAAA,EAAUC,OAAA,EAAS,OAAO;EACxCf,aAAA,CAAcc,QAAQ,IAAIE,WAAA;EAC1B,OAAO;AACT;AAMA,SAASE,mBACPC,EAAA,EACAC,KAAA,EACAhC,GAAA,EACA;EAEA,MAAMiC,UAAA,GAAaF,EAAA,CAAGG,cAAA,CAAelC,GAAA,EAAK+B,EAAA,CAAGI,GAAA,CAAIC,UAAA,EAAY,eAAe;EAC5E,IAAIC,eAAA,GAAwD;IAC1DC,MAAA,EAAQP,EAAA,CAAGQ,YAAA,CAAaC,MAAA;IACxBC,MAAA,EAAQV,EAAA,CAAGW,UAAA,CAAWC,MAAA;IACtBC,gBAAA,EAAkBb,EAAA,CAAGc,oBAAA,CAAqBC,OAAA;IAC1CC,MAAA,EAAQ;IACRC,YAAA,EAAc;IACdC,MAAA,EAAQ;EACV;EAEA,IAAIhB,UAAA,EAAY;IACd,MAAMiB,UAAA,GAAanB,EAAA,CAAGoB,cAAA,CAAelB,UAAA,EAAYF,EAAA,CAAGI,GAAA,CAAIiB,QAAQ;IAChE,IAAIF,UAAA,CAAWG,MAAA,EAAQ;MAErB,MAAMC,MAAA,GAASvB,EAAA,CAAGwB,0BAAA,CAChBL,UAAA,CAAWG,MAAA,EACXtB,EAAA,CAAGI,GAAA,EACH5D,OAAA,CAAQ0D,UAAU,CACpB;MACAI,eAAA,GAAkB;QAAE,GAAGA,eAAA;QAAiB,GAAGiB,MAAA,CAAOE;MAAQ;IAC5D;EACF;EAGA,MAAMC,OAAA,GAAU,mBAAIC,GAAA,CAAoB;EACxC,WAAWC,CAAA,IAAK3B,KAAA,EAAO;IACrByB,OAAA,CAAQG,GAAA,CAAID,CAAA,CAAEE,IAAA,EAAMF,CAAA,CAAEhC,OAAO;EAC/B;EAEA,MAAMmC,IAAA,GAAO/B,EAAA,CAAGgC,kBAAA,CAAmB1B,eAAe;EAClD,MAAM2B,qBAAA,GAAwBF,IAAA,CAAKG,aAAA,CAAcC,IAAA,CAAKJ,IAAI;EAC1DA,IAAA,CAAKG,aAAA,GAAgB,CAACE,QAAA,EAAUC,eAAA,EAAiBC,OAAA,KAAY;IAC3D,MAAM1C,OAAA,GAAU8B,OAAA,CAAQa,GAAA,CAAIH,QAAQ;IACpC,IAAIxC,OAAA,KAAY,QAAW;MACzB,OAAOI,EAAA,CAAGwC,gBAAA,CAAiBJ,QAAA,EAAUxC,OAAA,EAASyC,eAAA,EAAiB,IAAI;IACrE;IACA,OAAOJ,qBAAA,CAAsBG,QAAA,EAAUC,eAAA,EAAiBC,OAAO;EACjE;EACAP,IAAA,CAAK1B,UAAA,GAAc+B,QAAA,IAAaV,OAAA,CAAQe,GAAA,CAAIL,QAAQ,KAAKpC,EAAA,CAAGI,GAAA,CAAIC,UAAA,CAAW+B,QAAQ;EACnFL,IAAA,CAAKV,QAAA,GAAYe,QAAA,IAAaV,OAAA,CAAQa,GAAA,CAAIH,QAAQ,KAAKpC,EAAA,CAAGI,GAAA,CAAIiB,QAAA,CAASe,QAAQ;EAE/E,MAAMM,OAAA,GAAU1C,EAAA,CAAG2C,aAAA,CACjB1C,KAAA,CAAM2C,GAAA,CAAKhB,CAAA,IAAMA,CAAA,CAAEE,IAAI,GACvBxB,eAAA,EACAyB,IACF;EACA,MAAMc,OAAA,GAAUH,OAAA,CAAQI,cAAA,CAAe;EAEvC,OAAO;IACLJ,OAAA;IACAG,OAAA;IAAA;IAEAE,YAAYC,IAAA,EAAuE;MACjF,IAAI;QACF,OAAOH,OAAA,CAAQI,mBAAA,CAAoBD,IAAI;MACzC,QAAQ;QACN,OAAO;MACT;IACF;IAAA;IAEAE,cAAcC,IAAA,EAAyC;MACrD,OAAOC,eAAA,CAAgBpD,EAAA,EAAI6C,OAAA,EAASM,IAAI;IAC1C;EACF;AACF;AAGA,SAASE,iBACPrD,EAAA,EACAsD,QAAA,EACAC,UAAA,EACAC,UAAA,EACAC,UAAA,EACkC;EAClC,IAAIC,MAAA,GAA2C;EAE/C1D,EAAA,CAAG2D,YAAA,CAAaJ,UAAA,EAAaP,IAAA,IAAS;IACpC,IAAIU,MAAA,EAAQ;IACZ,IAAI,CAAC1D,EAAA,CAAG4D,mBAAA,CAAoBZ,IAAI,GAAG;IACnC,IAAI,CAACA,IAAA,CAAKa,SAAA,EAAWC,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEC,IAAA,KAAShE,EAAA,CAAGiE,UAAA,CAAWC,aAAa,GAAG;IAE1E,MAAMC,IAAA,GAAOnB,IAAA,CAAKoB,eAAA,CAAgBC,YAAA,CAAa,CAAC;IAChD,IAAI,CAACF,IAAA,IAAQ,CAACnE,EAAA,CAAGsE,qBAAA,CAAsBH,IAAI,GAAG;IAC9C,IAAIA,IAAA,CAAKzG,IAAA,CAAK6G,OAAA,CAAQhB,UAAU,MAAMC,UAAA,EAAY;IAElD,IAAIW,IAAA,CAAKK,WAAA,IAAexE,EAAA,CAAGyE,eAAA,CAAgBN,IAAA,CAAKK,WAAW,GAAG;MAC5D,MAAME,KAAA,GAAQP,IAAA,CAAKK,WAAA,CAAYG,UAAA,CAAWlB,UAAU;MACpD,IAAIiB,KAAA,EAAOvB,IAAA,EAAM;QACfO,MAAA,GAASJ,QAAA,CAASP,WAAA,CAAY2B,KAAA,CAAMvB,IAAI;MAC1C;IACF;EACF,CAAC;EAED,OAAOO,MAAA;AACT;AAIA,SAASkB,0BACP5E,EAAA,EACAsD,QAAA,EACAC,UAAA,EACwC;EACxC,MAAMsB,QAAA,GAAW,mBAAIlD,GAAA,CAAuC;EAE5D3B,EAAA,CAAG2D,YAAA,CAAaJ,UAAA,EAAaP,IAAA,IAAS;IACpC,IAAI,CAAChD,EAAA,CAAG4D,mBAAA,CAAoBZ,IAAI,GAAG;IACnC,IAAI,CAACA,IAAA,CAAKa,SAAA,EAAWC,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEC,IAAA,KAAShE,EAAA,CAAGiE,UAAA,CAAWC,aAAa,GAAG;IAE1E,MAAMC,IAAA,GAAOnB,IAAA,CAAKoB,eAAA,CAAgBC,YAAA,CAAa,CAAC;IAChD,IAAI,CAACF,IAAA,IAAQ,CAACnE,EAAA,CAAGsE,qBAAA,CAAsBH,IAAI,GAAG;IAC9C,IAAIA,IAAA,CAAKzG,IAAA,CAAK6G,OAAA,CAAQhB,UAAU,MAAM,UAAU;IAEhD,IAAI,CAACY,IAAA,CAAKK,WAAA,IAAe,CAACxE,EAAA,CAAG8E,gBAAA,CAAiBX,IAAA,CAAKK,WAAW,GAAG;IACjE,MAAMO,IAAA,GAAOZ,IAAA,CAAKK,WAAA,CAAYQ,SAAA;IAG9B,IAAIC,WAAA,GAAmE;IACvE,SAASC,CAAA,GAAIH,IAAA,CAAKI,MAAA,GAAS,GAAGD,CAAA,IAAK,GAAGA,CAAA,IAAK;MACzC,IAAIlF,EAAA,CAAGoF,yBAAA,CAA0BL,IAAA,CAAKG,CAAC,CAAE,GAAG;QAC1CD,WAAA,GAAcF,IAAA,CAAKG,CAAC;QACpB;MACF;IACF;IACA,IAAI,CAACD,WAAA,EAAa;IAElB,WAAWI,IAAA,IAAQJ,WAAA,CAAYK,UAAA,EAAY;MACzC,IAAI,CAACtF,EAAA,CAAGuF,oBAAA,CAAqBF,IAAI,KAAK,CAACrF,EAAA,CAAGwF,mBAAA,CAAoBH,IAAI,GAAG;MACrE,MAAM3H,IAAA,GAAO2H,IAAA,CAAK3H,IAAA,EAAM6G,OAAA,CAAQhB,UAAU;MAC1C,IAAI,CAAC7F,IAAA,EAAM;MAEX,IAAI+H,MAAA,GAEO;MACX,IAAIzF,EAAA,CAAGuF,oBAAA,CAAqBF,IAAI,GAAG;QACjC,MAAMK,IAAA,GAAOL,IAAA,CAAKb,WAAA;QAClB,IAAIxE,EAAA,CAAGyE,eAAA,CAAgBiB,IAAI,KAAK1F,EAAA,CAAG2F,oBAAA,CAAqBD,IAAI,GAAG;UAC7DD,MAAA,GAASC,IAAA,CAAKf,UAAA;QAChB;MACF,WAAW3E,EAAA,CAAGwF,mBAAA,CAAoBH,IAAI,GAAG;QACvCI,MAAA,GAASJ,IAAA,CAAKV,UAAA;MAChB;MAEA,IAAI,CAACc,MAAA,IAAUA,MAAA,CAAON,MAAA,GAAS,GAAG;MAClC,MAAMS,QAAA,GAAWH,MAAA,CAAO,CAAC,EAAGtC,IAAA;MAC5B,IAAI,CAACyC,QAAA,EAAU;MAEf,MAAMC,QAAA,GAAWvC,QAAA,CAASP,WAAA,CAAY6C,QAAQ;MAC9C,IAAIC,QAAA,EAAU;QACZhB,QAAA,CAAShD,GAAA,CAAInE,IAAA,EAAMmI,QAAQ;MAC7B;IACF;EACF,CAAC;EAED,OAAOhB,QAAA;AACT;AAEA,SAASiB,0BACP9F,EAAA,EACAuD,UAAA,EACA3D,OAAA,EACAwC,QAAA,EACA2D,MAAA,EACA7C,aAAA,EACA8C,aAAA,EACAC,qBAAA,EACuB;EACvB,IAAIC,UAAA,GAAyD;EAG7DlG,EAAA,CAAG2D,YAAA,CAAaJ,UAAA,EAAaP,IAAA,IAAS;IACpC,IAAI,CAAChD,EAAA,CAAG4D,mBAAA,CAAoBZ,IAAI,GAAG;IACnC,IAAI,CAACA,IAAA,CAAKa,SAAA,EAAWC,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEC,IAAA,KAAShE,EAAA,CAAGiE,UAAA,CAAWC,aAAa,GAAG;IAC1E,MAAMC,IAAA,GAAOnB,IAAA,CAAKoB,eAAA,CAAgBC,YAAA,CAAa,CAAC;IAChD,IAAI,CAACF,IAAA,IAAQ,CAACnE,EAAA,CAAGsE,qBAAA,CAAsBH,IAAI,GAAG;IAC9C,IAAIA,IAAA,CAAKzG,IAAA,CAAK6G,OAAA,CAAQhB,UAAU,MAAM,UAAU;IAChD,IAAIY,IAAA,CAAKK,WAAA,IAAexE,EAAA,CAAG8E,gBAAA,CAAiBX,IAAA,CAAKK,WAAW,GAAG;MAC7D0B,UAAA,GAAa/B,IAAA,CAAKK,WAAA;IACpB;EACF,CAAC;EAED,IAAI,CAAC0B,UAAA,EAAY;IACf,OAAO;MACLC,SAAA,EAAW5J,QAAA,CAAS6F,QAAA,EAAU,KAAK;MACnCgE,OAAA,EAAS;MACTC,OAAA,EAAS,CAAC;MACVC,WAAA,EAAa,EAAC;MACdC,MAAA,EAAQ;IACV;EACF;EAEA,MAAMC,IAAA,GAAON,UAAA;EACb,MAAMnB,IAAA,GAAOyB,IAAA,CAAKxB,SAAA;EAMlB,MAAMyB,QAAA,GAAW1B,IAAA,CAAK,CAAC;EACvB,MAAM2B,aAAA,GAAgBC,OAAA,CAAQF,QAAA,IAAYzG,EAAA,CAAG4G,mBAAA,CAAoBH,QAAQ,CAAC;EAC1E,MAAML,OAAA,GAAUrB,IAAA,CAAKI,MAAA,IAAU,KAAK,CAACuB,aAAA;EACrC,IAAIzB,WAAA,GAAmE;EAEvE,IAAIF,IAAA,CAAKI,MAAA,KAAW,KAAKnF,EAAA,CAAGoF,yBAAA,CAA0BL,IAAA,CAAK,CAAC,CAAE,GAAG;IAC/DE,WAAA,GAAcF,IAAA,CAAK,CAAC;EACtB,WAAW2B,aAAA,EAAe;IACxB,IAAI3B,IAAA,CAAKI,MAAA,IAAU,KAAKnF,EAAA,CAAGoF,yBAAA,CAA0BL,IAAA,CAAK,CAAC,CAAE,GAAG;MAC9DE,WAAA,GAAcF,IAAA,CAAK,CAAC;IACtB,WAAWA,IAAA,CAAKI,MAAA,IAAU,KAAKnF,EAAA,CAAGoF,yBAAA,CAA0BL,IAAA,CAAK,CAAC,CAAE,GAAG;MACrEE,WAAA,GAAcF,IAAA,CAAK,CAAC;IACtB;EACF,WAAWA,IAAA,CAAKI,MAAA,KAAW,KAAKnF,EAAA,CAAGoF,yBAAA,CAA0BL,IAAA,CAAK,CAAC,CAAE,GAAG;IACtEE,WAAA,GAAcF,IAAA,CAAK,CAAC;EACtB;EAGA,MAAMsB,OAAA,GAAwC,CAAC;EAC/C,MAAMC,WAAA,GAAwB,EAAC;EAE/B,IAAIF,OAAA,EAAS;IAEXS,oBAAA,CAAqB7G,EAAA,EAAIuD,UAAA,EAAY8C,OAAA,EAASC,WAAW;EAC3D;EAGA,MAAMC,MAAA,GAA8B,EAAC;EAErC,IAAItB,WAAA,EAAa;IACf,WAAWI,IAAA,IAAQJ,WAAA,CAAYK,UAAA,EAAY;MACzC,IAAI,CAACtF,EAAA,CAAGuF,oBAAA,CAAqBF,IAAI,KAAK,CAACrF,EAAA,CAAGwF,mBAAA,CAAoBH,IAAI,GAAG;MAErE,MAAM3H,IAAA,GAAO2H,IAAA,CAAK3H,IAAA,EAAM6G,OAAA,CAAQhB,UAAU;MAC1C,IAAI,CAAC7F,IAAA,EAAM;MAGX,IAAI+H,MAAA,GAEO;MAEX,IAAIzF,EAAA,CAAGuF,oBAAA,CAAqBF,IAAI,GAAG;QACjC,MAAMK,IAAA,GAAOL,IAAA,CAAKb,WAAA;QAClB,IAAIxE,EAAA,CAAGyE,eAAA,CAAgBiB,IAAI,KAAK1F,EAAA,CAAG2F,oBAAA,CAAqBD,IAAI,GAAG;UAC7DD,MAAA,GAASC,IAAA,CAAKf,UAAA;QAChB;MACF,WAAW3E,EAAA,CAAGwF,mBAAA,CAAoBH,IAAI,GAAG;QACvCI,MAAA,GAASJ,IAAA,CAAKV,UAAA;MAChB;MAEA,IAAI,CAACc,MAAA,EAAQ;MAGb,IAAIA,MAAA,CAAON,MAAA,GAAS,GAAG;QACrBoB,MAAA,CAAO5H,IAAA,CAAK;UAAEjB,IAAA;UAAMoJ,SAAA,EAAW;UAAQC,WAAA,EAAa;QAAG,CAAC;QACxD;MACF;MAEA,MAAMC,WAAA,GAAcvB,MAAA,CAAO,CAAC;MAC5B,MAAMqB,SAAA,GAAYE,WAAA,CAAY7D,IAAA,EAAMoB,OAAA,CAAQhB,UAAU,KAAK;MAE3D,IAAIuD,SAAA,KAAc,WAAW;QAC3BP,MAAA,CAAO5H,IAAA,CAAK;UAAEjB,IAAA;UAAMoJ,SAAA,EAAW;UAAWC,WAAA,EAAa;QAAG,CAAC;QAC3D;MACF;MAEA,IAAIA,WAAA,GAAc7D,aAAA,CAAc4D,SAAS;MAGzC,IAAI,CAACC,WAAA,IAAef,aAAA,IAAiBC,qBAAA,EAAuB;QAC1D,MAAMgB,YAAA,GAAejB,aAAA,CAAczD,GAAA,CAAI7E,IAAI;QAC3C,IAAIuJ,YAAA,EAAc;UAChBF,WAAA,GAAcd,qBAAA,CAAsBgB,YAAY;QAClD;MACF;MAEAV,MAAA,CAAO5H,IAAA,CAAK;QACVjB,IAAA;QACAoJ,SAAA;QACAC,WAAA,EAAaA,WAAA,IAAe;MAC9B,CAAC;IACH;EACF;EAEA,OAAO;IACLZ,SAAA,EAAW;IACXC,OAAA;IACAC,OAAA;IACAC,WAAA;IACAC;EACF;AACF;AAEA,SAASM,qBACP7G,EAAA,EACAuD,UAAA,EACA8C,OAAA,EACAC,WAAA,EACA;EAEA,SAASY,MAAMlE,IAAA,EAAiC;IAC9C,IAAIhD,EAAA,CAAG8E,gBAAA,CAAiB9B,IAAI,GAAG;MAC7B,MAAMmE,IAAA,GAAOnE,IAAA,CAAKoE,UAAA,CAAW7C,OAAA,CAAQhB,UAAU;MAG/C,IAAI4D,IAAA,CAAKxJ,QAAA,CAAS,aAAa,GAAG;QAChC,WAAW0J,GAAA,IAAOrE,IAAA,CAAKgC,SAAA,EAAW;UAChC,IAAIhF,EAAA,CAAGsH,eAAA,CAAgBD,GAAG,GAAG;YAC3Bf,WAAA,CAAY3H,IAAA,CAAK0I,GAAA,CAAIF,IAAI;UAC3B;QACF;MACF;MAGA,IAAIA,IAAA,CAAKxJ,QAAA,CAAS,UAAU,KAAKqF,IAAA,CAAKgC,SAAA,CAAUG,MAAA,KAAW,GAAG;QAC5D,MAAMoC,GAAA,GAAMvE,IAAA,CAAKgC,SAAA,CAAU,CAAC;QAC5B,IAAIhF,EAAA,CAAGoF,yBAAA,CAA0BmC,GAAG,GAAG;UACrC,WAAWlC,IAAA,IAAQkC,GAAA,CAAIjC,UAAA,EAAY;YACjC,IAAI,CAACtF,EAAA,CAAGuF,oBAAA,CAAqBF,IAAI,GAAG;YACpC,MAAMmC,OAAA,GAAUnC,IAAA,CAAK3H,IAAA,EAAM6G,OAAA,CAAQhB,UAAU;YAC7C,IAAI,CAACiE,OAAA,EAAS;YAEd,MAAMC,QAAA,GAAWpC,IAAA,CAAKb,WAAA,CAAYD,OAAA,CAAQhB,UAAU;YACpD,MAAMmE,OAAA,GAAUxK,eAAA,CAAgBuK,QAAQ;YACxCpB,OAAA,CAAQmB,OAAO,IAAIE,OAAA;UACrB;QACF;MACF;IACF;IACA1H,EAAA,CAAG2D,YAAA,CAAaX,IAAA,EAAMkE,KAAK;EAC7B;EACAA,KAAA,CAAM3D,UAAU;AAClB;AAGA,SAASH,gBACPpD,EAAA,EACA6C,OAAA,EACAM,IAAA,EACAwE,IAAA,EACQ;EAGR,IAAI,CAACA,IAAA,EAAMA,IAAA,GAAO,mBAAIC,GAAA,CAAI;EAC1B,MAAMC,KAAA,GAAQ1E,IAAA,CAAK2E,QAAA,CAAS;EAC5B,IAAID,KAAA,IAAS7H,EAAA,CAAG+H,SAAA,CAAUC,MAAA,GAAShI,EAAA,CAAG+H,SAAA,CAAUE,YAAA,GAAe;IAC7D,IAAIN,IAAA,CAAKlF,GAAA,CAAIU,IAAI,GAAG,OAAO;IAC3BwE,IAAA,CAAKO,GAAA,CAAI/E,IAAI;EACf;EAEA,MAAMgF,OAAA,GAAWC,CAAA,IAAiChF,eAAA,CAAgBpD,EAAA,EAAI6C,OAAA,EAASuF,CAAA,EAAGT,IAAI;EAGtF,IAAIE,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUM,MAAA,EAAQ,OAAO;EACxC,IAAIR,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUO,MAAA,EAAQ,OAAO;EACxC,IAAIT,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUpB,OAAA,EAAS,OAAO;EACzC,IAAIkB,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUQ,IAAA,IAAQV,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUS,SAAA,EAAW,OAAO;EACxE,IAAIX,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUU,IAAA,EAAM,OAAO;EACtC,IAAIZ,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUW,GAAA,IAAOb,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUY,OAAA,EAAS,OAAO;EACrE,IAAId,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUa,KAAA,EAAO,OAAO;EACvC,IAAIf,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUc,eAAA,EAAiB,OAAO;EACjD,IACEhB,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUC,MAAA,KACpBnF,OAAA,CAAQiG,WAAA,GAAc3F,IAAI,KAAKN,OAAA,CAAQkG,eAAA,GAAkB5F,IAAI,IAC9D;IACA,MAAM6F,QAAA,GACJnG,OAAA,CAAQoG,gBAAA,GAAmB9F,IAA0C,KAAK,EAAC;IAC7E,MAAM+F,WAAA,GAAcF,QAAA,CAAS7D,MAAA,KAAW,IAAI6D,QAAA,CAAS,CAAC,IAAI7F,IAAA,CAAKgG,kBAAA,GAAqB;IACpF,OAAO,WAAWD,WAAA,GAAcf,OAAA,CAAQe,WAAW,IAAI,aAAa;EACtE;EAGA,IAAIrB,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUqB,aAAA,EAAe;IACtC,OAAO,aAAa9J,IAAA,CAAKG,SAAA,CAAW0D,IAAA,CAAgDkG,KAAK,CAAC;EAC5F;EACA,IAAIxB,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUuB,aAAA,EAAe;IACtC,OAAO,aAAcnG,IAAA,CAAgDkG,KAAK;EAC5E;EACA,IAAIxB,KAAA,GAAQ7H,EAAA,CAAG+H,SAAA,CAAUwB,cAAA,EAAgB;IACvC,MAAM7L,IAAA,GAAQyF,IAAA,CAAaqG,aAAA;IAC3B,OAAO,aAAa9L,IAAA,KAAS,MAAM;EACrC;EAGA,IAAIyF,IAAA,CAAKsG,OAAA,CAAQ,GAAG;IAClB,MAAMC,OAAA,GAAUvG,IAAA,CAAKwG,KAAA;IACrB,MAAMC,OAAA,GAAUF,OAAA,CAAQ5F,IAAA,CAAMsE,CAAA,IAAMA,CAAA,CAAEN,QAAA,CAAS,IAAI9H,EAAA,CAAG+H,SAAA,CAAUU,IAAI;IACpE,MAAMoB,YAAA,GAAeH,OAAA,CAAQ5F,IAAA,CAC1BsE,CAAA,IAAMA,CAAA,CAAEN,QAAA,CAAS,KAAK9H,EAAA,CAAG+H,SAAA,CAAUS,SAAA,GAAYxI,EAAA,CAAG+H,SAAA,CAAUQ,IAAA,CAC/D;IACA,MAAMuB,IAAA,GAAOJ,OAAA,CAAQK,MAAA,CAClB3B,CAAA,IACC,EACEA,CAAA,CAAEN,QAAA,CAAS,KACV9H,EAAA,CAAG+H,SAAA,CAAUU,IAAA,GAAOzI,EAAA,CAAG+H,SAAA,CAAUS,SAAA,GAAYxI,EAAA,CAAG+H,SAAA,CAAUQ,IAAA,EAEjE;IACA,IACEuB,IAAA,CAAK3E,MAAA,KAAW,KAChB2E,IAAA,CAAKE,KAAA,CAAO5B,CAAA,IAAMA,CAAA,CAAEN,QAAA,CAAS,IAAI9H,EAAA,CAAG+H,SAAA,CAAUwB,cAAc,GAC5D;MACA,IAAIU,MAAA,GAAQ;MACZ,IAAIL,OAAA,EAASK,MAAA,GAAQ,cAAcA,MAAK;MACxC,IAAIJ,YAAA,EAAcI,MAAA,GAAQ,cAAcA,MAAK;MAC7C,OAAOA,MAAA;IACT;IAEA,IAAIH,IAAA,CAAK3E,MAAA,KAAW,GAAG,OAAO;IAE9B,IAAI+E,KAAA,GACFJ,IAAA,CAAK3E,MAAA,KAAW,IACZgD,OAAA,CAAQ2B,IAAA,CAAK,CAAC,CAAE,IAChB,YAAYA,IAAA,CAAKlH,GAAA,CAAKwF,CAAA,IAAMD,OAAA,CAAQC,CAAC,CAAC,EAAExJ,IAAA,CAAK,IAAI,CAAC;IAExD,IAAIgL,OAAA,EAASM,KAAA,GAAQ,cAAcA,KAAK;IACxC,IAAIL,YAAA,EAAcK,KAAA,GAAQ,cAAcA,KAAK;IAC7C,OAAOA,KAAA;EACT;EAGA,MAAMC,iBAAA,GAAqB9E,IAAA,IAAsC;IAC/D,IAAIA,IAAA,CAAK+E,gBAAA,EACP,OAAOvH,OAAA,CAAQwH,yBAAA,CAA0BhF,IAAA,EAAMA,IAAA,CAAK+E,gBAAgB;IACtE,IAAK/E,IAAA,CAAahB,YAAA,GAAe,CAAC,GAChC,OAAOxB,OAAA,CAAQwH,yBAAA,CAA0BhF,IAAA,EAAOA,IAAA,CAAahB,YAAA,CAAa,CAAC,CAAC;IAC9E,OAAOxB,OAAA,CAAQyH,uBAAA,CAAwBjF,IAAI;EAC7C;EAGA,IAAIlC,IAAA,CAAKoH,cAAA,CAAe,GAAG;IACzB,MAAMC,MAAA,GAAQrH,IAAA,CAAKsH,aAAA,CAAc;IACjC,IAAID,MAAA,CAAMrF,MAAA,KAAW,GAAG,OAAO;IAC/B,MAAMjH,OAAA,GAAoB,EAAC;IAC3B,WAAWmH,IAAA,IAAQmF,MAAA,EAAO;MACxB,MAAM9M,IAAA,GAAO2H,IAAA,CAAKqF,OAAA,CAAQ;MAC1B,IAAItN,mBAAA,CAAoBM,IAAI,GAAG;MAC/B,MAAMiN,QAAA,GAAWR,iBAAA,CAAkB9E,IAAI;MACvC,MAAMuF,UAAA,GAAa,CAAC,EAAEvF,IAAA,CAAKyC,QAAA,CAAS,IAAI9H,EAAA,CAAG6K,WAAA,CAAYC,QAAA;MACvD,IAAIC,GAAA,GAAM5C,OAAA,CAAQwC,QAAQ;MAC1B,IAAIC,UAAA,IAAc,CAACG,GAAA,CAAIC,UAAA,CAAW,aAAa,GAAG;QAChDD,GAAA,GAAM,cAAcA,GAAG;MACzB;MACA7M,OAAA,CAAQS,IAAA,CAAK,GAAGjC,eAAA,CAAgBgB,IAAI,CAAC,KAAKqN,GAAG,EAAE;IACjD;IACA,IAAI7M,OAAA,CAAQiH,MAAA,KAAW,GAAG,OAAO;IACjC,OAAO;AAAA,MAAmBjH,OAAA,CAAQU,IAAA,CAAK,SAAS,CAAC;AAAA;EACnD;EAGA,MAAMqM,KAAA,GAAQ9H,IAAA,CAAKsH,aAAA,CAAc;EACjC,IACEQ,KAAA,CAAM9F,MAAA,GAAS,MACdhC,IAAA,CAAK2E,QAAA,CAAS,IAAI9H,EAAA,CAAG+H,SAAA,CAAUC,MAAA,IAAW7E,IAAA,CAAa+H,WAAA,GACxD;IACA,MAAMA,WAAA,GAAe/H,IAAA,CAAyC+H,WAAA,IAAe;IAG7E,IAAIA,WAAA,GAAclL,EAAA,CAAGmL,WAAA,CAAYC,SAAA,EAAW;MAC1C,MAAMC,OAAA,GAAUlI,IAAA;MAChB,MAAMmI,MAAA,GAASnI,IAAA,CAAKoI,SAAA,CAAU;MAC9B,MAAM7N,IAAA,GAAO4N,MAAA,EAAQZ,OAAA,CAAQ;MAC7B,KACGhN,IAAA,KAAS,WAAWA,IAAA,KAAS,oBAC9B2N,OAAA,CAAQG,aAAA,EAAerG,MAAA,KAAW,GAClC;QACA,OAAO,WAAWgD,OAAA,CAAQkD,OAAA,CAAQG,aAAA,CAAc,CAAC,CAAE,CAAC;MACtD;IACF;IAGA,IAAIN,WAAA,GAAclL,EAAA,CAAGmL,WAAA,CAAYM,KAAA,EAAO;MACtC,MAAMJ,OAAA,GAAUlI,IAAA;MAChB,MAAM6F,QAAA,GAAWqC,OAAA,CAAQG,aAAA,IAAiB,EAAC;MAC3C,OAAO,YAAYxC,QAAA,CAASpG,GAAA,CAAKwF,CAAA,IAAMD,OAAA,CAAQC,CAAC,CAAC,EAAExJ,IAAA,CAAK,IAAI,CAAC;IAC/D;IAGA,MAAMV,OAAA,GAAoB,EAAC;IAC3B,WAAWmH,IAAA,IAAQ4F,KAAA,EAAO;MACxB,MAAMvN,IAAA,GAAO2H,IAAA,CAAKqF,OAAA,CAAQ;MAC1B,IAAItN,mBAAA,CAAoBM,IAAI,GAAG;MAC/B,MAAMiN,QAAA,GAAWR,iBAAA,CAAkB9E,IAAI;MACvC,MAAMuF,UAAA,GAAa,CAAC,EAAEvF,IAAA,CAAKyC,QAAA,CAAS,IAAI9H,EAAA,CAAG6K,WAAA,CAAYC,QAAA;MACvD,IAAIC,GAAA,GAAM5C,OAAA,CAAQwC,QAAQ;MAC1B,IAAIC,UAAA,IAAc,CAACG,GAAA,CAAIC,UAAA,CAAW,aAAa,GAAG;QAChDD,GAAA,GAAM,cAAcA,GAAG;MACzB;MACA7M,OAAA,CAAQS,IAAA,CAAK,GAAGjC,eAAA,CAAgBgB,IAAI,CAAC,KAAKqN,GAAG,EAAE;IACjD;IACA,IAAI7M,OAAA,CAAQiH,MAAA,KAAW,GAAG,OAAO;IACjC,OAAO;AAAA,MAAmBjH,OAAA,CAAQU,IAAA,CAAK,SAAS,CAAC;AAAA;EACnD;EAGA,MAAM8M,WAAA,GAAcvI,IAAA,CAAKwI,kBAAA,CAAmB;EAC5C,IAAID,WAAA,EAAa;IACf,OAAO,wBAAwBvD,OAAA,CAAQuD,WAAW,CAAC;EACrD;EACA,MAAME,WAAA,GAAczI,IAAA,CAAKgG,kBAAA,CAAmB;EAC5C,IAAIyC,WAAA,EAAa;IACf,OAAO,wBAAwBzD,OAAA,CAAQyD,WAAW,CAAC;EACrD;EAEA,OAAO;AACT;AAkCA,SAASC,uBAAuBC,GAAA,EAA2B;EACzD,MAAMC,QAAA,GACJD,GAAA,CAAI3I,IAAA,KAAS,WACT,WACA2I,GAAA,CAAI3I,IAAA,KAAS,WACX,WACA2I,GAAA,CAAI3I,IAAA,KAAS,YACX,YACA;EACV,IAAI6I,IAAA,GAAO,GAAGD,QAAQ;EACtB,IAAID,GAAA,CAAIG,UAAA,EAAY;IAClBD,IAAA,IAAQ,UAAUF,GAAA,CAAIG,UAAU;EAClC;EACA,IAAIH,GAAA,CAAII,QAAA,EAAU;IAChBF,IAAA,IAAQ;EACV;EACA,OAAOA,IAAA;AACT;AAQO,SAASG,0BAA0BC,MAAA,EAAmC;EAC3E,MAAMC,KAAA,GAAkB,CACtB,gEACA,sGACA,GACF;EAEA,MAAMC,UAAA,GAAatE,MAAA,CAAOuE,IAAA,CAAKH,MAAA,CAAOI,MAAM,EAAEpO,IAAA,CAAK;EAGnD,WAAWqO,SAAA,IAAaH,UAAA,EAAY;IAClC,MAAMlE,CAAA,GAAIgE,MAAA,CAAOI,MAAA,CAAOC,SAAS;IACjC,MAAMC,UAAA,GAAa1E,MAAA,CAAO9J,OAAA,CAAQkK,CAAA,CAAE/B,OAAO,EACxCzD,GAAA,CAAI,CAAC,CAAC4E,OAAA,EAASsE,GAAG,MAAM,OAAOtE,OAAO,KAAKqE,sBAAA,CAAuBC,GAAG,CAAC,GAAG,EACzElN,IAAA,CAAK,IAAI;IACZ,MAAM+N,MAAA,GAASvE,CAAA,CAAEwE,UAAA,CAAWhK,GAAA,CAAKiK,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAEjO,IAAA,CAAK,IAAI;IAE1D,MAAMkO,WAAA,GAAc1E,CAAA,CAAE6D,UAAA,GAClB,SAAS3M,IAAA,CAAKG,SAAA,CAAU2I,CAAA,CAAE1K,IAAI,CAAC,UAAU4B,IAAA,CAAKG,SAAA,CAAU2I,CAAA,CAAE6D,UAAU,CAAC,MACrE,SAAS3M,IAAA,CAAKG,SAAA,CAAU2I,CAAA,CAAE1K,IAAI,CAAC;IACnC2O,KAAA,CAAM1N,IAAA,CAAK,SAAS8N,SAAS,WAAWK,WAAW,EAAE;IACrDT,KAAA,CAAM1N,IAAA,CAAK,cAAc;IACzB0N,KAAA,CAAM1N,IAAA,CAAK+N,UAAU;IACrBL,KAAA,CAAM1N,IAAA,CAAK,MAAM;IACjB0N,KAAA,CAAM1N,IAAA,CAAK,iBAAiBgO,MAAM,GAAG;IACrCN,KAAA,CAAM1N,IAAA,CAAK,EAAE;EACf;EAGA,MAAMoO,aAAA,GAAgB/E,MAAA,CAAOuE,IAAA,CAAKH,MAAA,CAAOY,aAAa,EAAE5O,IAAA,CAAK;EAC7D,WAAWqO,SAAA,IAAaM,aAAA,EAAe;IACrC,MAAME,IAAA,GAAOb,MAAA,CAAOY,aAAA,CAAcP,SAAS;IAC3C,MAAMS,UAAA,GAAalF,MAAA,CAAO9J,OAAA,CAAQ+O,IAAI;IACtC,IAAIC,UAAA,CAAW/H,MAAA,KAAW,GAAG;IAE7B,MAAMgI,OAAA,GAAUD,UAAA,CACbtK,GAAA,CAAI,CAAC,CAACwK,OAAA,EAASC,IAAI,MAAM;MAExB,IAAIA,IAAA,CAAKlI,MAAA,KAAW,GAAG;QACrB,MAAMmI,GAAA,GAAMD,IAAA,CAAK,CAAC;QAClB,MAAME,GAAA,GAAKD,GAAA,CAAIE,WAAA,KAAgB,QAAQ,QAAQ;QAC/C,MAAMC,EAAA,GAAKH,GAAA,CAAII,WAAA,CAAY9K,GAAA,CAAKhB,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAEhD,IAAA,CAAK,IAAI;QACzD,MAAM+O,EAAA,GAAKL,GAAA,CAAIM,SAAA,CAAUhL,GAAA,CAAKhB,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAEhD,IAAA,CAAK,IAAI;QACvD,OAAO,OAAOwO,OAAO,KAAKG,GAAE;AAAA,sBAA2BE,EAAE;AAAA,oBAAyBH,GAAA,CAAIO,UAAU;AAAA,oBAA6BF,EAAE;AAAA;MACjI;MAEA,IAAIN,IAAA,CAAKlI,MAAA,KAAW,GAAG;QACrB,MAAM,IAAI2I,KAAA,CACR,gBAAgBrB,SAAS,IAAIW,OAAO,4BACtC;MACF;MACA,MAAMI,WAAA,GAAcH,IAAA,CAAK,CAAC,EAAGG,WAAA;MAC7B,IAAIH,IAAA,CAAKvJ,IAAA,CAAMwJ,GAAA,IAAQA,GAAA,CAAIE,WAAA,KAAgBA,WAAW,GAAG;QACvD,MAAM,IAAIM,KAAA,CAAM,gBAAgBrB,SAAS,IAAIW,OAAO,2BAA2B;MACjF;MACA,MAAMW,EAAA,GAAKP,WAAA,KAAgB,QAAQ,QAAQ;MAC3C,MAAMQ,OAAA,GAAUX,IAAA,CACbzK,GAAA,CAAK0K,GAAA,IAAQ;QACZ,MAAMG,EAAA,GAAKH,GAAA,CAAII,WAAA,CAAY9K,GAAA,CAAKhB,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAEhD,IAAA,CAAK,IAAI;QACzD,MAAM+O,EAAA,GAAKL,GAAA,CAAIM,SAAA,CAAUhL,GAAA,CAAKhB,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAEhD,IAAA,CAAK,IAAI;QACvD,OAAO,mBAAmB6O,EAAE,kBAAkBH,GAAA,CAAIO,UAAU,sBAAsBF,EAAE;MACtF,CAAC,EACA/O,IAAA,CAAK,IAAI;MACZ,OAAO,OAAOwO,OAAO,KAAKW,EAAE,IAAIC,OAAO;IACzC,CAAC,EACApP,IAAA,CAAK,KAAK;IAEbyN,KAAA,CAAM1N,IAAA,CACJ,SAAS8N,SAAS,iCAAiCA,SAAS,8BAC9D;IACAJ,KAAA,CAAM1N,IAAA,CAAKwO,OAAO;IAClBd,KAAA,CAAM1N,IAAA,CAAK,KAAK;IAChB0N,KAAA,CAAM1N,IAAA,CAAK,EAAE;EACf;EAGA,MAAMsP,SAAA,GAAY3B,UAAA,CAAW1J,GAAA,CAAKsL,CAAA,IAAM,KAAKA,CAAC,QAAQ,EAAEtP,IAAA,CAAK,IAAI;EACjE,MAAMuP,OAAA,GAAUpB,aAAA,CACbhD,MAAA,CAAQmE,CAAA,IAAMlG,MAAA,CAAOuE,IAAA,CAAKH,MAAA,CAAOY,aAAA,CAAckB,CAAC,CAAE,EAAE/I,MAAA,GAAS,CAAC,EAC9DvC,GAAA,CAAKsL,CAAA,IAAM,KAAKA,CAAC,gBAAgB,EACjCtP,IAAA,CAAK,IAAI;EAEZyN,KAAA,CAAM1N,IAAA,CAAK,sCAAsC;EACjD0N,KAAA,CAAM1N,IAAA,CAAK,aAAa;EACxB0N,KAAA,CAAM1N,IAAA,CAAKsP,SAAS;EACpB5B,KAAA,CAAM1N,IAAA,CAAK,MAAM;EACjB0N,KAAA,CAAM1N,IAAA,CAAK,oBAAoB;EAC/B0N,KAAA,CAAM1N,IAAA,CAAKwP,OAAO;EAClB9B,KAAA,CAAM1N,IAAA,CAAK,MAAM;EACjB0N,KAAA,CAAM1N,IAAA,CAAK,IAAI;EACf0N,KAAA,CAAM1N,IAAA,CAAK,EAAE;EAEb,OAAO0N,KAAA,CAAMzN,IAAA,CAAK,IAAI;AACxB;AAwBA,eAAsBwP,SAAS3M,OAAA,EAAmD;EAChF,MAAM;IAAExD,GAAA;IAAKoQ,KAAA;IAAOtI;EAAO,IAAItE,OAAA;EAC/B,MAAM5D,OAAA,GAAUpB,OAAA,CAAQwB,GAAG;EAE3B,MAAMqQ,YAAA,GAAe7R,OAAA,CAAQoB,OAAA,EAAS,WAAW;EACjD,MAAM0Q,gBAAA,GAAmBrS,UAAA,CAAWoS,YAAY;EAChD,MAAME,SAAA,GAAYD,gBAAA,GAAmBD,YAAA,GAAe7R,OAAA,CAAQoB,OAAA,EAAS,QAAQ;EAC7E,MAAM4Q,aAAA,GAAgBF,gBAAA,GAAmB,cAAc;EACvD,MAAMzQ,YAAA,GAAerB,OAAA,CAAQoB,OAAA,EAAS,WAAW;EACjD,MAAM6Q,UAAA,GAAajS,OAAA,CAAQoB,OAAA,EAAS,SAAS;EAE7C,IAAI,CAAC3B,UAAA,CAAW4B,YAAY,GAAG;IAC7B3B,SAAA,CAAU2B,YAAA,EAAc;MAAEsB,SAAA,EAAW;IAAK,CAAC;EAC7C;EAEAC,SAAA,CAAU;EAOV,MAAMsP,SAAA,GAAY/Q,aAAA,CAAcC,OAAA,EAASC,YAAY;EACrD,IACEe,aAAA,CAAc+P,WAAA,KAAgBD,SAAA,IAC9BzS,UAAA,CAAWO,OAAA,CAAQqB,YAAA,EAAc,WAAW,CAAC,GAC7C;IACA,IAAI+Q,MAAA,GAAkC,CAAC;IACvC,IAAI;MACFA,MAAA,GAASvP,IAAA,CAAKC,KAAA,CAAMV,aAAA,CAAciQ,QAAA,IAAY,IAAI;IACpD,QAAQ,CAAC;IACT,OAAO;MACLC,YAAA,EAAc;MACdC,UAAA,EAAYH,MAAA,CAAOG,UAAA,IAAc;MACjCC,WAAA,EAAaJ,MAAA,CAAOI,WAAA,IAAe;MACnCC,UAAA,EAAYL,MAAA,CAAOK,UAAA,IAAc;MACjCC,aAAA,EAAeN,MAAA,CAAOM,aAAA,IAAiB;IACzC;EACF;EAEA,MAAMC,aAAA,GAAgB/S,WAAA,CAAYmS,SAAS,EAAEzE,MAAA,CAAOtM,qBAAqB,EAAEW,IAAA,CAAK;EAEhF,MAAMiR,eAAA,GAAkBD,aAAA,CAAcrF,MAAA,CAAQnI,CAAA,IAC5CxF,YAAA,CAAaK,OAAA,CAAQ+R,SAAA,EAAW5M,CAAC,GAAG,OAAO,EAAE0N,QAAA,CAAS,8BAA8B,CACtF;EAEA,MAAMC,aAAA,GAAgBH,aAAA,CAAcxM,GAAA,CAAKhB,CAAA,IAAMrF,QAAA,CAASqF,CAAA,EAAG,KAAK,CAAC;EACjE,MAAM4N,gBAAA,GAAmBH,eAAA,CAAgBzM,GAAA,CAAKhB,CAAA,IAAMrF,QAAA,CAASqF,CAAA,EAAG,KAAK,CAAC;EAEtE,MAAM6N,YAAA,GAAe,CACnB/P,kBAAA,CACEjD,OAAA,CAAQqB,YAAA,EAAc,WAAW,GACjClB,kBAAA,CAAmB2S,aAAA,EAAed,aAAa,CACjD;EAAA;EAAA;EAAA;EAIA,IAAIY,eAAA,CAAgBlK,MAAA,GAAS,IACzB,CACEzF,kBAAA,CACEjD,OAAA,CAAQqB,YAAA,EAAc,UAAU,GAChCb,iBAAA,CAAkBuS,gBAAgB,CACpC,GACA9P,kBAAA,CACEjD,OAAA,CAAQqB,YAAA,EAAc,WAAW,GACjCd,kBAAA,CAAmBwS,gBAAA,EAAkBf,aAAa,CACpD,EACF,GACA,EAAC,GACL/O,kBAAA,CAAmBjD,OAAA,CAAQqB,YAAA,EAAc,WAAW,GAAGjB,kBAAA,CAAmB,CAAC,EAC7E;EAEA,IAAIkS,YAAA,GAAeU,YAAA,CAAa1F,MAAA,CAAOpD,OAAO,EAAExB,MAAA;EAChD,IAAI+J,UAAA,GAAa;EACjB,IAAIC,aAAA,GAAgB;EAGpB,MAAMnP,EAAA,GAAK,MAAM,OAAO,YAAY;EAKpC,MAAMkD,aAAA,GAAiB4D,SAAA,IAAqC;IAC1D,IAAI;MACF,OAAO3J,eAAA,CAAgB2J,SAAA,CAAU4I,IAAA,CAAK,CAAC;IACzC,QAAQ;MACN,OAAO;IACT;EACF;EAGA,IAAIxT,UAAA,CAAWwS,UAAU,GAAG;IAC1B,MAAMiB,UAAA,GAAatT,WAAA,CAAYqS,UAAU,EAAE3E,MAAA,CAAOtM,qBAAqB;IAEvE,MAAMmS,UAAA,GAKD,EAAC;IAGN,IAAIC,aAAA,GAA8D;IAClE,MAAMC,gBAAA,GAAmBA,CAAA,KAAM;MAC7B,IAAI,CAACD,aAAA,EAAe;QAClB,MAAME,QAAA,GAAW1T,WAAA,CAAYqS,UAAU,EACpC3E,MAAA,CAAOtM,qBAAqB,EAC5BmF,GAAA,CAAKhB,CAAA,KAAO;UACXE,IAAA,EAAMrF,OAAA,CAAQiS,UAAA,EAAY9M,CAAC;UAC3BhC,OAAA,EAASxD,YAAA,CAAaK,OAAA,CAAQiS,UAAA,EAAY9M,CAAC,GAAG,OAAO;QACvD,EAAE;QACJiO,aAAA,GAAgB9P,kBAAA,CAAmBC,EAAA,EAAI+P,QAAA,EAAUrB,UAAU;MAC7D;MACA,OAAOmB,aAAA;IACT;IAEA,WAAWG,IAAA,IAAQL,UAAA,EAAY;MAC7B,MAAMhQ,QAAA,GAAWlD,OAAA,CAAQiS,UAAA,EAAYsB,IAAI;MACzC,MAAMC,YAAA,GAAe1T,QAAA,CAASyT,IAAA,EAAM,KAAK;MAEzC,IAAI;QACF,MAAMpQ,OAAA,GAAUxD,YAAA,CAAauD,QAAA,EAAU,OAAO;QAC9C,MAAM4D,UAAA,GAAavD,EAAA,CAAGwC,gBAAA,CACpB7C,QAAA,EACAC,OAAA,EACAI,EAAA,CAAGQ,YAAA,CAAaC,MAAA,EAChB,IACF;QAEAT,EAAA,CAAG2D,YAAA,CAAaJ,UAAA,EAAaP,IAAA,IAAS;UACpC,IAAIhD,EAAA,CAAG4D,mBAAA,CAAoBZ,IAAI,GAAG;YAChC,MAAMkN,cAAA,GAAiBlN,IAAA,CAAKa,SAAA,EAAWsM,IAAA,CACpCpM,CAAA,IAAMA,CAAA,CAAEC,IAAA,KAAShE,EAAA,CAAGiE,UAAA,CAAWC,aAClC;YACA,IAAI,CAACgM,cAAA,EAAgB;YAErB,MAAME,WAAA,GAAcpN,IAAA,CAAKoB,eAAA,CAAgBC,YAAA,CAAa,CAAC;YACvD,IAAI,CAAC+L,WAAA,IAAe,CAACpQ,EAAA,CAAGsE,qBAAA,CAAsB8L,WAAW,GAAG;YAE5D,MAAM1S,IAAA,GAAO0S,WAAA,CAAY1S,IAAA,CAAK6G,OAAA,CAAQhB,UAAU;YAChD,IAAI7F,IAAA,KAAS,cAAc;YAE3B,IAAI0S,WAAA,CAAY5L,WAAA,IAAexE,EAAA,CAAGyE,eAAA,CAAgB2L,WAAA,CAAY5L,WAAW,GAAG;cAC1E,MAAMiB,MAAA,GAAS2K,WAAA,CAAY5L,WAAA,CAAYG,UAAA;cACvC,IAAImC,SAAA,GAAY;cAEhB,IAAIrB,MAAA,CAAON,MAAA,GAAS,GAAG;gBACrB,MAAMT,KAAA,GAAQe,MAAA,CAAO,CAAC;gBACtBqB,SAAA,GAAYpC,KAAA,CAAMvB,IAAA,EAAMoB,OAAA,CAAQhB,UAAU,KAAK;cACjD;cAEA,IAAIwD,WAAA,GAAc7D,aAAA,CAAc4D,SAAS;cAGzC,IAAI,CAACC,WAAA,IAAetB,MAAA,CAAON,MAAA,GAAS,KAAKM,MAAA,CAAO,CAAC,EAAGtC,IAAA,EAAM;gBACxD,MAAMG,QAAA,GAAWwM,gBAAA,CAAiB;gBAClC,MAAMO,kBAAA,GAAqB/M,QAAA,CAASZ,OAAA,CAAQR,aAAA,CAAcvC,QAAQ;gBAClE,IAAI0Q,kBAAA,EAAoB;kBACtB,MAAMpJ,YAAA,GAAe5D,gBAAA,CACnBrD,EAAA,EACAsD,QAAA,EACA+M,kBAAA,EACA3S,IAAA,EACA,CACF;kBACA,IAAIuJ,YAAA,EAAc;oBAChBF,WAAA,GAAczD,QAAA,CAASJ,aAAA,CAAc+D,YAAY;kBACnD;gBACF;cACF;cAEA,IAAIF,WAAA,EAAa;gBACf6I,UAAA,CAAWjR,IAAA,CAAK;kBACdjB,IAAA;kBACA+H,MAAA,EAAQqB,SAAA;kBACRC,WAAA;kBACAxD,UAAA,EAAY0M;gBACd,CAAC;cACH,WAAW,CAAClK,MAAA,IAAUe,SAAA,KAAc,QAAQ;gBAC1CwJ,OAAA,CAAQC,KAAA,CAAM,UAAK7S,IAAI,6BAA6BoJ,SAAS,GAAG;cAClE;YACF;UACF;QACF,CAAC;MACH,SAAS0J,GAAA,EAAK;QACZ,IAAI,CAACzK,MAAA,EAAQuK,OAAA,CAAQC,KAAA,CAAM,oBAAoBP,IAAI,KAAKQ,GAAG;MAC7D;IACF;IAEAtB,UAAA,GAAaU,UAAA,CAAWzK,MAAA;IAExB,MAAMsL,cAAA,GAAiB/Q,kBAAA,CACrBjD,OAAA,CAAQqB,YAAA,EAAc,mBAAmB,GACzCnB,0BAAA,CAA2BiT,UAAU,CACvC;IACA,MAAMc,aAAA,GAAgBhR,kBAAA,CACpBjD,OAAA,CAAQqB,YAAA,EAAc,kBAAkB,GACxCf,yBAAA,CAA0B6S,UAAU,CACtC;IAEA,IAAIa,cAAA,EAAgB1B,YAAA;IACpB,IAAI2B,aAAA,EAAe3B,YAAA;EACrB;EAGA,MAAM4B,iBAAA,GAAsC,EAAC;EAG7C,MAAMC,aAAA,GAA4E,EAAC;EACnF,MAAMC,gBAAA,GAAkE,EAAC;EAEzE,WAAWb,IAAA,IAAQZ,aAAA,EAAe;IAChC,MAAMzP,QAAA,GAAWlD,OAAA,CAAQ+R,SAAA,EAAWwB,IAAI;IACxC,MAAMC,YAAA,GAAe1T,QAAA,CAASyT,IAAA,EAAM,KAAK;IAEzC,IAAI;MACF,MAAMpQ,OAAA,GAAUxD,YAAA,CAAauD,QAAA,EAAU,OAAO;MAE9CiR,aAAA,CAAcjS,IAAA,CAAK;QAAEmD,IAAA,EAAMnC,QAAA;QAAUC,OAAA;QAASkR,QAAA,EAAUb;MAAa,CAAC;MAEtE,MAAM1M,UAAA,GAAavD,EAAA,CAAGwC,gBAAA,CACpB7C,QAAA,EACAC,OAAA,EACAI,EAAA,CAAGQ,YAAA,CAAaC,MAAA,EAChB,IACF;MACA,MAAMiD,MAAA,GAASoC,yBAAA,CACb9F,EAAA,EACAuD,UAAA,EACA3D,OAAA,EACAD,QAAA,EACA,CAAC,CAACoG,MAAA,EACF7C,aACF;MAEA,IAAIQ,MAAA,EAAQ;QACVA,MAAA,CAAOyC,SAAA,GAAY8J,YAAA;QACnBU,iBAAA,CAAkBhS,IAAA,CAAK+E,MAAM;QAG7B,MAAMqN,aAAA,GAAgBrN,MAAA,CAAO6C,MAAA,CAAOzC,IAAA,CACjCC,CAAA,IAAMA,CAAA,CAAE+C,SAAA,KAAc,UAAU/C,CAAA,CAAE+C,SAAA,KAAc,aAAa,CAAC/C,CAAA,CAAEgD,WACnE;QACA,IAAIgK,aAAA,EAAe;UACjBF,gBAAA,CAAiBlS,IAAA,CAAK;YAAEmS,QAAA,EAAUb,YAAA;YAActQ;UAAS,CAAC;QAC5D;MACF;IACF,SAAS6Q,GAAA,EAAK;MACZ,IAAI,CAACzK,MAAA,EAAQuK,OAAA,CAAQC,KAAA,CAAM,mCAAmCP,IAAI,KAAKQ,GAAG;IAC5E;EACF;EAGA,IAAIK,gBAAA,CAAiB1L,MAAA,GAAS,GAAG;IAG/B,MAAM6L,cAAA,GAAkBC,IAAA,IAA0D;MAChF,MAAMC,OAAA,GAAoD,EAAC;MAC3D,WAAW3S,KAAA,IAASlC,WAAA,CAAY4U,IAAA,EAAK;QAAE9S,aAAA,EAAe;MAAK,CAAC,GAAG;QAC7D,MAAMgT,QAAA,GAAW1U,OAAA,CAAQwU,IAAA,EAAK1S,KAAA,CAAMb,IAAI;QACxC,IAAIa,KAAA,CAAME,WAAA,CAAY,KAAKF,KAAA,CAAMb,IAAA,KAAS,gBAAgB;UACxDwT,OAAA,CAAQvS,IAAA,CAAK,GAAGqS,cAAA,CAAeG,QAAQ,CAAC;QAC1C,WAAW5S,KAAA,CAAMG,MAAA,CAAO,KAAKjB,qBAAA,CAAsBc,KAAA,CAAMb,IAAI,GAAG;UAC9DwT,OAAA,CAAQvS,IAAA,CAAK;YAAEmD,IAAA,EAAMqP,QAAA;YAAUvR,OAAA,EAASxD,YAAA,CAAa+U,QAAA,EAAU,OAAO;UAAE,CAAC;QAC3E;MACF;MACA,OAAOD,OAAA;IACT;IACA,MAAMnB,QAAA,GAAWiB,cAAA,CAAenT,OAAO;IACvC,MAAMuT,aAAA,GAAgBrR,kBAAA,CAAmBC,EAAA,EAAI+P,QAAA,EAAUlS,OAAO;IAE9D,WAAW;MAAEiT,QAAA;MAAUnR;IAAS,KAAKkR,gBAAA,EAAkB;MACrD,MAAMR,kBAAA,GAAqBe,aAAA,CAAc1O,OAAA,CAAQR,aAAA,CAAcvC,QAAQ;MACvE,IAAI,CAAC0Q,kBAAA,EAAoB;MAEzB,MAAMrK,aAAA,GAAgBpB,yBAAA,CACpB5E,EAAA,EACAoR,aAAA,EACAf,kBACF;MACA,IAAIrK,aAAA,CAAcqL,IAAA,KAAS,GAAG;MAG9B,MAAMzR,OAAA,GAAUxD,YAAA,CAAauD,QAAA,EAAU,OAAO;MAC9C,MAAM4D,UAAA,GAAavD,EAAA,CAAGwC,gBAAA,CACpB7C,QAAA,EACAC,OAAA,EACAI,EAAA,CAAGQ,YAAA,CAAaC,MAAA,EAChB,IACF;MACA,MAAMiD,MAAA,GAASoC,yBAAA,CACb9F,EAAA,EACAuD,UAAA,EACA3D,OAAA,EACAD,QAAA,EACA,CAAC,CAACoG,MAAA,EACF7C,aAAA,EACA8C,aAAA,EACAoL,aAAA,CAAclO,aAChB;MAEA,IAAIQ,MAAA,EAAQ;QACVA,MAAA,CAAOyC,SAAA,GAAY2K,QAAA;QAEnB,MAAMQ,GAAA,GAAMX,iBAAA,CAAkBY,SAAA,CAAWxN,CAAA,IAAMA,CAAA,CAAEoC,SAAA,KAAc2K,QAAQ;QACvE,IAAIQ,GAAA,IAAO,GAAGX,iBAAA,CAAkBW,GAAG,IAAI5N,MAAA;MACzC;IACF;EACF;EAGA,WAAW8N,KAAA,IAASb,iBAAA,EAAmB;IACrC,IAAIa,KAAA,CAAMpL,OAAA,EAAS+I,aAAA,IAAiB;IACpCA,aAAA,IAAiBqC,KAAA,CAAMjL,MAAA,CAAOwD,MAAA,CAC3BhG,CAAA,IAAM,CAACyN,KAAA,CAAMpL,OAAA,IAAW,CAAC,CAAC,UAAU,UAAU,UAAU,QAAQ,EAAEkJ,QAAA,CAASvL,CAAA,CAAErG,IAAI,CACpF,EAAEyH,MAAA;EACJ;EAEA,IAAIwL,iBAAA,CAAkBxL,MAAA,GAAS,GAAG;IAChC,MAAMsM,gBAAA,GAAmB/R,kBAAA,CACvBjD,OAAA,CAAQqB,YAAA,EAAc,oBAAoB,GAC1ChB,2BAAA,CAA4B6T,iBAAiB,CAC/C;IACA,IAAIc,gBAAA,EAAkB1C,YAAA;EACxB;EAEA,IAAIA,YAAA,GAAe,KAAK,CAAChJ,MAAA,EAAQ;IAC/BuK,OAAA,CAAQoB,IAAA,CACN,UAAKtC,aAAA,CAAcjK,MAAM,YAAYkK,eAAA,CAAgBlK,MAAM,YAAY+J,UAAA,GAAa,KAAKA,UAAU,aAAa,EAAE,GAAGC,aAAA,GAAgB,KAAKA,aAAa,eAAe,EAAE,EAC1K;EACF;EAGA,IAAIJ,YAAA,GAAe,KAAKV,KAAA,EAAO;IAC7B,MAAM;MAAEsD;IAAS,IAAI,MAAM,OAAO,oBAAoB;IACtD,IAAI;MACFA,QAAA,CAAStD,KAAA,EAAO;QACduD,KAAA,EAAO;QACPC,GAAA,EAAK;UAAE,GAAG7S,OAAA,CAAQ6S,GAAA;UAAKC,qBAAA,EAAuBhU;QAAa;MAC7D,CAAC;IACH,SAAS0S,GAAA,EAAK;MACZ,IAAI,CAACzK,MAAA,EAAQuK,OAAA,CAAQC,KAAA,CAAM,gCAAgCC,GAAG,EAAE;IAClE;EACF;EAGA3R,aAAA,CAAc+P,WAAA,GAAcD,SAAA;EAC5B9P,aAAA,CAAciQ,QAAA,GAAWxP,IAAA,CAAKG,SAAA,CAAU;IACtCuP,UAAA,EAAYI,aAAA,CAAcjK,MAAA;IAC1B8J,WAAA,EAAaI,eAAA,CAAgBlK,MAAA;IAC7B+J,UAAA;IACAC;EACF,CAAC;EACD3P,SAAA,CAAU;EAEV,OAAO;IACLuP,YAAA;IACAC,UAAA,EAAYI,aAAA,CAAcjK,MAAA;IAC1B8J,WAAA,EAAaI,eAAA,CAAgBlK,MAAA;IAC7B+J,UAAA;IACAC;EACF;AACF;AAEA,eAAsB4C,MAAMtQ,OAAA,EAAuB;EACjD,MAAM;IAAExD,GAAA;IAAK+T,QAAA,GAAW;EAAK,IAAIvQ,OAAA;EACjC,MAAM5D,OAAA,GAAUpB,OAAA,CAAQwB,GAAG;EAC3B,MAAMqQ,YAAA,GAAe7R,OAAA,CAAQoB,OAAA,EAAS,WAAW;EACjD,MAAM2Q,SAAA,GAAYtS,UAAA,CAAWoS,YAAY,IAAIA,YAAA,GAAe7R,OAAA,CAAQoB,OAAA,EAAS,QAAQ;EACrF,MAAM6Q,UAAA,GAAajS,OAAA,CAAQoB,OAAA,EAAS,SAAS;EAC7C,MAAMC,YAAA,GAAerB,OAAA,CAAQoB,OAAA,EAAS,WAAW;EAGjD,MAAMuQ,QAAA,CAAS;IAAE,GAAG3M,OAAA;IAASsE,MAAA,EAAQ;EAAK,CAAC;EAC3CuK,OAAA,CAAQoB,IAAA,CAAK,yBAAkB;EAE/B,MAAMO,QAAA,GAAW,MAAM,OAAO,UAAU;EAExC,IAAIC,aAAA,GAAsD;EAE1D,MAAMC,mBAAA,GAAsBA,CAACrQ,IAAA,EAAcsQ,KAAA,KAAkB;IAC3D,IAAIF,aAAA,EAAeG,YAAA,CAAaH,aAAa;IAC7C5B,OAAA,CAAQoB,IAAA,CAAK;AAAA,EAAKU,KAAK,IAAItQ,IAAI,EAAE;IACjCoQ,aAAA,GAAgBI,UAAA,CAAW,MAAM;MAC/BlE,QAAA,CAAS;QAAE,GAAG3M,OAAA;QAASsE,MAAA,EAAQ;MAAM,CAAC;IACxC,GAAGiM,QAAQ;EACb;EAEA,MAAMO,OAAA,GAAUN,QAAA,CAASF,KAAA,CAAM,CAACvD,SAAA,EAAWE,UAAU,GAAG;IACtD8D,UAAA,EAAY;IACZC,aAAA,EAAe;IACfC,OAAA,EAAS,CAAC5U,YAAY;EACxB,CAAC;EAEDyU,OAAA,CAAQI,EAAA,CAAG,UAAW7Q,IAAA,IAASqQ,mBAAA,CAAoBrQ,IAAA,EAAM,WAAI,CAAC;EAC9DyQ,OAAA,CAAQI,EAAA,CAAG,OAAQ7Q,IAAA,IAASqQ,mBAAA,CAAoBrQ,IAAA,EAAM,QAAG,CAAC;EAC1DyQ,OAAA,CAAQI,EAAA,CAAG,UAAW7Q,IAAA,IAASqQ,mBAAA,CAAoBrQ,IAAA,EAAM,kBAAM,CAAC;EAEhE,OAAOyQ,OAAA;AACT","ignoreList":[]}
@@ -5,6 +5,9 @@ import { formatObjectKey, generateGroupedQueriesFile, generateModelsFile, genera
5
5
  var hash = function (s) {
6
6
  return createHash("sha256").update(s).digest("hex");
7
7
  };
8
+ var isGeneratorSourceFile = function (name) {
9
+ return name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
10
+ };
8
11
  function hashInputTree(baseDir, generatedDir) {
9
12
  var parts = [];
10
13
  var walk = function (dir) {
@@ -24,7 +27,7 @@ function hashInputTree(baseDir, generatedDir) {
24
27
  if (entry.isDirectory()) {
25
28
  if (entry.name === "node_modules" || full === generatedDir) continue;
26
29
  walk(full);
27
- } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
30
+ } else if (entry.isFile() && isGeneratorSourceFile(entry.name)) {
28
31
  parts.push(`${full}\0${readFileSync(full, "utf-8")}`);
29
32
  }
30
33
  }
@@ -648,7 +651,8 @@ function generateDrizzleSchemaFile(schema) {
648
651
  var pkArgs = t.primaryKey.map(function (k) {
649
652
  return `'${k}'`;
650
653
  }).join(", ");
651
- lines.push(`const ${tableName}Table = table('${t.name}')`);
654
+ var tableSource = t.serverName ? `table(${JSON.stringify(t.name)}).from(${JSON.stringify(t.serverName)})` : `table(${JSON.stringify(t.name)})`;
655
+ lines.push(`const ${tableName}Table = ${tableSource}`);
652
656
  lines.push(` .columns({`);
653
657
  lines.push(colEntries);
654
658
  lines.push(` })`);
@@ -674,11 +678,11 @@ function generateDrizzleSchemaFile(schema) {
674
678
  _didIteratorError1 = false,
675
679
  _iteratorError1 = void 0;
676
680
  try {
677
- for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
678
- var tableName1 = _step1.value;
679
- var rels = schema.relationships[tableName1];
681
+ var _loop = function () {
682
+ var tableName2 = _step1.value;
683
+ var rels = schema.relationships[tableName2];
680
684
  var relEntries = Object.entries(rels);
681
- if (relEntries.length === 0) continue;
685
+ if (relEntries.length === 0) return "continue";
682
686
  var relBody = relEntries.map(function (param) {
683
687
  var [relName, hops] = param;
684
688
  if (hops.length === 1) {
@@ -696,23 +700,33 @@ function generateDrizzleSchemaFile(schema) {
696
700
  destField: [${df}],
697
701
  })`;
698
702
  }
703
+ if (hops.length !== 2) {
704
+ throw new Error(`Relationship ${tableName2}.${relName} must have one or two hops`);
705
+ }
706
+ var cardinality = hops[0].cardinality;
707
+ if (hops.some(function (hop2) {
708
+ return hop2.cardinality !== cardinality;
709
+ })) {
710
+ throw new Error(`Relationship ${tableName2}.${relName} must use one cardinality`);
711
+ }
712
+ var fn1 = cardinality === "one" ? "one" : "many";
699
713
  var hopCode = hops.map(function (hop2) {
700
- var fn2 = hop2.cardinality === "one" ? "one" : "many";
701
714
  var sf2 = hop2.sourceField.map(function (f) {
702
715
  return `'${f}'`;
703
716
  }).join(", ");
704
717
  var df2 = hop2.destField.map(function (f) {
705
718
  return `'${f}'`;
706
719
  }).join(", ");
707
- return `${fn2}({ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] })`;
720
+ return `{ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] }`;
708
721
  }).join(", ");
709
- return ` ${relName}: [${hopCode}]`;
722
+ return ` ${relName}: ${fn1}(${hopCode})`;
710
723
  }).join(",\n");
711
- lines.push(`const ${tableName1}Relationships = relationships(${tableName1}Table, ({ one, many }) => ({`);
724
+ lines.push(`const ${tableName2}Relationships = relationships(${tableName2}Table, ({ one, many }) => ({`);
712
725
  lines.push(relBody);
713
726
  lines.push(`}))`);
714
727
  lines.push(``);
715
- }
728
+ };
729
+ for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();
716
730
  } catch (err) {
717
731
  _didIteratorError1 = true;
718
732
  _iteratorError1 = err;
@@ -780,9 +794,7 @@ async function generate(options) {
780
794
  mutationCount: (_counts_mutationCount = counts.mutationCount) !== null && _counts_mutationCount !== void 0 ? _counts_mutationCount : 0
781
795
  };
782
796
  }
783
- var allModelFiles = readdirSync(modelsDir).filter(function (f) {
784
- return f.endsWith(".ts");
785
- }).sort();
797
+ var allModelFiles = readdirSync(modelsDir).filter(isGeneratorSourceFile).sort();
786
798
  var filesWithSchema = allModelFiles.filter(function (f) {
787
799
  return readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table(");
788
800
  });
@@ -809,16 +821,12 @@ async function generate(options) {
809
821
  }
810
822
  };
811
823
  if (existsSync(queriesDir)) {
812
- var queryFiles = readdirSync(queriesDir).filter(function (f) {
813
- return f.endsWith(".ts");
814
- });
824
+ var queryFiles = readdirSync(queriesDir).filter(isGeneratorSourceFile);
815
825
  var allQueries = [];
816
826
  var queryResolver = null;
817
827
  var getQueryResolver = function () {
818
828
  if (!queryResolver) {
819
- var allFiles2 = readdirSync(queriesDir).filter(function (f) {
820
- return f.endsWith(".ts");
821
- }).map(function (f) {
829
+ var allFiles2 = readdirSync(queriesDir).filter(isGeneratorSourceFile).map(function (f) {
822
830
  return {
823
831
  path: resolve(queriesDir, f),
824
832
  content: readFileSync(resolve(queriesDir, f), "utf-8")
@@ -972,7 +980,7 @@ async function generate(options) {
972
980
  var fullPath = resolve(dir2, entry.name);
973
981
  if (entry.isDirectory() && entry.name !== "node_modules") {
974
982
  results.push(...collectTsFiles(fullPath));
975
- } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
983
+ } else if (entry.isFile() && isGeneratorSourceFile(entry.name)) {
976
984
  results.push({
977
985
  path: fullPath,
978
986
  content: readFileSync(fullPath, "utf-8")
@@ -1 +1 @@
1
- {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","name","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","value","full","isDirectory","isFile","endsWith","push","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","e","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","seen","_checker_isArrayType","_checker_isArrayLikeType","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","_checker_getTypeArguments","_type_getNumberIndexType","_checker_getTypeArguments1","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs1","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","generate","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","_counts_modelCount","_counts_schemaCount","_counts_queryCount","_counts_mutationCount","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","isGeneratorSourceFile","name","endsWith","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","value","full","isDirectory","isFile","push","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","e","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","seen","_checker_isArrayType","_checker_isArrayLikeType","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","_checker_getTypeArguments","_type_getNumberIndexType","_checker_getTypeArguments1","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs1","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","tableSource","relTableNames","relationships","_loop","tableName2","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","Error","hop2","fn1","hopCode","sf2","df2","tableList","n","relList","generate","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","_counts_modelCount","_counts_schemaCount","_counts_queryCount","_counts_mutationCount","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","file2","filePath2","fileBaseName2","content2","sourceFile2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}