@infra-blocks/aws-dynamodb 0.14.0 → 0.15.0-alpha.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/lib/cjs/commands/expressions/expression.d.ts +10 -10
- package/lib/cjs/commands/expressions/expression.js +39 -39
- package/lib/cjs/commands/expressions/expression.js.map +1 -1
- package/lib/cjs/commands/put-item.js +5 -8
- package/lib/cjs/commands/put-item.js.map +1 -1
- package/lib/cjs/commands/query.js +5 -8
- package/lib/cjs/commands/query.js.map +1 -1
- package/lib/esm/commands/expressions/expression.d.ts +10 -10
- package/lib/esm/commands/expressions/expression.js +39 -39
- package/lib/esm/commands/expressions/expression.js.map +1 -1
- package/lib/esm/commands/put-item.js +5 -8
- package/lib/esm/commands/put-item.js.map +1 -1
- package/lib/esm/commands/query.js +5 -8
- package/lib/esm/commands/query.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,8 +2,8 @@ import type { AttributePath, AttributeType, AttributeValue } from "../../types.j
|
|
|
2
2
|
import type { AttributeNames } from "../attributes/names.js";
|
|
3
3
|
import type { AttributeValues } from "../attributes/values.js";
|
|
4
4
|
export type Stringifier = (params: {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
names: AttributeNames;
|
|
6
|
+
values: AttributeValues;
|
|
7
7
|
}) => string;
|
|
8
8
|
export interface ExpressionParams {
|
|
9
9
|
stringify: Stringifier;
|
|
@@ -26,8 +26,8 @@ export declare class Expression {
|
|
|
26
26
|
*/
|
|
27
27
|
or(other: Expression): Expression;
|
|
28
28
|
stringify(params: {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
names: AttributeNames;
|
|
30
|
+
values: AttributeValues;
|
|
31
31
|
}): string;
|
|
32
32
|
}
|
|
33
33
|
export declare function expression(params: ExpressionParams): Expression;
|
|
@@ -150,8 +150,8 @@ export declare abstract class Operand {
|
|
|
150
150
|
ne: (rhs: Operand) => Expression;
|
|
151
151
|
size(): Operand;
|
|
152
152
|
abstract substitute(params: {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
names: AttributeNames;
|
|
154
|
+
values: AttributeValues;
|
|
155
155
|
}): string;
|
|
156
156
|
}
|
|
157
157
|
export declare class ExpressionAttribute extends Operand {
|
|
@@ -169,8 +169,8 @@ export declare class ExpressionAttribute extends Operand {
|
|
|
169
169
|
isType(type: ExpressionValue<AttributeType>): Expression;
|
|
170
170
|
notExists(): Expression;
|
|
171
171
|
substitute(params: {
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
names: AttributeNames;
|
|
173
|
+
values: AttributeValues;
|
|
174
174
|
}): string;
|
|
175
175
|
}
|
|
176
176
|
export declare function attribute(path: AttributePath): ExpressionAttribute;
|
|
@@ -178,8 +178,8 @@ export declare class ExpressionValue<T extends AttributeValue> extends Operand {
|
|
|
178
178
|
private readonly value;
|
|
179
179
|
constructor(value: T);
|
|
180
180
|
substitute(params: {
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
names: AttributeNames;
|
|
182
|
+
values: AttributeValues;
|
|
183
183
|
}): string;
|
|
184
184
|
}
|
|
185
185
|
export declare function value<T extends AttributeValue = AttributeValue>(value: AttributeValue): ExpressionValue<T>;
|
|
@@ -20,9 +20,9 @@ class Expression {
|
|
|
20
20
|
*/
|
|
21
21
|
and(other) {
|
|
22
22
|
return new Expression({
|
|
23
|
-
stringify: ({
|
|
24
|
-
const left = this.stringify({
|
|
25
|
-
const right = other.stringify({
|
|
23
|
+
stringify: ({ names, values }) => {
|
|
24
|
+
const left = this.stringify({ names, values });
|
|
25
|
+
const right = other.stringify({ names, values });
|
|
26
26
|
return `(${left} AND ${right})`;
|
|
27
27
|
},
|
|
28
28
|
});
|
|
@@ -35,9 +35,9 @@ class Expression {
|
|
|
35
35
|
*/
|
|
36
36
|
or(other) {
|
|
37
37
|
return new Expression({
|
|
38
|
-
stringify: ({
|
|
39
|
-
const left = this.stringify({
|
|
40
|
-
const right = other.stringify({
|
|
38
|
+
stringify: ({ names, values }) => {
|
|
39
|
+
const left = this.stringify({ names, values });
|
|
40
|
+
const right = other.stringify({ names, values });
|
|
41
41
|
return `(${left} OR ${right})`;
|
|
42
42
|
},
|
|
43
43
|
});
|
|
@@ -58,8 +58,8 @@ function expression(params) {
|
|
|
58
58
|
*/
|
|
59
59
|
function not(expression) {
|
|
60
60
|
return new Expression({
|
|
61
|
-
stringify: ({
|
|
62
|
-
return `NOT (${expression.stringify({
|
|
61
|
+
stringify: ({ names, values }) => {
|
|
62
|
+
return `NOT (${expression.stringify({ names, values })})`;
|
|
63
63
|
},
|
|
64
64
|
});
|
|
65
65
|
}
|
|
@@ -68,8 +68,8 @@ class Operand {
|
|
|
68
68
|
// NOTE: both sides of this expression can either be attribute names or attribute values.
|
|
69
69
|
beginsWith(rhs) {
|
|
70
70
|
return expression({
|
|
71
|
-
stringify: ({
|
|
72
|
-
return `begins_with(${this.substitute({
|
|
71
|
+
stringify: ({ names, values }) => {
|
|
72
|
+
return `begins_with(${this.substitute({ names, values })}, ${rhs.substitute({ names, values })})`;
|
|
73
73
|
},
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -85,16 +85,16 @@ class Operand {
|
|
|
85
85
|
*/
|
|
86
86
|
between(lower, upper) {
|
|
87
87
|
return expression({
|
|
88
|
-
stringify: ({
|
|
89
|
-
return `${this.substitute({
|
|
88
|
+
stringify: ({ names, values }) => {
|
|
89
|
+
return `${this.substitute({ names, values })} BETWEEN ${lower.substitute({ names, values })} AND ${upper.substitute({ names, values })}`;
|
|
90
90
|
},
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
// NOTE: both sides of this expression can either be attribute names or attribute values.
|
|
94
94
|
contains(rhs) {
|
|
95
95
|
return expression({
|
|
96
|
-
stringify: ({
|
|
97
|
-
return `contains(${this.substitute({
|
|
96
|
+
stringify: ({ names, values }) => {
|
|
97
|
+
return `contains(${this.substitute({ names, values })}, ${rhs.substitute({ names, values })})`;
|
|
98
98
|
},
|
|
99
99
|
});
|
|
100
100
|
}
|
|
@@ -109,8 +109,8 @@ class Operand {
|
|
|
109
109
|
*/
|
|
110
110
|
equals(rhs) {
|
|
111
111
|
return expression({
|
|
112
|
-
stringify: ({
|
|
113
|
-
return `${this.substitute({
|
|
112
|
+
stringify: ({ names, values }) => {
|
|
113
|
+
return `${this.substitute({ names, values })} = ${rhs.substitute({ names, values })}`;
|
|
114
114
|
},
|
|
115
115
|
});
|
|
116
116
|
}
|
|
@@ -129,8 +129,8 @@ class Operand {
|
|
|
129
129
|
*/
|
|
130
130
|
greaterThan(rhs) {
|
|
131
131
|
return expression({
|
|
132
|
-
stringify: ({
|
|
133
|
-
return `${this.substitute({
|
|
132
|
+
stringify: ({ names, values }) => {
|
|
133
|
+
return `${this.substitute({ names, values })} > ${rhs.substitute({ names, values })}`;
|
|
134
134
|
},
|
|
135
135
|
});
|
|
136
136
|
}
|
|
@@ -145,8 +145,8 @@ class Operand {
|
|
|
145
145
|
*/
|
|
146
146
|
greaterThanOrEquals(rhs) {
|
|
147
147
|
return expression({
|
|
148
|
-
stringify: ({
|
|
149
|
-
return `${this.substitute({
|
|
148
|
+
stringify: ({ names, values }) => {
|
|
149
|
+
return `${this.substitute({ names, values })} >= ${rhs.substitute({ names, values })}`;
|
|
150
150
|
},
|
|
151
151
|
});
|
|
152
152
|
}
|
|
@@ -176,11 +176,11 @@ class Operand {
|
|
|
176
176
|
throw new Error(`up to 100 operands are support for the IN operator, got ${operands.length}`);
|
|
177
177
|
}
|
|
178
178
|
return expression({
|
|
179
|
-
stringify: ({
|
|
179
|
+
stringify: ({ names, values }) => {
|
|
180
180
|
const operandsString = operands
|
|
181
|
-
.map((operand) => operand.substitute({
|
|
181
|
+
.map((operand) => operand.substitute({ names, values }))
|
|
182
182
|
.join(",");
|
|
183
|
-
return `${this.substitute({
|
|
183
|
+
return `${this.substitute({ names, values })} IN (${operandsString})`;
|
|
184
184
|
},
|
|
185
185
|
});
|
|
186
186
|
}
|
|
@@ -195,8 +195,8 @@ class Operand {
|
|
|
195
195
|
*/
|
|
196
196
|
lowerThan(rhs) {
|
|
197
197
|
return expression({
|
|
198
|
-
stringify: ({
|
|
199
|
-
return `${this.substitute({
|
|
198
|
+
stringify: ({ names, values }) => {
|
|
199
|
+
return `${this.substitute({ names, values })} < ${rhs.substitute({ names, values })}`;
|
|
200
200
|
},
|
|
201
201
|
});
|
|
202
202
|
}
|
|
@@ -211,8 +211,8 @@ class Operand {
|
|
|
211
211
|
*/
|
|
212
212
|
lowerThanOrEquals(rhs) {
|
|
213
213
|
return expression({
|
|
214
|
-
stringify: ({
|
|
215
|
-
return `${this.substitute({
|
|
214
|
+
stringify: ({ names, values }) => {
|
|
215
|
+
return `${this.substitute({ names, values })} <= ${rhs.substitute({ names, values })}`;
|
|
216
216
|
},
|
|
217
217
|
});
|
|
218
218
|
}
|
|
@@ -235,8 +235,8 @@ class Operand {
|
|
|
235
235
|
*/
|
|
236
236
|
notEquals(rhs) {
|
|
237
237
|
return expression({
|
|
238
|
-
stringify: ({
|
|
239
|
-
return `${this.substitute({
|
|
238
|
+
stringify: ({ names, values }) => {
|
|
239
|
+
return `${this.substitute({ names, values })} <> ${rhs.substitute({ names, values })}`;
|
|
240
240
|
},
|
|
241
241
|
});
|
|
242
242
|
}
|
|
@@ -262,8 +262,8 @@ class ExpressionAttribute extends Operand {
|
|
|
262
262
|
// NOTE: the left hand side of this expression can only be a literal value (tested)
|
|
263
263
|
exists() {
|
|
264
264
|
return expression({
|
|
265
|
-
stringify: ({
|
|
266
|
-
return `attribute_exists(${this.substitute({
|
|
265
|
+
stringify: ({ names, values }) => {
|
|
266
|
+
return `attribute_exists(${this.substitute({ names, values })})`;
|
|
267
267
|
},
|
|
268
268
|
});
|
|
269
269
|
}
|
|
@@ -276,22 +276,22 @@ class ExpressionAttribute extends Operand {
|
|
|
276
276
|
// NOTE: the right hand side of this expression *must be* an expression attribute (not a literal).
|
|
277
277
|
isType(type) {
|
|
278
278
|
return expression({
|
|
279
|
-
stringify: ({
|
|
280
|
-
return `attribute_type(${this.substitute({
|
|
279
|
+
stringify: ({ names, values }) => {
|
|
280
|
+
return `attribute_type(${this.substitute({ names, values })}, ${type.substitute({ names, values })})`;
|
|
281
281
|
},
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
284
|
// NOTE: the left hand side of this expression can only be a literal value (tested)
|
|
285
285
|
notExists() {
|
|
286
286
|
return expression({
|
|
287
|
-
stringify: ({
|
|
288
|
-
return `attribute_not_exists(${this.substitute({
|
|
287
|
+
stringify: ({ names, values }) => {
|
|
288
|
+
return `attribute_not_exists(${this.substitute({ names, values })})`;
|
|
289
289
|
},
|
|
290
290
|
});
|
|
291
291
|
}
|
|
292
292
|
substitute(params) {
|
|
293
|
-
const {
|
|
294
|
-
return
|
|
293
|
+
const { names } = params;
|
|
294
|
+
return names.substitute(this.path);
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
297
|
exports.ExpressionAttribute = ExpressionAttribute;
|
|
@@ -305,8 +305,8 @@ class ExpressionValue extends Operand {
|
|
|
305
305
|
this.value = value;
|
|
306
306
|
}
|
|
307
307
|
substitute(params) {
|
|
308
|
-
const {
|
|
309
|
-
return
|
|
308
|
+
const { values } = params;
|
|
309
|
+
return values.reference(this.value).toString();
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
exports.ExpressionValue = ExpressionValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../src/commands/expressions/expression.ts"],"names":[],"mappings":";;;AAwEA,gCAEC;AAQD,kBAMC;
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../src/commands/expressions/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,18 +25,15 @@ class PutItem {
|
|
|
25
25
|
if (condition == null) {
|
|
26
26
|
return input;
|
|
27
27
|
}
|
|
28
|
-
const
|
|
29
|
-
const
|
|
28
|
+
const names = names_js_1.AttributeNames.create();
|
|
29
|
+
const values = values_js_1.AttributeValues.create();
|
|
30
30
|
// Ask the expression to stringify itself, applying the substitutions by itself.
|
|
31
|
-
const expression = condition.stringify({
|
|
32
|
-
attributeNames,
|
|
33
|
-
attributeValues,
|
|
34
|
-
});
|
|
31
|
+
const expression = condition.stringify({ names, values });
|
|
35
32
|
return {
|
|
36
33
|
...input,
|
|
37
34
|
ConditionExpression: expression,
|
|
38
|
-
ExpressionAttributeNames:
|
|
39
|
-
ExpressionAttributeValues:
|
|
35
|
+
ExpressionAttributeNames: names.getSubstitutions(),
|
|
36
|
+
ExpressionAttributeValues: values.getReferences(),
|
|
40
37
|
};
|
|
41
38
|
}
|
|
42
39
|
toAwsCommand() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AAEzE,oDAAuD;AACvD,sDAAyD;AAUzD,MAAa,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,4FAA4F;QAC5F,qBAAqB;QACrB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AAEzE,oDAAuD;AACvD,sDAAyD;AAUzD,MAAa,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,4FAA4F;QAC5F,qBAAqB;QACrB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,yBAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,2BAAe,CAAC,MAAM,EAAE,CAAC;QACxC,gFAAgF;QAChF,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,OAAO;YACL,GAAG,KAAK;YACR,mBAAmB,EAAE,UAAU;YAC/B,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAClD,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE;SAClD,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,yBAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAqB;QAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF;AA9CD,0BA8CC"}
|
|
@@ -17,18 +17,15 @@ class Query {
|
|
|
17
17
|
this.exclusiveStartKey = exclusiveStartKey;
|
|
18
18
|
}
|
|
19
19
|
toAwsCommandInput() {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const expression = this.condition.stringify({
|
|
23
|
-
attributeNames,
|
|
24
|
-
attributeValues,
|
|
25
|
-
});
|
|
20
|
+
const names = names_js_1.AttributeNames.create();
|
|
21
|
+
const values = values_js_1.AttributeValues.create();
|
|
22
|
+
const expression = this.condition.stringify({ names, values });
|
|
26
23
|
return {
|
|
27
24
|
TableName: this.table,
|
|
28
25
|
IndexName: this.index,
|
|
29
26
|
KeyConditionExpression: expression,
|
|
30
|
-
ExpressionAttributeNames:
|
|
31
|
-
ExpressionAttributeValues:
|
|
27
|
+
ExpressionAttributeNames: names.getSubstitutions(),
|
|
28
|
+
ExpressionAttributeValues: values.getReferences(),
|
|
32
29
|
ExclusiveStartKey: this.exclusiveStartKey,
|
|
33
30
|
};
|
|
34
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAE7E,oDAAuD;AACvD,sDAAyD;AAWzD,MAAa,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAE7E,oDAAuD;AACvD,sDAAyD;AAWzD,MAAa,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,KAAK,GAAG,yBAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,2BAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,sBAAsB,EAAE,UAAU;YAClC,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAClD,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE;YACjD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAmB;QAC7B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF;AAnCD,sBAmCC"}
|
|
@@ -2,8 +2,8 @@ import type { AttributePath, AttributeType, AttributeValue } from "../../types.j
|
|
|
2
2
|
import type { AttributeNames } from "../attributes/names.js";
|
|
3
3
|
import type { AttributeValues } from "../attributes/values.js";
|
|
4
4
|
export type Stringifier = (params: {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
names: AttributeNames;
|
|
6
|
+
values: AttributeValues;
|
|
7
7
|
}) => string;
|
|
8
8
|
export interface ExpressionParams {
|
|
9
9
|
stringify: Stringifier;
|
|
@@ -26,8 +26,8 @@ export declare class Expression {
|
|
|
26
26
|
*/
|
|
27
27
|
or(other: Expression): Expression;
|
|
28
28
|
stringify(params: {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
names: AttributeNames;
|
|
30
|
+
values: AttributeValues;
|
|
31
31
|
}): string;
|
|
32
32
|
}
|
|
33
33
|
export declare function expression(params: ExpressionParams): Expression;
|
|
@@ -150,8 +150,8 @@ export declare abstract class Operand {
|
|
|
150
150
|
ne: (rhs: Operand) => Expression;
|
|
151
151
|
size(): Operand;
|
|
152
152
|
abstract substitute(params: {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
names: AttributeNames;
|
|
154
|
+
values: AttributeValues;
|
|
155
155
|
}): string;
|
|
156
156
|
}
|
|
157
157
|
export declare class ExpressionAttribute extends Operand {
|
|
@@ -169,8 +169,8 @@ export declare class ExpressionAttribute extends Operand {
|
|
|
169
169
|
isType(type: ExpressionValue<AttributeType>): Expression;
|
|
170
170
|
notExists(): Expression;
|
|
171
171
|
substitute(params: {
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
names: AttributeNames;
|
|
173
|
+
values: AttributeValues;
|
|
174
174
|
}): string;
|
|
175
175
|
}
|
|
176
176
|
export declare function attribute(path: AttributePath): ExpressionAttribute;
|
|
@@ -178,8 +178,8 @@ export declare class ExpressionValue<T extends AttributeValue> extends Operand {
|
|
|
178
178
|
private readonly value;
|
|
179
179
|
constructor(value: T);
|
|
180
180
|
substitute(params: {
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
names: AttributeNames;
|
|
182
|
+
values: AttributeValues;
|
|
183
183
|
}): string;
|
|
184
184
|
}
|
|
185
185
|
export declare function value<T extends AttributeValue = AttributeValue>(value: AttributeValue): ExpressionValue<T>;
|
|
@@ -13,9 +13,9 @@ export class Expression {
|
|
|
13
13
|
*/
|
|
14
14
|
and(other) {
|
|
15
15
|
return new Expression({
|
|
16
|
-
stringify: ({
|
|
17
|
-
const left = this.stringify({
|
|
18
|
-
const right = other.stringify({
|
|
16
|
+
stringify: ({ names, values }) => {
|
|
17
|
+
const left = this.stringify({ names, values });
|
|
18
|
+
const right = other.stringify({ names, values });
|
|
19
19
|
return `(${left} AND ${right})`;
|
|
20
20
|
},
|
|
21
21
|
});
|
|
@@ -28,9 +28,9 @@ export class Expression {
|
|
|
28
28
|
*/
|
|
29
29
|
or(other) {
|
|
30
30
|
return new Expression({
|
|
31
|
-
stringify: ({
|
|
32
|
-
const left = this.stringify({
|
|
33
|
-
const right = other.stringify({
|
|
31
|
+
stringify: ({ names, values }) => {
|
|
32
|
+
const left = this.stringify({ names, values });
|
|
33
|
+
const right = other.stringify({ names, values });
|
|
34
34
|
return `(${left} OR ${right})`;
|
|
35
35
|
},
|
|
36
36
|
});
|
|
@@ -50,8 +50,8 @@ export function expression(params) {
|
|
|
50
50
|
*/
|
|
51
51
|
export function not(expression) {
|
|
52
52
|
return new Expression({
|
|
53
|
-
stringify: ({
|
|
54
|
-
return `NOT (${expression.stringify({
|
|
53
|
+
stringify: ({ names, values }) => {
|
|
54
|
+
return `NOT (${expression.stringify({ names, values })})`;
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
}
|
|
@@ -60,8 +60,8 @@ export class Operand {
|
|
|
60
60
|
// NOTE: both sides of this expression can either be attribute names or attribute values.
|
|
61
61
|
beginsWith(rhs) {
|
|
62
62
|
return expression({
|
|
63
|
-
stringify: ({
|
|
64
|
-
return `begins_with(${this.substitute({
|
|
63
|
+
stringify: ({ names, values }) => {
|
|
64
|
+
return `begins_with(${this.substitute({ names, values })}, ${rhs.substitute({ names, values })})`;
|
|
65
65
|
},
|
|
66
66
|
});
|
|
67
67
|
}
|
|
@@ -77,16 +77,16 @@ export class Operand {
|
|
|
77
77
|
*/
|
|
78
78
|
between(lower, upper) {
|
|
79
79
|
return expression({
|
|
80
|
-
stringify: ({
|
|
81
|
-
return `${this.substitute({
|
|
80
|
+
stringify: ({ names, values }) => {
|
|
81
|
+
return `${this.substitute({ names, values })} BETWEEN ${lower.substitute({ names, values })} AND ${upper.substitute({ names, values })}`;
|
|
82
82
|
},
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
// NOTE: both sides of this expression can either be attribute names or attribute values.
|
|
86
86
|
contains(rhs) {
|
|
87
87
|
return expression({
|
|
88
|
-
stringify: ({
|
|
89
|
-
return `contains(${this.substitute({
|
|
88
|
+
stringify: ({ names, values }) => {
|
|
89
|
+
return `contains(${this.substitute({ names, values })}, ${rhs.substitute({ names, values })})`;
|
|
90
90
|
},
|
|
91
91
|
});
|
|
92
92
|
}
|
|
@@ -101,8 +101,8 @@ export class Operand {
|
|
|
101
101
|
*/
|
|
102
102
|
equals(rhs) {
|
|
103
103
|
return expression({
|
|
104
|
-
stringify: ({
|
|
105
|
-
return `${this.substitute({
|
|
104
|
+
stringify: ({ names, values }) => {
|
|
105
|
+
return `${this.substitute({ names, values })} = ${rhs.substitute({ names, values })}`;
|
|
106
106
|
},
|
|
107
107
|
});
|
|
108
108
|
}
|
|
@@ -121,8 +121,8 @@ export class Operand {
|
|
|
121
121
|
*/
|
|
122
122
|
greaterThan(rhs) {
|
|
123
123
|
return expression({
|
|
124
|
-
stringify: ({
|
|
125
|
-
return `${this.substitute({
|
|
124
|
+
stringify: ({ names, values }) => {
|
|
125
|
+
return `${this.substitute({ names, values })} > ${rhs.substitute({ names, values })}`;
|
|
126
126
|
},
|
|
127
127
|
});
|
|
128
128
|
}
|
|
@@ -137,8 +137,8 @@ export class Operand {
|
|
|
137
137
|
*/
|
|
138
138
|
greaterThanOrEquals(rhs) {
|
|
139
139
|
return expression({
|
|
140
|
-
stringify: ({
|
|
141
|
-
return `${this.substitute({
|
|
140
|
+
stringify: ({ names, values }) => {
|
|
141
|
+
return `${this.substitute({ names, values })} >= ${rhs.substitute({ names, values })}`;
|
|
142
142
|
},
|
|
143
143
|
});
|
|
144
144
|
}
|
|
@@ -168,11 +168,11 @@ export class Operand {
|
|
|
168
168
|
throw new Error(`up to 100 operands are support for the IN operator, got ${operands.length}`);
|
|
169
169
|
}
|
|
170
170
|
return expression({
|
|
171
|
-
stringify: ({
|
|
171
|
+
stringify: ({ names, values }) => {
|
|
172
172
|
const operandsString = operands
|
|
173
|
-
.map((operand) => operand.substitute({
|
|
173
|
+
.map((operand) => operand.substitute({ names, values }))
|
|
174
174
|
.join(",");
|
|
175
|
-
return `${this.substitute({
|
|
175
|
+
return `${this.substitute({ names, values })} IN (${operandsString})`;
|
|
176
176
|
},
|
|
177
177
|
});
|
|
178
178
|
}
|
|
@@ -187,8 +187,8 @@ export class Operand {
|
|
|
187
187
|
*/
|
|
188
188
|
lowerThan(rhs) {
|
|
189
189
|
return expression({
|
|
190
|
-
stringify: ({
|
|
191
|
-
return `${this.substitute({
|
|
190
|
+
stringify: ({ names, values }) => {
|
|
191
|
+
return `${this.substitute({ names, values })} < ${rhs.substitute({ names, values })}`;
|
|
192
192
|
},
|
|
193
193
|
});
|
|
194
194
|
}
|
|
@@ -203,8 +203,8 @@ export class Operand {
|
|
|
203
203
|
*/
|
|
204
204
|
lowerThanOrEquals(rhs) {
|
|
205
205
|
return expression({
|
|
206
|
-
stringify: ({
|
|
207
|
-
return `${this.substitute({
|
|
206
|
+
stringify: ({ names, values }) => {
|
|
207
|
+
return `${this.substitute({ names, values })} <= ${rhs.substitute({ names, values })}`;
|
|
208
208
|
},
|
|
209
209
|
});
|
|
210
210
|
}
|
|
@@ -227,8 +227,8 @@ export class Operand {
|
|
|
227
227
|
*/
|
|
228
228
|
notEquals(rhs) {
|
|
229
229
|
return expression({
|
|
230
|
-
stringify: ({
|
|
231
|
-
return `${this.substitute({
|
|
230
|
+
stringify: ({ names, values }) => {
|
|
231
|
+
return `${this.substitute({ names, values })} <> ${rhs.substitute({ names, values })}`;
|
|
232
232
|
},
|
|
233
233
|
});
|
|
234
234
|
}
|
|
@@ -253,8 +253,8 @@ export class ExpressionAttribute extends Operand {
|
|
|
253
253
|
// NOTE: the left hand side of this expression can only be a literal value (tested)
|
|
254
254
|
exists() {
|
|
255
255
|
return expression({
|
|
256
|
-
stringify: ({
|
|
257
|
-
return `attribute_exists(${this.substitute({
|
|
256
|
+
stringify: ({ names, values }) => {
|
|
257
|
+
return `attribute_exists(${this.substitute({ names, values })})`;
|
|
258
258
|
},
|
|
259
259
|
});
|
|
260
260
|
}
|
|
@@ -267,22 +267,22 @@ export class ExpressionAttribute extends Operand {
|
|
|
267
267
|
// NOTE: the right hand side of this expression *must be* an expression attribute (not a literal).
|
|
268
268
|
isType(type) {
|
|
269
269
|
return expression({
|
|
270
|
-
stringify: ({
|
|
271
|
-
return `attribute_type(${this.substitute({
|
|
270
|
+
stringify: ({ names, values }) => {
|
|
271
|
+
return `attribute_type(${this.substitute({ names, values })}, ${type.substitute({ names, values })})`;
|
|
272
272
|
},
|
|
273
273
|
});
|
|
274
274
|
}
|
|
275
275
|
// NOTE: the left hand side of this expression can only be a literal value (tested)
|
|
276
276
|
notExists() {
|
|
277
277
|
return expression({
|
|
278
|
-
stringify: ({
|
|
279
|
-
return `attribute_not_exists(${this.substitute({
|
|
278
|
+
stringify: ({ names, values }) => {
|
|
279
|
+
return `attribute_not_exists(${this.substitute({ names, values })})`;
|
|
280
280
|
},
|
|
281
281
|
});
|
|
282
282
|
}
|
|
283
283
|
substitute(params) {
|
|
284
|
-
const {
|
|
285
|
-
return
|
|
284
|
+
const { names } = params;
|
|
285
|
+
return names.substitute(this.path);
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
export function attribute(path) {
|
|
@@ -295,8 +295,8 @@ export class ExpressionValue extends Operand {
|
|
|
295
295
|
this.value = value;
|
|
296
296
|
}
|
|
297
297
|
substitute(params) {
|
|
298
|
-
const {
|
|
299
|
-
return
|
|
298
|
+
const { values } = params;
|
|
299
|
+
return values.reference(this.value).toString();
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
302
|
export function value(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../src/commands/expressions/expression.ts"],"names":[],"mappings":"AAuBA,8JAA8J;AAC9J,MAAM,OAAO,UAAU;IACJ,WAAW,CAAc;IAE1C,YAAY,MAAwB;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAiB;QACnB,OAAO,IAAI,UAAU,CAAC;YACpB,SAAS,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../src/commands/expressions/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,18 +22,15 @@ export class PutItem {
|
|
|
22
22
|
if (condition == null) {
|
|
23
23
|
return input;
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
const
|
|
25
|
+
const names = AttributeNames.create();
|
|
26
|
+
const values = AttributeValues.create();
|
|
27
27
|
// Ask the expression to stringify itself, applying the substitutions by itself.
|
|
28
|
-
const expression = condition.stringify({
|
|
29
|
-
attributeNames,
|
|
30
|
-
attributeValues,
|
|
31
|
-
});
|
|
28
|
+
const expression = condition.stringify({ names, values });
|
|
32
29
|
return {
|
|
33
30
|
...input,
|
|
34
31
|
ConditionExpression: expression,
|
|
35
|
-
ExpressionAttributeNames:
|
|
36
|
-
ExpressionAttributeValues:
|
|
32
|
+
ExpressionAttributeNames: names.getSubstitutions(),
|
|
33
|
+
ExpressionAttributeValues: values.getReferences(),
|
|
37
34
|
};
|
|
38
35
|
}
|
|
39
36
|
toAwsCommand() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,MAAM,OAAO,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,4FAA4F;QAC5F,qBAAqB;QACrB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,MAAM,OAAO,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,4FAA4F;QAC5F,qBAAqB;QACrB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,gFAAgF;QAChF,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,OAAO;YACL,GAAG,KAAK;YACR,mBAAmB,EAAE,UAAU;YAC/B,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAClD,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE;SAClD,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAqB;QAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -14,18 +14,15 @@ export class Query {
|
|
|
14
14
|
this.exclusiveStartKey = exclusiveStartKey;
|
|
15
15
|
}
|
|
16
16
|
toAwsCommandInput() {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const expression = this.condition.stringify({
|
|
20
|
-
attributeNames,
|
|
21
|
-
attributeValues,
|
|
22
|
-
});
|
|
17
|
+
const names = AttributeNames.create();
|
|
18
|
+
const values = AttributeValues.create();
|
|
19
|
+
const expression = this.condition.stringify({ names, values });
|
|
23
20
|
return {
|
|
24
21
|
TableName: this.table,
|
|
25
22
|
IndexName: this.index,
|
|
26
23
|
KeyConditionExpression: expression,
|
|
27
|
-
ExpressionAttributeNames:
|
|
28
|
-
ExpressionAttributeValues:
|
|
24
|
+
ExpressionAttributeNames: names.getSubstitutions(),
|
|
25
|
+
ExpressionAttributeValues: values.getReferences(),
|
|
29
26
|
ExclusiveStartKey: this.exclusiveStartKey,
|
|
30
27
|
};
|
|
31
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAWzD,MAAM,OAAO,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAWzD,MAAM,OAAO,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,sBAAsB,EAAE,UAAU;YAClC,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAClD,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE;YACjD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAmB;QAC7B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF"}
|