on-zero 0.8.4 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/generate-layout.cjs +30 -11
  2. package/dist/cjs/generate-layout.native.js +37 -12
  3. package/dist/cjs/generate-layout.native.js.map +1 -1
  4. package/dist/cjs/generate-lite.cjs +26 -18
  5. package/dist/cjs/generate-lite.native.js +33 -27
  6. package/dist/cjs/generate-lite.native.js.map +1 -1
  7. package/dist/cjs/generate-lite.test.cjs +100 -9
  8. package/dist/cjs/generate-lite.test.native.js +102 -9
  9. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  10. package/dist/cjs/generate.cjs +2 -2
  11. package/dist/cjs/generate.native.js +2 -6
  12. package/dist/cjs/generate.native.js.map +1 -1
  13. package/dist/cjs/generate.test.cjs +20 -0
  14. package/dist/cjs/generate.test.native.js +20 -0
  15. package/dist/cjs/generate.test.native.js.map +1 -1
  16. package/dist/esm/generate-layout.mjs +30 -11
  17. package/dist/esm/generate-layout.mjs.map +1 -1
  18. package/dist/esm/generate-layout.native.js +37 -12
  19. package/dist/esm/generate-layout.native.js.map +1 -1
  20. package/dist/esm/generate-lite.mjs +26 -18
  21. package/dist/esm/generate-lite.mjs.map +1 -1
  22. package/dist/esm/generate-lite.native.js +33 -27
  23. package/dist/esm/generate-lite.native.js.map +1 -1
  24. package/dist/esm/generate-lite.test.mjs +100 -9
  25. package/dist/esm/generate-lite.test.mjs.map +1 -1
  26. package/dist/esm/generate-lite.test.native.js +102 -9
  27. package/dist/esm/generate-lite.test.native.js.map +1 -1
  28. package/dist/esm/generate.mjs +2 -2
  29. package/dist/esm/generate.mjs.map +1 -1
  30. package/dist/esm/generate.native.js +2 -6
  31. package/dist/esm/generate.native.js.map +1 -1
  32. package/dist/esm/generate.test.mjs +20 -0
  33. package/dist/esm/generate.test.mjs.map +1 -1
  34. package/dist/esm/generate.test.native.js +20 -0
  35. package/dist/esm/generate.test.native.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/generate-layout.ts +32 -13
  38. package/src/generate-lite.test.ts +125 -8
  39. package/src/generate-lite.ts +46 -23
  40. package/src/generate.test.ts +29 -0
  41. package/src/generate.ts +2 -2
  42. package/types/generate-layout.d.ts +1 -0
  43. package/types/generate-layout.d.ts.map +1 -1
  44. package/types/generate-lite.d.ts +2 -1
  45. package/types/generate-lite.d.ts.map +1 -1
@@ -375,7 +375,7 @@ function tableColumns(ts, paths, namespaces) {
375
375
  }
376
376
  return columns;
377
377
  }
378
- function relatedTables(ts, namespace, relations) {
378
+ function queriedTables(ts, namespace, relations) {
379
379
  if (!namespace.queryPath) return [];
380
380
  const source = ts.createSourceFile(namespace.queryPath, (0, import_node_fs.readFileSync)(namespace.queryPath, "utf8"), ts.ScriptTarget.Latest, true);
381
381
  const reached = [];
@@ -415,7 +415,8 @@ function relatedTables(ts, namespace, relations) {
415
415
  }
416
416
  reached.push({
417
417
  table: target,
418
- query
418
+ query,
419
+ root: false
419
420
  });
420
421
  visit(node.expression.expression, currentTable, query);
421
422
  const callback = node.arguments[1];
@@ -429,7 +430,13 @@ function relatedTables(ts, namespace, relations) {
429
430
  const key = `${query}:${node.expression.text}`;
430
431
  if (helper && !visiting.has(key)) {
431
432
  visiting.add(key);
432
- visit(helper, currentTable, query);
433
+ const helperRoot = rootTable(helper);
434
+ if (helperRoot) reached.push({
435
+ table: helperRoot,
436
+ query,
437
+ root: true
438
+ });
439
+ visit(helper, helperRoot ?? currentTable, query);
433
440
  visiting.delete(key);
434
441
  }
435
442
  }
@@ -437,7 +444,14 @@ function relatedTables(ts, namespace, relations) {
437
444
  };
438
445
  for (const name of exported) {
439
446
  if (["mutate", "schema", "where"].includes(name)) continue;
440
- visit(functions.get(name), namespace.name, name);
447
+ const body = functions.get(name);
448
+ const queryRoot = rootTable(body);
449
+ if (queryRoot) reached.push({
450
+ table: queryRoot,
451
+ query: name,
452
+ root: true
453
+ });
454
+ visit(body, queryRoot ?? namespace.name, name);
441
455
  }
442
456
  return reached;
443
457
  }
@@ -535,6 +549,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
535
549
  dir: instance.dir,
536
550
  scope: instance.scope,
537
551
  namespaces: [],
552
+ tables: [],
538
553
  syncTables: [],
539
554
  supportTables: [],
540
555
  declaredSupportTables: instance.supportTables
@@ -544,30 +559,34 @@ function discoverDataLayout(ts, baseDir, configPath) {
544
559
  instance.namespaces = discoverNamespaces(ts, baseDir, instance, instanceDirs);
545
560
  }
546
561
  const namespaces = instances.flatMap(instance => instance.namespaces);
547
- const owners = /* @__PURE__ */new Map();
562
+ const namespaceOwners = /* @__PURE__ */new Map();
548
563
  for (const namespace of namespaces) {
549
- const owner = owners.get(namespace.name);
564
+ const owner = namespaceOwners.get(namespace.name);
550
565
  if (owner) {
551
566
  throw new Error(`[on-zero] namespace '${namespace.name}' is claimed by instances '${owner}' and '${namespace.instance}'`);
552
567
  }
553
- owners.set(namespace.name, namespace.instance);
568
+ namespaceOwners.set(namespace.name, namespace.instance);
554
569
  }
570
+ const tableOwners = new Map(namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => [namespace.name, namespace.instance]));
555
571
  const metadata = metadataPaths(baseDir);
556
572
  const relations = relationTargets(ts, metadata);
557
573
  const columns = tableColumns(ts, metadata, namespaces);
558
574
  const relatedOwners = /* @__PURE__ */new Map();
