on-zero 0.8.4 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/generate-layout.cjs +30 -11
- package/dist/cjs/generate-layout.native.js +37 -12
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +26 -18
- package/dist/cjs/generate-lite.native.js +33 -27
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +100 -9
- package/dist/cjs/generate-lite.test.native.js +102 -9
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +2 -2
- package/dist/cjs/generate.native.js +2 -6
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +20 -0
- package/dist/cjs/generate.test.native.js +20 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/esm/generate-layout.mjs +30 -11
- package/dist/esm/generate-layout.mjs.map +1 -1
- package/dist/esm/generate-layout.native.js +37 -12
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +26 -18
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +33 -27
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +100 -9
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +102 -9
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +2 -2
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +2 -6
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +20 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +20 -0
- package/dist/esm/generate.test.native.js.map +1 -1
- package/package.json +1 -1
- package/src/generate-layout.ts +32 -13
- package/src/generate-lite.test.ts +125 -8
- package/src/generate-lite.ts +46 -23
- package/src/generate.test.ts +29 -0
- package/src/generate.ts +2 -2
- package/types/generate-layout.d.ts +1 -0
- package/types/generate-layout.d.ts.map +1 -1
- package/types/generate-lite.d.ts +2 -1
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
562
|
+
const namespaceOwners = /* @__PURE__ */new Map();
|
|
548
563
|
for (const namespace of namespaces) {
|
|
549
|
-
const owner =
|
|
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
|
-
|
|
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
|
|
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
|
|
563
|
-
const owner =
|
|
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 (
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
1129
|
-
var owner1 = (
|
|
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 (
|
|
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":"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","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":";;;;;;;;;;;;;;;;;;;;;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;AA+B1D,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;UAClD,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,WAAAC,KAAa;UACnB,OAAI1D,OAAY,CAAA0D,KAAA;QAChB;MACA;IAAmB;EACrB,EACF,OAAAjI,GAAA;IACAlB,iBAAgB,OAAO;IACzBC,cAAA,GAAAiB,GAAA;EAEA;IACE,IAAI;MACJ,IAAM,CAAAnB,yBAAyB,IAAAG,SAAA,CAAAiB,MAAA;QAC/BjB,SAAM,CAAAiB,MAAY;MAClB;IACA,UAAM;MACR,IAAAnB,iBAAA;QACA,MAAOC,cAAA;MACT;IAEA;EAME;EACA,OAAM+H,UAAS;AACf;AAEA,SAAMoB,aAAQA,CAAApL,OAAiB;EAC7B,IAAAqL,KAAI,KAAQ;EACZ,IAAAC,SAAQ,GAAI,EAAI,EAAA7L,WAAA,CAAA2B,OAAA,EAAApB,OAAA;EAChB,QAAMT,SAAS,CAAA8B,UAAG,EAAAiK,SAAA,GAAAD,KAAA,CAAA5E,IAAA,CAAA6E,SAAA;EAAA,IAChBC,WAAA,OAAA9L,WAAA,CAAA2B,OAAA,MAAA3B,WAAA,CAAA8B,OAAA,EAAAvB,OAAA;EAAA,SACAT,SAAA,CAAA8B,UAAA,EAAAkK,WAAa,CAAM,SAAMF,KAAA;EAAA,IACzBtJ,yBAAgB;IAAAC,iBAAA;IAAAC,cAAA;EAAA,IAChB;IACF,SAAAC,SAAA,OAAA3C,SAAA,CAAA0K,WAAA,EAAAsB,WAAA;QAEArB,aAAe;MACb,GAAA9H,MACK,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBACA,IAAAO,KAAA,GAAAJ,SAA2B,CAAAK,IAAK,IAAAC,IAAU,GAAAT,yBACzB,OAAS;MAE7B,IAAAwI,KAAM,GAAAjI,KAAA,CAAAtD,KAAc;MACpB,KAAAuL,KACM,CAAAC,MAAA,MAAa,CAAA9K,YAAW,CAAA6K,KAAK,CAAA3K,IAAA,GAAY;MAG7C,IAAA2K,KAAA,CAAA3K,IAAO,KAAI,cAAc,IAAA2K,KAAA,CAAA3K,IAAA,6BAAA2K,KAAA,CAAA3K,IAAA,CAAAe,UAAA;QAC3B0K,KAAA,CAAA5E,IAAA,KAAAhH,WAAA,CAAA2B,OAAA,EAAAmK,WAAA,EAAAhB,KAAA,CAAA3K,IAAA;MACF;IAEA;EAKE,SAAAsD,GAAM;IACNlB,iBAAM,OAAa;IAKnBC,cAAI,GAAAiB,GAAY;EACd;IAAwB;MACiC,KAAAnB,yBACvD,IAAAG,SAAQ,CAAAiB,MAAY,QAAU;QAAAjB,SAC7B,CAAAiB,MAAA;MACD;IAIE;MACA,IAAAnB,iBAAA;QAAA,MACFC,cAAA;MAAA;IACF;EACF;EAGF,OAAGoJ,KAAA,CAAAlB,IAAA;AAAwB;AAE7B,SAAAqB,eAAYA,CAAA3K,EAAA,EAAAwK,KAAA;EACd,IAAAC,SAAA,sBAAAjI,GAAA;EAEA,IAAAtB,yBAAwB;IAAAC,iBAAA;IAAAC,cAAA;EACxB;IACF,IAAA6C,KAAA,YAAAA,CAAA;MAEA,IAAS7E,IAAA,GAAAqC,KAAA,CAAAtD,KAAA;MACP,IAAMwC,MAAA,GAAUX,EAAA,CAAAY,gBAAI,CAAAxB,IAAY,MAAAV,SAAA,CAAAmC,YAAA,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;MAChC,IAAM6J,KAAO,GAAC,SAAgBC,OAAAlC,IAAA;QACxB,KAAA3I,EAAA,CAAQiC,gBAAY,CAAC0G,IAAA,KAAAA,IAAA,CAAA3G,UAAA,CAAAE,OAAiB,CAAAvB,MAAA;UAC1CX,EAAQ,CAAAgJ,YAAO,CAAAL,IAAA,EAAAiC,KAAA;UACf;QACE;QACA,IAAME,OAAA,GAAAnC,IAAO,CAAAxG,SAAA;QACb,IAAI,CAAA2I,OAAM,KAAA9K,EAAA,CAAYmI,eAAG,CAAA2C,OAAA,MAAA9K,EAAA,CAAAoI,oBAAA,CAAA0C,OAAA;QACvB,IAAAzC,IAAK,GAAIrI,EAAA,CAAA+K,yBAAA,CAAAD,OAAA,CAAAzC,IAAA,IAAAyC,OAAA,CAAAzC,IAAA,CAAArG,UAAA,GAAA8I,OAAA,CAAAzC,IAAA;QACX,KAAArI,EAAA,CAAAoC,yBAAmC,CAAAiG,IAAA;QACjC,IAAAjF,0BAAU;UAAAC,kBAAA;UAAAC,eAAA;QAAA,IACR;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;YACF,IAAA4H,aAAA,GAAAvH,MAAA,CAAAtF,KAAA;YACF,IAAA8M,cAAA;YACF,KAAAjL,EAAA,CAAAgD,oBAAA,CAAAgI,aAAA,MAAAhL,EAAA,CAAAoC,yBAAA,CAAA4I,aAAA,CAAA7H,WAAA;cACW;YACb;YAES,IAAAwC,KAAA,GAAAqF,aACP,CAAAjM,IACA,CAAAmD,OACA,CAAAvB,MAAA,EAAAlB,OACA,eACA;YACM,IAAQyL,cAAgB,IAAAD,cAAA,GAAAR,SAAA,CAAA7G,GAAA,CAAA+B,KAAA,eAAAsF,cAAA,cAAAA,cAAA,sBAAAzI,GAAA;YACxB,IAAAC,0BAAmB,GAAgB;cAAAC,kBAA0B,GAAG;cAAAC,eAAA;YACpE,IAAW;cACL,KAAM,IAAAC,UAAS,GAAAoI,aAAwB,CAAA7H,WAAS,CAAAN,UAAa,CAAAtB,MAAA,CAAAC,QAAA,KAAAsB,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAlB,IAAA,IAAAC,IAAA,GAAAc,0BAAA;gBAC3D,IAAA0I,gBAAO,GAAArI,MAAA,CAAA3E,KAAQ;gBACX,KAAA6B,EAAA,CAAAgD,oBAAe,CAAAmI,gBAAA,MAAAnL,EAAA,CAAAiC,gBAAA,CAAAkJ,gBAAA,CAAAhI,WAAA;kBACd;gBACT;gBACF,IAAAnB,UAAA,GAAAmJ,gBAAA,CAAAhI,WAAA,CAAAnB,UAAA;gBAEG,IAAM,CAAAhC,EAAA,CAAO4I,0BACM,CAAA5G,UACpB;gBAGA,IAAAjD,IAAA,GAAAoM,gBAAA,CAAApM,IAAA,CAAAmD,OAAA,CAAAvB,MAAA,EAAAlB,OAAA;gBACFyL,cAAA,CAAAhI,GAAA,CAAAnE,IAAA,EAAAiD,UAAA,CAAAjD,IAAA,CAAAqB,IAAA;cACM;YACF,SAAMiC,GAAA,EAAS;cACXK,kBAAI;cACRC,eAAA,GAAAN,GAAA;YACF;cACF;gBACF,KAAAI,0BAAA,IAAAG,UAAA,CAAAN,MAAA;kBACFM,UAAA,CAAAN,MAAA;gBACY;cACd;gBAEgB,IAAAI,kBAEd;kBAGe,MAAAC,eAAmB;gBAC5B;cAGM;YACV;YACI8H,SAAA,CAAcvH,GAAA,CAAAyC,KAAA,EAAAuF,cAAA;UACf;QACL,SAAA7I,GAAA;UACAgB,kBAAsB,OAAW;UAC7BC,eAAQ,GAAAjB,GAAA;QACV;UACE;YACA,KAAAe,0BAAA,IAAAG,UAAA,CAAAjB,MAAA;cACOiB,UAAA,CAAAjB,MAAA;YACP;UACF;YACF,IAAAe,kBAAA;cACM,MAA4BC,eAAe;YACzC;UACD;QACL;MACA;MACAsH,KAAA,CAAQjK,MAAC;IACT;IACA,SAAAU,SAAgB,GAAAmJ,KAAA,CAAAH,MAAA,WAAAjL,IAAA;QAChB,WAAAR,WAAuB,CAAAiL,QAAS,EAAAzK,IAAA;MAChC,GAAAmC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA,SAAA+C,KAAA;EACF,SAAM5B,GAAA;IAENlB,iBAAW,OAAY;IACrBC,cAAS,GAAAiB,GAAA;EACX;IACA,IAAM;MACN,IAAM,CAAAnB,yBAAkB,IAAAG,SAAI,CAAoBiB,MAAA;QAChDjB,SAAW,CAAAiB,MAAA,EAAa;MACtB;IACA,UAAI;MACF,IAAAnB,iBAAU;QACR,MAAAC,cAAA;MACF;IACF;EACA;EACF,OAAAqJ,SAAA;AACA;AAAwB,SACtBW,YACGA,CAAOpL,EAAC,EAAAwK,KAAA,EAAArB,UAAc;EAE3B,IAAAkC,OAAA,sBAAA7I,GAAA;EAEA,IAAA8I,OAAM,kBAAW,IAAc3G,GAAA,CAAO,CACtC,GAAA6F,KAAM,EACN,GAAArB,UAAM,CAAUoC,OAAA,WAAiBC,SAAA,EAAU;IAC3C,OAAMA,SAAA,CAAAxB,WAAgB;EACtB,GACE;EAAmB,IACjB9I,yBACG,GAAQ;IAAAC,iBAAc,GAAU;IAAAC,cAChC,GAAK;EAA4B,IACtC;IACA,IAAA6C,KAAM,YAAAA,CAAA,EAAiB;MACvB,IAAA7E,IAAA,GAAWqC,KAAA,CAAAtD,KAAa;MACtB,IAAAwC,MAAA,GAAWX,EAAA,CAAAY,gBAAW,CAAAxB,IAAc,GAAI,GAAAV,SAAW,CAAAmC,YAAY,EAAAzB,IAAA,WAAAY,EAAA,CAAAc,YAAA,CAAAC,MAAA;MAC7D,IAAA6J,KAAM,YAAQC,OAAYlC,IAAI;QAC9B,IAAI,CAAA3I,EAAA,CAAAyL,qBAAmB,CAAA9C,IAAS,KAAM,CAAA3I,EAAA,CAAAC,YAAA,CAAA0I,IAAA,CAAA5J,IAAA,MAAA4J,IAAA,CAAAxF,WAAA;UACpCnD,EAAA,CAAAgJ,YAAU,CAAAL,IAAA,EAAAiC,KAAA;UAAA;QAE8C;QAE1D,IAAAc,UAAA,sBAAA/G,GAAA,EACAgE,IAAA,CAAA5J,IAAA,CAAAqB,IAAc,CACd;QACA,IAAAuL,YAAe,OAAQ;QACzB,IAAAC,OAAA,YAAAC,SAAApF,SAAA;UACF,KAAAzG,EAAA,CAAAiC,gBAAA,CAAAwE,SAAA;YACAzG,EAAS,CAAAgJ,YAAa,CAAAvC,SAAQ,EAAKmF,OAAA;YACnC;UACI;UACF,IAAA9H,0BAA6B,OAAY;YAAAC,kBAAA;YAAAC,eAAA;UACvC,IAAK;YACH,KAAM,IAAIgC,UAAA,GAAAS,SAAA,CAAAtE,SAAA,CAAAZ,MAAA,CAAAC,QAAA,KAAA2C,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAA6B,UAAA,CAAAtE,IAAA,IAAAC,IAAA,GAAAmC,0BAAA;cACR,IAAAgI,QAAA,GAAA3H,MAAoB,CAAAhG,KAAK;cAC3B,IAAA6B,EAAA,CAAAE,eAAA,CAAA4L,QAAA,cAAAC,IAAA,CAAAtF,SAAA,CAAAzE,UAAA,CAAAE,OAAA,CAAAvB,MAAA;gBACF+K,UAAA,CAAAvG,GAAA,CAAA2G,QAAA,CAAA1L,IAAA;cACF;cACF,IAAAJ,EAAA,CAAAoC,yBAAA,CAAA0J,QAAA,GAAAH,YAAA,GAAAG,QAAA;YACF;UAEA,SAAWzJ,GAAA;YAKH0B,kBAAoB,OAAY;YACtCC,eAAW,GAAa3B,GAAA;UACtB,UAAW;YACL;cACC,KAAAyB,0BAA6B,IAAKkC,UAAG,CAAA1D,MAAA;gBACxC0D,UAAc,CAAA1D,MAAS;cACzB;YACF;cACF,IAAAyB,kBAAA;gBACS,MAAAC,eAAoB;cAG/B;YAEO;UACL;UACA4H,OAAA,CAAAnF,SAAA,CAAAzE,UAAA;QACA;QACA4J,OAAA,CAAAjD,IAAA,CAAAxF,WAAA;QACF,IAAAwI,YAAA;UACF,IAAAK,KAAA,OAAArH,GAAA,CAAAgH,YAAA,CAAA9I,UAAA,CAAAoJ,GAAA,WAAA/H,QAAA;YAEgB,IAAAgI,cAAoB;YAC3B,OAAM,CAAAA,cAAa,GAAShI,QAAK,CAAAnF,IAAA,cAAAmN,cAAA,uBAAAA,cAAA,CAAAhK,OAAA,CAAAvB,MAAA,EAAAlB,OAAA;UAC1C,GAAA4K,MAAA,WAAAtL,IAAA","ignoreList":[]}
|
|
@@ -292,25 +292,23 @@ function generateLite(opts) {
|
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
const allQueries = [];
|
|
295
|
-
const
|
|
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
|
|
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
|
|
307
|
-
|
|
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(
|
|
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
|
|
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
|
|
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 =
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
648
|
+
var _queryPaths_get;
|
|
655
649
|
if (["mutate", "permission", "schema", "where"].includes(q.name)) continue;
|
|
656
|
-
if (
|
|
657
|
-
|
|
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(
|
|
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
|
|
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
|
|
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 = ((
|
|
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 =
|
|
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
|
|
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 = (
|
|
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.
|
|
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
|
};
|