dinah 0.12.0 → 0.13.1

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":"util-BfKXObBN.mjs","names":[],"sources":["../src/util.ts"],"sourcesContent":["import type {\n AttributeDefinition,\n CreateTableCommandInput,\n ProjectionType,\n} from \"@aws-sdk/client-dynamodb\";\nimport * as T from \"typebox\";\nimport type { Obj } from \"./types\";\nimport type { Table } from \"./table\";\n\nexport const resolveAttrType = (schema: T.TSchema | T.TEnumValue, attrName: string): \"S\" | \"N\" => {\n if (T.IsString(schema) || T.IsLiteralString(schema) || typeof schema === \"string\") {\n return \"S\";\n }\n\n if (\n T.IsNumber(schema) ||\n T.IsLiteralNumber(schema) ||\n T.IsInteger(schema) ||\n typeof schema === \"number\"\n ) {\n return \"N\";\n }\n\n if (T.IsObject(schema)) {\n const attrSchema = schema.properties[attrName];\n if (!attrSchema) {\n throw new Error(`Attribute \"${attrName}\" not found.`);\n }\n return resolveAttrType(attrSchema, attrName);\n }\n\n if (T.IsEnum(schema) || T.IsIntersect(schema) || T.IsUnion(schema)) {\n const schemas = T.IsEnum(schema)\n ? schema.enum\n : T.IsUnion(schema)\n ? schema.anyOf\n : schema.allOf;\n const [firstType, ...otherTypes] = schemas.flatMap((s) => resolveAttrType(s, attrName));\n if (!firstType || otherTypes.some((t) => t !== firstType)) {\n throw new Error(`Attribute \"${attrName}\" type not consistent.`);\n }\n\n return firstType;\n }\n\n throw new Error(`Unable to resolve type for attribute \"${attrName}\"`);\n};\n\nexport const extractTableDesc = (table: Table): CreateTableCommandInput => {\n const attributes = new Map<string, AttributeDefinition>();\n\n const setAttributes = (\n attrNames: (string | undefined)[],\n keyType: \"HASH\" | \"RANGE\",\n ): { AttributeName: string; KeyType: \"HASH\" | \"RANGE\" }[] => {\n return attrNames.flatMap((attrName) => {\n if (!attrName) return [];\n attributes.set(attrName, {\n AttributeName: attrName,\n AttributeType: resolveAttrType(table.schema, attrName),\n });\n return { AttributeName: attrName, KeyType: keyType };\n });\n };\n\n let gsis: CreateTableCommandInput[\"GlobalSecondaryIndexes\"];\n if (table.def.gsis) {\n gsis = Object.entries(table.def.gsis ?? {}).map(([indexName, gsi]) => {\n return {\n IndexName: indexName,\n KeySchema: [\n ...setAttributes([gsi.partitionKey].flat(), \"HASH\"),\n ...setAttributes([gsi.sortKey].flat(), \"RANGE\"),\n ],\n Projection: {\n ProjectionType: (Array.isArray(gsi.projection)\n ? \"INCLUDE\"\n : (gsi.projection ?? \"ALL\")) as ProjectionType,\n NonKeyAttributes: Array.isArray(gsi.projection) ? gsi.projection : undefined,\n },\n };\n });\n }\n\n // attribute definitions need to go AFTER key schemas since\n // are built while resolving the rest of the configuration\n return {\n TableName: table.def.name,\n KeySchema: [\n ...setAttributes([table.def.partitionKey], \"HASH\"),\n ...setAttributes([table.def.sortKey], \"RANGE\"),\n ],\n GlobalSecondaryIndexes: gsis,\n AttributeDefinitions: [...attributes.values()],\n BillingMode: table.def.billingMode,\n StreamSpecification: table.def.stream\n ? { StreamEnabled: true, StreamViewType: table.def.stream }\n : undefined,\n };\n};\n\nexport const chunk = <T = unknown>(arr: T[], chunkSize: number): T[][] => {\n if (chunkSize <= 0) return [];\n\n const chunks: T[][] = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n chunks.push(arr.slice(i, i + chunkSize));\n }\n\n return chunks;\n};\n\n// this currently creates sparse arrays if an undefined\n// value is found inside an array...not sure if thats valid?\nexport const removeUndefined = (obj: Obj) => {\n const stack = [obj];\n while (stack.length) {\n const currentObj = stack.pop();\n if (currentObj !== undefined) {\n Object.entries(currentObj).forEach(([k, v]) => {\n if (v && v instanceof Object) stack.push(v);\n else if (v === undefined) delete currentObj[k];\n });\n }\n }\n return obj;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"util-0kc6E2VD.mjs","names":[],"sources":["../src/util.ts"],"sourcesContent":["import type {\n AttributeDefinition,\n CreateTableCommandInput,\n ProjectionType,\n} from \"@aws-sdk/client-dynamodb\";\nimport * as T from \"typebox\";\nimport type { Obj } from \"./types\";\nimport type { Table } from \"./table\";\n\nexport const resolveAttrType = (schema: T.TSchema | T.TEnumValue, attrName: string): \"S\" | \"N\" => {\n if (T.IsString(schema) || T.IsLiteralString(schema) || typeof schema === \"string\") {\n return \"S\";\n }\n\n if (\n T.IsNumber(schema) ||\n T.IsLiteralNumber(schema) ||\n T.IsInteger(schema) ||\n typeof schema === \"number\"\n ) {\n return \"N\";\n }\n\n if (T.IsObject(schema)) {\n const attrSchema = schema.properties[attrName];\n if (!attrSchema) {\n throw new Error(`Attribute \"${attrName}\" not found.`);\n }\n return resolveAttrType(attrSchema, attrName);\n }\n\n if (T.IsEnum(schema) || T.IsIntersect(schema) || T.IsUnion(schema)) {\n const schemas = T.IsEnum(schema)\n ? schema.enum\n : T.IsUnion(schema)\n ? schema.anyOf\n : schema.allOf;\n const [firstType, ...otherTypes] = schemas.flatMap((s) => resolveAttrType(s, attrName));\n if (!firstType || otherTypes.some((t) => t !== firstType)) {\n throw new Error(`Attribute \"${attrName}\" type not consistent.`);\n }\n\n return firstType;\n }\n\n throw new Error(`Unable to resolve type for attribute \"${attrName}\"`);\n};\n\nexport const extractTableDesc = (table: Table): CreateTableCommandInput => {\n const attributes = new Map<string, AttributeDefinition>();\n\n const setAttributes = (\n attrNames: (string | undefined)[],\n keyType: \"HASH\" | \"RANGE\",\n ): { AttributeName: string; KeyType: \"HASH\" | \"RANGE\" }[] => {\n return attrNames.flatMap((attrName) => {\n if (!attrName) return [];\n attributes.set(attrName, {\n AttributeName: attrName,\n AttributeType: resolveAttrType(table.schema, attrName),\n });\n return { AttributeName: attrName, KeyType: keyType };\n });\n };\n\n let gsis: CreateTableCommandInput[\"GlobalSecondaryIndexes\"];\n if (table.def.gsis) {\n gsis = Object.entries(table.def.gsis ?? {}).map(([indexName, gsi]) => {\n return {\n IndexName: indexName,\n KeySchema: [\n ...setAttributes([gsi.partitionKey].flat(), \"HASH\"),\n ...setAttributes([gsi.sortKey].flat(), \"RANGE\"),\n ],\n Projection: {\n ProjectionType: (Array.isArray(gsi.projection)\n ? \"INCLUDE\"\n : (gsi.projection ?? \"ALL\")) as ProjectionType,\n NonKeyAttributes: Array.isArray(gsi.projection) ? gsi.projection : undefined,\n },\n };\n });\n }\n\n // attribute definitions need to go AFTER key schemas since\n // are built while resolving the rest of the configuration\n return {\n TableName: table.def.name,\n KeySchema: [\n ...setAttributes([table.def.partitionKey], \"HASH\"),\n ...setAttributes([table.def.sortKey], \"RANGE\"),\n ],\n GlobalSecondaryIndexes: gsis,\n AttributeDefinitions: [...attributes.values()],\n BillingMode: table.def.billingMode,\n StreamSpecification: table.def.stream\n ? { StreamEnabled: true, StreamViewType: table.def.stream }\n : undefined,\n };\n};\n\nexport const matchesPartial = <T extends object>(partial: Partial<T>, item: T): boolean =>\n (Object.entries(partial) as [keyof T, unknown][]).every(([k, v]) => item[k] === v);\n\nexport const chunk = <T = unknown>(arr: T[], chunkSize: number): T[][] => {\n if (chunkSize <= 0) return [];\n\n const chunks: T[][] = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n chunks.push(arr.slice(i, i + chunkSize));\n }\n\n return chunks;\n};\n\n// this currently creates sparse arrays if an undefined\n// value is found inside an array...not sure if thats valid?\nexport const removeUndefined = (obj: Obj) => {\n const stack = [obj];\n while (stack.length) {\n const currentObj = stack.pop();\n if (currentObj !== undefined) {\n Object.entries(currentObj).forEach(([k, v]) => {\n if (v && v instanceof Object) stack.push(v);\n else if (v === undefined) delete currentObj[k];\n });\n }\n }\n return obj;\n};\n"],"mappings":"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"}
@@ -76,6 +76,7 @@ const extractTableDesc = (table) => {
76
76
  } : void 0
