@effect-dynamodb/language-service 1.36.1 → 1.37.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/core/EntityResolver.d.ts +44 -0
- package/dist/core/EntityResolver.d.ts.map +1 -1
- package/dist/core/EntityResolver.js +156 -19
- package/dist/core/EntityResolver.js.map +1 -1
- package/dist/core/OperationDetector.js +13 -1
- package/dist/core/OperationDetector.js.map +1 -1
- package/dist/core/ParamsBuilder.d.ts +2 -0
- package/dist/core/ParamsBuilder.d.ts.map +1 -1
- package/dist/core/ParamsBuilder.js +195 -70
- package/dist/core/ParamsBuilder.js.map +1 -1
- package/dist/features/diagnostics.d.ts +2 -0
- package/dist/features/diagnostics.d.ts.map +1 -1
- package/dist/features/diagnostics.js +37 -7
- package/dist/features/diagnostics.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZORDER_KEY_PLACEHOLDER = void 0;
|
|
3
4
|
exports.buildParams = buildParams;
|
|
5
|
+
const EntityResolver_1 = require("./EntityResolver");
|
|
4
6
|
function buildParams(op) {
|
|
5
7
|
const { entity, type } = op;
|
|
6
8
|
switch (type) {
|
|
@@ -106,7 +108,16 @@ function buildQueryParams(entity, indexName, args) {
|
|
|
106
108
|
names["#pk"] = index.pk.field;
|
|
107
109
|
values[":pk"] = pkValue;
|
|
108
110
|
let keyCondition = "#pk = :pk";
|
|
109
|
-
|
|
111
|
+
// Mirrors `KeyComposer.composeSortKeyCondition`: a complete key is an exact
|
|
112
|
+
// `=` — `begins_with` on it would also match longer values (`seq: 3`
|
|
113
|
+
// matching 3.14) — and a partial prefix a terminated `begins_with`.
|
|
114
|
+
const pinned = (0, EntityResolver_1.isZOrderHalf)(index.sk) ? 0 : availableSkSlots(index, args).length;
|
|
115
|
+
if (skPrefix && pinned > 0 && pinned === index.sk.composite.length) {
|
|
116
|
+
names["#sk"] = index.sk.field;
|
|
117
|
+
values[":sk"] = skPrefix;
|
|
118
|
+
keyCondition += " AND #sk = :sk";
|
|
119
|
+
}
|
|
120
|
+
else if (skPrefix) {
|
|
110
121
|
names["#sk"] = index.sk.field;
|
|
111
122
|
values[":skPrefix"] = skPrefix;
|
|
112
123
|
keyCondition += " AND begins_with(#sk, :skPrefix)";
|
|
@@ -236,13 +247,61 @@ function serializeValue(value) {
|
|
|
236
247
|
if (typeof value === "string")
|
|
237
248
|
return value;
|
|
238
249
|
if (typeof value === "number")
|
|
239
|
-
return
|
|
250
|
+
return encodeNumber(value);
|
|
240
251
|
if (typeof value === "bigint")
|
|
241
|
-
return
|
|
252
|
+
return encodeBigInt(value);
|
|
242
253
|
if (typeof value === "boolean")
|
|
243
254
|
return value ? "true" : "false";
|
|
244
255
|
return String(value);
|
|
245
256
|
}
|
|
257
|
+
// Mirrors `@effect-dynamodb/schema/internal/NumericKey.ts`, which documents the
|
|
258
|
+
// format: numeric key text that sorts in numeric order, keeping the zero-padded
|
|
259
|
+
// text of a non-negative integer below the pad width. A hover never throws, so
|
|
260
|
+
// what the library refuses (`NaN`, a bigint past 1,000 digits) is shown as is.
|
|
261
|
+
/** `x = 0.<digits> × 10^point` for the shortest round-trip decimal of positive `x`. */
|
|
262
|
+
function decimalOf(x) {
|
|
263
|
+
const [mantissa = "", exponent = "0"] = String(x).split("e");
|
|
264
|
+
const [int = "", frac = ""] = mantissa.split(".");
|
|
265
|
+
const all = `${int}${frac}`;
|
|
266
|
+
const significant = all.replace(/^0+/, "");
|
|
267
|
+
return {
|
|
268
|
+
digits: significant.replace(/0+$/, ""),
|
|
269
|
+
point: int.length + Number(exponent) - (all.length - significant.length),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
function magnitude(digits, point, width) {
|
|
273
|
+
if (point > width)
|
|
274
|
+
return `:${String(point - 1).padStart(3, "0")}${digits}`;
|
|
275
|
+
const int = point <= 0 ? "" : digits.slice(0, point).padEnd(point, "0");
|
|
276
|
+
const frac = `${"0".repeat(Math.max(0, -point))}${digits.slice(Math.max(0, point))}`;
|
|
277
|
+
return `${int.padStart(width, "0")}${frac === "" ? "" : `.${frac}`}`;
|
|
278
|
+
}
|
|
279
|
+
function negate(text) {
|
|
280
|
+
const complement = (t) => t.replace(/[0-9]/g, (digit) => String(9 - Number(digit)));
|
|
281
|
+
return text.startsWith(":") ? `-*${complement(text.slice(1))}:` : `-${complement(text)}:`;
|
|
282
|
+
}
|
|
283
|
+
function encodeNumber(n) {
|
|
284
|
+
if (Number.isNaN(n))
|
|
285
|
+
return String(n);
|
|
286
|
+
if (n === Number.POSITIVE_INFINITY)
|
|
287
|
+
return ";";
|
|
288
|
+
if (n === Number.NEGATIVE_INFINITY)
|
|
289
|
+
return "-)";
|
|
290
|
+
if (n === 0)
|
|
291
|
+
return "0".repeat(16);
|
|
292
|
+
const { digits, point } = decimalOf(Math.abs(n));
|
|
293
|
+
const text = magnitude(digits, point, 16);
|
|
294
|
+
return n < 0 ? negate(text) : text;
|
|
295
|
+
}
|
|
296
|
+
function encodeBigInt(n) {
|
|
297
|
+
if (n === 0n)
|
|
298
|
+
return "0".repeat(38);
|
|
299
|
+
const abs = (n < 0n ? -n : n).toString();
|
|
300
|
+
if (abs.length > 1000)
|
|
301
|
+
return String(n);
|
|
302
|
+
const text = magnitude(abs.replace(/0+$/, ""), abs.length, 38);
|
|
303
|
+
return n < 0n ? negate(text) : text;
|
|
304
|
+
}
|
|
246
305
|
function formatComposites(slots, casing) {
|
|
247
306
|
return slots.map((slot) => `${applyCasing(slot.name, casing)}_${slot.placeholder ? slot.value : applyCasing(slot.value, casing)}`);
|
|
248
307
|
}
|
|
@@ -274,8 +333,28 @@ function composeIsolatedSortKey(schema, entityType, entityVersion, slots, casing
|
|
|
274
333
|
...formatComposites(slots, effectiveCasing),
|
|
275
334
|
].join("#");
|
|
276
335
|
}
|
|
277
|
-
|
|
336
|
+
/**
|
|
337
|
+
* Mirrors `KeyComposer.sortKeyText`: a sort key composite's text cased, then
|
|
338
|
+
* each code point U+0000–U+0025 escaped as `%` and two hex digits (lower case
|
|
339
|
+
* under `"lowercase"` casing).
|
|
340
|
+
*/
|
|
341
|
+
function sortKeyText(text, casing) {
|
|
342
|
+
let escaped = "";
|
|
343
|
+
for (const char of applyCasing(text, casing)) {
|
|
344
|
+
const code = char.charCodeAt(0);
|
|
345
|
+
if (code > 0x25) {
|
|
346
|
+
escaped += char;
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
const hex = code.toString(16).padStart(2, "0");
|
|
350
|
+
escaped += `%${casing === "lowercase" ? hex : hex.toUpperCase()}`;
|
|
351
|
+
}
|
|
352
|
+
return escaped;
|
|
353
|
+
}
|
|
354
|
+
function composeSkFromSlots(schema, entityType, index, given) {
|
|
278
355
|
const entityVersion = 1;
|
|
356
|
+
const casing = index.casing ?? schema.casing;
|
|
357
|
+
const slots = given.map((slot) => slot.placeholder ? slot : { ...slot, value: sortKeyText(slot.value, casing) });
|
|
279
358
|
if (index.collection !== undefined) {
|
|
280
359
|
if ((index.type ?? "isolated") === "clustered") {
|
|
281
360
|
return composeClusteredSortKey(schema, index.collection, entityType, entityVersion, slots, index.casing);
|
|
@@ -293,7 +372,11 @@ function composePkValue(schema, entityType, index, record) {
|
|
|
293
372
|
}
|
|
294
373
|
return composeKey(schema, entityType, slots, index.casing);
|
|
295
374
|
}
|
|
375
|
+
/** What a Z-order sort key (#171) shows: its value is bytes, not text. */
|
|
376
|
+
exports.ZORDER_KEY_PLACEHOLDER = "<binary Z-order key>";
|
|
296
377
|
function composeSkValue(schema, entityType, index, record) {
|
|
378
|
+
if ((0, EntityResolver_1.isZOrderHalf)(index.sk))
|
|
379
|
+
return exports.ZORDER_KEY_PLACEHOLDER;
|
|
297
380
|
return composeSkFromSlots(schema, entityType, index, extractCompositeSlots(index.sk.composite, record));
|
|
298
381
|
}
|
|
299
382
|
/** Leading SK composites present in `record`, stopping at the first missing one. */
|
|
@@ -309,6 +392,9 @@ function availableSkSlots(index, record) {
|
|
|
309
392
|
}
|
|
310
393
|
/** Mirrors `KeyComposer.composeSortKeyPrefix` — the raw value, no trailing delimiter. */
|
|
311
394
|
function composeSkPrefixValue(schema, entityType, index, record) {
|
|
395
|
+
// A Z-order sort key has no text prefix.
|
|
396
|
+
if ((0, EntityResolver_1.isZOrderHalf)(index.sk))
|
|
397
|
+
return "";
|
|
312
398
|
return composeSkFromSlots(schema, entityType, index, availableSkSlots(index, record));
|
|
313
399
|
}
|
|
314
400
|
/**
|
|
@@ -317,10 +403,36 @@ function composeSkPrefixValue(schema, entityType, index, record) {
|
|
|
317
403
|
* `status_done_archived`.
|
|
318
404
|
*/
|
|
319
405
|
function composeSkBeginsWithValue(schema, entityType, index, record) {
|
|
406
|
+
// A Z-order sort key has no text prefix.
|
|
407
|
+
if ((0, EntityResolver_1.isZOrderHalf)(index.sk))
|
|
408
|
+
return "";
|
|
320
409
|
const slots = availableSkSlots(index, record);
|
|
321
410
|
const prefix = composeSkFromSlots(schema, entityType, index, slots);
|
|
322
411
|
return slots.length === index.sk.composite.length ? prefix : `${prefix}#`;
|
|
323
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* The sort key condition an accessor sends for the composites it is given —
|
|
415
|
+
* mirrors the library's accessor (`KeyComposer.composeSortKeyCondition`): none
|
|
416
|
+
* when no composite is given (or the key is Z-order), `=` on the complete key
|
|
417
|
+
* when every one is, and a terminated `begins_with` on a leading prefix.
|
|
418
|
+
*/
|
|
419
|
+
function accessorSkCondition(schema, entityType, index, args) {
|
|
420
|
+
if ((0, EntityResolver_1.isZOrderHalf)(index.sk))
|
|
421
|
+
return undefined;
|
|
422
|
+
if (!index.sk.composite.some((attr) => args[attr] !== undefined))
|
|
423
|
+
return undefined;
|
|
424
|
+
return index.sk.composite.every((attr) => args[attr] !== undefined)
|
|
425
|
+
? {
|
|
426
|
+
keyCondition: " AND #sk = :sk",
|
|
427
|
+
name: index.sk.field,
|
|
428
|
+
value: [":sk", composeSkValue(schema, entityType, index, args)],
|
|
429
|
+
}
|
|
430
|
+
: {
|
|
431
|
+
keyCondition: " AND begins_with(#sk, :skPrefix)",
|
|
432
|
+
name: index.sk.field,
|
|
433
|
+
value: [":skPrefix", composeSkBeginsWithValue(schema, entityType, index, args)],
|
|
434
|
+
};
|
|
435
|
+
}
|
|
324
436
|
function composePrimaryKey(entity, index, args) {
|
|
325
437
|
return {
|
|
326
438
|
[index.pk.field]: composePkValue(entity.schema, entity.entityType, index, args),
|
|
@@ -355,14 +467,21 @@ function buildEntityAccessorParams(entity, collection, collectionName, args) {
|
|
|
355
467
|
`Query accessor '${collectionName}'`,
|
|
356
468
|
` Index: ${collection.index} (collection: ${collection.collectionName}, ${collection.type})`,
|
|
357
469
|
` PK: ${pkComposites} (required)`,
|
|
358
|
-
skComposites ? ` SK: ${skComposites} (optional begins_with)` : undefined,
|
|
470
|
+
skComposites ? ` SK: ${skComposites} (optional: begins_with, or = when all given)` : undefined,
|
|
359
471
|
` Returns: BoundQuery<${entity.entityType}>`,
|
|
360
472
|
]
|
|
361
473
|
.filter(Boolean)
|
|
362
474
|
.join("\n");
|
|
363
475
|
// Build actual query params if we have arguments
|
|
364
476
|
if (args && entity.schema) {
|
|
365
|
-
|
|
477
|
+
// The entity's own index, when it declares the collection: it carries
|
|
478
|
+
// what the collection doesn't — every collection of a sub-collection
|
|
479
|
+
// path, which a clustered key spells out, and an index-level casing.
|
|
480
|
+
const own = Object.values(entity.indexes).find((index) => index.index === collection.index &&
|
|
481
|
+
(typeof index.collection === "string"
|
|
482
|
+
? [index.collection]
|
|
483
|
+
: (index.collection ?? [])).includes(collection.collectionName));
|
|
484
|
+
const indexDef = own ?? {
|
|
366
485
|
index: collection.index,
|
|
367
486
|
collection: collection.collectionName,
|
|
368
487
|
type: collection.type,
|
|
@@ -375,11 +494,18 @@ function buildEntityAccessorParams(entity, collection, collectionName, args) {
|
|
|
375
494
|
const pkValue = composePkValue(entity.schema, entity.entityType, indexDef, args);
|
|
376
495
|
const names = { "#pk": indexDef.pk.field };
|
|
377
496
|
const values = { ":pk": pkValue };
|
|
497
|
+
let keyCondition = "#pk = :pk";
|
|
498
|
+
const sk = accessorSkCondition(entity.schema, entity.entityType, indexDef, args);
|
|
499
|
+
if (sk) {
|
|
500
|
+
names["#sk"] = sk.name;
|
|
501
|
+
values[sk.value[0]] = sk.value[1];
|
|
502
|
+
keyCondition += sk.keyCondition;
|
|
503
|
+
}
|
|
378
504
|
return {
|
|
379
505
|
command: "QueryCommand",
|
|
380
506
|
TableName: "<table>",
|
|
381
507
|
IndexName: collection.index,
|
|
382
|
-
KeyConditionExpression:
|
|
508
|
+
KeyConditionExpression: keyCondition,
|
|
383
509
|
ExpressionAttributeNames: names,
|
|
384
510
|
ExpressionAttributeValues: values,
|
|
385
511
|
entityType: entity.entityType,
|
|
@@ -414,11 +540,16 @@ function buildEntityIndexAccessorParams(entity, indexName, args, whereCondition)
|
|
|
414
540
|
}
|
|
415
541
|
const pkComposites = indexDef.pk.composite.join(", ");
|
|
416
542
|
const skComposites = indexDef.sk.composite.join(", ");
|
|
543
|
+
const zorder = (0, EntityResolver_1.isZOrderHalf)(indexDef.sk);
|
|
417
544
|
const info = [
|
|
418
545
|
`Query accessor '${indexName}'`,
|
|
419
546
|
` Index: ${indexDef.index ?? "primary"} (isolated)`,
|
|
420
547
|
` PK: ${pkComposites} (required)`,
|
|
421
|
-
|
|
548
|
+
zorder
|
|
549
|
+
? ` SK: ${exports.ZORDER_KEY_PLACEHOLDER} over ${skComposites} (bound with .within())`
|
|
550
|
+
: skComposites
|
|
551
|
+
? ` SK: ${skComposites} (optional: begins_with, or = when all given)`
|
|
552
|
+
: undefined,
|
|
422
553
|
` Returns: BoundQuery<${entity.entityType}>`,
|
|
423
554
|
]
|
|
424
555
|
.filter(Boolean)
|
|
@@ -433,68 +564,62 @@ function buildEntityIndexAccessorParams(entity, indexName, args, whereCondition)
|
|
|
433
564
|
const mergedArgs = whereCondition
|
|
434
565
|
? { ...args, [whereCondition.field]: whereCondition.value }
|
|
435
566
|
: args;
|
|
436
|
-
//
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
values[":skPrefix"] = composeSkBeginsWithValue(entity.schema, entity.entityType, indexDef, mergedArgs);
|
|
496
|
-
keyCondition += " AND begins_with(#sk, :skPrefix)";
|
|
497
|
-
}
|
|
567
|
+
// Without `.where()`: the accessor's own condition — none, `=` on a
|
|
568
|
+
// complete key, or a terminated `begins_with`.
|
|
569
|
+
const sk = whereCondition
|
|
570
|
+
? undefined
|
|
571
|
+
: accessorSkCondition(entity.schema, entity.entityType, indexDef, args);
|
|
572
|
+
if (sk) {
|
|
573
|
+
names["#sk"] = sk.name;
|
|
574
|
+
values[sk.value[0]] = sk.value[1];
|
|
575
|
+
keyCondition += sk.keyCondition;
|
|
576
|
+
}
|
|
577
|
+
// `.where()` bounds the composite after the pinned ones. An approximation:
|
|
578
|
+
// the library's `composeRangeUnder` also pushes an inclusive upper bound
|
|
579
|
+
// past a non-last composite's subtree and clamps under pinned composites.
|
|
580
|
+
const skPrefix = whereCondition &&
|
|
581
|
+
!zorder &&
|
|
582
|
+
indexDef.sk.composite.some((attr) => mergedArgs[attr] !== undefined)
|
|
583
|
+
? composeSkPrefixValue(entity.schema, entity.entityType, indexDef, mergedArgs)
|
|
584
|
+
: "";
|
|
585
|
+
if (whereCondition && skPrefix) {
|
|
586
|
+
names["#sk"] = indexDef.sk.field;
|
|
587
|
+
switch (whereCondition.op) {
|
|
588
|
+
case "beginsWith":
|
|
589
|
+
values[":skPrefix"] = composeSkBeginsWithValue(entity.schema, entity.entityType, indexDef, mergedArgs);
|
|
590
|
+
keyCondition += " AND begins_with(#sk, :skPrefix)";
|
|
591
|
+
break;
|
|
592
|
+
case "eq":
|
|
593
|
+
values[":sk"] = skPrefix;
|
|
594
|
+
keyCondition += " AND #sk = :sk";
|
|
595
|
+
break;
|
|
596
|
+
case "gt":
|
|
597
|
+
values[":sk"] = skPrefix;
|
|
598
|
+
keyCondition += " AND #sk > :sk";
|
|
599
|
+
break;
|
|
600
|
+
case "gte":
|
|
601
|
+
values[":sk"] = skPrefix;
|
|
602
|
+
keyCondition += " AND #sk >= :sk";
|
|
603
|
+
break;
|
|
604
|
+
case "lt":
|
|
605
|
+
values[":sk"] = skPrefix;
|
|
606
|
+
keyCondition += " AND #sk < :sk";
|
|
607
|
+
break;
|
|
608
|
+
case "lte":
|
|
609
|
+
values[":sk"] = skPrefix;
|
|
610
|
+
keyCondition += " AND #sk <= :sk";
|
|
611
|
+
break;
|
|
612
|
+
case "between": {
|
|
613
|
+
const skPrefix2 = whereCondition.value2
|
|
614
|
+
? composeSkPrefixValue(entity.schema, entity.entityType, indexDef, {
|
|
615
|
+
...args,
|
|
616
|
+
[whereCondition.field]: whereCondition.value2,
|
|
617
|
+
})
|
|
618
|
+
: skPrefix;
|
|
619
|
+
values[":skLow"] = skPrefix;
|
|
620
|
+
values[":skHigh"] = skPrefix2 ?? skPrefix;
|
|
621
|
+
keyCondition += " AND #sk BETWEEN :skLow AND :skHigh";
|
|
622
|
+
break;
|
|
498
623
|
}
|
|
499
624
|
}
|
|
500
625
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParamsBuilder.js","sourceRoot":"","sources":["../../src/core/ParamsBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ParamsBuilder.js","sourceRoot":"","sources":["../../src/core/ParamsBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export declare const DiagnosticCode: {
|
|
|
14
14
|
readonly UNKNOWN_QUERY_PROPERTY: 9006;
|
|
15
15
|
/** DynamoModel.configure: field rename target collides with existing model field */
|
|
16
16
|
readonly FIELD_RENAME_COLLISION: 9007;
|
|
17
|
+
/** Query accessor: a Z-order sort key field passed as an accessor composite (#171) */
|
|
18
|
+
readonly ZORDER_FIELD_IN_ACCESSOR: 9093;
|
|
17
19
|
};
|
|
18
20
|
export declare function getDiagnostics(typescript: typeof ts, info: ts.server.PluginCreateInfo, fileName: string, prior: ts.Diagnostic[]): ts.Diagnostic[];
|
|
19
21
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/features/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/features/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAgBhC,eAAO,MAAM,cAAc;IACzB,0EAA0E;;IAE1E,2EAA2E;;IAE3E,8GAA8G;;IAE9G,4DAA4D;;IAE5D,4EAA4E;;IAE5E,sDAAsD;;IAEtD,oFAAoF;;IAEpF,sFAAsF;;CAE9E,CAAA;AAMV,wBAAgB,cAAc,CAC5B,UAAU,EAAE,OAAO,EAAE,EACrB,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,GACrB,EAAE,CAAC,UAAU,EAAE,CAwBjB"}
|
|
@@ -21,6 +21,8 @@ exports.DiagnosticCode = {
|
|
|
21
21
|
UNKNOWN_QUERY_PROPERTY: 9006,
|
|
22
22
|
/** DynamoModel.configure: field rename target collides with existing model field */
|
|
23
23
|
FIELD_RENAME_COLLISION: 9007,
|
|
24
|
+
/** Query accessor: a Z-order sort key field passed as an accessor composite (#171) */
|
|
25
|
+
ZORDER_FIELD_IN_ACCESSOR: 9093,
|
|
24
26
|
};
|
|
25
27
|
// ---------------------------------------------------------------------------
|
|
26
28
|
// Main diagnostic entry point
|
|
@@ -115,11 +117,12 @@ function validateConfigureCalls(ts, sourceFile, program) {
|
|
|
115
117
|
// ---------------------------------------------------------------------------
|
|
116
118
|
function validateEntityMakeCalls(ts, sourceFile, program) {
|
|
117
119
|
const diagnostics = [];
|
|
120
|
+
const lookup = (0, EntityResolver_1.makeLookup)(ts, sourceFile, program);
|
|
118
121
|
ts.forEachChild(sourceFile, function visit(node) {
|
|
119
122
|
if (ts.isVariableStatement(node)) {
|
|
120
123
|
for (const decl of node.declarationList.declarations) {
|
|
121
124
|
if (decl.initializer && ts.isIdentifier(decl.name)) {
|
|
122
|
-
const diags = tryValidateEntityMake(ts, sourceFile, decl.initializer, program);
|
|
125
|
+
const diags = tryValidateEntityMake(ts, sourceFile, decl.initializer, program, lookup);
|
|
123
126
|
diagnostics.push(...diags);
|
|
124
127
|
}
|
|
125
128
|
}
|
|
@@ -128,7 +131,7 @@ function validateEntityMakeCalls(ts, sourceFile, program) {
|
|
|
128
131
|
});
|
|
129
132
|
return diagnostics;
|
|
130
133
|
}
|
|
131
|
-
function tryValidateEntityMake(ts, sourceFile, expr, program) {
|
|
134
|
+
function tryValidateEntityMake(ts, sourceFile, expr, program, lookup) {
|
|
132
135
|
if (!ts.isCallExpression(expr))
|
|
133
136
|
return [];
|
|
134
137
|
const callee = expr.expression;
|
|
@@ -177,7 +180,7 @@ function tryValidateEntityMake(ts, sourceFile, expr, program) {
|
|
|
177
180
|
}
|
|
178
181
|
// Validate GSI indexes
|
|
179
182
|
if (indexesNode && ts.isObjectLiteralExpression(indexesNode)) {
|
|
180
|
-
diagnostics.push(...validateGsiIndexes(ts, sourceFile, entityType, indexesNode, modelFields));
|
|
183
|
+
diagnostics.push(...validateGsiIndexes(ts, sourceFile, entityType, indexesNode, modelFields, lookup));
|
|
181
184
|
}
|
|
182
185
|
return diagnostics;
|
|
183
186
|
}
|
|
@@ -230,7 +233,7 @@ function validatePrimaryKey(ts, sourceFile, entityType, pkNode, modelFields) {
|
|
|
230
233
|
}
|
|
231
234
|
return diagnostics;
|
|
232
235
|
}
|
|
233
|
-
function validateGsiIndexes(ts, sourceFile, entityType, indexesNode, modelFields) {
|
|
236
|
+
function validateGsiIndexes(ts, sourceFile, entityType, indexesNode, modelFields, lookup) {
|
|
234
237
|
const diagnostics = [];
|
|
235
238
|
for (const prop of indexesNode.properties) {
|
|
236
239
|
if (!ts.isPropertyAssignment(prop) || !ts.isIdentifier(prop.name))
|
|
@@ -281,6 +284,11 @@ function validateGsiIndexes(ts, sourceFile, entityType, indexesNode, modelFields
|
|
|
281
284
|
skCompositeNode = skProp.initializer;
|
|
282
285
|
}
|
|
283
286
|
}
|
|
287
|
+
// A Z-order sort key (#171): its prefix composites and dimensions
|
|
288
|
+
// are the fields it reads.
|
|
289
|
+
const zorder = (0, EntityResolver_1.resolveZOrderFields)(ts, idxProp.initializer, lookup);
|
|
290
|
+
if (zorder !== undefined)
|
|
291
|
+
skCompositeAttrs = [...zorder.prefix, ...zorder.dimensions];
|
|
284
292
|
}
|
|
285
293
|
break;
|
|
286
294
|
}
|
|
@@ -341,7 +349,9 @@ function tryValidateQueryChain(ts, sourceFile, callExpr, entities) {
|
|
|
341
349
|
const filterKey = filterProp.name.text;
|
|
342
350
|
const skIdx = rootInfo.skComposites.indexOf(filterKey);
|
|
343
351
|
if (skIdx !== -1) {
|
|
344
|
-
diagnostics.push(makeDiagnostic(sourceFile, filterProp.name, exports.DiagnosticCode.SK_IN_FILTER,
|
|
352
|
+
diagnostics.push(makeDiagnostic(sourceFile, filterProp.name, exports.DiagnosticCode.SK_IN_FILTER, rootInfo.zorder
|
|
353
|
+
? `\`${filterKey}\` feeds the Z-order sort key of index \`${rootInfo.indexName}\` — bound it with \`.within()\` to read only the matching key ranges instead of post-read \`.filter()\`.`
|
|
354
|
+
: `\`${filterKey}\` is a sort key composite for index \`${rootInfo.indexName}\` — include it in the query input, or bound it with \`.within()\`, for efficient key-based filtering instead of post-read \`.filter()\`.`, ts.DiagnosticCategory.Warning));
|
|
345
355
|
}
|
|
346
356
|
}
|
|
347
357
|
}
|
|
@@ -394,6 +404,7 @@ function findQueryAccessorRoot(ts, expr, entities) {
|
|
|
394
404
|
entity,
|
|
395
405
|
indexName,
|
|
396
406
|
skComposites: indexDef.sk.composite,
|
|
407
|
+
zorder: (0, EntityResolver_1.isZOrderHalf)(indexDef.sk),
|
|
397
408
|
providedArgs,
|
|
398
409
|
};
|
|
399
410
|
}
|
|
@@ -409,7 +420,12 @@ function findQueryAccessorRoot(ts, expr, entities) {
|
|
|
409
420
|
combinator === "where" ||
|
|
410
421
|
combinator === "maxPages" ||
|
|
411
422
|
combinator === "startFrom" ||
|
|
412
|
-
combinator === "consistentRead"
|
|
423
|
+
combinator === "consistentRead" ||
|
|
424
|
+
combinator === "ignoreOwnership" ||
|
|
425
|
+
combinator === "filter" ||
|
|
426
|
+
combinator === "filterBy" ||
|
|
427
|
+
combinator === "onRequest" ||
|
|
428
|
+
combinator === "within") {
|
|
413
429
|
return findQueryAccessorRoot(ts, callee.expression, entities);
|
|
414
430
|
}
|
|
415
431
|
}
|
|
@@ -422,13 +438,27 @@ function findQueryAccessorRoot(ts, expr, entities) {
|
|
|
422
438
|
}
|
|
423
439
|
function validateQueryInput(ts, sourceFile, indexName, indexDef, queryArg) {
|
|
424
440
|
const diagnostics = [];
|
|
425
|
-
const validKeys = new Set([...indexDef.pk.composite, ...indexDef.sk.composite]);
|
|
426
441
|
const providedKeys = new Map();
|
|
427
442
|
for (const prop of queryArg.properties) {
|
|
428
443
|
if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name)) {
|
|
429
444
|
providedKeys.set(prop.name.text, prop.name);
|
|
430
445
|
}
|
|
431
446
|
}
|
|
447
|
+
// EDD-9093: a Z-order accessor takes the partition key composites only; its
|
|
448
|
+
// sort key's fields are bounded with `.within()` (#171).
|
|
449
|
+
if ((0, EntityResolver_1.isZOrderHalf)(indexDef.sk)) {
|
|
450
|
+
const zorderFields = new Set(indexDef.sk.composite);
|
|
451
|
+
for (const [key, node] of providedKeys) {
|
|
452
|
+
if (zorderFields.has(key)) {
|
|
453
|
+
diagnostics.push(makeDiagnostic(sourceFile, node, exports.DiagnosticCode.ZORDER_FIELD_IN_ACCESSOR, `\`${key}\` feeds the Z-order sort key of index \`${indexName}\`, so it can't be passed to the accessor. Pass the partition key composites (${indexDef.pk.composite.map((k) => `\`${k}\``).join(", ")}) and bound \`${key}\` with \`.within()\`.`, ts.DiagnosticCategory.Error));
|
|
454
|
+
}
|
|
455
|
+
else if (!indexDef.pk.composite.includes(key)) {
|
|
456
|
+
diagnostics.push(makeDiagnostic(sourceFile, node, exports.DiagnosticCode.UNKNOWN_QUERY_PROPERTY, `Unknown composite attribute \`${key}\` for index \`${indexName}\`. Valid attributes: ${indexDef.pk.composite.map((k) => `\`${k}\``).join(", ")}`, ts.DiagnosticCategory.Error));
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return diagnostics;
|
|
460
|
+
}
|
|
461
|
+
const validKeys = new Set([...indexDef.pk.composite, ...indexDef.sk.composite]);
|
|
432
462
|
// EDD-9006: Unknown properties
|
|
433
463
|
for (const [key, node] of providedKeys) {
|
|
434
464
|
if (!validKeys.has(key)) {
|