graphddb 0.1.1 → 0.2.1
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/README.md +130 -11
- package/dist/{chunk-6LEHSX45.js → chunk-4B4MUPUJ.js} +3037 -1143
- package/dist/{chunk-347U24SB.js → chunk-PWV7JDMR.js} +353 -37
- package/dist/{chunk-UNRQ5YJT.js → chunk-SBNP62H7.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +61 -3334
- package/dist/index.js +187 -1881
- package/dist/testing/index.d.ts +2 -2
- package/dist/testing/index.js +2 -2
- package/dist/types-DPJ4tPjX.d.ts +4607 -0
- package/package.json +1 -1
- package/dist/types-CDrWiPxp.d.ts +0 -1203
|
@@ -525,6 +525,51 @@ var TableMapping = class {
|
|
|
525
525
|
}
|
|
526
526
|
};
|
|
527
527
|
|
|
528
|
+
// src/define/param.ts
|
|
529
|
+
function makeParam(kind, literals) {
|
|
530
|
+
return literals === void 0 ? { kind } : { kind, literals };
|
|
531
|
+
}
|
|
532
|
+
var param = {
|
|
533
|
+
/** A placeholder for a `string` value. */
|
|
534
|
+
string() {
|
|
535
|
+
return makeParam("string");
|
|
536
|
+
},
|
|
537
|
+
/** A placeholder for a `number` value. */
|
|
538
|
+
number() {
|
|
539
|
+
return makeParam("number");
|
|
540
|
+
},
|
|
541
|
+
/**
|
|
542
|
+
* A placeholder constrained to one of the given literal values. The value
|
|
543
|
+
* type of the resulting {@link Param} is the **union of the literals**, so it
|
|
544
|
+
* is preserved precisely in the IR and the inferred definition types.
|
|
545
|
+
*
|
|
546
|
+
* @example
|
|
547
|
+
* ```ts
|
|
548
|
+
* param.literal('active', 'disabled'); // Param<'active' | 'disabled'>
|
|
549
|
+
* ```
|
|
550
|
+
*/
|
|
551
|
+
literal(...values) {
|
|
552
|
+
return makeParam("literal", values);
|
|
553
|
+
},
|
|
554
|
+
/**
|
|
555
|
+
* A placeholder for an **array** parameter whose elements have the given field
|
|
556
|
+
* shape. Used by `defineTransaction`'s `tx.forEach(p.<arrayParam>, …)` to bind
|
|
557
|
+
* each element's fields to `{item.<field>}` templates.
|
|
558
|
+
*
|
|
559
|
+
* @example
|
|
560
|
+
* ```ts
|
|
561
|
+
* param.array({ userId: param.string(), role: param.string() });
|
|
562
|
+
* // Param<{ userId: string; role: string }[]>
|
|
563
|
+
* ```
|
|
564
|
+
*/
|
|
565
|
+
array(element) {
|
|
566
|
+
return { kind: "array", element };
|
|
567
|
+
}
|
|
568
|
+
};
|
|
569
|
+
function isParam(value) {
|
|
570
|
+
return typeof value === "object" && value !== null && "kind" in value && (value.kind === "string" || value.kind === "number" || value.kind === "literal" || value.kind === "array");
|
|
571
|
+
}
|
|
572
|
+
|
|
528
573
|
// src/client/lib-dynamodb.ts
|
|
529
574
|
var cached = null;
|
|
530
575
|
async function loadLibDynamoDB() {
|
|
@@ -825,20 +870,20 @@ async function executeQuery(docClient, operation) {
|
|
|
825
870
|
};
|
|
826
871
|
for (let i = 0; i < keyEntries.length; i++) {
|
|
827
872
|
const [attrName, value] = keyEntries[i];
|
|
828
|
-
const
|
|
829
|
-
const
|
|
830
|
-
exprAttrNames[
|
|
831
|
-
exprAttrValues[
|
|
832
|
-
conditionParts.push(`${
|
|
873
|
+
const nameAlias2 = `#k${i}`;
|
|
874
|
+
const valueAlias2 = `:k${i}`;
|
|
875
|
+
exprAttrNames[nameAlias2] = attrName;
|
|
876
|
+
exprAttrValues[valueAlias2] = value;
|
|
877
|
+
conditionParts.push(`${nameAlias2} = ${valueAlias2}`);
|
|
833
878
|
}
|
|
834
879
|
if (operation.rangeCondition) {
|
|
835
880
|
const rc = operation.rangeCondition;
|
|
836
881
|
const idx = keyEntries.length;
|
|
837
|
-
const
|
|
838
|
-
const
|
|
839
|
-
exprAttrNames[
|
|
840
|
-
exprAttrValues[
|
|
841
|
-
conditionParts.push(`begins_with(${
|
|
882
|
+
const nameAlias2 = `#k${idx}`;
|
|
883
|
+
const valueAlias2 = `:k${idx}`;
|
|
884
|
+
exprAttrNames[nameAlias2] = rc.key;
|
|
885
|
+
exprAttrValues[valueAlias2] = rc.value;
|
|
886
|
+
conditionParts.push(`begins_with(${nameAlias2}, ${valueAlias2})`);
|
|
842
887
|
}
|
|
843
888
|
const cmd = new QueryCommand({
|
|
844
889
|
TableName: operation.tableName,
|
|
@@ -860,14 +905,290 @@ async function executeQuery(docClient, operation) {
|
|
|
860
905
|
};
|
|
861
906
|
}
|
|
862
907
|
|
|
908
|
+
// src/select/cond.ts
|
|
909
|
+
var RAW_COND = /* @__PURE__ */ Symbol.for("graphddb.rawCond");
|
|
910
|
+
function isRawCondition(value) {
|
|
911
|
+
return typeof value === "object" && value !== null && value[RAW_COND] === true;
|
|
912
|
+
}
|
|
913
|
+
function cond(template, ...parts) {
|
|
914
|
+
return {
|
|
915
|
+
[RAW_COND]: true,
|
|
916
|
+
template,
|
|
917
|
+
parts
|
|
918
|
+
};
|
|
919
|
+
}
|
|
920
|
+
function compileRawCondition(raw, allocName, allocValue) {
|
|
921
|
+
let out = raw.template[0];
|
|
922
|
+
for (let i = 0; i < raw.parts.length; i++) {
|
|
923
|
+
const part = raw.parts[i];
|
|
924
|
+
if (isColumn(part)) {
|
|
925
|
+
out += allocName(part.name);
|
|
926
|
+
} else {
|
|
927
|
+
out += allocValue(part);
|
|
928
|
+
}
|
|
929
|
+
out += raw.template[i + 1];
|
|
930
|
+
}
|
|
931
|
+
return out;
|
|
932
|
+
}
|
|
933
|
+
function condParamName(index) {
|
|
934
|
+
return `cond_p${index}`;
|
|
935
|
+
}
|
|
936
|
+
function serializeRawCondition(raw, renderSlot) {
|
|
937
|
+
const names = {};
|
|
938
|
+
const values = {};
|
|
939
|
+
let valueCounter = 0;
|
|
940
|
+
let paramIndex = 0;
|
|
941
|
+
const nameAlias2 = (column) => {
|
|
942
|
+
const alias = `#cr_${column}`;
|
|
943
|
+
names[alias] = column;
|
|
944
|
+
return alias;
|
|
945
|
+
};
|
|
946
|
+
const valueAlias2 = (value) => {
|
|
947
|
+
const alias = `:cr${valueCounter++}`;
|
|
948
|
+
values[alias] = value;
|
|
949
|
+
return alias;
|
|
950
|
+
};
|
|
951
|
+
let out = raw.template[0];
|
|
952
|
+
for (let i = 0; i < raw.parts.length; i++) {
|
|
953
|
+
const part = raw.parts[i];
|
|
954
|
+
if (isColumn(part)) {
|
|
955
|
+
out += nameAlias2(part.name);
|
|
956
|
+
} else {
|
|
957
|
+
const custom = renderSlot?.(part, paramIndex);
|
|
958
|
+
if (custom !== void 0) {
|
|
959
|
+
if (isParam(part)) paramIndex++;
|
|
960
|
+
out += valueAlias2(custom);
|
|
961
|
+
} else if (isParam(part)) {
|
|
962
|
+
out += valueAlias2({ $param: condParamName(paramIndex++) });
|
|
963
|
+
} else if (part instanceof Date) {
|
|
964
|
+
out += valueAlias2(part.toISOString());
|
|
965
|
+
} else {
|
|
966
|
+
out += valueAlias2(part);
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
out += raw.template[i + 1];
|
|
970
|
+
}
|
|
971
|
+
return { expression: out, names, values };
|
|
972
|
+
}
|
|
973
|
+
function collectRawConditionParams(raw) {
|
|
974
|
+
const out = [];
|
|
975
|
+
let paramIndex = 0;
|
|
976
|
+
for (const part of raw.parts) {
|
|
977
|
+
if (isColumn(part)) continue;
|
|
978
|
+
if (isParam(part)) {
|
|
979
|
+
out.push({ name: condParamName(paramIndex++), param: part });
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
return out;
|
|
983
|
+
}
|
|
984
|
+
|
|
863
985
|
// src/expression/condition-expression.ts
|
|
986
|
+
var OPERATOR_KEYS = /* @__PURE__ */ new Set([
|
|
987
|
+
"eq",
|
|
988
|
+
"ne",
|
|
989
|
+
"gt",
|
|
990
|
+
"ge",
|
|
991
|
+
"lt",
|
|
992
|
+
"le",
|
|
993
|
+
"between",
|
|
994
|
+
"in",
|
|
995
|
+
"beginsWith",
|
|
996
|
+
"contains",
|
|
997
|
+
"notContains",
|
|
998
|
+
"attributeExists",
|
|
999
|
+
"attributeType",
|
|
1000
|
+
"size"
|
|
1001
|
+
]);
|
|
1002
|
+
function nameAlias(ctx, field) {
|
|
1003
|
+
const alias = `#cond_${field}`;
|
|
1004
|
+
ctx.names[alias] = field;
|
|
1005
|
+
return alias;
|
|
1006
|
+
}
|
|
1007
|
+
function valueAlias(ctx, value) {
|
|
1008
|
+
const alias = `:cond${ctx.valueCounter.n++}`;
|
|
1009
|
+
ctx.values[alias] = value;
|
|
1010
|
+
return alias;
|
|
1011
|
+
}
|
|
1012
|
+
function isOperatorObject(value) {
|
|
1013
|
+
if (typeof value !== "object" || value === null || Array.isArray(value) || value instanceof Date || value instanceof Uint8Array || value instanceof Set) {
|
|
1014
|
+
return false;
|
|
1015
|
+
}
|
|
1016
|
+
const keys = Object.keys(value);
|
|
1017
|
+
if (keys.length === 0) return false;
|
|
1018
|
+
return keys.every((k2) => OPERATOR_KEYS.has(k2));
|
|
1019
|
+
}
|
|
1020
|
+
function joinAnd(clauses) {
|
|
1021
|
+
if (clauses.length === 1) return clauses[0];
|
|
1022
|
+
return clauses.map((c) => wrap(c)).join(" AND ");
|
|
1023
|
+
}
|
|
1024
|
+
function wrap(expr) {
|
|
1025
|
+
if (isAlreadyWrapped(expr)) return expr;
|
|
1026
|
+
if (expr.includes(" AND ") || expr.includes(" OR ")) return `(${expr})`;
|
|
1027
|
+
return expr;
|
|
1028
|
+
}
|
|
1029
|
+
function isAlreadyWrapped(expr) {
|
|
1030
|
+
if (!expr.startsWith("(") || !expr.endsWith(")")) return false;
|
|
1031
|
+
let depth = 0;
|
|
1032
|
+
for (let i = 0; i < expr.length; i++) {
|
|
1033
|
+
if (expr[i] === "(") depth++;
|
|
1034
|
+
else if (expr[i] === ")") {
|
|
1035
|
+
depth--;
|
|
1036
|
+
if (depth === 0 && i < expr.length - 1) return false;
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
return depth === 0;
|
|
1040
|
+
}
|
|
1041
|
+
function compileField(ctx, field, condition) {
|
|
1042
|
+
const n = nameAlias(ctx, field);
|
|
1043
|
+
if (!isOperatorObject(condition)) {
|
|
1044
|
+
return `${n} = ${valueAlias(ctx, condition)}`;
|
|
1045
|
+
}
|
|
1046
|
+
const ops = condition;
|
|
1047
|
+
const clauses = [];
|
|
1048
|
+
for (const [op, value] of Object.entries(ops)) {
|
|
1049
|
+
switch (op) {
|
|
1050
|
+
case "eq":
|
|
1051
|
+
clauses.push(`${n} = ${valueAlias(ctx, value)}`);
|
|
1052
|
+
break;
|
|
1053
|
+
case "ne":
|
|
1054
|
+
clauses.push(`${n} <> ${valueAlias(ctx, value)}`);
|
|
1055
|
+
break;
|
|
1056
|
+
case "gt":
|
|
1057
|
+
clauses.push(`${n} > ${valueAlias(ctx, value)}`);
|
|
1058
|
+
break;
|
|
1059
|
+
case "ge":
|
|
1060
|
+
clauses.push(`${n} >= ${valueAlias(ctx, value)}`);
|
|
1061
|
+
break;
|
|
1062
|
+
case "lt":
|
|
1063
|
+
clauses.push(`${n} < ${valueAlias(ctx, value)}`);
|
|
1064
|
+
break;
|
|
1065
|
+
case "le":
|
|
1066
|
+
clauses.push(`${n} <= ${valueAlias(ctx, value)}`);
|
|
1067
|
+
break;
|
|
1068
|
+
case "between": {
|
|
1069
|
+
const [lo, hi] = value;
|
|
1070
|
+
clauses.push(
|
|
1071
|
+
`${n} BETWEEN ${valueAlias(ctx, lo)} AND ${valueAlias(ctx, hi)}`
|
|
1072
|
+
);
|
|
1073
|
+
break;
|
|
1074
|
+
}
|
|
1075
|
+
case "in": {
|
|
1076
|
+
const aliases = value.map((v) => valueAlias(ctx, v));
|
|
1077
|
+
clauses.push(`${n} IN (${aliases.join(", ")})`);
|
|
1078
|
+
break;
|
|
1079
|
+
}
|
|
1080
|
+
case "beginsWith":
|
|
1081
|
+
clauses.push(`begins_with(${n}, ${valueAlias(ctx, value)})`);
|
|
1082
|
+
break;
|
|
1083
|
+
case "contains":
|
|
1084
|
+
clauses.push(`contains(${n}, ${valueAlias(ctx, value)})`);
|
|
1085
|
+
break;
|
|
1086
|
+
case "notContains":
|
|
1087
|
+
clauses.push(`NOT contains(${n}, ${valueAlias(ctx, value)})`);
|
|
1088
|
+
break;
|
|
1089
|
+
case "attributeExists":
|
|
1090
|
+
clauses.push(
|
|
1091
|
+
value === false ? `attribute_not_exists(${n})` : `attribute_exists(${n})`
|
|
1092
|
+
);
|
|
1093
|
+
break;
|
|
1094
|
+
case "attributeType":
|
|
1095
|
+
clauses.push(`attribute_type(${n}, ${valueAlias(ctx, value)})`);
|
|
1096
|
+
break;
|
|
1097
|
+
case "size":
|
|
1098
|
+
clauses.push(`size(${n}) = ${valueAlias(ctx, value)}`);
|
|
1099
|
+
break;
|
|
1100
|
+
default:
|
|
1101
|
+
throw new Error(`Unknown condition operator '${op}' on field '${field}'`);
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
return joinAnd(clauses);
|
|
1105
|
+
}
|
|
1106
|
+
function compileRaw(ctx, raw) {
|
|
1107
|
+
return compileRawCondition(
|
|
1108
|
+
raw,
|
|
1109
|
+
(column) => nameAlias(ctx, column),
|
|
1110
|
+
(value) => valueAlias(ctx, value)
|
|
1111
|
+
);
|
|
1112
|
+
}
|
|
1113
|
+
function compileNode(ctx, node) {
|
|
1114
|
+
if (isRawCondition(node)) {
|
|
1115
|
+
return compileRaw(ctx, node);
|
|
1116
|
+
}
|
|
1117
|
+
const clauses = [];
|
|
1118
|
+
for (const [key2, value] of Object.entries(node)) {
|
|
1119
|
+
if (value === void 0) continue;
|
|
1120
|
+
if (key2 === "and" || key2 === "or") {
|
|
1121
|
+
const parts = value.map((sub) => compileNode(ctx, sub)).filter((s) => s.length > 0);
|
|
1122
|
+
if (parts.length === 0) continue;
|
|
1123
|
+
if (parts.length === 1) {
|
|
1124
|
+
clauses.push(parts[0]);
|
|
1125
|
+
} else {
|
|
1126
|
+
const sep = key2 === "and" ? " AND " : " OR ";
|
|
1127
|
+
clauses.push(`(${parts.map((p) => wrap(p)).join(sep)})`);
|
|
1128
|
+
}
|
|
1129
|
+
continue;
|
|
1130
|
+
}
|
|
1131
|
+
if (key2 === "not") {
|
|
1132
|
+
const inner = compileNode(ctx, value);
|
|
1133
|
+
if (inner.length > 0) clauses.push(`NOT ${wrap(inner)}`);
|
|
1134
|
+
continue;
|
|
1135
|
+
}
|
|
1136
|
+
const clause = compileField(ctx, key2, value);
|
|
1137
|
+
if (clause.length > 0) clauses.push(clause);
|
|
1138
|
+
}
|
|
1139
|
+
return joinAnd(clauses);
|
|
1140
|
+
}
|
|
1141
|
+
function resolveConditionTree(declarative, resolveParam) {
|
|
1142
|
+
return resolveNode(declarative, resolveParam);
|
|
1143
|
+
}
|
|
1144
|
+
function isParamLeaf(value) {
|
|
1145
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && typeof value.$param === "string";
|
|
1146
|
+
}
|
|
1147
|
+
function resolveLeaf(value, resolveParam) {
|
|
1148
|
+
if (isParamLeaf(value)) return resolveParam(value.$param);
|
|
1149
|
+
return value;
|
|
1150
|
+
}
|
|
1151
|
+
function resolveNode(node, resolveParam) {
|
|
1152
|
+
const obj = node;
|
|
1153
|
+
const out = {};
|
|
1154
|
+
for (const [key2, value] of Object.entries(obj)) {
|
|
1155
|
+
if (key2 === "and" || key2 === "or") {
|
|
1156
|
+
out[key2] = value.map((s) => resolveNode(s, resolveParam));
|
|
1157
|
+
} else if (key2 === "not") {
|
|
1158
|
+
out[key2] = resolveNode(value, resolveParam);
|
|
1159
|
+
} else {
|
|
1160
|
+
const ops = value;
|
|
1161
|
+
const rendered = {};
|
|
1162
|
+
for (const [op, opVal] of Object.entries(ops)) {
|
|
1163
|
+
if (op === "between") {
|
|
1164
|
+
const [lo, hi] = opVal;
|
|
1165
|
+
rendered[op] = [
|
|
1166
|
+
resolveLeaf(lo, resolveParam),
|
|
1167
|
+
resolveLeaf(hi, resolveParam)
|
|
1168
|
+
];
|
|
1169
|
+
} else if (op === "in") {
|
|
1170
|
+
rendered[op] = opVal.map(
|
|
1171
|
+
(v) => resolveLeaf(v, resolveParam)
|
|
1172
|
+
);
|
|
1173
|
+
} else if (op === "attributeExists") {
|
|
1174
|
+
rendered[op] = opVal;
|
|
1175
|
+
} else {
|
|
1176
|
+
rendered[op] = resolveLeaf(opVal, resolveParam);
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
out[key2] = rendered;
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
return out;
|
|
1183
|
+
}
|
|
864
1184
|
function buildConditionExpression(condition) {
|
|
1185
|
+
if (isRawCondition(condition)) {
|
|
1186
|
+
const ctx2 = { names: {}, values: {}, valueCounter: { n: 0 } };
|
|
1187
|
+
const expression2 = compileRaw(ctx2, condition);
|
|
1188
|
+
return { expression: expression2, names: ctx2.names, values: ctx2.values };
|
|
1189
|
+
}
|
|
865
1190
|
if (condition.notExists === true) {
|
|
866
|
-
return {
|
|
867
|
-
expression: "attribute_not_exists(PK)",
|
|
868
|
-
names: {},
|
|
869
|
-
values: {}
|
|
870
|
-
};
|
|
1191
|
+
return { expression: "attribute_not_exists(PK)", names: {}, values: {} };
|
|
871
1192
|
}
|
|
872
1193
|
if (typeof condition.attributeExists === "string") {
|
|
873
1194
|
const field = condition.attributeExists;
|
|
@@ -887,22 +1208,9 @@ function buildConditionExpression(condition) {
|
|
|
887
1208
|
values: {}
|
|
888
1209
|
};
|
|
889
1210
|
}
|
|
890
|
-
const
|
|
891
|
-
const
|
|
892
|
-
|
|
893
|
-
let counter = 0;
|
|
894
|
-
for (const [fieldName, value] of Object.entries(condition)) {
|
|
895
|
-
const nameKey = `#cond_${fieldName}`;
|
|
896
|
-
const valueKey = `:cond${counter++}`;
|
|
897
|
-
names[nameKey] = fieldName;
|
|
898
|
-
values[valueKey] = value;
|
|
899
|
-
clauses.push(`${nameKey} = ${valueKey}`);
|
|
900
|
-
}
|
|
901
|
-
return {
|
|
902
|
-
expression: clauses.join(" AND "),
|
|
903
|
-
names,
|
|
904
|
-
values
|
|
905
|
-
};
|
|
1211
|
+
const ctx = { names: {}, values: {}, valueCounter: { n: 0 } };
|
|
1212
|
+
const expression = compileNode(ctx, condition);
|
|
1213
|
+
return { expression, names: ctx.names, values: ctx.values };
|
|
906
1214
|
}
|
|
907
1215
|
|
|
908
1216
|
// src/operations/serialize.ts
|
|
@@ -1719,17 +2027,17 @@ var TransactionContext = class {
|
|
|
1719
2027
|
this.assertWithinLimit();
|
|
1720
2028
|
const modelClass = resolveModelClass(model);
|
|
1721
2029
|
const { TableName, Key } = buildDeleteInput(modelClass, key2);
|
|
1722
|
-
const
|
|
2030
|
+
const cond2 = buildConditionExpression(options.condition);
|
|
1723
2031
|
const check = {
|
|
1724
2032
|
TableName,
|
|
1725
2033
|
Key,
|
|
1726
|
-
ConditionExpression:
|
|
2034
|
+
ConditionExpression: cond2.expression
|
|
1727
2035
|
};
|
|
1728
|
-
if (Object.keys(
|
|
1729
|
-
check.ExpressionAttributeNames =
|
|
2036
|
+
if (Object.keys(cond2.names).length > 0) {
|
|
2037
|
+
check.ExpressionAttributeNames = cond2.names;
|
|
1730
2038
|
}
|
|
1731
|
-
if (Object.keys(
|
|
1732
|
-
check.ExpressionAttributeValues =
|
|
2039
|
+
if (Object.keys(cond2.values).length > 0) {
|
|
2040
|
+
check.ExpressionAttributeValues = cond2.values;
|
|
1733
2041
|
}
|
|
1734
2042
|
this.items.push({ ConditionCheck: check });
|
|
1735
2043
|
}
|
|
@@ -1791,10 +2099,18 @@ export {
|
|
|
1791
2099
|
pkTemplate,
|
|
1792
2100
|
skTemplate,
|
|
1793
2101
|
resolveSegmentedKey,
|
|
2102
|
+
param,
|
|
2103
|
+
isParam,
|
|
1794
2104
|
BATCH_GET_MAX_KEYS,
|
|
1795
2105
|
BATCH_WRITE_MAX_ITEMS,
|
|
1796
2106
|
DynamoExecutor,
|
|
1797
2107
|
ClientManager,
|
|
2108
|
+
isRawCondition,
|
|
2109
|
+
cond,
|
|
2110
|
+
compileRawCondition,
|
|
2111
|
+
serializeRawCondition,
|
|
2112
|
+
collectRawConditionParams,
|
|
2113
|
+
resolveConditionTree,
|
|
1798
2114
|
buildConditionExpression,
|
|
1799
2115
|
serializeFieldValue,
|
|
1800
2116
|
ChangeCaptureRegistry,
|
package/dist/cli.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
buildBridgeBundle,
|
|
4
4
|
normalizeSelectSpec
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4B4MUPUJ.js";
|
|
6
6
|
import {
|
|
7
7
|
MetadataRegistry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PWV7JDMR.js";
|
|
9
9
|
|
|
10
10
|
// src/cli.ts
|
|
11
11
|
import { createRequire } from "module";
|