559
575
  for (const instance of instances) {
560
- const syncTables = new Set(instance.namespaces.map(namespace => namespace.name));
576
+ const tables = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => namespace.name));
577
+ const syncTables = new Set(tables);
561
578
  for (const namespace of instance.namespaces) {
562
- for (const reached of relatedTables(ts, namespace, relations)) {
563
- const owner = owners.get(reached.table) ?? relatedOwners.get(reached.table);
579
+ for (const reached of queriedTables(ts, namespace, relations)) {
580
+ const owner = tableOwners.get(reached.table) ?? relatedOwners.get(reached.table);
564
581
  if (owner && owner !== instance.name) {
565
582
  throw new Error(`[on-zero] ${namespace.name}.${reached.query} in instance '${instance.name}' reaches table '${reached.table}' owned by instance '${owner}'`);
566
583
  }
567
584
  relatedOwners.set(reached.table, instance.name);
585
+ if (reached.root) tables.add(reached.table);
568
586
  syncTables.add(reached.table);
569
587
  }
570
588
  }
589
+ instance.tables = [...tables].sort();
571
590
  instance.syncTables = [...syncTables].sort();
572
591
  if (instance.scope) {
573
592
  for (const table of instance.syncTables) {
@@ -581,7 +600,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
581
600
  const supportTables = new Set(instance.declaredSupportTables);
582
601
  for (const namespace of instance.namespaces) {
583
602
  for (const table of mutationSupportTables(ts, baseDir, sourceRoots, namespace)) {
584
- if (owners.has(table) || relatedOwners.has(table)) continue;
603
+ if (tableOwners.has(table) || relatedOwners.has(table)) continue;
585
604
  if (!instance.syncTables.includes(table)) {
586
605
  supportTables.add(table);
587
606
  }
@@ -737,7 +737,7 @@ function tableColumns(ts, paths, namespaces) {
737
737
  }
738
738
  return columns;
739
739
  }
740
- function relatedTables(ts, namespace, relations) {
740
+ function queriedTables(ts, namespace, relations) {
741
741
  if (!namespace.queryPath) return [];
742
742
  var source = ts.createSourceFile(namespace.queryPath, (0, import_fs.readFileSync)(namespace.queryPath, "utf8"), ts.ScriptTarget.Latest, true);
743
743
  var reached = [];
@@ -825,7 +825,8 @@ function relatedTables(ts, namespace, relations) {
825
825
  }
826
826
  reached.push({
827
827
  table: target,
828
- query
828
+ query,
829
+ root: false
829
830
  });
830
831
  visit(node.expression.expression, currentTable, query);
831
832
  var callback = node.arguments[1];
@@ -839,7 +840,13 @@ function relatedTables(ts, namespace, relations) {
839
840
  var key = `${query}:${node.expression.text}`;
840
841
  if (helper && !visiting.has(key)) {
841
842
  visiting.add(key);
842
- visit(helper, currentTable, query);
843
+ var helperRoot = rootTable(helper);
844
+ if (helperRoot) reached.push({
845
+ table: helperRoot,
846
+ query,
847
+ root: true
848
+ });
849
+ visit(helper, helperRoot !== null && helperRoot !== void 0 ? helperRoot : currentTable, query);
843
850
  visiting.delete(key);
844
851
  }
845
852
  }
@@ -854,7 +861,14 @@ function relatedTables(ts, namespace, relations) {
854
861
  for (var _iterator2 = exported[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
855
862
  var name = _step2.value;
856
863
  if (["mutate", "schema", "where"].includes(name)) continue;
857
- visit(functions.get(name), namespace.name, name);
864
+ var body = functions.get(name);
865
+ var queryRoot = rootTable(body);
866
+ if (queryRoot) reached.push({
867
+ table: queryRoot,
868
+ query: name,
869
+ root: true
870
+ });
871
+ visit(body, queryRoot !== null && queryRoot !== void 0 ? queryRoot : namespace.name, name);
858
872
  }
859
873
  } catch (err) {
860
874
  _didIteratorError2 = true;
@@ -1040,6 +1054,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1040
1054
  dir: instance2.dir,
1041
1055
  scope: instance2.scope,
1042
1056
  namespaces: [],
1057
+ tables: [],
1043
1058
  syncTables: [],
1044
1059
  supportTables: [],
1045
1060
  declaredSupportTables: instance2.supportTables
@@ -1073,18 +1088,18 @@ function discoverDataLayout(ts, baseDir, configPath) {
1073
1088
  var namespaces = instances.flatMap(function (instance2) {
1074
1089
  return instance2.namespaces;
1075
1090
  });
1076
- var owners = /* @__PURE__ */new Map();
1091
+ var namespaceOwners = /* @__PURE__ */new Map();
1077
1092
  var _iteratorNormalCompletion1 = true,
1078
1093
  _didIteratorError1 = false,
1079
1094
  _iteratorError1 = void 0;
1080
1095
  try {
1081
1096
  for (var _iterator1 = namespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1082
1097
  var namespace = _step1.value;
1083
- var owner = owners.get(namespace.name);
1098
+ var owner = namespaceOwners.get(namespace.name);
1084
1099
  if (owner) {
1085
1100
  throw new Error(`[on-zero] namespace '${namespace.name}' is claimed by instances '${owner}' and '${namespace.instance}'`);
1086
1101
  }
1087
- owners.set(namespace.name, namespace.instance);
1102
+ namespaceOwners.set(namespace.name, namespace.instance);
1088
1103
  }
1089
1104
  } catch (err) {
1090
1105
  _didIteratorError1 = true;
@@ -1100,6 +1115,11 @@ function discoverDataLayout(ts, baseDir, configPath) {
1100
1115
  }
1101
1116
  }
1102
1117
  }
1118
+ var tableOwners = new Map(namespaces.filter(function (namespace2) {
1119
+ return namespace2.modelPath !== null;
1120
+ }).map(function (namespace2) {
1121
+ return [namespace2.name, namespace2.instance];
1122
+ }));
1103
1123
  var metadata = metadataPaths(baseDir);
1104
1124
  var relations = relationTargets(ts, metadata);
1105
1125
  var columns = tableColumns(ts, metadata, namespaces);
@@ -1110,9 +1130,12 @@ function discoverDataLayout(ts, baseDir, configPath) {
1110
1130
  try {
1111
1131
  for (var _iterator2 = instances[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1112
1132
  var instance1 = _step2.value;
1113
- var syncTables = new Set(instance1.namespaces.map(function (namespace2) {
1133
+ var tables = new Set(instance1.namespaces.filter(function (namespace2) {
1134
+ return namespace2.modelPath !== null;
1135
+ }).map(function (namespace2) {
1114
1136
  return namespace2.name;
1115
1137
  }));
1138
+ var syncTables = new Set(tables);
1116
1139
  var _iteratorNormalCompletion3 = true,
1117
1140
  _didIteratorError3 = false,
1118
1141
  _iteratorError3 = void 0;
@@ -1123,14 +1146,15 @@ function discoverDataLayout(ts, baseDir, configPath) {
1123
1146
  _didIteratorError4 = false,
1124
1147
  _iteratorError4 = void 0;
1125
1148
  try {
1126
- for (var _iterator4 = relatedTables(ts, namespace1, relations)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
1149
+ for (var _iterator4 = queriedTables(ts, namespace1, relations)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
1127
1150
  var reached = _step4.value;
1128
- var _owners_get;
1129
- var owner1 = (_owners_get = owners.get(reached.table)) !== null && _owners_get !== void 0 ? _owners_get : relatedOwners.get(reached.table);
1151
+ var _tableOwners_get;
1152
+ var owner1 = (_tableOwners_get = tableOwners.get(reached.table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(reached.table);
1130
1153
  if (owner1 && owner1 !== instance1.name) {
1131
1154
  throw new Error(`[on-zero] ${namespace1.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner1}'`);
1132
1155
  }
1133
1156
  relatedOwners.set(reached.table, instance1.name);
1157
+ if (reached.root) tables.add(reached.table);
1134
1158
  syncTables.add(reached.table);
1135
1159
  }
1136
1160
  } catch (err) {
@@ -1162,6 +1186,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1162
1186
  }
1163
1187
  }
1164
1188
  }
1189
+ instance1.tables = [...tables].sort();
1165
1190
  instance1.syncTables = [...syncTables].sort();
1166
1191
  if (instance1.scope) {
1167
1192
  var _iteratorNormalCompletion5 = true,
@@ -1224,7 +1249,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1224
1249
  try {
1225
1250
  for (var _iterator12 = mutationSupportTables(ts, baseDir, sourceRoots, namespace2)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1226
1251
  var table2 = _step12.value;
1227
- if (owners.has(table2) || relatedOwners.has(table2)) continue;
1252
+ if (tableOwners.has(table2) || relatedOwners.has(table2)) continue;
1228
1253
  if (!instance2.syncTables.includes(table2)) {
1229
1254
  supportTables.add(table2);
1230
1255
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_layout_exports","__export","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","resolve","existsSync","Error","dirname","source","createSourceFile","readFileSync","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","Symbol","iterator","_step","next","done","statement","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","statSync","isDirectory","found","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","delete","found1","forEachChild","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","sourcePaths","folder","hasQueries","hasMutations","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","visit","visit1","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","namespace","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,uBAAA;AAAAC,QAAA,CAAAD,uBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAgE,CAAAK,uBAAA;AAChE,IAAAM,SAAA,GAAAC,OAA0D;AA8B1D,IAAAC,WAAM,GAAAD,OAAgB,OACpB;AAKF,IAAAE,YAAM,YAAgBC,aAAiBA,CAAAC,IACrC;EAEF,OAAMA,IAAA,CAAAC,QAAY,MAAc,KAAiB,CAAAD,IAAA,CAAAC,QAAA,cAAAD,IAAA,CAAAC,QAAA,iBAAAD,IAAA,CAAAC,QAAA;AAC/C;AACA,IAAAC,YAAO,GAAU,SAAOC,aAAUA,CAAAC,OAAS,EAAMC,IAAA;EACnD,WAAAR,WAAA,CAAAS,QAAA,EAAAF,OAAA,EAAAC,IAAA,EAAAE,KAAA,CAAAV,WAAA,CAAAW,GAAA,EAAAC,IAAA,MAAAC,OAAA;AASA;AAIE,IAAAC,QAAO,YAAaC,SAASA,CAAGC,IAAA,EAAAR,IAAA;EAC9B,IAAAS,KAAO,KAAK,EAAAjB,WAAA,CAAAS,QAAA,EAAAO,IAAA,EAAAR,IAAA;EACd,OAAAS,KAAA,WAAAA,KAAA,cAAAA,KAAA,CAAAC,UAAA,MAAAlB,WAAA,CAAAW,GAAA;AACA;AACF,SAAAQ,aAAAC,EAAA,EAAAjB,IAAA;EAEA,IAAAiB,EAAA,CAASC,YAAA,CAAAlB,IACP,KACAiB,EAAA,CAAAE,eAE4D,CAAAnB,IAAA,KAAAiB,EAAA,CAAAG,gBAAA,CAAApB,IAAA;IAC5D,OAAMA,IAAO,CAAAqB,IAAA;EACb;EACE,OAAI;AACJ;AAAO,SACTC,eAAAL,EAAA,EAAAb,OAAA,EAAAmB,UAAA;EACA,IAAAlB,IAAI,GAAAkB,UAAA,OAAA1B,WAAY,CAAA2B,OAAM,EAAAD,UAAS,QAAA1B,WAAA,CAAA2B,OAAA,EAAApB,OAAA;EAC7B,SAAMT,SAAU,CAAA8B,UAAA,EAAapB,IAAI;IACnC,IAAAkB,UAAA,YAAAG,KAAA,0CAAArB,IAAA;IACA,OAAM;EAAY;EAChB,MACA,EAAAR,WAAA,CAAA8B,OAAA,EAAAtB,IAAA,MAAaD,OAAM,EAAM;IACzB,MAAG,IAAAsB,KAAA,CAAa,aAAArB,IAAA,6BAAAD,OAAA;EAAA;EAElB,IAAAwB,MAAA,GAAAX,EAAA,CAAAY,gBAAA,CAAAxB,IAAA,MAAAV,SAAA,CAAAmC,YAAA,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;EACA,IAAIC,cAAA,CAAeL,MAAM,GAAG,MAAM,IAAIF,KAAA,CAAM,6BAA6BrB,IAAI,EAAE;EAE/E,IAAI6B,MAAA,GAA4C;EAChD,IAAAC,yBAAwB,GAAO;IAAAC,iBAAY;IAAAC,cAAA;EACzC;IACA,SAAMC,SAAO,GAAAV,MAAU,CAAAW,UAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACvB,IACGU,SAAG,GAAAH,KAAA,CAAAtD,KAAqB;MAGzB,KAAA6B,EAAA,CAAA6B,kBAAA,CAAAD,SAAA,KAAAA,SAAA,CAAAE,cAAA;MACF,IAAAC,IAAA,GAAAH,SAAA,CAAAI,UAAA;MACA,IAAM,CAAAhC,EAAA,CAAAiC,gBAAa,CAAAF,IAAW,KAAAA,IAAA,CAAAC,UAAA,CAAAE,OAAA,CAAAvB,MAAA;QAC1B;MACN;MACI,IAACxC,KAAQ,GAAA4D,IAAA,CAAAI,SAAA;MACX,IAAMhE,KAAI,IAAA6B,EAAA,CAAAoC,yBAAA,CAAAjE,KAAA,GAAA8C,MAAA,GAAA9C,KAAA;IAAA;EACS,EACnB,OAAAkE,GAAA;IACFlB,iBAAA;IAEAC,cAAM,GAAAiB,GAAc;EACpB;IACE,IAAI;MACF,KAAAnB,yBAA6B,IAAIG,SAAA,CAAAiB,MAAA;QACnCjB,SAAA,CAAAiB,MAAA;MACA;IACA,UAAW;MACX,IAAInB,iBAAgB,EAAI;QACtB,MAAMC,cAAU;MAClB;IACF;EACA;EACE,KAAAH,MAAI;IACF,UAAMR,KAAI,cAAMrB,IAAa,2DAAmC;EACpE;EACA,IAAAmD,WAAM,kBAA4B,IAAIC,GAAA;EACtC,IAAIC,0BAAsB;IAAAC,kBAA0B,QAAa;IAAAC,eAAG;EAClE;IACF,SAAAC,UAAA,GAAA3B,MAAA,CAAA4B,UAAA,CAAAtB,MAAA,CAAAC,QAAA,KAAAsB,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAlB,IAAA,IAAAC,IAAA,GAAAc,0BAAA;MAEA,IAAMM,MAAA,GAAAD,MAAqC,CAAA3E,KAAA;MAC3C,KAAA6B,EAAW,CAAAgD,oBAAY,CAAAD,MAAc;QAC/B,MAAI,IAAAtC,KAAA,cAAqBrB,IAAQ,iDAAG;MACtC;MAAU,IACRL,IAAA,GAAAgB,YAAiB,CAAAC,EAAA,EAAA+C,MAAA,CAAAhE,IAAA;MACnB,KAAAA,IAAA,YAAA0B,KAAA,cAAArB,IAAA;MACF,IAAAmD,WAAA,CAAAU,GAAA,CAAAlE,IAAA,aAAA0B,KAAA,cAAArB,IAAA,oBAAAL,IAAA;MACAwD,WAAa,CAAAW,GAAA,CAAAnE,IAAA,EAAAgE,MAAiB,CAAAI,WAAS,CAAI;IAC3C;EACA,SAAKd,GAAG;IACNK,kBAAgB;IAClBC,eAAA,GAAAN,GAAA;EACA,UAAI;IACF;MACF,KAAAI,0BAAA,IAAAG,UAAA,CAAAN,MAAA;QACIM,UAAM,CAAAN,MAAA;MACV;IACA,UAAM;MACN,IAAMI,kBAAO;QACb,MAAAC,eAAqB;MACnB;IACE;EAA0E;EAE5E,IAAAS,0BAAmB,OAAa;IAAAC,kBAAe;IAAAC,eAAA;EAC/C;IACE,SAAAC,UAAU,GAAMhB,WAAA,CAAAiB,IAAA,GAAAjC,MAA2B,CAAAC,QAAA,KAAAiC,MAAA,IAAAL,0BAAyB,IAAAK,MAAA,GAAAF,UAAA,CAAA7B,IAAA,IAAAC,IAAA,GAAAyB,0BAAA;MACtE,IAAIM,KAAK,GAAAD,MAAI,CAAAtF,KAAU;MACrB,IAAAuF,KAAM,KAAI,WAAM,YAAAjD,KAAuB,cAAIrB,IAAA,wBAAkCsE,KAAA;IAAA;EAE/E,SAAKrB,GAAA,EAAI;IACTgB,kBAAI,GAAe;IACjBC,eAAQ,GAAAjB,GAAA;EACN;IAA2E,IAC7E;MACA,KAAAe,0BAA4B,IAAAG,UAAc,CAAAjB,MAAG;QAC3CiB,UAAM,CAAAjB,MAAI,CAAM;MAA8D;IAEhF;MACA,IAAAe,kBAAA;QACF,MAAAC,eAAA;MACA;IACE;EACE;EAA6E,IAAAK,aAC/E,GAAApB,WAAA,CAAAqB,GAAA;EACA,KAAAD,aAAY,KAAA3D,EAAA,CAAAoC,yBAAkB,CAAAuB,aAAA;IAC5B,UAAAlD,KAAM,CAAI,aAAMrB,IAAA,4CAAoD;EAAA;EAEtE,IAAAyE,SAAA,GAAQ;EACR,IAAAC,0BAAA;IAAAC,kBAAA;IAAAC,eAAA;EAAA,IACF;IACA,IAAAC,KAAI,YAAAA,CAAA,EAAe;MACjB,IAAAC,QAAQ,GAAAC,MAAA,CAAAhG,KAAA;MACN,KAAA6B,EAAA,CAAAgD,oBAAgB,CAAAkB,QAAA;QAClB,UAAAzD,KAAA,cAAArB,IAAA;MACA;MACE,IAAAgF,KAAK,GAAGrE,YAAA,CAAAC,EAAA,EAAgBkE,QAAQ,CAAAnF,IAAA;MAC9B,KAAAqF,KAAA,EAAM,MAAI,IAAA3D,KAAA,cAAArB,IAAA;MAAA,KAAAY,EAAA,CACRoC,yBAAuB,CAAA8B,QAAI,CAAAf,WAAA;QAAA,MAC7B,IAAA1C,KAAA,wBAAA2D,KAAA;MAAA;MAEF,IAAAP,SAAK,CAAAQ,IAAM,WAAMC,QAAA;QACf,OAAAA,QAAU,CAAAvF,IAAA,KAAAqF,KAAA;MAAA;QACmB,MAC7B,IAAA3D,KAAA,uCAAA2D,KAAA;MAAA;MAEF,IAAAG,GAAA,OAAA3F,WAAmB,CAAA2B,OAAU,MAAA3B,WAAA,CAAA8B,OAAA,EAAAtB,IAAA,GAAAgF,KAAA;MAAA,IAC/BI,KAAA;MACA,IAAAC,aAAA;MACF,IAAAC,IAAA,sBAAAC,GAAA;MACA,IAAAC,0BAAgB;QAAuBC,kBAAI;QAAAC,eAAsC;MACnF;QACI,KAAC,IAAAC,UAAA,GAAAb,QAAA,CAAAf,WAAmB,CAAAN,UAAC,CAAAtB,MAAA,CAAAC,QAAA,CAAS,IAAGwD,MAAE,IAAAJ,0BAAe,IAAAI,MAAA,GAAAD,UAAA,CAAArD,IAAA,IAAAC,IAAA,GAAAiD,0BAAA;UACpD,IAAMK,OAAI,GAAMD,MAAA,CAAA7G,KAAA;UAClB,KAAA6B,EAAA,CAAAgD,oBAAA,CAAAiC,OAAA;YACA,MAAU,IAAOxE,KAAM,wBAAY2D,KAAe;UACpD;UACI,IAAAc,UAAU,GAAWnF,YAAG,CAAAC,EAAA,EAAAiF,OAAA,CAAAlG,IAAA;UACpB,IAAI,CAAAmG,UAAM,QAAa,IAAIzE,KAAA,wBAAA2D,KAAA,yBAAqC;UACxE,IAAAM,IAAA,CAAAzB,GAAA,CAAAiC,UAAA;YACA,MAAW,IAAAzE,KAAY,wBAAW2D,KAAA,qBAAAc,UAAA;UAC1B;UACHR,IAAA,CAAAS,GAAA,CAAAD,UAAc;UACjB,IAAAA,UAAA;YACI,KAAAlF,EAAW,CAAAE,eAAA,CAAA+E,OAAA,CAAA9B,WAAA;cACP,MAAI,IAAA1C,KAAA,wBAAA2D,KAAA;YACR;YACF,IAAAa,OAAA,CAAA9B,WAAA,CAAA/C,IAAA,CAAAN,UAAA;cACF,UAAAW,KAAA,wBAAA2D,KAAA,6BAAAhF,IAAA;YACF;YACSmF,GAAA,GAAM,IAAA3F,WAAU,CAAA2B,OAAA,MAAA3B,WAAA,CAAA8B,OAAA,EAAAtB,IAAA,GAAA6F,OAAA,CAAA9B,WAAA,CAAA/C,IAAA;YAC3B;UAES;UAGA,IAAA8E,UAAA;YAKH,KAAAlF,EAAA,CAAAE,eAAkB,CAAA+E,OAAA,CAAA9B,WAAA;cACtB,UAAA1C,KAAA,wBAAA2D,KAAA;YACF;YAeS,KAAAa,OAAA,CAAA9B,WAEP,CAAA/C,IAAA,EACA;cAEM,MAA+B,IAAOK,KAAA,wBAAoB2D,KAAA;YAC1D;YACJI,KAAA,GAAAS,OAAA,CAAA9B,WAAA,CAAA/C,IAAA;YACA;UACG;UACH,IAAA8E,UAAA;YACF,KAAAlF,EAAA,CAAAoF,wBAAA,CAAAH,OAAA,CAAA9B,WAAA;cACI,UAAe1C,KAAM,CAAG,uBAAA2D,KAAA;YACpB;YACE,IAAAiB,2BAA2B,OAAW;cAAAC,mBAAA;cAA8BC,gBAAA;YACrE;cACT,SAAAC,WAAA,GAAAP,OAAA,CAAA9B,WAAA,CAAAsC,QAAA,CAAAlE,MAAA,CAAAC,QAAA,KAAAkE,OAAA,IAAAL,2BAAA,IAAAK,OAAA,GAAAF,WAAA,CAAA9D,IAAA,IAAAC,IAAA,GAAA0D,2BAAA;gBACM,IAAYM,KAAA,GAAAD,OAAA,CAAAvH,KAAI;gBAChB,IAAW,CAAA6B,EAAA,CAAAE,eAAI,CAAAyF,KAAY;kBAEtB,UAAalF,KAAO,wBAAY2D,KAAA;gBAClC;gBACC,KAAAuB,KAAa,CAAAvF,IAAA;kBAChB,MAAa,IAAAK,KAAS,wBAAuB2D,KAAA;gBAChD;gBACAK,aAAW,CAAAmB,IAAe,CAAAD,KAAA,CAAAvF,IAAU;cAC7B;YACL,EAAM,OAAOiC,GAAA;cACPiD,mBAAc,OAAY;cAC5BC,gBAAiB,GAAAlD,GAAA;YACnB,UAAM;cAEH;gBAID,IAAO,CAAEgD,2BAA0B,IAAAG,WAAA,CAAAlD,MAAA;kBACrCkD,WAAA,CAAAlD,MAAA;gBACF;cACI,CAAG;gBACL,IAAUgD,mBAAU;kBAChB,MAAAC,gBAAyB;gBAC/B;cACF;YACA;YACF;UACI;UACF,MAAU,IAAI9E,KAAA,wBAAqB2D,KAAU,yBAAIc,UAAA;QACjD;MACuB,EACnB,OAAC7C,GAAA;QACHwC,kBACA;QACAC,eAAa,GAAAzC,GAAA;MACf;QACF;UACF,KAAAuC,0BAAA,IAAAG,UAAA,CAAAzC,MAAA;YAEMyC,UAAW,CAAAzC,MAAA;UACX;QACA,UAAG;UACD,IAAGuC,kBAAkB;YAEvB,MAAGC,eAAA;UAGH;QACJ;MACA;MACE,MAAM,GAAApG,SAAY,CAAA8B,UAAW,EAAA+D,GAAA,UAAA7F,SAAA,CAAAmH,QAAA,EAAAtB,GAAA,EAAAuB,WAAA;QAC7B,MAAM,IAAArF,KAAS,wBAAkB2D,KAAA,+BAAAG,GAAA;MACjC;MACEV,SAAA,CAAA+B,IAAS,CAAI;QACb7G,IAAA,EAAMgH,KAAA;QACNxB,GAAA;QACAC,KAAI;QACNC;MACF;IACA;IACA,KAAG,IAAAuB,UAAa,GAAMrC,aAAW,CAAAd,UAAA,CAAAtB,MAAA,CAAAC,QAAA,KAAA2C,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAA6B,UAAA,CAAAtE,IAAA,IAAAC,IAAA,GAAAmC,0BAAA,SAAAG,KAAA;EAC/B,SAAK5B,GAAA;IACP0B,kBAAC;IACDC,eAAO,GAAA3B,GAAA;EACT;IAEA,IAAM;MACN,IAAO,CAAEyB,0BAAoB,IAAAkC,UAAA,CAAA1D,MAAA;QAC/B0D,UAAA,CAAA1D,MAAA;MAEA;IAME,UAAM;MACN,IAAAyB,kBAAoB;QAA4D,MAC9EC,eAAO;MACN;IACD;EACE;EACA,IAAAH,SAAM,CAAAoC,MAAA,KAAO;IACb,UAAMxF,KAAA,CAAQ,aAAArB,IAAA,qCAAsC;EACpD;EACA,IAAA8G,0BAAa;IAAAC,kBAAe,GAAM,KAAK;IAAAC,eAAA;EACvC;IAAgB,IACdC,MAAA,YAAAA,CAAA;MAAA,IACA/B,QAAU,GAAAgC,MAAS,CAAAnI,KAAA;MAAA,IACnBoI,SAAW,GAAA1C,SAAA,CAAA2C,IAAA,WAAAC,SAAA;QAAA,OAAAA,SAAA,KAAAnC,QAAA,IAAAmC,SAAA,CAAAlC,GAAA,KAAAD,QAAA,CAAAC,GAAA;MAAA;MAAA,IAGXgC,SAAW;QACX,UAAA9F,KAAc,yBAAI6D,QAAA,CAAAvF,IAAA,UAAAwH,SAAA,CAAAxH,IAAA,oCAAAuF,QAAA,CAAAC,GAAA;MACpB;IACA;IACF,SAAAmC,UAAA,GAAA7C,SAAA,CAAAtC,MAAA,CAAAC,QAAA,KAAA8E,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAI,UAAA,CAAAhF,IAAA,IAAAC,IAAA,GAAAuE,0BAAA,SAAAG,MAAA;EACA,SAAKhE,GAAA,EAAM;IACX8D,kBAAM,GAAS;IACfC,eAAU,GAAA/D,GAAS;EAEnB,UAAM;IACN;MACA,IAAM,CAAA6D,0BAAa,IAAAQ,UAAA,CAAApE,MAAW,QAAS;QACvCoE,UAAM,CAAApE,MAAA;MACN;IACE,UACG;MAGD,IAAA6D,kBAAU;QAAA,MACRC,eAAmB;MAAyC;IAE9D;EAEF;EAAA,OACF;IACAhH,IAAA;IAAgByE;EACF;AACO;AACiB,SACpC7C,cAAWA,CAAAL,MAAA,EAAe;EAAY,IACtCgG,wBAAc;EAAoD,OAC/DC,OAAA,EAAyBD,wBAAY,GAAAhG,MAAA,CAAAkG,gBAAA,cAAAF,wBAAA,uBAAAA,wBAAA,CAAAV,MAAA;AAAA;AACxC,SACDa,qBAAA9G,EAAA,EAAAb,OAAA,EAAAC,IAAA;EACH,IAAA2H,IAAA;IACAC,KAAO;IACTC,KAAA;EAEA;EACE,IAAAtG,MAAM,GAAAX,EAAmB,CAAAY,gBAAA,CAAAxB,IAAA,MAAAV,SAAA,CAAAmC,YAAA,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;EACzB,IAAAC,cAAM,CAAAL,MAAY;IAClB,IAAAuG,WAAI,OAAAtI,WAAW,CAAAS,QAAS,EAAG,IAAAT,WAAW,CAAA8B,OAAS,EAAAvB,OAAA,GAAAC,IAAA,EAAAE,KAAA,CAAAV,WAAA,CAAAW,GAAA,EAAAC,IAAA;IAE/C2H,OAAM,CAAAC,IAAA,uBAAcF,WAAA,8BAAQ;IAC5B,OAAKH,IAAA;EACL;EACE,IAAAM,SAAW,kBAAa,IAAA7E,GAAa;EACrC,IAAA8E,QACQ,kBAAS,IAAA3C,GAAA,CACf;EAGA,IAAAzD,yBAAW;IAAAC,iBAAQ,GAAa;IAAMC,cAAK;EAAA,IAC7C;IACF,SAAAC,SAAA,GAAAV,MAAA,CAAAW,UAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACA,IAAOU,SAAM,GAAKH,KAAA,CAAAtD,KAAA;MACpB,IAAA6B,EAAA,CAAAuH,mBAAA,CAAA3F,SAAA;QAEA,IAAS4F,oBAEP;QAEM,IAAAC,UAAY,IAAAD,oBAAqC,GAAA5F,SAAA,CAAA8F,SAAA,cAAAF,oBAAA,uBAAAA,oBAAA,CAAAnD,IAAA,WAAAsD,QAAA;UACvD,OAAWA,QAAQ,CAAAC,IAAM,KAAQxI,EAAA,CAAAyI,UAAA,CAASC,aAAA;QACxC,EAAM;QACJ,IAAArF,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QAAA,IACA;UACG,SAAAC,UAAa,GAAAhB,SAAA,CAAAmG,eAAA,CAAAC,YAAA,CAAAzG,MAAA,CAAAC,QAAA,KAAAsB,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAlB,IAAA,IAAAC,IAAA,GAAAc,0BAAA;YAChB,IAAAwF,WAAA,GAAAnF,MAAA,CAAA3E,KAAA;YACF,KAAA6B,EAAA,CAAAC,YAAA,CAAAgI,WAAA,CAAAlJ,IAAA,MAAAkJ,WAAA,CAAA9E,WAAA;YACM,IAAApE,IAAS,GAAAkJ,WAAkB,CAAAlJ,IAAA,CAAAqB,IAAA;YAE5B,IAAG+C,WAAA,GAAA8E,WACJ,CAAA9E,WAAK;YAEF,IAAAsE,UAAa,IAAMzH,EAAA,CAAAiC,gBAAK,CAAAkB,WAAA;cAC3B,IAAA+E,eAAA,GAAA/E,WAAA,CAAAjB,OAAA,CAAAvB,MAAA;cACF,IAAA5B,IAAA,iBAAAmJ,eAAA,CAAApI,UAAA,kBAAAf,IAAA,gBAAAmJ,eAAA,CAAApI,UAAA,oBAAAf,IAAA,iBAAAmJ,eAAA,CAAApI,UAAA;gBACM,OAAU;kBACXkH,KAAa,MAAG;kBACnBC,KAAA;gBACI;cAGE;YACR;YAEI,IAAIjH,EAAA,CAAAmI,eAAA,CAAAhF,WAAqB,KAAanD,EAAA,CAAAoI,oBAClC,CAAAjF,WAA0B;cAE9BkE,SAAA,CAAAnE,GAAA,CAAAnE,IAAA,EAAAoE,WAAA,CAAAkF,IAAA;cACF,IAAAZ,UAAA,EAAAH,QAAA,CAAAnC,GAAA,CAAApG,IAAA;YACA;UACA;QACA,SAAAsD,GAAW;UACTK,kBACM;UAGJC,eAAA,GAAAN,GAAA;QAAA,UACF;UACA;YACA,IAAK,CAAAI,0BAAG,IAA2BG,UAAa,CAAAN,MAAA;cAChDM,UAAa,CAAAN,MAAA;YACb;UACF;YACA,IAAAI,kBAAqB;cACvB,MAAAC,eAAA;YACF;UACM;QACR;QACA;MACF;MAEA,IAAS3C,EAAA,CAAAsI,qBAGP,CAAA1G,SAAA,CAC0B,IAAAA,SAAA,CAAA7C,IAAA,IAAA6C,SAAA,CAAAyG,IAAA;QACpB,IAAAE,qBAAU;QACVlB,SAAA,CAAUnE,GAAA,CAAAtB,SAAA,CAAA7C,IAAA,CAAAqB,IAAI,EAAIwB,SAAA,CAAAyG,IAAA;QACnB,KAAAE,qBAAA,GAAA3G,SAAA,CAAA8F,SAAA,cAAAa,qBAAA,uBAAAA,qBAAA,CAAAlE,IAAA,WAAAsD,QAAA;UACA,OAAAA,QAAW,CAAQC,IAAC,KAAA5H,EAAA,CAAA6H,UAAc,CAAAC,aAAqB;QAC3D;UACDR,QAAW,CAAAnC,GAAQ,CAAAvD,SAAS,CAAA7C,IAAA,CAAAqB,IAAA;QAC1B;MACE;IAAA;EACyB,SACtBiC,GAAA;IAAalB,iBAChB;IACFC,cAAA,GAAAiB,GAAA;EACA,UAAM;IACJ;MAKE,KAAGnB,yBAAwB,IAAAG,SAAA,CAAAiB,MAAA;QAC3BjB,SAAA,CAAAiB,MAAA;MACF;IACA,UAAM;MACN,IAAInB,iBAAkD;QACtD,MAAMC,cAAW;MACf;IACE;EACA;EAAA,IAAAoH,QACF,sBAAA7D,GAAA;EACA,IAAA8D,YAAA,GAAW,SAAAC,aAAsBA,CAAAC,IAAA;IAC/B,IAAA3I,EAAA,CAAA4I,0BACqB,CAAAD,IAAQ;MAG3B,IAAA3I,EAAA,CAAAC,YAAW,CAAA0I,IAAI,CAAA3G,UAAa,KAAA2G,IAAA,CAAA3G,UAAA,CAAA5B,IAAA;MAAA,IAC9BJ,EAAA,CAAA4I,0BAAA,CAAAD,IAAA,CAAA3G,UAAA,KAAA2G,IAAA,CAAA3G,UAAA,CAAAjD,IAAA,CAAAqB,IAAA;IACA;IAA2D,IAC7DJ,EAAA,CAAAiC,gBAAA,CAAA0G,IAAA,KAAA3I,EAAA,CAAAC,YAAA,CAAA0I,IAAA,CAAA3G,UAAA;MACA,IAAAoC,KAAA,GAAQuE,IAAA,CAAA3G,UAAU,CAAA5B,IAAU;MAC9B,IAAAyI,MAAA,GAAAxB,SAAA,CAAAzD,GAAA,CAAAQ,KAAA;MACA,IAAAyE,MAAQ,IAAK,CAAAL,QAAA,CAAWvF,GAAA,CAAAmB,KAAA;QACxBoE,QAAI,CAAArD,GAAA,CAAAf,KAAc;QAChB,IAAA2B,KAAM,GAAA0C,YAAY,CAAAI,MAAA;QAAAL,QACf,CAAAM,MAA4C,CAAA1E,KAAA;QAG/C,IAAA2B,KAAA;MACA;IAAgE;IAElE,IAAAgD,MAAG,QAAa;IAClB/I,EAAA,CAAAgJ,YAAA,CAAAL,IAAA,YAAA9I,KAAA;MACA,IAAM,CAAAkJ,MAAM,IAAAN,YAAA,CAAA5I,KAAA,GAAAkJ,MAAA;IACd;IACA,OAAOA,MAAA;EACT;EAEA,IAAA9B,KAAS,IAKP,GAAKK,QAAA,CACL,CAAAjD,IAAM,WAASD,KAAG;IAChB,OAAAqE,YAAU,CAAApB,SAAA,CAAAzD,GAAA,CAAAQ,KAAA;EAAA;EAC8B,OACrC;IACH4C,KAAA;IACFC;EACA;AACA;AACA,SAAMgC,kBAAWA,CAAAjJ,EAAA,EAAAb,OAAI,EAAAmF,QAAY,EAAA4E,YAAA;EAEjC,IAAAC,UAAW;EACT,IAAAjI,yBAA2B;IAASC,iBAAG;IAAAC,cAAA;EACrC;IAAwC,KACrC,IAAAC,SAAa,OAAA3C,SAAS,CAAA0K,WAAY,EAAA9E,QAAW,CAAAC,GAAA;QAChD8E,aAAA;MACA,GAAAC,IAAA,WAAWC,CAAA,EAAAC,CAAA;QACT,OACED,CAAA,CAAGxK,IAAA,CAAA0K,aAAa,CAAAD,CAAA,CAAAzK,IAAY;MAK5B,GAAAwC,MAAA,CAAAC,QAAU,EAAI,GAAAC,KAAA,IAAYP,yBAAuB,IAAAO,KAAA,GAAYJ,SAAI,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACjE,IAAAwI,KAAI,GAAAjI,KAAA,CAAAtD,KAAY;MAAkC,IACpDuL,KAAA,CAAAC,MAAA;QACF,KAAA9K,YAAA,CAAA6K,KAAA,CAAA3K,IAAA,KAAA2K,KAAA,CAAA3K,IAAA;QACF,IAAAK,IAAW,GAAG,IAAAR,WAAA,CAAA2B,OAAsB,EAAA+D,QAAS,CAAAC,GAAK,EAAAmF,KAAA,CAAU3K,IAAA;QAC1D,IAAA6K,KAAU,GAAI9C,oBAAe,CAAM9G,EAAA,EAAAb,OAAU,EAAAC,IAAI;QACjD,IACE,CAAAwK,KAAA,CAAA5C,KAAU,KAAA4C,KAAW,CAAA3C,KAAA;QACnB,IAAClI,IAAA,OAAaH,WAAS,CAAAiL,QAAY,EAAAH,KAAA,CAAA3K,IAAW;QAChDoK,UACA,CAAAvD,IAAA;UACA7G,IAAA;UACFuF,QAAA,EAAAA,QAAA,CAAAvF,IAAA;UACF+K,SAAA,EAAA1K,IAAA;UACF;UAEM;UACE2K,SAAO,EAAAH,KAAK,CAAA5C,KAAQ,GAAA5H,IAAM;UAChC4K,WAAY,EAAM,CACpB5K,IAAA;QAGM;QAEF;MAIA;MACA,IAAI,CAACsK,KAAA,CAAA5D,WAAe;MAClB,IAAAmE,MAAM,GAAI,IAAArL,WAAA,CAAA2B,OAAA,EAAA+D,QAAA,CAAAC,GAAA,EAAAmF,KAAA,CAAA3K,IAAA;MAAA,IACR2K,KAAA,CAAA3K,IAAA,KAAa,WAAU,IAAImK,YAAS,CAAAjG,GAAA,CAAAgH,MAAA;MAAA,IAEtCH,SAAA,OAAAlL,WAAA,CAAA2B,OAAA,EAAA0J,MAAA;MACF,IAAAF,SAAA,OAAAnL,WAAA,CAAA2B,OAAA,EAAA0J,MAAA;MACA,IAAAC,UAAM,OAAcxL,SAAU,CAAA8B,UAAK,EAAAsJ,SAAW;MAC9C,IAAAK,YAAe,OAAAzL,SAAc,CAAA8B,UAAc,EAAAuJ,SAAI,CAAQ;MACvD,IAAI,CAACG,UAAQ,KAAAC,YAAA;QACX,KACE,UAEF,aACF,UACA,CAAAC,QAAQ,CAAKV,KAAE,CAAA3K,IAAO,OAAQ,EAAAL,SAAO,CAAA0K,WAAA,EAAAa,MAAA,EAAA5F,IAAA,CAAAxF,YAAA;UACrC,MAAM,IAAK4B,KAAA,cAAWwJ,MAAY,+BAAmBP,KAAA,CAAA3K,IAAA;QACrD;QACA;MAIE;MACFoK,UAAA,CAAAvD,IAAA;QACA7G,IAAA,EAAA2K,KAAA,CAAA3K,IAAA;QACFuF,QAAA,EAAAA,QAAA,CAAAvF,IAAA;QACI+K,SAAG,EAAAI,UAAiB,GAAIJ,SAAQ;QAClCC,SAAM,EAAAI,YAAmB,GAAAJ,SAAS;QAClCC,WAAY,EAAG,CACXE,UAAU,IAACJ,SAAS,EACtBK,YAAa,IAAGJ,SAAA,CAChB,CAAAM,MAAM,WAAQC,KAAA;UACd,OAAS1D,OAAO,CAAA0D,KAAG;QACrB;MACF;IACA;EACF,SAAAjI,GAAA;IAEAlB,iBAAmB;IACjBC,cAAK,GAAUiB,GAAA;EACf,UAAM;IACR;MACA,IAAO,CAAAnB,yBAAA,IAAAG,SAAA,CAAAiB,MAAA;QACTjB,SAAA,CAAAiB,MAAA;MAEA;IAME,UAAK;MACL,IAAMnB,iBAAS;QACT,MAAAC,cAAU;MAEhB;IACE;EACA;EACA,OAAA+H,UAAe;AAAG;AAChB,SAAAoB,aACAA,CAAApL,OAAA;EAAyB,IACzBqL,KAAG;EAAa,IAChBC,SAAA,OAAA7L,WAAA,CAAA2B,OAAA,EAAApB,OAAA;EAAA,IACF,IAAAT,SAAA,CAAA8B,UAAA,EAAAiK,SAAA,GAAAD,KAAA,CAAA5E,IAAA,CAAA6E,SAAA;EAEA,IAAAC,WAAM,GAAS,IAAA9L,WAAkB,CAAA2B,OAAA,MAAA3B,WAAA,CAAA8B,OAAA,EAAAvB,OAAA;EAC/B,SACET,SAAG,CAAA8B,UAAA,EAAAkK,WAA+B,UAC/BF,KAAA;EAGH,IAAAtJ,yBAAoB,GAAK;IAAAC,iBAAW;IAAAC,cAAA;EACpC;IAIE,SAAAC,SAAW,IAAK,GAAA3C,SAAS,CAAA0K,WAAA,EAAAsB,WAAA;QAAArB,aAC3B;MAAA,EACF,CAAA9H,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MAEA,IAAAwI,KACM,GAAAjI,KAAA,CAAAtD,KAAA;MAIJ,KAAAuL,KAAM,CAAAC,MAAA,MAAY,CAAA9K,YAAK,CAAA6K,KAAgB,CAAA3K,IAAA;MACvC,IAAA2K,KAAM,CAAA3K,IAAA,mBAAuB,IAAA2K,KAAW,CAAA3K,IAAA,KAAS,oBAC7C,IAAA2K,KAAA,CAAA3K,IAAQ,CAAAe,UAAS,SAAU;QAI/B0K,KAAI,CAAA5E,IAAA,KAAAhH,WAAY,CAAA2B,OAAA,EAAAmK,WAAA,EAAAhB,KAAA,CAAA3K,IAAA;MACd;IAAwB;EACiC,SAAAsD,GAAA,EACvD;IAA8BlB,iBAC7B;IACDC,cAAA,GACEiB,GAAA;EAGA;IACA;MAAA,KAAAnB,yBACF,IAAAG,SAAA,CAAAiB,MAAA;QAAAjB,SACF,CAAAiB,MAAA;MAAA;IACF,UACF;MAEA,IAAGnB,iBAAa,EAAM;QACxB,MAAAC,cAAA;MACA;IACF;EAEA;EACA,OAAOoJ,KAAI,CAAAlB,IAAM,EAAE;AACrB;AAEA,SAASqB,gBAAA3K,EAAA,EAAAwK,KAAsB;EAC7B,IAAAC,SAAM,GAAU,mBAAIjI,GAAA,CAAY;EAChC,IAAAtB,yBAA8B;IAAAC,iBAAA;IAAAC,cAAA;EAC5B;IACA,IAAA6C,KAAQ,GAAI,SAAAA,CAAA,EAAG;MACf,IAAA7E,IAAA,GAAWqC,KAAA,CAAAtD,KAAS;MAClB,IAAIwC,MAAM,GAAAX,EAAA,CAAAY,gBAAS,CAAAxB,IAAkB,MAAMV,SAAS,CAAAmC,YAAa,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;MACjE,IAAA6J,KAAM,YAAOC,OAAAlC,IAAA;QACb,IAAI,CAAA3I,EAAA,CAAMiC,gBAAe,CAAA0G,IAAA,KAAAA,IAAA,CAAA3G,UAAA,CAAAE,OAAA,CAAAvB,MAAA;UACvBX,EAAA,CAAKgJ,YAAI,CAAAL,IAAA,EAAAiC,KAAA;UACX;QACE;QAAU,IACRE,OAAA,GAAAnC,IAAa,CAAIxG,SAAA;QACnB,KAAA2I,OAAA,KAAA9K,EAAA,CAAAmI,eAAA,CAAA2C,OAAA,MAAA9K,EAAA,CAAAoI,oBAAA,CAAA0C,OAAA;QACF,IAAAzC,IAAA,GAAArI,EAAA,CAAA+K,yBAAA,CAAAD,OAAA,CAAAzC,IAAA,IAAAyC,OAAA,CAAAzC,IAAA,CAAArG,UAAA,GAAA8I,OAAA,CAAAzC,IAAA;QACF,KAAArI,EAAA,CAAAoC,yBAAA,CAAAiG,IAAA;QACF,IAAAjF,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QACA;UACF,SAAAC,UAAA,GAAA8E,IAAA,CAAAxF,UAAA,CAAAtB,MAAA,CAAAC,QAAA,KAAAiC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAA7B,IAAA,IAAAC,IAAA,GAAAyB,0BAAA;YAES,IAAA4H,aAAA,GAAAvH,MACP,CAAAtF,KACA;YAIM,IAAQ8M,cAAgB;YACxB,KAAAjL,EAAA,CAAAgD,oBAAmB,CAAAgI,aAAyB,MAAAhL,EAAA,CAAAoC,yBAAoB,CAAA4I,aAAA,CAAA7H,WAAA;cACpE;YACM;YACE,IAAAwC,KAAA,GAAOqF,aAAA,CAAAjM,IAAA,CAAAmD,OAAQ,CAAAvB,MAAK,EAAAlB,OAAU;YAChC,IAAMyL,cAAY,GAAG,CAAAD,cAAA,GAAAR,SAAA,CAAA7G,GAAA,CAAA+B,KAAA,eAAAsF,cAAA,cAAAA,cAAA,sBAAAzI,GAAA;YACvB,IAAKC,0BAAI;cAAAC,kBAAA;cAAAC,eAAA;YACT;cACF,SAAAC,UAAA,GAAAoI,aAAA,CAAA7H,WAAA,CAAAN,UAAA,CAAAtB,MAAA,CAAAC,QAAA,KAAAsB,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAlB,IAAA,IAAAC,IAAA,GAAAc,0BAAA;gBAEG,IAAM0I,gBACN,GAAArI,MAAa,CAAA3E,KAAM;gBAIpB,KAAA6B,EAAA,CAAAgD,oBAAA,CAAAmI,gBAAA,MAAAnL,EAAA,CAAAiC,gBAAA,CAAAkJ,gBAAA,CAAAhI,WAAA;kBACF;gBACM;gBACI,IAAAnB,UAAS,GAAMmJ,gBAAO,CAAAhI,WAAA,CAAAnB,UAAA;gBACxB,IAAI,CAAAhC,EAAA,CAAA4I,0BAAA,CAAA5G,UAAA;gBACR,IAAAjD,IAAA,GAAAoM,gBAAgC,CAAApM,IAAA,CAAAmD,OAAA,CAAAvB,MAAA,EAAAlB,OAAA;gBAClCyL,cAAA,CAAAhI,GAAA,CAAAnE,IAAA,EAAAiD,UAAA,CAAAjD,IAAA,CAAAqB,IAAA;cACF;YACF,SAAAiC,GAAA;cACFK,kBAAA;cACYC,eAAA,GAAAN,GAAA;YACd;cAEgB;gBAKR,IAAS,CAAAI,0BAA4B,IAAAG,UAAU,CAAAN,MAAA;kBAC/CM,UACJ,CAAQN,MAAA;gBAEE;cACV;gBACI,IAAAI,kBAAc;kBACf,MAAAC,eAAS;gBACd;cACA;YACI;YACF8H,SAAA,CAAAvH,GAAA,CAAAyC,KAAA,EAAAuF,cAAA;UACE;QACA,SAAA7I,GAAA;UACAgB,kBAAO;UACPC,eAAgB,GAAAjB,GAAA;QAClB;UACF;YACM,KAAAe,0BAA4C,IAAAG,UAAc,CAAAjB,MAAA;cACxDiB,UAAS,CAAAjB,MAAA;YACV;UACL,CAAO,SAAS;YAChB,IAAYe,kBAAC;cACb,MAAaC,eAAA;YACb;UACA;QACA;MACF;MAEAsH,KAAA,CAAAjK,MAAW;IACT;IACF,SAAAU,SAAA,GAAAmJ,KAAA,CAAAH,MAAA,WAAAjL,IAAA;QACA,OAAM,IAAAR,WAAa,CAAAiL,QAAU,EAAQzK,IAAC,oBAAsB;MAC5D,GAAAmC,MAAM,CAAAC,QAAS,KAAAC,KAAA,IAAAP,yBAAwB,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA,SAAA+C,KAAA;EACvC,SAAA5B,GAAW;IACTlB,iBAAc,OAAO;IACrBC,cAAW,GAAAiB,GAAA;EACT,UAAM;IAAI,IACR;MACF,KAAAnB,yBAAA,IAAAG,SAAA,CAAAiB,MAAA;QACFjB,SAAA,CAAAiB,MAAA;MACA;IACF;MAEA,IAAMnB,iBAAW;QACX,MAAAC,cAAY;MAClB;IACA;EACA;EACE,OAAAqJ,SAAM;AACN;AACE,SAAAW,YAAWA,CAAApL,EAAA,EAAAwK,KAAW,EAAArB,UAAc;EAClC,IAAAkC,OAAA,GAAM,eAAe,IAAI7I,GAAA,EAAQ;EACjC,IAAA8I,OAAI,kBAAmB,IAAA3G,GAAA,CAAS,CAC9B,GAAA6F,KAAA,EAAU,GAAArB,UACR,CAAAoC,OAAa,WAAUC,SAAQ;IACuB,OACxDA,SAAA,CAAAxB,WAAA;EAAA,GAEF;EACA,IAAA9I,yBAAuB,OAAK;IAAAC,iBAAA;IAAAC,cAAA;EAAA,IAC9B;IACF,IAAA6C,KAAA,YAAAA,CAAA;MACA,IAAA7E,IAAS,GAAAqC,KAAA,CAAAtD,KAAc;MACvB,IAAIwC,MAAA,GAASX,EAAA,CAAAY,gBAAO,CAAAxB,IAAA,MAAAV,SAAA,CAAAmC,YAAA,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;MAClB,IAAA6J,KAAA,GAAW,SAASC,OAAAlC,IAAS;QAC3B,IAAI,CAAC3I,EAAA,CAAAyL,qBAAwB,CAAA9C,IAAA,KAAS,CAAA3I,EAAA,CAAKC,YAAG,CAAA0I,IAAA,CAAA5J,IAAA,MAAA4J,IAAA,CAAAxF,WAAA;UAC5CnD,EAAA,CAAAgJ,YAAU,CAAAL,IAAA,EAAAiC,KAAA;UAAA;QAC4F;QAExG,IAAAc,UAAA,sBAAA/G,GAAA,EACFgE,IAAA,CAAA5J,IAAA,CAAAqB,IAAA,CACF;QACF,IAAAuL,YAAA;QAEA,IAAAC,OAAW,YAAYC,QAAWA,CAAApF,SAAA;UAK1B,KAAAzG,EAAA,CAAAiC,gBAAgC,CAAAwE,SAAS;YAC/CzG,EAAA,CAAWgJ,YAAA,CAAavC,SAAS,EAAAmF,OAAA;YAC/B;UACE;UACA,IAAK9H,0BAAoB,GAAS,IAAK;YAAAC,kBAAG;YAAAC,eAAA;UACxC;YACF,SAAAgC,UAAA,GAAAS,SAAA,CAAAtE,SAAA,CAAAZ,MAAA,CAAAC,QAAA,KAAA2C,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAA6B,UAAA,CAAAtE,IAAA,IAAAC,IAAA,GAAAmC,0BAAA;cACF,IAAAgI,QAAA,GAAA3H,MAAA,CAAAhG,KAAA;cACF,IAAA6B,EAAA,CAAAE,eAAA,CAAA4L,QAAA,cAAAC,IAAA,CAAAtF,SAAA,CAAAzE,UAAA,CAAAE,OAAA,CAAAvB,MAAA;gBACS+K,UAAA,CAAAvG,GAAiB,CAAA2G,QAAG,CAAA1L,IAAA;cAG/B;cAEO,IAAAJ,EAAA,CAAAoC,yBAAA,CAAA0J,QAAA,GAAAH,YAAA,GAAAG,QAAA;YACL;UACA,SAAAzJ,GAAA;YACA0B,kBAAyB,GAAG;YAC5BC,eAAA,GAAA3B,GAAA;UACF;YACF;cAEgB,KAAAyB,0BAA2D,IAAAkC,UAAA,CAAA1D,MAAA;gBAC5D0D,UAAA,CAAA1D,MAAa;cAC5B","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_layout_exports","__export","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","resolve","existsSync","Error","dirname","source","createSourceFile","readFileSync","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","Symbol","iterator","_step","next","done","statement","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","statSync","isDirectory","found","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","delete","found1","forEachChild","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","sourcePaths","folder","hasQueries","hasMutations","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","visit","visit1","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","namespace","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -292,25 +292,23 @@ function generateLite(opts) {
292
292
  });
293
293
  }
294
294
  const allQueries = [];
295
- const relatedPaths = /* @__PURE__ */new Map();
295
+ const queryPaths = /* @__PURE__ */new Map();
296
296
  for (const namespace of namespaces.filter(namespace2 => namespace2.queryPath !== null)) {
297
297
  const filePath = namespace.queryPath;
298
298
  const fileBaseName = namespace.name;
299
- const content = files[filePath];
300
- const parsed = parse(content, filePath);
301
- if (content.includes(".related(") && !parsed.queries.some(query => query.relatedPaths)) {
302
- throw new Error(`[on-zero] ${filePath} uses related(), but the lite parser did not return relatedPaths`);
303
- }
299
+ const parsed = parse(files[filePath], filePath);
304
300
  for (const q of parsed.queries) {
305
301
  if (["mutate", "permission", "schema", "where"].includes(q.name)) continue;
306
- if (q.relatedPaths?.length) {
307
- const entries = relatedPaths.get(namespace.name) ?? [];
308
- entries.push({
309
- query: q.name,
310
- paths: q.relatedPaths
311
- });
312
- relatedPaths.set(namespace.name, entries);
302
+ if (!q.rootTable || !Array.isArray(q.relatedPaths)) {
303
+ throw new Error(`[on-zero] ${filePath} query '${q.name}' is missing lite parser query metadata`);
313
304
  }
305
+ const entries = queryPaths.get(namespace.name) ?? [];
306
+ entries.push({
307
+ query: q.name,
308
+ rootTable: q.rootTable,
309
+ paths: q.relatedPaths
310
+ });
311
+ queryPaths.set(namespace.name, entries);
314
312
  if (q.paramTypeText == null) {
315
313
  allQueries.push({
316
314
  name: q.name,
@@ -337,15 +335,24 @@ function generateLite(opts) {
337
335
  });
338
336
  }
339
337
  }
340
- const owners = new Map(namespaces.map(namespace => [namespace.name, namespace.instance]));
338
+ const owners = new Map(modelNamespaces.map(namespace => [namespace.name, namespace.instance]));
341
339
  const relatedOwners = /* @__PURE__ */new Map();
340
+ const directTables = /* @__PURE__ */new Map();
342
341
  const syncTables = /* @__PURE__ */new Map();
343
342
  for (const instance of instances) {
344
- const synced = new Set(instance.namespaces.map(namespace => namespace.name));
343
+ const direct = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => namespace.name));
344
+ const synced = new Set(direct);
345
345
  for (const namespace of instance.namespaces) {
346
- for (const query of relatedPaths.get(namespace.name) ?? []) {
346
+ for (const query of queryPaths.get(namespace.name) ?? []) {
347
+ const rootOwner = owners.get(query.rootTable) ?? relatedOwners.get(query.rootTable);
348
+ if (rootOwner && rootOwner !== instance.name) {
349
+ throw new Error(`[on-zero] ${namespace.name}.${query.query} in instance '${instance.name}' reaches table '${query.rootTable}' owned by instance '${rootOwner}'`);
350
+ }
351
+ relatedOwners.set(query.rootTable, instance.name);
352
+ direct.add(query.rootTable);
353
+ synced.add(query.rootTable);
347
354
  for (const path of query.paths) {
348
- let sourceTable = namespace.name;
355
+ let sourceTable = query.rootTable;
349
356
  for (const relationName of path) {
350
357
  const target = relations.get(sourceTable)?.get(relationName);
351
358
  if (!target) {
@@ -362,6 +369,7 @@ function generateLite(opts) {
362
369
  }
363
370
  }
364
371
  }
372
+ directTables.set(instance.name, [...direct].sort());
365
373
  const tables = [...synced].sort();
366
374
  if (instance.scope) {
367
375
  for (const table of tables) {
@@ -424,7 +432,7 @@ function generateLite(opts) {
424
432
  scope: instance.scope,
425
433
  queryNames: instance.namespaces.map(namespace => namespace.name).filter(name => allQueries.some(query => query.sourceFile === name)),
426
434
  modelNames: instance.namespaces.filter(namespace => namespace.modelPath).map(namespace => namespace.name),
427
- tables: instance.namespaces.map(namespace => namespace.name),
435
+ tables: directTables.get(instance.name),
428
436
  syncTables: syncTables.get(instance.name),
429
437
  supportTables: supportTables.get(instance.name)
430
438
  })));
@@ -627,7 +627,7 @@ function generateLite(opts) {
627
627
  }
628
628
  }
629
629
  var allQueries = [];
630
- var relatedPaths = /* @__PURE__ */new Map();
630
+ var queryPaths = /* @__PURE__ */new Map();
631
631
  var _iteratorNormalCompletion6 = true,
632
632
  _didIteratorError6 = false,
633
633
  _iteratorError6 = void 0;
@@ -638,30 +638,25 @@ function generateLite(opts) {
638
638
  var namespace1 = _step6.value;
639
639
  var filePath1 = namespace1.queryPath;
640
640
  var fileBaseName = namespace1.name;
641
- var content1 = files[filePath1];
642
- var parsed2 = parse(content1, filePath1);
643
- if (content1.includes(".related(") && !parsed2.queries.some(function (query2) {
644
- return query2.relatedPaths;
645
- })) {
646
- throw new Error(`[on-zero] ${filePath1} uses related(), but the lite parser did not return relatedPaths`);
647
- }
641
+ var parsed2 = parse(files[filePath1], filePath1);
648
642
  var _iteratorNormalCompletion7 = true,
649
643
  _didIteratorError7 = false,
650
644
  _iteratorError7 = void 0;
651
645
  try {
652
646
  for (var _iterator7 = parsed2.queries[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
653
647
  var q = _step7.value;
654
- var _q_relatedPaths;
648
+ var _queryPaths_get;
655
649
  if (["mutate", "permission", "schema", "where"].includes(q.name)) continue;
656
- if ((_q_relatedPaths = q.relatedPaths) === null || _q_relatedPaths === void 0 ? void 0 : _q_relatedPaths.length) {
657
- var _relatedPaths_get;
658
- var entries = (_relatedPaths_get = relatedPaths.get(namespace1.name)) !== null && _relatedPaths_get !== void 0 ? _relatedPaths_get : [];
659
- entries.push({
660
- query: q.name,
661
- paths: q.relatedPaths
662
- });
663
- relatedPaths.set(namespace1.name, entries);
650
+ if (!q.rootTable || !Array.isArray(q.relatedPaths)) {
651
+ throw new Error(`[on-zero] ${filePath1} query '${q.name}' is missing lite parser query metadata`);
664
652
  }
653
+ var entries = (_queryPaths_get = queryPaths.get(namespace1.name)) !== null && _queryPaths_get !== void 0 ? _queryPaths_get : [];
654
+ entries.push({
655
+ query: q.name,
656
+ rootTable: q.rootTable,
657
+ paths: q.relatedPaths
658
+ });
659
+ queryPaths.set(namespace1.name, entries);
665
660
  if (q.paramTypeText == null) {
666
661
  allQueries.push({
667
662
  name: q.name,
@@ -716,10 +711,11 @@ function generateLite(opts) {
716
711
  }
717
712
  }
718
713
  }
719
- var owners = new Map(namespaces.map(function (namespace3) {
714
+ var owners = new Map(modelNamespaces.map(function (namespace3) {
720
715
  return [namespace3.name, namespace3.instance];
721
716
  }));
722
717
  var relatedOwners = /* @__PURE__ */new Map();
718
+ var directTables = /* @__PURE__ */new Map();
723
719
  var syncTables = /* @__PURE__ */new Map();
724
720
  var _iteratorNormalCompletion8 = true,
725
721
  _didIteratorError8 = false,
@@ -727,42 +723,53 @@ function generateLite(opts) {
727
723
  try {
728
724
  for (var _iterator8 = instances[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
729
725
  var instance = _step8.value;
730
- var synced = new Set(instance.namespaces.map(function (namespace3) {
726
+ var direct = new Set(instance.namespaces.filter(function (namespace3) {
727
+ return namespace3.modelPath !== null;
728
+ }).map(function (namespace3) {
731
729
  return namespace3.name;
732
730
  }));
731
+ var synced = new Set(direct);
733
732
  var _iteratorNormalCompletion9 = true,
734
733
  _didIteratorError9 = false,
735
734
  _iteratorError9 = void 0;
736
735
  try {
737
736
  for (var _iterator9 = instance.namespaces[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
738
737
  var namespace2 = _step9.value;
739
- var _relatedPaths_get1;
738
+ var _queryPaths_get1;
740
739
  var _iteratorNormalCompletion10 = true,
741
740
  _didIteratorError10 = false,
742
741
  _iteratorError10 = void 0;
743
742
  try {
744
- for (var _iterator10 = ((_relatedPaths_get1 = relatedPaths.get(namespace2.name)) !== null && _relatedPaths_get1 !== void 0 ? _relatedPaths_get1 : [])[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
743
+ for (var _iterator10 = ((_queryPaths_get1 = queryPaths.get(namespace2.name)) !== null && _queryPaths_get1 !== void 0 ? _queryPaths_get1 : [])[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
745
744
  var query = _step10.value;
745
+ var _owners_get;
746
+ var rootOwner = (_owners_get = owners.get(query.rootTable)) !== null && _owners_get !== void 0 ? _owners_get : relatedOwners.get(query.rootTable);
747
+ if (rootOwner && rootOwner !== instance.name) {
748
+ throw new Error(`[on-zero] ${namespace2.name}.${query.query} in instance '${instance.name}' reaches table '${query.rootTable}' owned by instance '${rootOwner}'`);
749
+ }
750
+ relatedOwners.set(query.rootTable, instance.name);
751
+ direct.add(query.rootTable);
752
+ synced.add(query.rootTable);
746
753
  var _iteratorNormalCompletion11 = true,
747
754
  _didIteratorError11 = false,
748
755
  _iteratorError11 = void 0;
749
756
  try {
750
757
  for (var _iterator11 = query.paths[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
751
758
  var path1 = _step11.value;
752
- var sourceTable = namespace2.name;
759
+ var sourceTable = query.rootTable;
753
760
  var _iteratorNormalCompletion12 = true,
754
761
  _didIteratorError12 = false,
755
762
  _iteratorError12 = void 0;
756
763
  try {
757
764
  for (var _iterator12 = path1[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
758
765
  var relationName = _step12.value;
759
- var _owners_get;
766
+ var _owners_get1;
760
767
  var _relations_get1;
761
768
  var target = (_relations_get1 = relations.get(sourceTable)) === null || _relations_get1 === void 0 ? void 0 : _relations_get1.get(relationName);
762
769
  if (!target) {
763
770
  throw new Error(`[on-zero] ${namespace2.name}.${query.query} related('${relationName}') cannot be resolved from table '${sourceTable}' through relations.ts`);
764
771
  }
765
- var owner = (_owners_get = owners.get(target)) !== null && _owners_get !== void 0 ? _owners_get : relatedOwners.get(target);
772
+ var owner = (_owners_get1 = owners.get(target)) !== null && _owners_get1 !== void 0 ? _owners_get1 : relatedOwners.get(target);
766
773
  if (owner && owner !== instance.name) {
767
774
  throw new Error(`[on-zero] ${namespace2.name}.${query.query} in instance '${instance.name}' reaches table '${target}' owned by instance '${owner}'`);
768
775
  }
@@ -829,6 +836,7 @@ function generateLite(opts) {
829
836
  }
830
837
  }
831
838
  }
839
+ directTables.set(instance.name, [...direct].sort());
832
840
  var tables = [...synced].sort();
833
841
  if (instance.scope) {
834
842
  var _iteratorNormalCompletion13 = true,
@@ -1027,9 +1035,7 @@ function generateLite(opts) {
1027
1035
  }).map(function (namespace3) {
1028
1036
  return namespace3.name;
1029
1037
  }),
1030
- tables: instance2.namespaces.map(function (namespace3) {
1031
- return namespace3.name;
1032
- }),
1038
+ tables: directTables.get(instance2.name),
1033
1039
  syncTables: syncTables.get(instance2.name),
1034
1040
  supportTables: supportTables.get(instance2.name)
1035
1041
  };