@infra-blocks/aws-dynamodb 0.22.0-alpha.0 → 0.23.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.
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":";;;AAoCA,wBAEC;AAjCD,MAAa,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAnBD,oCAmBC;AAED;;;;;;;;GAQG;AAEH,SAAgB,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":";;;AAmCA,wBAEC;AAhCD,MAAa,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAnBD,oCAmBC;AAED;;;;;;;;GAQG;AACH,SAAgB,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -2,56 +2,30 @@ import type { AttributeNames } from "../../attributes/names.js";
2
2
  import type { AttributeValues } from "../../attributes/values.js";
3
3
  import type { AttributeOperand } from "../operands/name.js";
4
4
  import type { Operand } from "../operands/type.js";
5
- import type { IUpdateAction } from "./action.js";
5
+ import type { IUpdateAction, UpdateAction } from "./action.js";
6
6
  import type { UpdateExpressionClauses } from "./clauses.js";
7
7
  import type { IfNotExistsOperand } from "./if-not-exists.js";
8
- export type SetAction = SetTo | SetToPlus | SetToMinus;
9
8
  export type SetOperand = Operand | IfNotExistsOperand;
10
- export declare class SetTo implements IUpdateAction {
11
- private readonly path;
12
- private readonly operand;
13
- constructor(params: {
14
- path: AttributeOperand;
15
- operand: SetOperand;
16
- });
17
- plus(operand: SetOperand): SetToPlus;
18
- minus(operand: SetOperand): SetToMinus;
9
+ export type SetOperator = "+" | "-";
10
+ type SetActionParams = SetToParams | SetToExpressionParams;
11
+ type SetToParams = {
12
+ path: AttributeOperand;
13
+ operand: SetOperand;
14
+ };
15
+ type SetToExpressionParams = SetToParams & {
16
+ operator: SetOperator;
17
+ secondOperand: SetOperand;
18
+ };
19
+ export declare class SetAction implements IUpdateAction {
20
+ private readonly params;
21
+ private constructor();
19
22
  register(clauses: UpdateExpressionClauses): void;
20
23
  stringify(params: {
21
24
  names: AttributeNames;
22
25
  values: AttributeValues;
23
26
  }): string;
27
+ static from(params: SetActionParams): SetAction;
24
28
  }
25
- export declare class SetToPlus implements IUpdateAction {
26
- private readonly inner;
27
- private readonly operand;
28
- constructor(params: {
29
- inner: SetTo;
30
- operand: SetOperand;
31
- });
32
- register(clauses: UpdateExpressionClauses): void;
33
- stringify(params: {
34
- names: AttributeNames;
35
- values: AttributeValues;
36
- }): string;
37
- }
38
- export declare class SetToMinus implements IUpdateAction {
39
- private readonly inner;
40
- private readonly operand;
41
- constructor(params: {
42
- inner: SetTo;
43
- operand: SetOperand;
44
- });
45
- register(clauses: UpdateExpressionClauses): void;
46
- stringify(params: {
47
- names: AttributeNames;
48
- values: AttributeValues;
49
- }): string;
50
- }
51
- declare class SetToBuilder {
52
- private readonly path;
53
- constructor(path: AttributeOperand);
54
- to(operand: SetOperand): SetTo;
55
- }
56
- export declare function set(path: AttributeOperand): SetToBuilder;
29
+ export declare function set(path: AttributeOperand, operand: SetOperand): UpdateAction;
30
+ export declare function set(path: AttributeOperand, operand: SetOperand, operator: SetOperator, secondOperand: SetOperand): UpdateAction;
57
31
  export {};
@@ -1,86 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetToMinus = exports.SetToPlus = exports.SetTo = void 0;
3
+ exports.SetAction = void 0;
4
4
  exports.set = set;
5
- class SetTo {
6
- path;
7
- operand;
5
+ class SetAction {
6
+ params;
8
7
  constructor(params) {
9
- const { path, operand } = params;
10
- this.path = path;
11
- this.operand = operand;
12
- }
13
- plus(operand) {
14
- return new SetToPlus({ inner: this, operand });
15
- }
16
- minus(operand) {
17
- return new SetToMinus({ inner: this, operand });
18
- }
19
- register(clauses) {
20
- clauses.pushSetAction(this);
21
- }
22
- stringify(params) {
23
- const { names, values } = params;
24
- return `${this.path.substitute({ names })} = ${this.operand.substitute({
25
- names,
26
- values,
27
- })}`;
28
- }
29
- }
30
- exports.SetTo = SetTo;
31
- class SetToPlus {
32
- inner;
33
- operand;
34
- constructor(params) {
35
- const { inner, operand } = params;
36
- this.inner = inner;
37
- this.operand = operand;
8
+ this.params = params;
38
9
  }
39
10
  register(clauses) {
40
11
  clauses.pushSetAction(this);
41
12
  }
42
13
  stringify(params) {
43
14
  const { names, values } = params;
44
- return `${this.inner.stringify({ names, values })} + ${this.operand.substitute({
15
+ let result = `${this.params.path.substitute({ names })} = ${this.params.operand.substitute({
45
16
  names,
46
17
  values,
47
18
  })}`;
19
+ if ("operator" in this.params && this.params.operator != null) {
20
+ result += ` ${this.params.operator} ${this.params.secondOperand.substitute({
21
+ names,
22
+ values,
23
+ })}`;
24
+ }
25
+ return result;
48
26
  }
49
- }
50
- exports.SetToPlus = SetToPlus;
51
- class SetToMinus {
52
- inner;
53
- operand;
54
- constructor(params) {
55
- const { inner, operand } = params;
56
- this.inner = inner;
57
- this.operand = operand;
58
- }
59
- register(clauses) {
60
- clauses.pushSetAction(this);
61
- }
62
- stringify(params) {
63
- const { names, values } = params;
64
- return `${this.inner.stringify({ names, values })} - ${this.operand.substitute({
65
- names,
66
- values,
67
- })}`;
68
- }
69
- }
70
- exports.SetToMinus = SetToMinus;
71
- class SetToBuilder {
72
- path;
73
- constructor(path) {
74
- this.path = path;
75
- }
76
- to(operand) {
77
- return new SetTo({ path: this.path, operand });
27
+ static from(params) {
28
+ return new SetAction(params);
78
29
  }
79
30
  }
80
- // TODO: increment/decrement utilities built on top of the assignments.
81
- // TODO: review API for something more streamlined.... Imagine something like:
82
- // set(attribute(<name>), value(<value>)) or set(attribute(<name>), value(<first>), "+", value(<second>))
83
- function set(path) {
84
- return new SetToBuilder(path);
31
+ exports.SetAction = SetAction;
32
+ function set(path, operand, operator, secondOperand) {
33
+ return SetAction.from({
34
+ path,
35
+ operand,
36
+ operator,
37
+ secondOperand,
38
+ });
85
39
  }
86
40
  //# sourceMappingURL=set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":";;;AAsEA,kBAYC;AA1DD,MAAa,SAAS;IACH,MAAM,CAAkB;IAEzC,YAAoB,MAAuB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAGT;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CACxF;YACE,KAAK;YACL,MAAM;SACP,CACF,EAAE,CAAC;QACJ,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CACxE;gBACE,KAAK;gBACL,MAAM;aACP,CACF,EAAE,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AApCD,8BAoCC;AAUD,SAAgB,GAAG,CACjB,IAAsB,EACtB,OAAmB,EACnB,QAAsB,EACtB,aAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;GAQG;AAEH,MAAM,UAAU,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -2,56 +2,30 @@ import type { AttributeNames } from "../../attributes/names.js";
2
2
  import type { AttributeValues } from "../../attributes/values.js";
3
3
  import type { AttributeOperand } from "../operands/name.js";
4
4
  import type { Operand } from "../operands/type.js";
5
- import type { IUpdateAction } from "./action.js";
5
+ import type { IUpdateAction, UpdateAction } from "./action.js";
6
6
  import type { UpdateExpressionClauses } from "./clauses.js";
7
7
  import type { IfNotExistsOperand } from "./if-not-exists.js";
8
- export type SetAction = SetTo | SetToPlus | SetToMinus;
9
8
  export type SetOperand = Operand | IfNotExistsOperand;
10
- export declare class SetTo implements IUpdateAction {
11
- private readonly path;
12
- private readonly operand;
13
- constructor(params: {
14
- path: AttributeOperand;
15
- operand: SetOperand;
16
- });
17
- plus(operand: SetOperand): SetToPlus;
18
- minus(operand: SetOperand): SetToMinus;
9
+ export type SetOperator = "+" | "-";
10
+ type SetActionParams = SetToParams | SetToExpressionParams;
11
+ type SetToParams = {
12
+ path: AttributeOperand;
13
+ operand: SetOperand;
14
+ };
15
+ type SetToExpressionParams = SetToParams & {
16
+ operator: SetOperator;
17
+ secondOperand: SetOperand;
18
+ };
19
+ export declare class SetAction implements IUpdateAction {
20
+ private readonly params;
21
+ private constructor();
19
22
  register(clauses: UpdateExpressionClauses): void;
20
23
  stringify(params: {
21
24
  names: AttributeNames;
22
25
  values: AttributeValues;
23
26
  }): string;
27
+ static from(params: SetActionParams): SetAction;
24
28
  }
25
- export declare class SetToPlus implements IUpdateAction {
26
- private readonly inner;
27
- private readonly operand;
28
- constructor(params: {
29
- inner: SetTo;
30
- operand: SetOperand;
31
- });
32
- register(clauses: UpdateExpressionClauses): void;
33
- stringify(params: {
34
- names: AttributeNames;
35
- values: AttributeValues;
36
- }): string;
37
- }
38
- export declare class SetToMinus implements IUpdateAction {
39
- private readonly inner;
40
- private readonly operand;
41
- constructor(params: {
42
- inner: SetTo;
43
- operand: SetOperand;
44
- });
45
- register(clauses: UpdateExpressionClauses): void;
46
- stringify(params: {
47
- names: AttributeNames;
48
- values: AttributeValues;
49
- }): string;
50
- }
51
- declare class SetToBuilder {
52
- private readonly path;
53
- constructor(path: AttributeOperand);
54
- to(operand: SetOperand): SetTo;
55
- }
56
- export declare function set(path: AttributeOperand): SetToBuilder;
29
+ export declare function set(path: AttributeOperand, operand: SetOperand): UpdateAction;
30
+ export declare function set(path: AttributeOperand, operand: SetOperand, operator: SetOperator, secondOperand: SetOperand): UpdateAction;
57
31
  export {};
@@ -1,79 +1,35 @@
1
- export class SetTo {
2
- path;
3
- operand;
1
+ export class SetAction {
2
+ params;
4
3
  constructor(params) {
5
- const { path, operand } = params;
6
- this.path = path;
7
- this.operand = operand;
8
- }
9
- plus(operand) {
10
- return new SetToPlus({ inner: this, operand });
11
- }
12
- minus(operand) {
13
- return new SetToMinus({ inner: this, operand });
14
- }
15
- register(clauses) {
16
- clauses.pushSetAction(this);
17
- }
18
- stringify(params) {
19
- const { names, values } = params;
20
- return `${this.path.substitute({ names })} = ${this.operand.substitute({
21
- names,
22
- values,
23
- })}`;
24
- }
25
- }
26
- export class SetToPlus {
27
- inner;
28
- operand;
29
- constructor(params) {
30
- const { inner, operand } = params;
31
- this.inner = inner;
32
- this.operand = operand;
4
+ this.params = params;
33
5
  }
34
6
  register(clauses) {
35
7
  clauses.pushSetAction(this);
36
8
  }
37
9
  stringify(params) {
38
10
  const { names, values } = params;
39
- return `${this.inner.stringify({ names, values })} + ${this.operand.substitute({
11
+ let result = `${this.params.path.substitute({ names })} = ${this.params.operand.substitute({
40
12
  names,
41
13
  values,
42
14
  })}`;
15
+ if ("operator" in this.params && this.params.operator != null) {
16
+ result += ` ${this.params.operator} ${this.params.secondOperand.substitute({
17
+ names,
18
+ values,
19
+ })}`;
20
+ }
21
+ return result;
43
22
  }
44
- }
45
- export class SetToMinus {
46
- inner;
47
- operand;
48
- constructor(params) {
49
- const { inner, operand } = params;
50
- this.inner = inner;
51
- this.operand = operand;
52
- }
53
- register(clauses) {
54
- clauses.pushSetAction(this);
55
- }
56
- stringify(params) {
57
- const { names, values } = params;
58
- return `${this.inner.stringify({ names, values })} - ${this.operand.substitute({
59
- names,
60
- values,
61
- })}`;
62
- }
63
- }
64
- class SetToBuilder {
65
- path;
66
- constructor(path) {
67
- this.path = path;
68
- }
69
- to(operand) {
70
- return new SetTo({ path: this.path, operand });
23
+ static from(params) {
24
+ return new SetAction(params);
71
25
  }
72
26
  }
73
- // TODO: increment/decrement utilities built on top of the assignments.
74
- // TODO: review API for something more streamlined.... Imagine something like:
75
- // set(attribute(<name>), value(<value>)) or set(attribute(<name>), value(<first>), "+", value(<second>))
76
- export function set(path) {
77
- return new SetToBuilder(path);
27
+ export function set(path, operand, operator, secondOperand) {
28
+ return SetAction.from({
29
+ path,
30
+ operand,
31
+ operator,
32
+ secondOperand,
33
+ });
78
34
  }
79
35
  //# sourceMappingURL=set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,SAAS;IACH,MAAM,CAAkB;IAEzC,YAAoB,MAAuB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAGT;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CACxF;YACE,KAAK;YACL,MAAM;SACP,CACF,EAAE,CAAC;QACJ,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CACxE;gBACE,KAAK;gBACL,MAAM;aACP,CACF,EAAE,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAUD,MAAM,UAAU,GAAG,CACjB,IAAsB,EACtB,OAAmB,EACnB,QAAsB,EACtB,aAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infra-blocks/aws-dynamodb",
3
- "version": "0.22.0-alpha.0",
3
+ "version": "0.23.0-alpha.0",
4
4
  "description": "A convenience wrapper over @aws-sdk/client-dynamodb and @aws-sdk/lib-dynamodb.",
5
5
  "keywords": [
6
6
  "aws",