77
77
  };
78
78
  };
79
+ const matchesPartial = (partial, item) => Object.entries(partial).every(([k, v]) => item[k] === v);
79
80
  const chunk = (arr, chunkSize) => {
80
81
  if (chunkSize <= 0) return [];
81
82
  const chunks = [];
@@ -112,6 +113,12 @@ Object.defineProperty(exports, "extractTableDesc", {
112
113
  return extractTableDesc;
113
114
  }
114
115
  });
116
+ Object.defineProperty(exports, "matchesPartial", {
117
+ enumerable: true,
118
+ get: function() {
119
+ return matchesPartial;
120
+ }
121
+ });
115
122
  Object.defineProperty(exports, "removeUndefined", {
116
123
  enumerable: true,
117
124
  get: function() {
@@ -125,4 +132,4 @@ Object.defineProperty(exports, "resolveAttrType", {
125
132
  }
126
133
  });
127
134
 
128
- //# sourceMappingURL=util-D88GS6Gt.cjs.map
135
+ //# sourceMappingURL=util-DT6vwquI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"util-D88GS6Gt.cjs","names":["T"],"sources":["../src/util.ts"],"sourcesContent":["import type {\n AttributeDefinition,\n CreateTableCommandInput,\n ProjectionType,\n} from \"@aws-sdk/client-dynamodb\";\nimport * as T from \"typebox\";\nimport type { Obj } from \"./types\";\nimport type { Table } from \"./table\";\n\nexport const resolveAttrType = (schema: T.TSchema | T.TEnumValue, attrName: string): \"S\" | \"N\" => {\n if (T.IsString(schema) || T.IsLiteralString(schema) || typeof schema === \"string\") {\n return \"S\";\n }\n\n if (\n T.IsNumber(schema) ||\n T.IsLiteralNumber(schema) ||\n T.IsInteger(schema) ||\n typeof schema === \"number\"\n ) {\n return \"N\";\n }\n\n if (T.IsObject(schema)) {\n const attrSchema = schema.properties[attrName];\n if (!attrSchema) {\n throw new Error(`Attribute \"${attrName}\" not found.`);\n }\n return resolveAttrType(attrSchema, attrName);\n }\n\n if (T.IsEnum(schema) || T.IsIntersect(schema) || T.IsUnion(schema)) {\n const schemas = T.IsEnum(schema)\n ? schema.enum\n : T.IsUnion(schema)\n ? schema.anyOf\n : schema.allOf;\n const [firstType, ...otherTypes] = schemas.flatMap((s) => resolveAttrType(s, attrName));\n if (!firstType || otherTypes.some((t) => t !== firstType)) {\n throw new Error(`Attribute \"${attrName}\" type not consistent.`);\n }\n\n return firstType;\n }\n\n throw new Error(`Unable to resolve type for attribute \"${attrName}\"`);\n};\n\nexport const extractTableDesc = (table: Table): CreateTableCommandInput => {\n const attributes = new Map<string, AttributeDefinition>();\n\n const setAttributes = (\n attrNames: (string | undefined)[],\n keyType: \"HASH\" | \"RANGE\",\n ): { AttributeName: string; KeyType: \"HASH\" | \"RANGE\" }[] => {\n return attrNames.flatMap((attrName) => {\n if (!attrName) return [];\n attributes.set(attrName, {\n AttributeName: attrName,\n AttributeType: resolveAttrType(table.schema, attrName),\n });\n return { AttributeName: attrName, KeyType: keyType };\n });\n };\n\n let gsis: CreateTableCommandInput[\"GlobalSecondaryIndexes\"];\n if (table.def.gsis) {\n gsis = Object.entries(table.def.gsis ?? {}).map(([indexName, gsi]) => {\n return {\n IndexName: indexName,\n KeySchema: [\n ...setAttributes([gsi.partitionKey].flat(), \"HASH\"),\n ...setAttributes([gsi.sortKey].flat(), \"RANGE\"),\n ],\n Projection: {\n ProjectionType: (Array.isArray(gsi.projection)\n ? \"INCLUDE\"\n : (gsi.projection ?? \"ALL\")) as ProjectionType,\n NonKeyAttributes: Array.isArray(gsi.projection) ? gsi.projection : undefined,\n },\n };\n });\n }\n\n // attribute definitions need to go AFTER key schemas since\n // are built while resolving the rest of the configuration\n return {\n TableName: table.def.name,\n KeySchema: [\n ...setAttributes([table.def.partitionKey], \"HASH\"),\n ...setAttributes([table.def.sortKey], \"RANGE\"),\n ],\n GlobalSecondaryIndexes: gsis,\n AttributeDefinitions: [...attributes.values()],\n BillingMode: table.def.billingMode,\n StreamSpecification: table.def.stream\n ? { StreamEnabled: true, StreamViewType: table.def.stream }\n : undefined,\n };\n};\n\nexport const chunk = <T = unknown>(arr: T[], chunkSize: number): T[][] => {\n if (chunkSize <= 0) return [];\n\n const chunks: T[][] = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n chunks.push(arr.slice(i, i + chunkSize));\n }\n\n return chunks;\n};\n\n// this currently creates sparse arrays if an undefined\n// value is found inside an array...not sure if thats valid?\nexport const removeUndefined = (obj: Obj) => {\n const stack = [obj];\n while (stack.length) {\n const currentObj = stack.pop();\n if (currentObj !== undefined) {\n Object.entries(currentObj).forEach(([k, v]) => {\n if (v && v instanceof Object) stack.push(v);\n else if (v === undefined) delete currentObj[k];\n });\n }\n }\n return obj;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"util-DT6vwquI.cjs","names":["T"],"sources":["../src/util.ts"],"sourcesContent":["import type {\n AttributeDefinition,\n CreateTableCommandInput,\n ProjectionType,\n} from \"@aws-sdk/client-dynamodb\";\nimport * as T from \"typebox\";\nimport type { Obj } from \"./types\";\nimport type { Table } from \"./table\";\n\nexport const resolveAttrType = (schema: T.TSchema | T.TEnumValue, attrName: string): \"S\" | \"N\" => {\n if (T.IsString(schema) || T.IsLiteralString(schema) || typeof schema === \"string\") {\n return \"S\";\n }\n\n if (\n T.IsNumber(schema) ||\n T.IsLiteralNumber(schema) ||\n T.IsInteger(schema) ||\n typeof schema === \"number\"\n ) {\n return \"N\";\n }\n\n if (T.IsObject(schema)) {\n const attrSchema = schema.properties[attrName];\n if (!attrSchema) {\n throw new Error(`Attribute \"${attrName}\" not found.`);\n }\n return resolveAttrType(attrSchema, attrName);\n }\n\n if (T.IsEnum(schema) || T.IsIntersect(schema) || T.IsUnion(schema)) {\n const schemas = T.IsEnum(schema)\n ? schema.enum\n : T.IsUnion(schema)\n ? schema.anyOf\n : schema.allOf;\n const [firstType, ...otherTypes] = schemas.flatMap((s) => resolveAttrType(s, attrName));\n if (!firstType || otherTypes.some((t) => t !== firstType)) {\n throw new Error(`Attribute \"${attrName}\" type not consistent.`);\n }\n\n return firstType;\n }\n\n throw new Error(`Unable to resolve type for attribute \"${attrName}\"`);\n};\n\nexport const extractTableDesc = (table: Table): CreateTableCommandInput => {\n const attributes = new Map<string, AttributeDefinition>();\n\n const setAttributes = (\n attrNames: (string | undefined)[],\n keyType: \"HASH\" | \"RANGE\",\n ): { AttributeName: string; KeyType: \"HASH\" | \"RANGE\" }[] => {\n return attrNames.flatMap((attrName) => {\n if (!attrName) return [];\n attributes.set(attrName, {\n AttributeName: attrName,\n AttributeType: resolveAttrType(table.schema, attrName),\n });\n return { AttributeName: attrName, KeyType: keyType };\n });\n };\n\n let gsis: CreateTableCommandInput[\"GlobalSecondaryIndexes\"];\n if (table.def.gsis) {\n gsis = Object.entries(table.def.gsis ?? {}).map(([indexName, gsi]) => {\n return {\n IndexName: indexName,\n KeySchema: [\n ...setAttributes([gsi.partitionKey].flat(), \"HASH\"),\n ...setAttributes([gsi.sortKey].flat(), \"RANGE\"),\n ],\n Projection: {\n ProjectionType: (Array.isArray(gsi.projection)\n ? \"INCLUDE\"\n : (gsi.projection ?? \"ALL\")) as ProjectionType,\n NonKeyAttributes: Array.isArray(gsi.projection) ? gsi.projection : undefined,\n },\n };\n });\n }\n\n // attribute definitions need to go AFTER key schemas since\n // are built while resolving the rest of the configuration\n return {\n TableName: table.def.name,\n KeySchema: [\n ...setAttributes([table.def.partitionKey], \"HASH\"),\n ...setAttributes([table.def.sortKey], \"RANGE\"),\n ],\n GlobalSecondaryIndexes: gsis,\n AttributeDefinitions: [...attributes.values()],\n BillingMode: table.def.billingMode,\n StreamSpecification: table.def.stream\n ? { StreamEnabled: true, StreamViewType: table.def.stream }\n : undefined,\n };\n};\n\nexport const matchesPartial = <T extends object>(partial: Partial<T>, item: T): boolean =>\n (Object.entries(partial) as [keyof T, unknown][]).every(([k, v]) => item[k] === v);\n\nexport const chunk = <T = unknown>(arr: T[], chunkSize: number): T[][] => {\n if (chunkSize <= 0) return [];\n\n const chunks: T[][] = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n chunks.push(arr.slice(i, i + chunkSize));\n }\n\n return chunks;\n};\n\n// this currently creates sparse arrays if an undefined\n// value is found inside an array...not sure if thats valid?\nexport const removeUndefined = (obj: Obj) => {\n const stack = [obj];\n while (stack.length) {\n const currentObj = stack.pop();\n if (currentObj !== undefined) {\n Object.entries(currentObj).forEach(([k, v]) => {\n if (v && v instanceof Object) stack.push(v);\n else if (v === undefined) delete currentObj[k];\n });\n }\n }\n return obj;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAa,mBAAmB,QAAkC,aAAgC;AAChG,KAAIA,QAAE,SAAS,OAAO,IAAIA,QAAE,gBAAgB,OAAO,IAAI,OAAO,WAAW,SACvE,QAAO;AAGT,KACEA,QAAE,SAAS,OAAO,IAClBA,QAAE,gBAAgB,OAAO,IACzBA,QAAE,UAAU,OAAO,IACnB,OAAO,WAAW,SAElB,QAAO;AAGT,KAAIA,QAAE,SAAS,OAAO,EAAE;EACtB,MAAM,aAAa,OAAO,WAAW;AACrC,MAAI,CAAC,WACH,OAAM,IAAI,MAAM,cAAc,SAAS,cAAc;AAEvD,SAAO,gBAAgB,YAAY,SAAS;;AAG9C,KAAIA,QAAE,OAAO,OAAO,IAAIA,QAAE,YAAY,OAAO,IAAIA,QAAE,QAAQ,OAAO,EAAE;EAMlE,MAAM,CAAC,WAAW,GAAG,eALLA,QAAE,OAAO,OAAO,GAC5B,OAAO,OACPA,QAAE,QAAQ,OAAO,GACf,OAAO,QACP,OAAO,OAC8B,SAAS,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACvF,MAAI,CAAC,aAAa,WAAW,MAAM,MAAM,MAAM,UAAU,CACvD,OAAM,IAAI,MAAM,cAAc,SAAS,wBAAwB;AAGjE,SAAO;;AAGT,OAAM,IAAI,MAAM,yCAAyC,SAAS,GAAG;;AAGvE,MAAa,oBAAoB,UAA0C;CACzE,MAAM,6BAAa,IAAI,KAAkC;CAEzD,MAAM,iBACJ,WACA,YAC2D;AAC3D,SAAO,UAAU,SAAS,aAAa;AACrC,OAAI,CAAC,SAAU,QAAO,EAAE;AACxB,cAAW,IAAI,UAAU;IACvB,eAAe;IACf,eAAe,gBAAgB,MAAM,QAAQ,SAAS;IACvD,CAAC;AACF,UAAO;IAAE,eAAe;IAAU,SAAS;IAAS;IACpD;;CAGJ,IAAI;AACJ,KAAI,MAAM,IAAI,KACZ,QAAO,OAAO,QAAQ,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,SAAS;AACpE,SAAO;GACL,WAAW;GACX,WAAW,CACT,GAAG,cAAc,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EACnD,GAAG,cAAc,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAChD;GACD,YAAY;IACV,gBAAiB,MAAM,QAAQ,IAAI,WAAW,GAC1C,YACC,IAAI,cAAc;IACvB,kBAAkB,MAAM,QAAQ,IAAI,WAAW,GAAG,IAAI,aAAa,KAAA;IACpE;GACF;GACD;AAKJ,QAAO;EACL,WAAW,MAAM,IAAI;EACrB,WAAW,CACT,GAAG,cAAc,CAAC,MAAM,IAAI,aAAa,EAAE,OAAO,EAClD,GAAG,cAAc,CAAC,MAAM,IAAI,QAAQ,EAAE,QAAQ,CAC/C;EACD,wBAAwB;EACxB,sBAAsB,CAAC,GAAG,WAAW,QAAQ,CAAC;EAC9C,aAAa,MAAM,IAAI;EACvB,qBAAqB,MAAM,IAAI,SAC3B;GAAE,eAAe;GAAM,gBAAgB,MAAM,IAAI;GAAQ,GACzD,KAAA;EACL;;AAGH,MAAa,kBAAoC,SAAqB,SACnE,OAAO,QAAQ,QAAQ,CAA0B,OAAO,CAAC,GAAG,OAAO,KAAK,OAAO,EAAE;AAEpF,MAAa,SAAsB,KAAU,cAA6B;AACxE,KAAI,aAAa,EAAG,QAAO,EAAE;CAE7B,MAAM,SAAgB,EAAE;AACxB,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,UACnC,QAAO,KAAK,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC;AAG1C,QAAO;;AAKT,MAAa,mBAAmB,QAAa;CAC3C,MAAM,QAAQ,CAAC,IAAI;AACnB,QAAO,MAAM,QAAQ;EACnB,MAAM,aAAa,MAAM,KAAK;AAC9B,MAAI,eAAe,KAAA,EACjB,QAAO,QAAQ,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO;AAC7C,OAAI,KAAK,aAAa,OAAQ,OAAM,KAAK,EAAE;YAClC,MAAM,KAAA,EAAW,QAAO,WAAW;IAC5C;;AAGN,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinah",
3
- "version": "0.12.0",
3
+ "version": "0.13.1",
4
4
  "description": "A dynamodb client designed for typescript",
5
5
  "homepage": "https://github.com/jayalfredprufrock/dinah#readme",
6
6
  "bugs": {
@@ -86,6 +86,7 @@
86
86
  ]
87
87
  },
88
88
  "scripts": {
89
- "dev": "vp pack --watch"
89
+ "dev": "vp pack --watch",
90
+ "db": "docker run --rm -p 8000:8000 amazon/dynamodb-local"
90
91
  }
91
92
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-BQvKnaNX.d.cts","names":[],"sources":["../src/types.ts","../src/table.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-D_frY5EF.d.mts","names":[],"sources":["../src/types.ts","../src/table.ts"],"mappings":"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"}