@dyrected/core 2.10.1 → 2.12.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.
- package/dist/{app-config-BLC7WoyL.d.cts → app-config-C6hYM8WO.d.cts} +69 -4
- package/dist/{app-config-BLC7WoyL.d.ts → app-config-C6hYM8WO.d.ts} +69 -4
- package/dist/{chunk-H7DVVW2P.js → chunk-VOE2LOLF.js} +20 -0
- package/dist/index.cjs +133 -63
- package/dist/index.d.cts +103 -45
- package/dist/index.d.ts +103 -45
- package/dist/index.js +108 -59
- package/dist/server.cjs +416 -7
- package/dist/server.d.cts +14 -2
- package/dist/server.d.ts +14 -2
- package/dist/server.js +378 -8
- package/dist/{where-sanitizer-47QPJQ6O.js → where-sanitizer-CAAIYSSK.js} +20 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -911,7 +911,7 @@ var require_Evaluator = __commonJS({
|
|
|
911
911
|
*/
|
|
912
912
|
}, {
|
|
913
913
|
key: "_filterRelative",
|
|
914
|
-
value: function _filterRelative(subject,
|
|
914
|
+
value: function _filterRelative(subject, expr2) {
|
|
915
915
|
var _this4 = this;
|
|
916
916
|
var promises = [];
|
|
917
917
|
if (!Array.isArray(subject)) {
|
|
@@ -919,7 +919,7 @@ var require_Evaluator = __commonJS({
|
|
|
919
919
|
}
|
|
920
920
|
subject.forEach(function(elem) {
|
|
921
921
|
var evalInst = new Evaluator2(_this4._grammar, _this4._context, elem, _this4.Promise);
|
|
922
|
-
promises.push(evalInst.eval(
|
|
922
|
+
promises.push(evalInst.eval(expr2));
|
|
923
923
|
});
|
|
924
924
|
return this.Promise.all(promises).then(function(values) {
|
|
925
925
|
var results = [];
|
|
@@ -948,8 +948,8 @@ var require_Evaluator = __commonJS({
|
|
|
948
948
|
*/
|
|
949
949
|
}, {
|
|
950
950
|
key: "_filterStatic",
|
|
951
|
-
value: function _filterStatic(subject,
|
|
952
|
-
return this.eval(
|
|
951
|
+
value: function _filterStatic(subject, expr2) {
|
|
952
|
+
return this.eval(expr2).then(function(res) {
|
|
953
953
|
if (typeof res === "boolean") {
|
|
954
954
|
return res ? subject : void 0;
|
|
955
955
|
}
|
|
@@ -2253,7 +2253,7 @@ var require_Jexl = __commonJS({
|
|
|
2253
2253
|
*/
|
|
2254
2254
|
}, {
|
|
2255
2255
|
key: "expr",
|
|
2256
|
-
value: function
|
|
2256
|
+
value: function expr2(strs) {
|
|
2257
2257
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
2258
2258
|
args[_key - 1] = arguments[_key];
|
|
2259
2259
|
}
|
|
@@ -2381,6 +2381,7 @@ __export(index_exports, {
|
|
|
2381
2381
|
evaluateJexlSync: () => evaluateJexlSync,
|
|
2382
2382
|
executeFieldAfterRead: () => executeFieldAfterRead,
|
|
2383
2383
|
executeFieldBeforeChange: () => executeFieldBeforeChange,
|
|
2384
|
+
expr: () => expr,
|
|
2384
2385
|
first: () => first,
|
|
2385
2386
|
floor: () => floor,
|
|
2386
2387
|
formatConfigDiagnostics: () => formatConfigDiagnostics,
|
|
@@ -3977,6 +3978,21 @@ var SYSTEM_FIELDS = [
|
|
|
3977
3978
|
admin: { readOnly: true, hidden: true }
|
|
3978
3979
|
}
|
|
3979
3980
|
];
|
|
3981
|
+
var MEDIA_SYSTEM_FIELDS = [
|
|
3982
|
+
{ name: "folderId", type: "text", label: "Folder", admin: { hidden: true } },
|
|
3983
|
+
{ name: "filename", type: "text", label: "Filename", required: true },
|
|
3984
|
+
{ name: "originalFilename", type: "text", label: "Original Filename", admin: { hidden: true } },
|
|
3985
|
+
{ name: "mimeType", type: "text", label: "MIME Type", admin: { hidden: true } },
|
|
3986
|
+
{ name: "filesize", type: "number", label: "File Size", admin: { hidden: true } },
|
|
3987
|
+
{ name: "url", type: "text", label: "URL", admin: { hidden: true } },
|
|
3988
|
+
{ name: "width", type: "number", label: "Width", admin: { hidden: true } },
|
|
3989
|
+
{ name: "height", type: "number", label: "Height", admin: { hidden: true } },
|
|
3990
|
+
{ name: "aspectRatio", type: "number", label: "Aspect Ratio", admin: { hidden: true } },
|
|
3991
|
+
{ name: "blurhash", type: "text", label: "Blurhash", admin: { hidden: true } },
|
|
3992
|
+
{ name: "focalPoint", type: "json", label: "Focal Point", admin: { hidden: true } },
|
|
3993
|
+
{ name: "alt", type: "text", label: "Alt Text" },
|
|
3994
|
+
{ name: "caption", type: "text", label: "Caption" }
|
|
3995
|
+
];
|
|
3980
3996
|
var AUDIT_COLLECTION = {
|
|
3981
3997
|
slug: AUDIT_COLLECTION_SLUG,
|
|
3982
3998
|
labels: { singular: "Audit Log", plural: "Audit Logs" },
|
|
@@ -4248,6 +4264,11 @@ function normalizeConfig(config) {
|
|
|
4248
4264
|
}
|
|
4249
4265
|
}
|
|
4250
4266
|
}
|
|
4267
|
+
if (col.upload || col.slug === "media") {
|
|
4268
|
+
const currentNames = new Set(fields.map((f) => f.name));
|
|
4269
|
+
const mediaFieldsToInject = MEDIA_SYSTEM_FIELDS.filter((f) => !currentNames.has(f.name));
|
|
4270
|
+
fields = [...fields, ...mediaFieldsToInject];
|
|
4271
|
+
}
|
|
4251
4272
|
const updatedFieldNames = new Set(fields.map((f) => f.name));
|
|
4252
4273
|
const fieldsToInject = SYSTEM_FIELDS.filter((f) => !updatedFieldNames.has(f.name));
|
|
4253
4274
|
const workflow = col.workflow || (col.drafts ? simplePublishingWorkflow() : void 0);
|
|
@@ -4540,8 +4561,8 @@ function buildSqlOrderBy(sort, existingColumns, numericFields, dialect) {
|
|
|
4540
4561
|
return `${dialect.quoteIdent(field)} ${direction}`;
|
|
4541
4562
|
}
|
|
4542
4563
|
const extracted = dialect.jsonExtract(field);
|
|
4543
|
-
const
|
|
4544
|
-
return `${
|
|
4564
|
+
const expr2 = numericFields.has(field) ? dialect.castNumeric(extracted) : extracted;
|
|
4565
|
+
return `${expr2} ${direction}`;
|
|
4545
4566
|
}).join(", ");
|
|
4546
4567
|
}
|
|
4547
4568
|
|
|
@@ -6122,12 +6143,12 @@ var MatchBuilder = class {
|
|
|
6122
6143
|
*/
|
|
6123
6144
|
otherwise(fallback = "null") {
|
|
6124
6145
|
if (this.branches.length === 0) return formatJexlValue(fallback);
|
|
6125
|
-
let
|
|
6146
|
+
let expr2 = formatJexlValue(fallback);
|
|
6126
6147
|
for (let i = this.branches.length - 1; i >= 0; i--) {
|
|
6127
6148
|
const b = this.branches[i];
|
|
6128
|
-
|
|
6149
|
+
expr2 = `${b.condition} ? ${formatJexlValue(b.value)} : ${expr2}`;
|
|
6129
6150
|
}
|
|
6130
|
-
return
|
|
6151
|
+
return expr2;
|
|
6131
6152
|
}
|
|
6132
6153
|
};
|
|
6133
6154
|
var FieldConditionBuilder = class {
|
|
@@ -6185,6 +6206,12 @@ var FieldConditionBuilder = class {
|
|
|
6185
6206
|
isEmpty() {
|
|
6186
6207
|
return `${this.field} == null || ${this.field} == ''`;
|
|
6187
6208
|
}
|
|
6209
|
+
/**
|
|
6210
|
+
* Alias for `isEmpty()`.
|
|
6211
|
+
*/
|
|
6212
|
+
empty() {
|
|
6213
|
+
return this.isEmpty();
|
|
6214
|
+
}
|
|
6188
6215
|
/**
|
|
6189
6216
|
* Numerical greater than (`field > num`).
|
|
6190
6217
|
*/
|
|
@@ -6245,20 +6272,44 @@ var FieldConditionBuilder = class {
|
|
|
6245
6272
|
hasLengthAtLeast(length2) {
|
|
6246
6273
|
return `length(${this.field}) >= ${length2}`;
|
|
6247
6274
|
}
|
|
6275
|
+
/**
|
|
6276
|
+
* Generates a JEXL `slugify(field)` transform expression.
|
|
6277
|
+
*/
|
|
6278
|
+
slugify() {
|
|
6279
|
+
return `slugify(${this.field})`;
|
|
6280
|
+
}
|
|
6281
|
+
/**
|
|
6282
|
+
* Generates a JEXL `lower(field)` transform expression.
|
|
6283
|
+
*/
|
|
6284
|
+
lower() {
|
|
6285
|
+
return `lower(${this.field})`;
|
|
6286
|
+
}
|
|
6287
|
+
/**
|
|
6288
|
+
* Generates a JEXL `upper(field)` transform expression.
|
|
6289
|
+
*/
|
|
6290
|
+
upper() {
|
|
6291
|
+
return `upper(${this.field})`;
|
|
6292
|
+
}
|
|
6293
|
+
/**
|
|
6294
|
+
* Generates a JEXL `trim(field)` transform expression.
|
|
6295
|
+
*/
|
|
6296
|
+
trim() {
|
|
6297
|
+
return `trim(${this.field})`;
|
|
6298
|
+
}
|
|
6248
6299
|
};
|
|
6249
|
-
function
|
|
6250
|
-
const
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
|
|
6300
|
+
function createExpr() {
|
|
6301
|
+
const exprFn = ((fieldName) => new FieldConditionBuilder(fieldName));
|
|
6302
|
+
exprFn.user = (userProp) => new FieldConditionBuilder(`user.${userProp}`);
|
|
6303
|
+
exprFn.sibling = (siblingProp) => new FieldConditionBuilder(`siblingData.${siblingProp}`);
|
|
6304
|
+
exprFn.concat = (...parts) => {
|
|
6254
6305
|
if (parts.length === 0) return "''";
|
|
6255
6306
|
return parts.map((p) => formatJexlValue(p)).join(" + ");
|
|
6256
6307
|
};
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6308
|
+
exprFn.slugify = (field) => `slugify(${field})`;
|
|
6309
|
+
exprFn.lower = (field) => `lower(${field})`;
|
|
6310
|
+
exprFn.upper = (field) => `upper(${field})`;
|
|
6311
|
+
exprFn.trim = (field) => `trim(${field})`;
|
|
6312
|
+
exprFn.access = {
|
|
6262
6313
|
isOwner: (ownerField = "author") => {
|
|
6263
6314
|
return `${ownerField} == user.id || ${ownerField}.id == user.id`;
|
|
6264
6315
|
},
|
|
@@ -6266,17 +6317,18 @@ function createWhen() {
|
|
|
6266
6317
|
return "user.role == 'admin' || (user.roles != null && 'admin' in user.roles)";
|
|
6267
6318
|
},
|
|
6268
6319
|
hasRole: (...roles) => {
|
|
6269
|
-
return
|
|
6320
|
+
return exprFn.userRole(...roles);
|
|
6270
6321
|
},
|
|
6271
6322
|
isPublishedOrAdmin: (statusField = "status") => {
|
|
6272
6323
|
return `${statusField} == 'published' || user.role == 'admin' || (user.roles != null && 'admin' in user.roles)`;
|
|
6273
6324
|
}
|
|
6274
6325
|
};
|
|
6275
|
-
|
|
6326
|
+
exprFn.ifElse = (condition, ifTrue, ifFalse = "null") => {
|
|
6276
6327
|
return `${condition} ? ${formatJexlValue(ifTrue)} : ${formatJexlValue(ifFalse)}`;
|
|
6277
6328
|
};
|
|
6278
|
-
|
|
6279
|
-
|
|
6329
|
+
exprFn.then = exprFn.ifElse;
|
|
6330
|
+
exprFn.match = () => new MatchBuilder();
|
|
6331
|
+
exprFn.cases = (...branches) => {
|
|
6280
6332
|
const builder = new MatchBuilder();
|
|
6281
6333
|
let fallback = "null";
|
|
6282
6334
|
for (const b of branches) {
|
|
@@ -6288,114 +6340,130 @@ function createWhen() {
|
|
|
6288
6340
|
}
|
|
6289
6341
|
return builder.otherwise(fallback);
|
|
6290
6342
|
};
|
|
6291
|
-
|
|
6343
|
+
exprFn.all = (...conditions) => {
|
|
6292
6344
|
const valid = conditions.filter(Boolean);
|
|
6293
6345
|
if (valid.length === 0) return "true";
|
|
6294
6346
|
if (valid.length === 1) return valid[0];
|
|
6295
6347
|
return valid.map((c) => c.includes(" ") ? `(${c})` : c).join(" && ");
|
|
6296
6348
|
};
|
|
6297
|
-
|
|
6298
|
-
|
|
6349
|
+
exprFn.and = exprFn.all;
|
|
6350
|
+
exprFn.any = (...conditions) => {
|
|
6299
6351
|
const valid = conditions.filter(Boolean);
|
|
6300
6352
|
if (valid.length === 0) return "true";
|
|
6301
6353
|
if (valid.length === 1) return valid[0];
|
|
6302
6354
|
return valid.map((c) => c.includes(" ") ? `(${c})` : c).join(" || ");
|
|
6303
6355
|
};
|
|
6304
|
-
|
|
6305
|
-
|
|
6356
|
+
exprFn.or = exprFn.any;
|
|
6357
|
+
exprFn.not = (condition) => {
|
|
6306
6358
|
if (!condition) return "false";
|
|
6307
6359
|
return `!(${condition})`;
|
|
6308
6360
|
};
|
|
6309
|
-
|
|
6361
|
+
exprFn.variant = (...variants) => {
|
|
6310
6362
|
const flat = variants.flat();
|
|
6311
6363
|
if (flat.length === 0) return "true";
|
|
6312
6364
|
if (flat.length === 1) return `variant == '${flat[0]}'`;
|
|
6313
6365
|
return `variant in [${flat.map((v) => `'${v}'`).join(", ")}]`;
|
|
6314
6366
|
};
|
|
6315
|
-
|
|
6367
|
+
exprFn.notVariant = (...variants) => {
|
|
6316
6368
|
const flat = variants.flat();
|
|
6317
6369
|
if (flat.length === 0) return "false";
|
|
6318
6370
|
if (flat.length === 1) return `variant != '${flat[0]}'`;
|
|
6319
6371
|
return `!(variant in [${flat.map((v) => `'${v}'`).join(", ")}])`;
|
|
6320
6372
|
};
|
|
6321
|
-
|
|
6373
|
+
exprFn.block = (...blocks) => {
|
|
6322
6374
|
const flat = blocks.flat();
|
|
6323
6375
|
if (flat.length === 0) return "true";
|
|
6324
6376
|
if (flat.length === 1) return `block == '${flat[0]}'`;
|
|
6325
6377
|
return `block in [${flat.map((b) => `'${b}'`).join(", ")}]`;
|
|
6326
6378
|
};
|
|
6327
|
-
|
|
6379
|
+
exprFn.notBlock = (...blocks) => {
|
|
6328
6380
|
const flat = blocks.flat();
|
|
6329
6381
|
if (flat.length === 0) return "false";
|
|
6330
6382
|
if (flat.length === 1) return `block != '${flat[0]}'`;
|
|
6331
6383
|
return `!(block in [${flat.map((b) => `'${b}'`).join(", ")}])`;
|
|
6332
6384
|
};
|
|
6333
|
-
|
|
6385
|
+
exprFn.equals = (field, value) => {
|
|
6334
6386
|
return `${field} == ${JSON.stringify(value)}`;
|
|
6335
6387
|
};
|
|
6336
|
-
|
|
6388
|
+
exprFn.fieldEquals = exprFn.equals;
|
|
6389
|
+
exprFn.notEquals = (field, value) => {
|
|
6337
6390
|
return `${field} != ${JSON.stringify(value)}`;
|
|
6338
6391
|
};
|
|
6339
|
-
|
|
6392
|
+
exprFn.fieldNotEquals = exprFn.notEquals;
|
|
6393
|
+
exprFn.in = (field, ...values) => {
|
|
6340
6394
|
const flat = values.flat();
|
|
6341
6395
|
return `${field} in [${flat.map((v) => JSON.stringify(v)).join(", ")}]`;
|
|
6342
6396
|
};
|
|
6343
|
-
|
|
6397
|
+
exprFn.fieldIn = exprFn.in;
|
|
6398
|
+
exprFn.notIn = (field, ...values) => {
|
|
6344
6399
|
const flat = values.flat();
|
|
6345
6400
|
return `!(${field} in [${flat.map((v) => JSON.stringify(v)).join(", ")}])`;
|
|
6346
6401
|
};
|
|
6347
|
-
|
|
6402
|
+
exprFn.fieldNotIn = exprFn.notIn;
|
|
6403
|
+
exprFn.notEmpty = (field) => {
|
|
6348
6404
|
return `${field} != null && ${field} != ''`;
|
|
6349
6405
|
};
|
|
6350
|
-
|
|
6406
|
+
exprFn.fieldNotEmpty = exprFn.notEmpty;
|
|
6407
|
+
exprFn.empty = (field) => {
|
|
6351
6408
|
return `${field} == null || ${field} == ''`;
|
|
6352
6409
|
};
|
|
6353
|
-
|
|
6410
|
+
exprFn.fieldEmpty = exprFn.empty;
|
|
6411
|
+
exprFn.isTrue = (field) => {
|
|
6354
6412
|
return `${field} == true`;
|
|
6355
6413
|
};
|
|
6356
|
-
|
|
6414
|
+
exprFn.fieldIsTrue = exprFn.isTrue;
|
|
6415
|
+
exprFn.isFalse = (field) => {
|
|
6357
6416
|
return `${field} != true`;
|
|
6358
6417
|
};
|
|
6359
|
-
|
|
6418
|
+
exprFn.fieldIsFalse = exprFn.isFalse;
|
|
6419
|
+
exprFn.greaterThan = (field, value) => {
|
|
6360
6420
|
return `${field} > ${value}`;
|
|
6361
6421
|
};
|
|
6362
|
-
|
|
6422
|
+
exprFn.fieldGreaterThan = exprFn.greaterThan;
|
|
6423
|
+
exprFn.greaterThanOrEqual = (field, value) => {
|
|
6363
6424
|
return `${field} >= ${value}`;
|
|
6364
6425
|
};
|
|
6365
|
-
|
|
6426
|
+
exprFn.fieldGreaterThanOrEqual = exprFn.greaterThanOrEqual;
|
|
6427
|
+
exprFn.lessThan = (field, value) => {
|
|
6366
6428
|
return `${field} < ${value}`;
|
|
6367
6429
|
};
|
|
6368
|
-
|
|
6430
|
+
exprFn.fieldLessThan = exprFn.lessThan;
|
|
6431
|
+
exprFn.lessThanOrEqual = (field, value) => {
|
|
6369
6432
|
return `${field} <= ${value}`;
|
|
6370
6433
|
};
|
|
6371
|
-
|
|
6434
|
+
exprFn.fieldLessThanOrEqual = exprFn.lessThanOrEqual;
|
|
6435
|
+
exprFn.between = (field, min2, max2) => {
|
|
6372
6436
|
return `${field} >= ${min2} && ${field} <= ${max2}`;
|
|
6373
6437
|
};
|
|
6374
|
-
|
|
6438
|
+
exprFn.fieldBetween = exprFn.between;
|
|
6439
|
+
exprFn.startsWith = (field, prefix) => {
|
|
6375
6440
|
return `startsWith(${field}, ${JSON.stringify(prefix)})`;
|
|
6376
6441
|
};
|
|
6377
|
-
|
|
6442
|
+
exprFn.fieldStartsWith = exprFn.startsWith;
|
|
6443
|
+
exprFn.endsWith = (field, suffix) => {
|
|
6378
6444
|
return `endsWith(${field}, ${JSON.stringify(suffix)})`;
|
|
6379
6445
|
};
|
|
6380
|
-
|
|
6446
|
+
exprFn.fieldEndsWith = exprFn.endsWith;
|
|
6447
|
+
exprFn.contains = (field, item) => {
|
|
6381
6448
|
return `includes(${field}, ${JSON.stringify(item)})`;
|
|
6382
6449
|
};
|
|
6383
|
-
|
|
6450
|
+
exprFn.fieldContains = exprFn.contains;
|
|
6451
|
+
exprFn.arrayNotEmpty = (field) => {
|
|
6384
6452
|
return `length(${field}) > 0`;
|
|
6385
6453
|
};
|
|
6386
|
-
|
|
6454
|
+
exprFn.arrayEmpty = (field) => {
|
|
6387
6455
|
return `length(${field}) == 0`;
|
|
6388
6456
|
};
|
|
6389
|
-
|
|
6457
|
+
exprFn.arrayCountGreaterThan = (field, count2) => {
|
|
6390
6458
|
return `length(${field}) > ${count2}`;
|
|
6391
6459
|
};
|
|
6392
|
-
|
|
6460
|
+
exprFn.arrayCountAtLeast = (field, count2) => {
|
|
6393
6461
|
return `length(${field}) >= ${count2}`;
|
|
6394
6462
|
};
|
|
6395
|
-
|
|
6463
|
+
exprFn.arrayCountLessThan = (field, count2) => {
|
|
6396
6464
|
return `length(${field}) < ${count2}`;
|
|
6397
6465
|
};
|
|
6398
|
-
|
|
6466
|
+
exprFn.userRole = (...roles) => {
|
|
6399
6467
|
const flat = roles.flat();
|
|
6400
6468
|
if (flat.length === 1) {
|
|
6401
6469
|
return `user.role == '${flat[0]}' || (user.roles != null && '${flat[0]}' in user.roles)`;
|
|
@@ -6403,29 +6471,30 @@ function createWhen() {
|
|
|
6403
6471
|
const roleArray = `[${flat.map((r) => `'${r}'`).join(", ")}]`;
|
|
6404
6472
|
return `user.role in ${roleArray} || (user.roles != null && includes(${roleArray}, user.role))`;
|
|
6405
6473
|
};
|
|
6406
|
-
|
|
6474
|
+
exprFn.userEmailDomain = (domain) => {
|
|
6407
6475
|
const clean = domain.startsWith("@") ? domain : `@${domain}`;
|
|
6408
6476
|
return `endsWith(user.email, '${clean}')`;
|
|
6409
6477
|
};
|
|
6410
|
-
|
|
6478
|
+
exprFn.userAttributeEquals = (attr, value) => {
|
|
6411
6479
|
return `user.${attr} == ${JSON.stringify(value)}`;
|
|
6412
6480
|
};
|
|
6413
|
-
|
|
6481
|
+
exprFn.isNewDocument = () => {
|
|
6414
6482
|
return "id == null";
|
|
6415
6483
|
};
|
|
6416
|
-
|
|
6484
|
+
exprFn.isExistingDocument = () => {
|
|
6417
6485
|
return "id != null";
|
|
6418
6486
|
};
|
|
6419
|
-
|
|
6487
|
+
exprFn.statusEquals = (status) => {
|
|
6420
6488
|
return `status == '${status}'`;
|
|
6421
6489
|
};
|
|
6422
|
-
|
|
6490
|
+
exprFn.statusIn = (...statuses) => {
|
|
6423
6491
|
const flat = statuses.flat();
|
|
6424
6492
|
return `status in [${flat.map((s) => `'${s}'`).join(", ")}]`;
|
|
6425
6493
|
};
|
|
6426
|
-
return
|
|
6494
|
+
return exprFn;
|
|
6427
6495
|
}
|
|
6428
|
-
var
|
|
6496
|
+
var expr = createExpr();
|
|
6497
|
+
var when = expr;
|
|
6429
6498
|
|
|
6430
6499
|
// src/index.ts
|
|
6431
6500
|
function defineCollection(config) {
|
|
@@ -6559,6 +6628,7 @@ function defineTab(args) {
|
|
|
6559
6628
|
evaluateJexlSync,
|
|
6560
6629
|
executeFieldAfterRead,
|
|
6561
6630
|
executeFieldBeforeChange,
|
|
6631
|
+
expr,
|
|
6562
6632
|
first,
|
|
6563
6633
|
floor,
|
|
6564
6634
|
formatConfigDiagnostics,
|