dynamo-document-builder 0.3.0 → 0.4.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.
@@ -102,6 +102,11 @@ function parseContainsExpression(map, expr) {
102
102
  const value = parseValueExpression(map, expr.substringOrElement);
103
103
  return `contains(${operand}, ${value})`;
104
104
  }
105
+ function parseSizeConditionExpression(map, expr) {
106
+ const operand = parseAttributePath(map, expr.operand);
107
+ const value = map.addValue(expr.value);
108
+ return `size(${operand}) ${expr.operator} ${value}`;
109
+ }
105
110
  function parseConditionExpression(map, expr) {
106
111
  if (!('type' in expr)) {
107
112
  throw new errors.DocumentBuilderError('Unknown condition expression');
@@ -125,6 +130,8 @@ function parseConditionExpression(map, expr) {
125
130
  return parseBeginsWithExpression(map, expr);
126
131
  case conditions_conditionSymbols.$contains:
127
132
  return parseContainsExpression(map, expr);
133
+ case conditions_conditionSymbols.$size:
134
+ return parseSizeConditionExpression(map, expr);
128
135
  default:
129
136
  throw new errors.DocumentBuilderError('Unknown expression type');
130
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condition-parser.cjs","sources":["../../src/conditions/condition-parser.ts"],"sourcesContent":[null],"names":["$size","DocumentBuilderError","$logical","$comparison","$between","$in","$not","$exists","$type","$beginsWith","$contains","isConditionSymbol","AttributeExpressionMap"],"mappings":"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"}
1
+ {"version":3,"file":"condition-parser.cjs","sources":["../../src/conditions/condition-parser.ts"],"sourcesContent":[null],"names":["$size","DocumentBuilderError","$logical","$comparison","$between","$in","$not","$exists","$type","$beginsWith","$contains","isConditionSymbol","AttributeExpressionMap"],"mappings":";;;;;;AAkCA,SAAS,gBAAgB,CAAC,KAAc,EAAA;AACtC,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAKA,iCAAK;AAC/F;AAEA,SAAS,mBAAmB,CAAC,GAA2B,EAAE,IAAoB,EAAA;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;IACxD,OAAO,CAAA,KAAA,EAAQ,QAAQ,CAAA,CAAA,CAAG;AAC5B;AAEA,SAAS,kBAAkB,CAAC,GAA2B,EAAE,IAAY,EAAA;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACvD;AAEA,SAAS,oBAAoB,CAAC,GAA2B,EAAE,KAAsB,EAAA;AAC/E,IAAA,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;AAC3B,QAAA,OAAO,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC;IACxC;AACA,IAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC5B;AAEA,SAAS,yBAAyB,CAChC,GAA2B,EAC3B,IAA0B,EAAA;IAE1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,KAAK,GAAW,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;IAC3D,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AAC/C;AAEA,SAAS,sBAAsB,CAAC,GAA2B,EAAE,IAAuB,EAAA;IAClF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,QAAA,MAAM,IAAIC,2BAAoB,CAC5B,4EAA4E,CAC7E;IACH;IACA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAG;AAC5C,QAAA,IAAI,MAAc;AAClB,QAAA,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC1B,YAAA,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAsB,CAAC;;YAE5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAsB,CAAC;AACxD,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,OAAO,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG;YACtB;AACA,YAAA,OAAO,MAAM;QACf;aAAO;AACL,YAAA,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAE,CAAwB,CAAC;;AAEhE,YAAA,IAAK,CAAyB,CAAC,IAAI,KAAKC,oCAAQ,EAAE;gBAChD,OAAO,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG;YACtB;AACA,YAAA,OAAO,MAAM;QACf;AACF,IAAA,CAAC,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAA,CAAG,CAAC;AAC9C;AAEA,SAAS,sBAAsB,CAAC,GAA2B,EAAE,IAAuB,EAAA;IAClF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;AAErD,IAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU;UAC1C,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU;UACxC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;AAE9C,IAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU;UAC1C,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU;UACxC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;AAE9C,IAAA,OAAO,GAAG,OAAO,CAAA,SAAA,EAAY,KAAK,CAAA,KAAA,EAAQ,KAAK,EAAE;AACnD;AAEA,SAAS,iBAAiB,CAAC,GAA2B,EAAE,IAAkB,EAAA;IACxE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,IAAID,2BAAoB,CAAC,8DAA8D,CAAC;IAChG;IACA,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAE5E,IAAA,OAAO,CAAA,EAAG,OAAO,CAAA,KAAA,EAAQ,MAAM,GAAG;AACpC;AAEA,SAAS,kBAAkB,CAAC,GAA2B,EAAE,IAAmB,EAAA;AAC1E,IAAA,IAAI,SAAiB;AACrB,IAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACvC,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,SAA8B,CAAC;IAC9E;SAAO;QACL,SAAS,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAgC,CAAC;IAClF;IACA,OAAO,CAAA,KAAA,EAAQ,SAAS,CAAA,CAAA,CAAG;AAC7B;AAEA,SAAS,qBAAqB,CAAC,GAA2B,EAAE,IAAsB,EAAA;IAChF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;AACrD,IAAA,IAAI,IAAI,CAAC,GAAG,EAAE;QACZ,OAAO,CAAA,qBAAA,EAAwB,OAAO,CAAA,CAAA,CAAG;IAC3C;IACA,OAAO,CAAA,iBAAA,EAAoB,OAAO,CAAA,CAAA,CAAG;AACvC;AAEA,SAAS,wBAAwB,CAAC,GAA2B,EAAE,IAAyB,EAAA;IACtF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/D,IAAA,OAAO,CAAA,eAAA,EAAkB,OAAO,CAAA,EAAA,EAAK,SAAS,GAAG;AACnD;AAEA,SAAS,yBAAyB,CAChC,GAA2B,EAC3B,IAA0B,EAAA;IAE1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;AACrD,IAAA,OAAO,CAAA,YAAA,EAAe,OAAO,CAAA,EAAA,EAAK,MAAM,GAAG;AAC7C;AAEA,SAAS,uBAAuB,CAAC,GAA2B,EAAE,IAAwB,EAAA;IACpF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAChE,IAAA,OAAO,CAAA,SAAA,EAAY,OAAO,CAAA,EAAA,EAAK,KAAK,GAAG;AACzC;AAEA,SAAS,4BAA4B,CACnC,GAA2B,EAC3B,IAA6B,EAAA;IAE7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IACtC,OAAO,CAAA,KAAA,EAAQ,OAAO,CAAA,EAAA,EAAK,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AACrD;AAEA,SAAS,wBAAwB,CAAC,GAA2B,EAAE,IAAyB,EAAA;AACtF,IAAA,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,EAAE;AACrB,QAAA,MAAM,IAAIA,2BAAoB,CAAC,8BAA8B,CAAC;IAChE;AAEA,IAAA,QAAQ,IAAI,CAAC,IAAI;AACf,QAAA,KAAKE,uCAAW;AACd,YAAA,OAAO,yBAAyB,CAAC,GAAG,EAAE,IAA4B,CAAC;AACrE,QAAA,KAAKD,oCAAQ;AACX,YAAA,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAyB,CAAC;AAC/D,QAAA,KAAKE,oCAAQ;AACX,YAAA,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAyB,CAAC;AAC/D,QAAA,KAAKC,+BAAG;AACN,YAAA,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAoB,CAAC;AACrD,QAAA,KAAKC,gCAAI;AACP,YAAA,OAAO,kBAAkB,CAAC,GAAG,EAAE,IAAqB,CAAC;AACvD,QAAA,KAAKC,mCAAO;AACV,YAAA,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAwB,CAAC;AAC7D,QAAA,KAAKC,iCAAK;AACR,YAAA,OAAO,wBAAwB,CAAC,GAAG,EAAE,IAA2B,CAAC;AACnE,QAAA,KAAKC,uCAAW;AACd,YAAA,OAAO,yBAAyB,CAAC,GAAG,EAAE,IAA4B,CAAC;AACrE,QAAA,KAAKC,qCAAS;AACZ,YAAA,OAAO,uBAAuB,CAAC,GAAG,EAAE,IAA0B,CAAC;AACjE,QAAA,KAAKV,iCAAK;AACR,YAAA,OAAO,4BAA4B,CAAC,GAAG,EAAE,IAA+B,CAAC;AAC3E,QAAA;AACE,YAAA,MAAM,IAAIC,2BAAoB,CAAC,yBAAyB,CAAC;;AAE/D;AAEA,SAAS,mBAAmB,CAAC,KAAc,EAAA;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,OAAO,KAAK;IACd;IACA,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AACrD,QAAA,OAAO,CAACU,6CAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;IACvC;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,qBAAqB,CAAC,KAAc,EAAA;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAIA,6CAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3F;AAEA,SAAS,sBAAsB,CAAC,GAA2B,EAAE,QAA2B,EAAA;IACtF,MAAM,UAAU,GAAa,EAAE;AAE/B,IAAA,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACvD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE;AAClE,YAAA,MAAM,IAAI,GAAG,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,EAAA,EAAE,OAAO,GAAyB;YACzD,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD;aAAO;YACL,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC;AACxD,YAAA,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK;AAC7C,kBAAE,oBAAoB,CAAC,GAAG,EAAE,KAAwB;AACpD,kBAAE,oBAAoB,CAAC,GAAG,EAAE,KAA6B,CAAC;YAC5D,UAAU,CAAC,IAAI,CAAC,CAAA,EAAG,eAAe,CAAA,GAAA,EAAM,gBAAgB,CAAA,CAAE,CAAC;QAC7D;IACF;AAEA,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC;AAOM,SAAU,cAAc,CAC5B,SAAoB,EACpB,sBAAA,GAAiD,IAAIC,8CAAsB,EAAE,EAAA;AAE7E,IAAA,IAAI,mBAA2B;AAE/B,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAG;AACpC,YAAA,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC1B,gBAAA,OAAO,sBAAsB,CAAC,sBAAsB,EAAE,CAAC,CAAC;YAC1D;AAAO,iBAAA,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE;AACnC,gBAAA,OAAO,wBAAwB,CAAC,sBAAsB,EAAE,CAAC,CAAC;YAC5D;AACA,YAAA,MAAM,IAAIX,2BAAoB,CAAC,mBAAmB,CAAC;AACrD,QAAA,CAAC,CAAC;AACF,QAAA,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;IACjD;AAAO,SAAA,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE;AACzC,QAAA,mBAAmB,GAAG,sBAAsB,CAAC,sBAAsB,EAAE,SAAS,CAAC;IACjF;AAAO,SAAA,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE;AAC3C,QAAA,mBAAmB,GAAG,wBAAwB,CAAC,sBAAsB,EAAE,SAAS,CAAC;IACnF;SAAO;AACL,QAAA,MAAM,IAAIA,2BAAoB,CAAC,mBAAmB,CAAC;IACrD;IAEA,OAAO;QACL,mBAAmB;QACnB,sBAAsB;KACvB;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { isConditionSymbol, $contains, $beginsWith, $type, $exists, $not, $in, $between, $logical, $comparison, $size } from './condition-symbols.mjs';
1
+ import { isConditionSymbol, $size, $contains, $beginsWith, $type, $exists, $not, $in, $between, $logical, $comparison } from './condition-symbols.mjs';
2
2
  import { AttributeExpressionMap } from '../attributes/attribute-map.mjs';
3
3
  import { DocumentBuilderError } from '../errors.mjs';
4
4
 
@@ -100,6 +100,11 @@ function parseContainsExpression(map, expr) {
100
100
  const value = parseValueExpression(map, expr.substringOrElement);
101
101
  return `contains(${operand}, ${value})`;
102
102
  }
103
+ function parseSizeConditionExpression(map, expr) {
104
+ const operand = parseAttributePath(map, expr.operand);
105
+ const value = map.addValue(expr.value);
106
+ return `size(${operand}) ${expr.operator} ${value}`;
107
+ }
103
108
  function parseConditionExpression(map, expr) {
104
109
  if (!('type' in expr)) {
105
110
  throw new DocumentBuilderError('Unknown condition expression');
@@ -123,6 +128,8 @@ function parseConditionExpression(map, expr) {
123
128
  return parseBeginsWithExpression(map, expr);
124
129
  case $contains:
125
130
  return parseContainsExpression(map, expr);
131
+ case $size:
132
+ return parseSizeConditionExpression(map, expr);
126
133
  default:
127
134
  throw new DocumentBuilderError('Unknown expression type');
128
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condition-parser.mjs","sources":["../../src/conditions/condition-parser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition-parser.mjs","sources":["../../src/conditions/condition-parser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -73,16 +73,23 @@ type SizeExpression = {
73
73
  type: typeof $size;
74
74
  attribute: Operand;
75
75
  };
76
+ type SizeConditionExpression = {
77
+ type: typeof $size;
78
+ operand: Operand;
79
+ operator: ComparisonOperator;
80
+ value: NativeAttributeValue;
81
+ };
82
+ type SizeConditionExpressionTemplate = Omit<SizeConditionExpression, 'operand'>;
76
83
  type BooleanExpression = ExistsExpression | TypeCheckExpression | BeginsWithExpression | ContainsExpression;
77
84
  type FunctionExpression = BooleanExpression | SizeExpression;
78
- type TemplateExpression = Omit<ComparisonExpression | BetweenExpression | InExpression | BooleanExpression, 'operand'>;
85
+ type TemplateExpression = Omit<ComparisonExpression | BetweenExpression | InExpression | BooleanExpression | SizeConditionExpression, 'operand'>;
79
86
  /**
80
87
  * Implicit AND between all attributes in the template
81
88
  * This is an object where keys are operands and values are either values or template expressions
82
89
  */
83
90
  type ConditionTemplate = Record<Operand, ValueExpression | TemplateExpression>;
84
- type ConditionExpression = ComparisonExpression | LogicalExpression | BetweenExpression | InExpression | NotExpression | BooleanExpression;
91
+ type ConditionExpression = ComparisonExpression | LogicalExpression | BetweenExpression | InExpression | NotExpression | BooleanExpression | SizeConditionExpression;
85
92
  type ConditionExpressionTemplate = ConditionExpression | ConditionTemplate;
86
93
  type Condition = ConditionExpressionTemplate | ConditionExpressionTemplate[];
87
94
 
88
- export type { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression };
95
+ export type { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeConditionExpression, SizeConditionExpressionTemplate, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression };
@@ -2,7 +2,7 @@ export { and } from './and.js';
2
2
  export { beginsWith } from './begins-with.js';
3
3
  export { between } from './between.js';
4
4
  export { ConditionParserResult, parseCondition } from './condition-parser.js';
5
- export { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression } from './condition-types.js';
5
+ export { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeConditionExpression, SizeConditionExpressionTemplate, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression } from './condition-types.js';
6
6
  export { contains } from './contains.js';
7
7
  export { equals } from './equals.js';
8
8
  export { exists } from './exists.js';
@@ -2,10 +2,18 @@
2
2
 
3
3
  var conditions_conditionSymbols = require('./condition-symbols.cjs');
4
4
 
5
- function size(attributeNameOrPath) {
5
+ function size(valueOrComparison) {
6
+ if (typeof valueOrComparison === 'number') {
7
+ return {
8
+ type: conditions_conditionSymbols.$size,
9
+ operator: '=',
10
+ value: valueOrComparison,
11
+ };
12
+ }
6
13
  return {
7
14
  type: conditions_conditionSymbols.$size,
8
- attribute: attributeNameOrPath,
15
+ operator: valueOrComparison.operator,
16
+ value: valueOrComparison.value,
9
17
  };
10
18
  }
11
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"size.cjs","sources":["../../src/conditions/size.ts"],"sourcesContent":[null],"names":["$size"],"mappings":";;;;AAGM,SAAU,IAAI,CAAC,mBAA2B,EAAA;IAC9C,OAAO;AACL,QAAA,IAAI,EAAEA,iCAAK;AACX,QAAA,SAAS,EAAE,mBAAmB;KAC/B;AACH;;;;"}
1
+ {"version":3,"file":"size.cjs","sources":["../../src/conditions/size.ts"],"sourcesContent":[null],"names":["$size"],"mappings":";;;;AAMM,SAAU,IAAI,CAClB,iBAAwD,EAAA;AAExD,IAAA,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;QACzC,OAAO;AACL,YAAA,IAAI,EAAEA,iCAAK;AACX,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,KAAK,EAAE,iBAAiB;SACzB;IACH;IAEA,OAAO;AACL,QAAA,IAAI,EAAEA,iCAAK;QACX,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;QACpC,KAAK,EAAE,iBAAiB,CAAC,KAAK;KAC/B;AACH;;;;"}
@@ -1,5 +1,5 @@
1
- import { SizeExpression } from './condition-types.js';
1
+ import { ComparisonExpressionTemplate, SizeConditionExpressionTemplate } from './condition-types.js';
2
2
 
3
- declare function size(attributeNameOrPath: string): SizeExpression;
3
+ declare function size(valueOrComparison: number | ComparisonExpressionTemplate): SizeConditionExpressionTemplate;
4
4
 
5
5
  export { size };
@@ -1,9 +1,17 @@
1
1
  import { $size } from './condition-symbols.mjs';
2
2
 
3
- function size(attributeNameOrPath) {
3
+ function size(valueOrComparison) {
4
+ if (typeof valueOrComparison === 'number') {
5
+ return {
6
+ type: $size,
7
+ operator: '=',
8
+ value: valueOrComparison,
9
+ };
10
+ }
4
11
  return {
5
12
  type: $size,
6
- attribute: attributeNameOrPath,
13
+ operator: valueOrComparison.operator,
14
+ value: valueOrComparison.value,
7
15
  };
8
16
  }
9
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"size.mjs","sources":["../../src/conditions/size.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGM,SAAU,IAAI,CAAC,mBAA2B,EAAA;IAC9C,OAAO;AACL,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,SAAS,EAAE,mBAAmB;KAC/B;AACH;;;;"}
1
+ {"version":3,"file":"size.mjs","sources":["../../src/conditions/size.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMM,SAAU,IAAI,CAClB,iBAAwD,EAAA;AAExD,IAAA,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;QACzC,OAAO;AACL,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,KAAK,EAAE,iBAAiB;SACzB;IACH;IAEA,OAAO;AACL,QAAA,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;QACpC,KAAK,EAAE,iBAAiB,CAAC,KAAK;KAC/B;AACH;;;;"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { and } from './conditions/and.js';
21
21
  export { beginsWith } from './conditions/begins-with.js';
22
22
  export { between } from './conditions/between.js';
23
23
  export { ConditionParserResult, parseCondition } from './conditions/condition-parser.js';
24
- export { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression } from './conditions/condition-types.js';
24
+ export { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeConditionExpression, SizeConditionExpressionTemplate, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression } from './conditions/condition-types.js';
25
25
  export { contains } from './conditions/contains.js';
26
26
  export { equals } from './conditions/equals.js';
27
27
  export { exists } from './conditions/exists.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dynamo-document-builder",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "DynamoDB single table design and data validation made easy using TypeScript and Zod ⚡️",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",