@nikovirtala/typesafe-dynamodb 0.0.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/LICENSE +202 -0
- package/README.md +333 -0
- package/img/get-item-attributes.gif +0 -0
- package/img/get-item-projection.gif +0 -0
- package/img/get-item-response.gif +0 -0
- package/img/get-item.gif +0 -0
- package/img/get-order.png +0 -0
- package/img/put-item-expression.gif +0 -0
- package/img/query-expression.gif +0 -0
- package/lib/attribute-value.d.ts +43 -0
- package/lib/attribute-value.js +31 -0
- package/lib/callback.d.ts +2 -0
- package/lib/callback.js +3 -0
- package/lib/client-v2.d.ts +18 -0
- package/lib/client-v2.js +3 -0
- package/lib/client-v3.d.ts +26 -0
- package/lib/client-v3.js +3 -0
- package/lib/create-set.d.ts +10 -0
- package/lib/create-set.js +3 -0
- package/lib/delete-document-command.d.ts +3 -0
- package/lib/delete-document-command.js +8 -0
- package/lib/delete-item-command.d.ts +3 -0
- package/lib/delete-item-command.js +8 -0
- package/lib/delete-item.d.ts +18 -0
- package/lib/delete-item.js +3 -0
- package/lib/document-client-field-mappings.d.ts +17 -0
- package/lib/document-client-field-mappings.js +3 -0
- package/lib/document-client-v2.d.ts +18 -0
- package/lib/document-client-v2.js +3 -0
- package/lib/document-client-v3.d.ts +27 -0
- package/lib/document-client-v3.js +3 -0
- package/lib/expression-attributes.d.ts +20 -0
- package/lib/expression-attributes.js +3 -0
- package/lib/expression.d.ts +34 -0
- package/lib/expression.js +3 -0
- package/lib/get-command.d.ts +10 -0
- package/lib/get-command.js +3 -0
- package/lib/get-document-command.d.ts +3 -0
- package/lib/get-document-command.js +8 -0
- package/lib/get-item-command.d.ts +3 -0
- package/lib/get-item-command.js +8 -0
- package/lib/get-item.d.ts +14 -0
- package/lib/get-item.js +3 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +6 -0
- package/lib/json-format.d.ts +7 -0
- package/lib/json-format.js +10 -0
- package/lib/key.d.ts +6 -0
- package/lib/key.js +3 -0
- package/lib/letter.d.ts +6 -0
- package/lib/letter.js +3 -0
- package/lib/marshall.d.ts +14 -0
- package/lib/marshall.js +7 -0
- package/lib/narrow.d.ts +3 -0
- package/lib/narrow.js +3 -0
- package/lib/projection.d.ts +24 -0
- package/lib/projection.js +3 -0
- package/lib/put-document-command.d.ts +3 -0
- package/lib/put-document-command.js +8 -0
- package/lib/put-item-command.d.ts +3 -0
- package/lib/put-item-command.js +8 -0
- package/lib/put-item.d.ts +17 -0
- package/lib/put-item.js +3 -0
- package/lib/query-command.d.ts +3 -0
- package/lib/query-command.js +8 -0
- package/lib/query-document-command.d.ts +3 -0
- package/lib/query-document-command.js +8 -0
- package/lib/query.d.ts +18 -0
- package/lib/query.js +3 -0
- package/lib/scan-command.d.ts +3 -0
- package/lib/scan-command.js +8 -0
- package/lib/scan-document-command.d.ts +3 -0
- package/lib/scan-document-command.js +8 -0
- package/lib/scan.d.ts +17 -0
- package/lib/scan.js +3 -0
- package/lib/simplify.d.ts +3 -0
- package/lib/simplify.js +3 -0
- package/lib/stream-event.d.ts +18 -0
- package/lib/stream-event.js +3 -0
- package/lib/update-document-command.d.ts +3 -0
- package/lib/update-document-command.js +8 -0
- package/lib/update-item-command.d.ts +3 -0
- package/lib/update-item-command.js +8 -0
- package/lib/update-item.d.ts +20 -0
- package/lib/update-item.js +3 -0
- package/package.json +116 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ArrayIndex, Identifier, NameRef, NumberLiteral, Expr, PropRef, ValueRef } from "./expression";
|
|
2
|
+
import { Word } from "./letter";
|
|
3
|
+
export type ParseProjectionExpression<Text extends string> = Parse<Text, [
|
|
4
|
+
], undefined>;
|
|
5
|
+
type AsExpr<T> = Extract<T, Expr>;
|
|
6
|
+
type Parse<Text extends string, Expressions extends Expr[], Exp extends Expr | undefined> = Text extends `.${infer Rest}` ? Exp extends Expr ? Parse<Rest, Expressions, PropRef<Exp, Identifier<"">>> : never : Text extends `[:${infer Rest}` ? Parse<Rest, Expressions, ArrayIndex<AsExpr<Exp>, ValueRef<"">>> : Text extends `[${infer Rest}` ? Parse<Rest, Expressions, ArrayIndex<AsExpr<Exp>, NumberLiteral<"">>> : Text extends `]${infer Rest}` ? Parse<Rest, Expressions, Exp> : Text extends "]" ? Concat<Expressions, Exp> : Text extends `${"," | " "}${infer Rest}` ? Parse<Rest, Concat<Expressions, Exp>, undefined> : Text extends `#${infer Rest}` ? Parse<Rest, Concat<Expressions, Exp>, NameRef<Rest>> : Text extends `:${infer Rest}` ? Parse<Rest, Concat<Expressions, Exp>, ValueRef<Rest>> : Text extends `${Word}${string}` ? Text extends `${infer char}${infer Rest}` ? Parse<Rest, Expressions, Append<Exp, char>> : never : Text extends `${Word}${string}` ? Text extends `${infer char}${infer Rest}` ? Parse<Rest, Expressions, Append<Exp, char>> : never : Concat<Expressions, Exp>;
|
|
7
|
+
type Concat<Expressions extends Expr[], CurrentExpr extends Expr | undefined> = undefined extends CurrentExpr ? Expressions : [...Expressions, Extract<CurrentExpr, Expr>];
|
|
8
|
+
type Append<Exp extends Expr | undefined, char extends string> = Exp extends undefined ? Identifier<char> : Exp extends Identifier<infer Name> ? Identifier<`${Name}${char}`> : Exp extends NumberLiteral<infer Name> ? NumberLiteral<`${Name}${char}`> : Exp extends NameRef<infer Name> ? NameRef<`${Name}${char}`> : Exp extends ValueRef<infer Name> ? ValueRef<`${Name}${char}`> : Exp extends PropRef<infer expr, infer name> ? PropRef<expr, Extract<Append<name, char>, Identifier>> : Exp extends ArrayIndex<infer expr, infer idx> ? ArrayIndex<expr, Extract<Append<idx, char>, NumberLiteral>> : never;
|
|
9
|
+
export type ApplyProjection<T, Expr extends string> = Flatten<UnionToIntersection<ApplyProjectionExpr<T, ParseProjectionExpression<Expr>[number]>>>;
|
|
10
|
+
type ApplyProjectionExpr<T, Exp extends Expr> = T extends undefined ? never : Exp extends PropRef<infer expr, infer i> ? {
|
|
11
|
+
[p in keyof ApplyProjectionExpr<T, expr>]: ApplyProjectionExpr<ApplyProjectionExpr<T, expr>[p], i>;
|
|
12
|
+
} : Exp extends ArrayIndex<infer expr, infer i> ? {
|
|
13
|
+
[p in keyof ApplyProjectionExpr<T, expr>]: ApplyProjectionExpr<ApplyProjectionExpr<T, expr>[keyof ApplyProjectionExpr<T, expr>], i>;
|
|
14
|
+
} : Exp extends Identifier<infer I> ? I extends keyof T ? Pick<T, I> : never : Exp extends NumberLiteral<infer I> ? ParseInt<I> extends keyof T ? Pick<T, ParseInt<I>> : never : never;
|
|
15
|
+
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
16
|
+
type Flatten<T> = T extends object ? keyof T extends number ? FlattenArray<Extract<T, Record<number, any>>> : {
|
|
17
|
+
[k in keyof T]: Flatten<T[k]>;
|
|
18
|
+
} : T;
|
|
19
|
+
type FlattenArray<T extends {
|
|
20
|
+
[i in number]: any;
|
|
21
|
+
}, i extends number = 0> = i extends keyof T ? [T[i], ...FlattenArray<T, Inc<i>>] : number extends i ? [] : FlattenArray<T, Inc<i>>;
|
|
22
|
+
type Inc<N extends number> = N extends 0 ? 1 : N extends 1 ? 2 : N extends 2 ? 3 : N extends 3 ? 4 : N extends 4 ? 5 : N extends 5 ? 6 : N extends 6 ? 7 : number;
|
|
23
|
+
type ParseInt<N extends string> = N extends "0" ? 0 : N extends "1" ? 1 : N extends "2" ? 2 : N extends "3" ? 3 : N extends "4" ? 4 : N extends "5" ? 5 : N extends "6" ? 6 : N extends "7" ? 7 : N extends "8" ? 8 : N extends "9" ? 9 : number;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcnJheUluZGV4LFxuICBJZGVudGlmaWVyLFxuICBOYW1lUmVmLFxuICBOdW1iZXJMaXRlcmFsLFxuICBFeHByLFxuICBQcm9wUmVmLFxuICBWYWx1ZVJlZixcbn0gZnJvbSBcIi4vZXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgV29yZCB9IGZyb20gXCIuL2xldHRlclwiO1xuXG5leHBvcnQgdHlwZSBQYXJzZVByb2plY3Rpb25FeHByZXNzaW9uPFRleHQgZXh0ZW5kcyBzdHJpbmc+ID0gUGFyc2U8XG4gIFRleHQsXG4gIFtdLFxuICB1bmRlZmluZWRcbj47XG5cbnR5cGUgQXNFeHByPFQ+ID0gRXh0cmFjdDxULCBFeHByPjtcblxudHlwZSBQYXJzZTxcbiAgVGV4dCBleHRlbmRzIHN0cmluZyxcbiAgRXhwcmVzc2lvbnMgZXh0ZW5kcyBFeHByW10sXG4gIEV4cCBleHRlbmRzIEV4cHIgfCB1bmRlZmluZWQsXG4+ID0gVGV4dCBleHRlbmRzIGAuJHtpbmZlciBSZXN0fWBcbiAgPyBFeHAgZXh0ZW5kcyBFeHByXG4gICAgPyBQYXJzZTxSZXN0LCBFeHByZXNzaW9ucywgUHJvcFJlZjxFeHAsIElkZW50aWZpZXI8XCJcIj4+PlxuICAgIDogbmV2ZXJcbiAgOiBUZXh0IGV4dGVuZHMgYFs6JHtpbmZlciBSZXN0fWBcbiAgICA/IFBhcnNlPFJlc3QsIEV4cHJlc3Npb25zLCBBcnJheUluZGV4PEFzRXhwcjxFeHA+LCBWYWx1ZVJlZjxcIlwiPj4+XG4gICAgOiBUZXh0IGV4dGVuZHMgYFske2luZmVyIFJlc3R9YFxuICAgICAgPyBQYXJzZTxSZXN0LCBFeHByZXNzaW9ucywgQXJyYXlJbmRleDxBc0V4cHI8RXhwPiwgTnVtYmVyTGl0ZXJhbDxcIlwiPj4+XG4gICAgICA6IFRleHQgZXh0ZW5kcyBgXSR7aW5mZXIgUmVzdH1gXG4gICAgICAgID8gUGFyc2U8UmVzdCwgRXhwcmVzc2lvbnMsIEV4cD5cbiAgICAgICAgOiBUZXh0IGV4dGVuZHMgXCJdXCJcbiAgICAgICAgICA/IENvbmNhdDxFeHByZXNzaW9ucywgRXhwPlxuICAgICAgICAgIDogVGV4dCBleHRlbmRzIGAke1wiLFwiIHwgXCIgXCJ9JHtpbmZlciBSZXN0fWBcbiAgICAgICAgICAgID8gUGFyc2U8UmVzdCwgQ29uY2F0PEV4cHJlc3Npb25zLCBFeHA+LCB1bmRlZmluZWQ+XG4gICAgICAgICAgICA6IFRleHQgZXh0ZW5kcyBgIyR7aW5mZXIgUmVzdH1gXG4gICAgICAgICAgICAgID8gUGFyc2U8UmVzdCwgQ29uY2F0PEV4cHJlc3Npb25zLCBFeHA+LCBOYW1lUmVmPFJlc3Q+PlxuICAgICAgICAgICAgICA6IFRleHQgZXh0ZW5kcyBgOiR7aW5mZXIgUmVzdH1gXG4gICAgICAgICAgICAgICAgPyBQYXJzZTxSZXN0LCBDb25jYXQ8RXhwcmVzc2lvbnMsIEV4cD4sIFZhbHVlUmVmPFJlc3Q+PlxuICAgICAgICAgICAgICAgIDogVGV4dCBleHRlbmRzIGAke1dvcmR9JHtzdHJpbmd9YFxuICAgICAgICAgICAgICAgICAgPyBUZXh0IGV4dGVuZHMgYCR7aW5mZXIgY2hhcn0ke2luZmVyIFJlc3R9YFxuICAgICAgICAgICAgICAgICAgICA/IFBhcnNlPFJlc3QsIEV4cHJlc3Npb25zLCBBcHBlbmQ8RXhwLCBjaGFyPj5cbiAgICAgICAgICAgICAgICAgICAgOiBuZXZlclxuICAgICAgICAgICAgICAgICAgOiBUZXh0IGV4dGVuZHMgYCR7V29yZH0ke3N0cmluZ31gXG4gICAgICAgICAgICAgICAgICAgID8gVGV4dCBleHRlbmRzIGAke2luZmVyIGNoYXJ9JHtpbmZlciBSZXN0fWBcbiAgICAgICAgICAgICAgICAgICAgICA/IFBhcnNlPFJlc3QsIEV4cHJlc3Npb25zLCBBcHBlbmQ8RXhwLCBjaGFyPj5cbiAgICAgICAgICAgICAgICAgICAgICA6IG5ldmVyXG4gICAgICAgICAgICAgICAgICAgIDogQ29uY2F0PEV4cHJlc3Npb25zLCBFeHA+O1xuXG50eXBlIENvbmNhdDxcbiAgRXhwcmVzc2lvbnMgZXh0ZW5kcyBFeHByW10sXG4gIEN1cnJlbnRFeHByIGV4dGVuZHMgRXhwciB8IHVuZGVmaW5lZCxcbj4gPSB1bmRlZmluZWQgZXh0ZW5kcyBDdXJyZW50RXhwclxuICA/IEV4cHJlc3Npb25zXG4gIDogWy4uLkV4cHJlc3Npb25zLCBFeHRyYWN0PEN1cnJlbnRFeHByLCBFeHByPl07XG5cbnR5cGUgQXBwZW5kPFxuICBFeHAgZXh0ZW5kcyBFeHByIHwgdW5kZWZpbmVkLFxuICBjaGFyIGV4dGVuZHMgc3RyaW5nLFxuPiA9IEV4cCBleHRlbmRzIHVuZGVmaW5lZFxuICA/IElkZW50aWZpZXI8Y2hhcj5cbiAgOiBFeHAgZXh0ZW5kcyBJZGVudGlmaWVyPGluZmVyIE5hbWU+XG4gICAgPyBJZGVudGlmaWVyPGAke05hbWV9JHtjaGFyfWA+XG4gICAgOiBFeHAgZXh0ZW5kcyBOdW1iZXJMaXRlcmFsPGluZmVyIE5hbWU+XG4gICAgICA/IE51bWJlckxpdGVyYWw8YCR7TmFtZX0ke2NoYXJ9YD5cbiAgICAgIDogRXhwIGV4dGVuZHMgTmFtZVJlZjxpbmZlciBOYW1lPlxuICAgICAgICA/IE5hbWVSZWY8YCR7TmFtZX0ke2NoYXJ9YD5cbiAgICAgICAgOiBFeHAgZXh0ZW5kcyBWYWx1ZVJlZjxpbmZlciBOYW1lPlxuICAgICAgICAgID8gVmFsdWVSZWY8YCR7TmFtZX0ke2NoYXJ9YD5cbiAgICAgICAgICA6IEV4cCBleHRlbmRzIFByb3BSZWY8aW5mZXIgZXhwciwgaW5mZXIgbmFtZT5cbiAgICAgICAgICAgID8gUHJvcFJlZjxleHByLCBFeHRyYWN0PEFwcGVuZDxuYW1lLCBjaGFyPiwgSWRlbnRpZmllcj4+XG4gICAgICAgICAgICA6IEV4cCBleHRlbmRzIEFycmF5SW5kZXg8aW5mZXIgZXhwciwgaW5mZXIgaWR4PlxuICAgICAgICAgICAgICA/IEFycmF5SW5kZXg8ZXhwciwgRXh0cmFjdDxBcHBlbmQ8aWR4LCBjaGFyPiwgTnVtYmVyTGl0ZXJhbD4+XG4gICAgICAgICAgICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEFwcGx5UHJvamVjdGlvbjxULCBFeHByIGV4dGVuZHMgc3RyaW5nPiA9IEZsYXR0ZW48XG4gIFVuaW9uVG9JbnRlcnNlY3Rpb248XG4gICAgQXBwbHlQcm9qZWN0aW9uRXhwcjxULCBQYXJzZVByb2plY3Rpb25FeHByZXNzaW9uPEV4cHI+W251bWJlcl0+XG4gID5cbj47XG5cbnR5cGUgQXBwbHlQcm9qZWN0aW9uRXhwcjxULCBFeHAgZXh0ZW5kcyBFeHByPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgPyBuZXZlclxuICA6IEV4cCBleHRlbmRzIFByb3BSZWY8aW5mZXIgZXhwciwgaW5mZXIgaT5cbiAgICA/IHtcbiAgICAgICAgW3AgaW4ga2V5b2YgQXBwbHlQcm9qZWN0aW9uRXhwcjxULCBleHByPl06IEFwcGx5UHJvamVjdGlvbkV4cHI8XG4gICAgICAgICAgQXBwbHlQcm9qZWN0aW9uRXhwcjxULCBleHByPltwXSxcbiAgICAgICAgICBpXG4gICAgICAgID47XG4gICAgICB9XG4gICAgOiBFeHAgZXh0ZW5kcyBBcnJheUluZGV4PGluZmVyIGV4cHIsIGluZmVyIGk+XG4gICAgICA/IHtcbiAgICAgICAgICBbcCBpbiBrZXlvZiBBcHBseVByb2plY3Rpb25FeHByPFQsIGV4cHI+XTogQXBwbHlQcm9qZWN0aW9uRXhwcjxcbiAgICAgICAgICAgIEFwcGx5UHJvamVjdGlvbkV4cHI8VCwgZXhwcj5ba2V5b2YgQXBwbHlQcm9qZWN0aW9uRXhwcjxULCBleHByPl0sXG4gICAgICAgICAgICBpXG4gICAgICAgICAgPjtcbiAgICAgICAgfVxuICAgICAgOiBFeHAgZXh0ZW5kcyBJZGVudGlmaWVyPGluZmVyIEk+XG4gICAgICAgID8gSSBleHRlbmRzIGtleW9mIFRcbiAgICAgICAgICA/IFBpY2s8VCwgST5cbiAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogRXhwIGV4dGVuZHMgTnVtYmVyTGl0ZXJhbDxpbmZlciBJPlxuICAgICAgICAgID8gUGFyc2VJbnQ8ST4gZXh0ZW5kcyBrZXlvZiBUXG4gICAgICAgICAgICA/IFBpY2s8VCwgUGFyc2VJbnQ8ST4+XG4gICAgICAgICAgICA6IG5ldmVyXG4gICAgICAgICAgOiBuZXZlcjtcblxudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFUgZXh0ZW5kcyBhbnkgPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChcbiAgazogaW5mZXIgSSxcbikgPT4gdm9pZFxuICA/IElcbiAgOiBuZXZlcjtcblxudHlwZSBGbGF0dGVuPFQ+ID0gVCBleHRlbmRzIG9iamVjdFxuICA/IGtleW9mIFQgZXh0ZW5kcyBudW1iZXJcbiAgICA/IEZsYXR0ZW5BcnJheTxFeHRyYWN0PFQsIFJlY29yZDxudW1iZXIsIGFueT4+PlxuICAgIDoge1xuICAgICAgICBbayBpbiBrZXlvZiBUXTogRmxhdHRlbjxUW2tdPjtcbiAgICAgIH1cbiAgOiBUO1xuXG50eXBlIEZsYXR0ZW5BcnJheTxcbiAgVCBleHRlbmRzIHsgW2kgaW4gbnVtYmVyXTogYW55IH0sXG4gIGkgZXh0ZW5kcyBudW1iZXIgPSAwLFxuPiA9IGkgZXh0ZW5kcyBrZXlvZiBUXG4gID8gW1RbaV0sIC4uLkZsYXR0ZW5BcnJheTxULCBJbmM8aT4+XVxuICA6IG51bWJlciBleHRlbmRzIGlcbiAgICA/IFtdXG4gICAgOiBGbGF0dGVuQXJyYXk8VCwgSW5jPGk+PjtcblxudHlwZSBJbmM8TiBleHRlbmRzIG51bWJlcj4gPSBOIGV4dGVuZHMgMFxuICA/IDFcbiAgOiBOIGV4dGVuZHMgMVxuICAgID8gMlxuICAgIDogTiBleHRlbmRzIDJcbiAgICAgID8gM1xuICAgICAgOiBOIGV4dGVuZHMgM1xuICAgICAgICA/IDRcbiAgICAgICAgOiBOIGV4dGVuZHMgNFxuICAgICAgICAgID8gNVxuICAgICAgICAgIDogTiBleHRlbmRzIDVcbiAgICAgICAgICAgID8gNlxuICAgICAgICAgICAgOiBOIGV4dGVuZHMgNlxuICAgICAgICAgICAgICA/IDdcbiAgICAgICAgICAgICAgOiBudW1iZXI7XG5cbnR5cGUgUGFyc2VJbnQ8TiBleHRlbmRzIHN0cmluZz4gPSBOIGV4dGVuZHMgXCIwXCJcbiAgPyAwXG4gIDogTiBleHRlbmRzIFwiMVwiXG4gICAgPyAxXG4gICAgOiBOIGV4dGVuZHMgXCIyXCJcbiAgICAgID8gMlxuICAgICAgOiBOIGV4dGVuZHMgXCIzXCJcbiAgICAgICAgPyAzXG4gICAgICAgIDogTiBleHRlbmRzIFwiNFwiXG4gICAgICAgICAgPyA0XG4gICAgICAgICAgOiBOIGV4dGVuZHMgXCI1XCJcbiAgICAgICAgICAgID8gNVxuICAgICAgICAgICAgOiBOIGV4dGVuZHMgXCI2XCJcbiAgICAgICAgICAgICAgPyA2XG4gICAgICAgICAgICAgIDogTiBleHRlbmRzIFwiN1wiXG4gICAgICAgICAgICAgICAgPyA3XG4gICAgICAgICAgICAgICAgOiBOIGV4dGVuZHMgXCI4XCJcbiAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgOiBOIGV4dGVuZHMgXCI5XCJcbiAgICAgICAgICAgICAgICAgICAgPyA5XG4gICAgICAgICAgICAgICAgICAgIDogbnVtYmVyO1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafePutDocumentCommand = TypeSafePutDocumentCommand;
|
|
4
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
5
|
+
function TypeSafePutDocumentCommand() {
|
|
6
|
+
return lib_dynamodb_1.PutCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWRvY3VtZW50LWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHV0LWRvY3VtZW50LWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxnRUFLQztBQVRELHdEQUFrRTtBQUlsRSxTQUFnQiwwQkFBMEI7SUFJeEMsT0FBTyx5QkFBa0IsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHV0Q29tbWFuZCBhcyBfUHV0Q29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9saWItZHluYW1vZGJcIjtcbmltcG9ydCB0eXBlIHsgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5pbXBvcnQgdHlwZSB7IFB1dENvbW1hbmQgfSBmcm9tIFwiLi9wdXQtaXRlbVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZVNhZmVQdXREb2N1bWVudENvbW1hbmQ8SXRlbSBleHRlbmRzIG9iamVjdD4oKTogUHV0Q29tbWFuZDxcbiAgSXRlbSxcbiAgSnNvbkZvcm1hdC5Eb2N1bWVudFxuPiB7XG4gIHJldHVybiBfUHV0Q29tbWFuZCBhcyBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafePutItemCommand = TypeSafePutItemCommand;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
function TypeSafePutItemCommand() {
|
|
6
|
+
return client_dynamodb_1.PutItemCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWl0ZW0tY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdXQtaXRlbS1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsd0RBS0M7QUFURCw4REFBNkU7QUFJN0UsU0FBZ0Isc0JBQXNCO0lBSXBDLE9BQU8sZ0NBQXNCLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1dEl0ZW1Db21tYW5kIGFzIF9QdXRJdGVtQ29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcbmltcG9ydCB0eXBlIHsgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5pbXBvcnQgdHlwZSB7IFB1dENvbW1hbmQgfSBmcm9tIFwiLi9wdXQtaXRlbVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZVNhZmVQdXRJdGVtQ29tbWFuZDxJdGVtIGV4dGVuZHMgb2JqZWN0PigpOiBQdXRDb21tYW5kPFxuICBJdGVtLFxuICBKc29uRm9ybWF0LkF0dHJpYnV0ZVZhbHVlXG4+IHtcbiAgcmV0dXJuIF9QdXRJdGVtQ29tbWFuZCBhcyBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DynamoDBClientResolvedConfig, ReturnValue as DynamoDBReturnValue } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import type { MetadataBearer } from "@aws-sdk/types";
|
|
3
|
+
import type { Command } from "@smithy/smithy-client";
|
|
4
|
+
import type { DynamoDB } from "aws-sdk";
|
|
5
|
+
import type { ExpressionAttributeNames, ExpressionAttributeValues } from "./expression-attributes";
|
|
6
|
+
import type { FormatObject, JsonFormat } from "./json-format";
|
|
7
|
+
export type PutItemInput<Item extends object, ConditionExpression extends string | undefined, ReturnValue extends DynamoDB.ReturnValue, Format extends JsonFormat> = Omit<DynamoDB.PutItemInput, "ConditionExpression" | "ExpressionAttributeNames" | "ExpressionAttributeValues" | "Item" | "ReturnValues"> & ExpressionAttributeNames<ConditionExpression> & ExpressionAttributeValues<ConditionExpression, Format> & {
|
|
8
|
+
Item: FormatObject<Item, Format>;
|
|
9
|
+
ReturnValues?: ReturnValue;
|
|
10
|
+
ConditionExpression?: ConditionExpression;
|
|
11
|
+
};
|
|
12
|
+
export interface PutItemOutput<Item extends object, ReturnValue extends DynamoDB.ReturnValue, Format extends JsonFormat> extends Omit<DynamoDB.PutItemOutput, "Attributes"> {
|
|
13
|
+
Attributes?: "ALL_OLD" | "ALL_NEW" extends ReturnValue ? FormatObject<Item, Format> : undefined | "NONE" extends ReturnValue ? undefined : "UPDATED_OLD" | "UPDATED_NEW" extends ReturnValue ? Partial<FormatObject<Item, Format>> : Partial<FormatObject<Item, Format>>;
|
|
14
|
+
}
|
|
15
|
+
export type PutCommand<Item extends object, Format extends JsonFormat> = new <const ConditionExpression extends string | undefined = undefined, const ReturnValue extends DynamoDBReturnValue = "NONE">(input: PutItemInput<Item, ConditionExpression, ReturnValue, Format>) => Command<PutItemInput<Item, ConditionExpression, ReturnValue, Format>, PutItemOutput<Item, ReturnValue, Format> & MetadataBearer, DynamoDBClientResolvedConfig> & {
|
|
16
|
+
_brand: "PutItemCommand";
|
|
17
|
+
};
|
package/lib/put-item.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHV0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRHluYW1vREJDbGllbnRSZXNvbHZlZENvbmZpZyxcbiAgUmV0dXJuVmFsdWUgYXMgRHluYW1vREJSZXR1cm5WYWx1ZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuaW1wb3J0IHR5cGUgeyBNZXRhZGF0YUJlYXJlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kIH0gZnJvbSBcIkBzbWl0aHkvc21pdGh5LWNsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBEeW5hbW9EQiB9IGZyb20gXCJhd3Mtc2RrXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lcyxcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlcyxcbn0gZnJvbSBcIi4vZXhwcmVzc2lvbi1hdHRyaWJ1dGVzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcm1hdE9iamVjdCwgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5cbmV4cG9ydCB0eXBlIFB1dEl0ZW1JbnB1dDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgQ29uZGl0aW9uRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgUmV0dXJuVmFsdWUgZXh0ZW5kcyBEeW5hbW9EQi5SZXR1cm5WYWx1ZSxcbiAgRm9ybWF0IGV4dGVuZHMgSnNvbkZvcm1hdCxcbj4gPSBPbWl0PFxuICBEeW5hbW9EQi5QdXRJdGVtSW5wdXQsXG4gIHwgXCJDb25kaXRpb25FeHByZXNzaW9uXCJcbiAgfCBcIkV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lc1wiXG4gIHwgXCJFeHByZXNzaW9uQXR0cmlidXRlVmFsdWVzXCJcbiAgfCBcIkl0ZW1cIlxuICB8IFwiUmV0dXJuVmFsdWVzXCJcbj4gJlxuICBFeHByZXNzaW9uQXR0cmlidXRlTmFtZXM8Q29uZGl0aW9uRXhwcmVzc2lvbj4gJlxuICBFeHByZXNzaW9uQXR0cmlidXRlVmFsdWVzPENvbmRpdGlvbkV4cHJlc3Npb24sIEZvcm1hdD4gJiB7XG4gICAgSXRlbTogRm9ybWF0T2JqZWN0PEl0ZW0sIEZvcm1hdD47XG4gICAgUmV0dXJuVmFsdWVzPzogUmV0dXJuVmFsdWU7XG4gICAgQ29uZGl0aW9uRXhwcmVzc2lvbj86IENvbmRpdGlvbkV4cHJlc3Npb247XG4gIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHV0SXRlbU91dHB1dDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgUmV0dXJuVmFsdWUgZXh0ZW5kcyBEeW5hbW9EQi5SZXR1cm5WYWx1ZSxcbiAgRm9ybWF0IGV4dGVuZHMgSnNvbkZvcm1hdCxcbj4gZXh0ZW5kcyBPbWl0PER5bmFtb0RCLlB1dEl0ZW1PdXRwdXQsIFwiQXR0cmlidXRlc1wiPiB7XG4gIEF0dHJpYnV0ZXM/OiBcIkFMTF9PTERcIiB8IFwiQUxMX05FV1wiIGV4dGVuZHMgUmV0dXJuVmFsdWVcbiAgICA/IEZvcm1hdE9iamVjdDxJdGVtLCBGb3JtYXQ+XG4gICAgOiB1bmRlZmluZWQgfCBcIk5PTkVcIiBleHRlbmRzIFJldHVyblZhbHVlXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiBcIlVQREFURURfT0xEXCIgfCBcIlVQREFURURfTkVXXCIgZXh0ZW5kcyBSZXR1cm5WYWx1ZVxuICAgICAgICA/IFBhcnRpYWw8Rm9ybWF0T2JqZWN0PEl0ZW0sIEZvcm1hdD4+XG4gICAgICAgIDogUGFydGlhbDxGb3JtYXRPYmplY3Q8SXRlbSwgRm9ybWF0Pj47XG59XG5cbmV4cG9ydCB0eXBlIFB1dENvbW1hbmQ8SXRlbSBleHRlbmRzIG9iamVjdCwgRm9ybWF0IGV4dGVuZHMgSnNvbkZvcm1hdD4gPSBuZXcgPFxuICBjb25zdCBDb25kaXRpb25FeHByZXNzaW9uIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBjb25zdCBSZXR1cm5WYWx1ZSBleHRlbmRzIER5bmFtb0RCUmV0dXJuVmFsdWUgPSBcIk5PTkVcIixcbj4oXG4gIGlucHV0OiBQdXRJdGVtSW5wdXQ8SXRlbSwgQ29uZGl0aW9uRXhwcmVzc2lvbiwgUmV0dXJuVmFsdWUsIEZvcm1hdD4sXG4pID0+IENvbW1hbmQ8XG4gIFB1dEl0ZW1JbnB1dDxJdGVtLCBDb25kaXRpb25FeHByZXNzaW9uLCBSZXR1cm5WYWx1ZSwgRm9ybWF0PixcbiAgUHV0SXRlbU91dHB1dDxJdGVtLCBSZXR1cm5WYWx1ZSwgRm9ybWF0PiAmIE1ldGFkYXRhQmVhcmVyLFxuICBEeW5hbW9EQkNsaWVudFJlc29sdmVkQ29uZmlnXG4+ICYge1xuICBfYnJhbmQ6IFwiUHV0SXRlbUNvbW1hbmRcIjtcbn07XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeQueryCommand = TypeSafeQueryCommand;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
function TypeSafeQueryCommand() {
|
|
6
|
+
return client_dynamodb_1.QueryCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsb0RBS0M7QUFURCw4REFBeUU7QUFJekUsU0FBZ0Isb0JBQW9CO0lBSWxDLE9BQU8sOEJBQW9CLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5Q29tbWFuZCBhcyBfUXVlcnlDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuaW1wb3J0IHsgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5pbXBvcnQgeyBRdWVyeUNvbW1hbmQgfSBmcm9tIFwiLi9xdWVyeVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZVNhZmVRdWVyeUNvbW1hbmQ8SXRlbSBleHRlbmRzIG9iamVjdD4oKTogUXVlcnlDb21tYW5kPFxuICBJdGVtLFxuICBKc29uRm9ybWF0LkF0dHJpYnV0ZVZhbHVlXG4+IHtcbiAgcmV0dXJuIF9RdWVyeUNvbW1hbmQgYXMgYW55O1xufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeQueryDocumentCommand = TypeSafeQueryDocumentCommand;
|
|
4
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
5
|
+
function TypeSafeQueryDocumentCommand() {
|
|
6
|
+
return lib_dynamodb_1.QueryCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZG9jdW1lbnQtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS1kb2N1bWVudC1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsb0VBSUM7QUFSRCx3REFBc0U7QUFJdEUsU0FBZ0IsNEJBQTRCO0lBRzFDLE9BQU8sMkJBQW9CLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5Q29tbWFuZCBhcyBfUXVlcnlDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1keW5hbW9kYlwiO1xuaW1wb3J0IHR5cGUgeyBKc29uRm9ybWF0IH0gZnJvbSBcIi4vanNvbi1mb3JtYXRcIjtcbmltcG9ydCB0eXBlIHsgUXVlcnlDb21tYW5kIH0gZnJvbSBcIi4vcXVlcnlcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFR5cGVTYWZlUXVlcnlEb2N1bWVudENvbW1hbmQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4+KCk6IFF1ZXJ5Q29tbWFuZDxJdGVtLCBKc29uRm9ybWF0LkRvY3VtZW50PiB7XG4gIHJldHVybiBfUXVlcnlDb21tYW5kIGFzIGFueTtcbn1cbiJdfQ==
|
package/lib/query.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DynamoDBClientResolvedConfig } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import type { MetadataBearer } from "@aws-sdk/types";
|
|
3
|
+
import type { Command } from "@smithy/smithy-client";
|
|
4
|
+
import type { DynamoDB } from "aws-sdk";
|
|
5
|
+
import type { ExpressionAttributeNames, ExpressionAttributeValues } from "./expression-attributes";
|
|
6
|
+
import type { FormatObject, JsonFormat } from "./json-format";
|
|
7
|
+
export type QueryInput<Item extends object, KeyConditionExpression extends string | undefined, FilterExpression extends string | undefined, ProjectionExpression extends string | undefined, AttributesToGet extends keyof Item | undefined, Format extends JsonFormat> = Omit<DynamoDB.QueryInput, "AttributesToGet" | "KeyConditionExpression" | "FilterExpression" | "ExpressionAttributeNames" | "ExpressionAttributeValues"> & ExpressionAttributeNames<KeyConditionExpression> & ExpressionAttributeNames<FilterExpression> & ExpressionAttributeNames<ProjectionExpression> & ExpressionAttributeValues<KeyConditionExpression, Format> & ExpressionAttributeValues<FilterExpression, Format> & {
|
|
8
|
+
KeyConditionExpression?: KeyConditionExpression;
|
|
9
|
+
FilterExpression?: FilterExpression;
|
|
10
|
+
ProjectionExpression?: ProjectionExpression;
|
|
11
|
+
AttributesToGet?: AttributesToGet[];
|
|
12
|
+
};
|
|
13
|
+
export interface QueryOutput<Item extends object, AttributesToGet extends keyof Item | undefined, Format extends JsonFormat> extends Omit<DynamoDB.QueryOutput, "Items"> {
|
|
14
|
+
Items?: FormatObject<undefined extends AttributesToGet ? Item : Pick<Item, Extract<AttributesToGet, keyof Item>>, Format>[];
|
|
15
|
+
}
|
|
16
|
+
export type QueryCommand<Item extends object, Format extends JsonFormat> = new <const KeyConditionExpression extends string | undefined, const FilterExpression extends string | undefined, const ProjectionExpression extends string | undefined, const AttributesToGet extends keyof Item | undefined>(input: QueryInput<Item, KeyConditionExpression, FilterExpression, ProjectionExpression, AttributesToGet, Format>) => Command<QueryInput<Item, KeyConditionExpression, FilterExpression, ProjectionExpression, AttributesToGet, Format>, QueryOutput<Item, AttributesToGet, Format> & MetadataBearer, DynamoDBClientResolvedConfig> & {
|
|
17
|
+
_brand: "QueryCommand";
|
|
18
|
+
};
|
package/lib/query.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHluYW1vREJDbGllbnRSZXNvbHZlZENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGFCZWFyZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tbWFuZCB9IGZyb20gXCJAc21pdGh5L3NtaXRoeS1jbGllbnRcIjtcbmltcG9ydCB0eXBlIHsgRHluYW1vREIgfSBmcm9tIFwiYXdzLXNka1wiO1xuaW1wb3J0IHR5cGUge1xuICBFeHByZXNzaW9uQXR0cmlidXRlTmFtZXMsXG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXMsXG59IGZyb20gXCIuL2V4cHJlc3Npb24tYXR0cmlidXRlc1wiO1xuaW1wb3J0IHR5cGUgeyBGb3JtYXRPYmplY3QsIEpzb25Gb3JtYXQgfSBmcm9tIFwiLi9qc29uLWZvcm1hdFwiO1xuXG5leHBvcnQgdHlwZSBRdWVyeUlucHV0PFxuICBJdGVtIGV4dGVuZHMgb2JqZWN0LFxuICBLZXlDb25kaXRpb25FeHByZXNzaW9uIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBGaWx0ZXJFeHByZXNzaW9uIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBQcm9qZWN0aW9uRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgQXR0cmlidXRlc1RvR2V0IGV4dGVuZHMga2V5b2YgSXRlbSB8IHVuZGVmaW5lZCxcbiAgRm9ybWF0IGV4dGVuZHMgSnNvbkZvcm1hdCxcbj4gPSBPbWl0PFxuICBEeW5hbW9EQi5RdWVyeUlucHV0LFxuICB8IFwiQXR0cmlidXRlc1RvR2V0XCJcbiAgfCBcIktleUNvbmRpdGlvbkV4cHJlc3Npb25cIlxuICB8IFwiRmlsdGVyRXhwcmVzc2lvblwiXG4gIHwgXCJFeHByZXNzaW9uQXR0cmlidXRlTmFtZXNcIlxuICB8IFwiRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlc1wiXG4+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzPEtleUNvbmRpdGlvbkV4cHJlc3Npb24+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzPEZpbHRlckV4cHJlc3Npb24+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzPFByb2plY3Rpb25FeHByZXNzaW9uPiAmXG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXM8S2V5Q29uZGl0aW9uRXhwcmVzc2lvbiwgRm9ybWF0PiAmXG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXM8RmlsdGVyRXhwcmVzc2lvbiwgRm9ybWF0PiAmIHtcbiAgICBLZXlDb25kaXRpb25FeHByZXNzaW9uPzogS2V5Q29uZGl0aW9uRXhwcmVzc2lvbjtcbiAgICBGaWx0ZXJFeHByZXNzaW9uPzogRmlsdGVyRXhwcmVzc2lvbjtcbiAgICBQcm9qZWN0aW9uRXhwcmVzc2lvbj86IFByb2plY3Rpb25FeHByZXNzaW9uO1xuICAgIEF0dHJpYnV0ZXNUb0dldD86IEF0dHJpYnV0ZXNUb0dldFtdO1xuICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5T3V0cHV0PFxuICBJdGVtIGV4dGVuZHMgb2JqZWN0LFxuICBBdHRyaWJ1dGVzVG9HZXQgZXh0ZW5kcyBrZXlvZiBJdGVtIHwgdW5kZWZpbmVkLFxuICBGb3JtYXQgZXh0ZW5kcyBKc29uRm9ybWF0LFxuPiBleHRlbmRzIE9taXQ8RHluYW1vREIuUXVlcnlPdXRwdXQsIFwiSXRlbXNcIj4ge1xuICBJdGVtcz86IEZvcm1hdE9iamVjdDxcbiAgICB1bmRlZmluZWQgZXh0ZW5kcyBBdHRyaWJ1dGVzVG9HZXRcbiAgICAgID8gSXRlbVxuICAgICAgOiBQaWNrPEl0ZW0sIEV4dHJhY3Q8QXR0cmlidXRlc1RvR2V0LCBrZXlvZiBJdGVtPj4sXG4gICAgRm9ybWF0XG4gID5bXTtcbn1cblxuZXhwb3J0IHR5cGUgUXVlcnlDb21tYW5kPEl0ZW0gZXh0ZW5kcyBvYmplY3QsIEZvcm1hdCBleHRlbmRzIEpzb25Gb3JtYXQ+ID0gbmV3IDxcbiAgY29uc3QgS2V5Q29uZGl0aW9uRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgY29uc3QgRmlsdGVyRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgY29uc3QgUHJvamVjdGlvbkV4cHJlc3Npb24gZXh0ZW5kcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGNvbnN0IEF0dHJpYnV0ZXNUb0dldCBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4+KFxuICBpbnB1dDogUXVlcnlJbnB1dDxcbiAgICBJdGVtLFxuICAgIEtleUNvbmRpdGlvbkV4cHJlc3Npb24sXG4gICAgRmlsdGVyRXhwcmVzc2lvbixcbiAgICBQcm9qZWN0aW9uRXhwcmVzc2lvbixcbiAgICBBdHRyaWJ1dGVzVG9HZXQsXG4gICAgRm9ybWF0XG4gID4sXG4pID0+IENvbW1hbmQ8XG4gIFF1ZXJ5SW5wdXQ8XG4gICAgSXRlbSxcbiAgICBLZXlDb25kaXRpb25FeHByZXNzaW9uLFxuICAgIEZpbHRlckV4cHJlc3Npb24sXG4gICAgUHJvamVjdGlvbkV4cHJlc3Npb24sXG4gICAgQXR0cmlidXRlc1RvR2V0LFxuICAgIEZvcm1hdFxuICA+LFxuICBRdWVyeU91dHB1dDxJdGVtLCBBdHRyaWJ1dGVzVG9HZXQsIEZvcm1hdD4gJiBNZXRhZGF0YUJlYXJlcixcbiAgRHluYW1vREJDbGllbnRSZXNvbHZlZENvbmZpZ1xuPiAmIHtcbiAgX2JyYW5kOiBcIlF1ZXJ5Q29tbWFuZFwiO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeScanCommand = TypeSafeScanCommand;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
function TypeSafeScanCommand() {
|
|
6
|
+
return client_dynamodb_1.ScanCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi1jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjYW4tY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLGtEQUtDO0FBVEQsOERBQXVFO0FBSXZFLFNBQWdCLG1CQUFtQjtJQUlqQyxPQUFPLDZCQUFtQixDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2FuQ29tbWFuZCBhcyBfU2NhbkNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiXCI7XG5pbXBvcnQgdHlwZSB7IEpzb25Gb3JtYXQgfSBmcm9tIFwiLi9qc29uLWZvcm1hdFwiO1xuaW1wb3J0IHR5cGUgeyBTY2FuQ29tbWFuZCB9IGZyb20gXCIuL3NjYW5cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFR5cGVTYWZlU2NhbkNvbW1hbmQ8SXRlbSBleHRlbmRzIG9iamVjdD4oKTogU2NhbkNvbW1hbmQ8XG4gIEl0ZW0sXG4gIEpzb25Gb3JtYXQuQXR0cmlidXRlVmFsdWVcbj4ge1xuICByZXR1cm4gX1NjYW5Db21tYW5kIGFzIGFueTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeScanDocumentCommand = TypeSafeScanDocumentCommand;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
function TypeSafeScanDocumentCommand() {
|
|
6
|
+
return client_dynamodb_1.ScanCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi1kb2N1bWVudC1jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjYW4tZG9jdW1lbnQtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLGtFQUtDO0FBVEQsOERBQXVFO0FBSXZFLFNBQWdCLDJCQUEyQjtJQUl6QyxPQUFPLDZCQUFtQixDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2FuQ29tbWFuZCBhcyBfU2NhbkNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiXCI7XG5pbXBvcnQgdHlwZSB7IEpzb25Gb3JtYXQgfSBmcm9tIFwiLi9qc29uLWZvcm1hdFwiO1xuaW1wb3J0IHR5cGUgeyBTY2FuQ29tbWFuZCB9IGZyb20gXCIuL3NjYW5cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFR5cGVTYWZlU2NhbkRvY3VtZW50Q29tbWFuZDxJdGVtIGV4dGVuZHMgb2JqZWN0PigpOiBTY2FuQ29tbWFuZDxcbiAgSXRlbSxcbiAgSnNvbkZvcm1hdC5Eb2N1bWVudFxuPiB7XG4gIHJldHVybiBfU2NhbkNvbW1hbmQgYXMgYW55O1xufVxuIl19
|
package/lib/scan.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DynamoDBClientResolvedConfig } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import type { MetadataBearer } from "@aws-sdk/types";
|
|
3
|
+
import type { Command } from "@smithy/smithy-client";
|
|
4
|
+
import type { DynamoDB } from "aws-sdk";
|
|
5
|
+
import type { ExpressionAttributeNames, ExpressionAttributeValues } from "./expression-attributes";
|
|
6
|
+
import type { FormatObject, JsonFormat } from "./json-format";
|
|
7
|
+
export type ScanInput<Item extends object, FilterExpression extends string | undefined, ProjectionExpression extends string | undefined, AttributesToGet extends keyof Item | undefined, Format extends JsonFormat> = Omit<DynamoDB.ScanInput, "AttributesToGet" | "FilterExpression" | "ExpressionAttributeNames" | "ExpressionAttributeValues"> & ExpressionAttributeNames<FilterExpression> & ExpressionAttributeValues<FilterExpression, Format> & {
|
|
8
|
+
FilterExpression?: FilterExpression;
|
|
9
|
+
ProjectionExpression?: ProjectionExpression;
|
|
10
|
+
AttributesToGet?: AttributesToGet[];
|
|
11
|
+
};
|
|
12
|
+
export interface ScanOutput<Item extends object, AttributesToGet extends keyof Item | undefined, Format extends JsonFormat> extends Omit<DynamoDB.ScanOutput, "Items"> {
|
|
13
|
+
Items?: FormatObject<undefined extends AttributesToGet ? Item : Pick<Item, Extract<AttributesToGet, keyof Item>>, Format>[];
|
|
14
|
+
}
|
|
15
|
+
export type ScanCommand<Item extends object, Format extends JsonFormat> = new <const FilterExpression extends string | undefined, const ProjectionExpression extends string | undefined, const AttributesToGet extends keyof Item | undefined>(input: ScanInput<Item, FilterExpression, ProjectionExpression, AttributesToGet, Format>) => Command<ScanInput<Item, FilterExpression, ProjectionExpression, AttributesToGet, Format>, ScanOutput<Item, AttributesToGet, Format> & MetadataBearer, DynamoDBClientResolvedConfig> & {
|
|
16
|
+
_brand: "ScanCommand";
|
|
17
|
+
};
|
package/lib/scan.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIER5bmFtb0RCQ2xpZW50UmVzb2x2ZWRDb25maWcsXG4gIFNjYW5Db21tYW5kIGFzIF9TY2FuQ29tbWFuZCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuaW1wb3J0IHR5cGUgeyBNZXRhZGF0YUJlYXJlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kIH0gZnJvbSBcIkBzbWl0aHkvc21pdGh5LWNsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBEeW5hbW9EQiB9IGZyb20gXCJhd3Mtc2RrXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lcyxcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlcyxcbn0gZnJvbSBcIi4vZXhwcmVzc2lvbi1hdHRyaWJ1dGVzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcm1hdE9iamVjdCwgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5cbmV4cG9ydCB0eXBlIFNjYW5JbnB1dDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgRmlsdGVyRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgUHJvamVjdGlvbkV4cHJlc3Npb24gZXh0ZW5kcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIEF0dHJpYnV0ZXNUb0dldCBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4gIEZvcm1hdCBleHRlbmRzIEpzb25Gb3JtYXQsXG4+ID0gT21pdDxcbiAgRHluYW1vREIuU2NhbklucHV0LFxuICB8IFwiQXR0cmlidXRlc1RvR2V0XCJcbiAgfCBcIkZpbHRlckV4cHJlc3Npb25cIlxuICB8IFwiRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzXCJcbiAgfCBcIkV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXNcIlxuPiAmXG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lczxGaWx0ZXJFeHByZXNzaW9uPiAmXG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXM8RmlsdGVyRXhwcmVzc2lvbiwgRm9ybWF0PiAmIHtcbiAgICBGaWx0ZXJFeHByZXNzaW9uPzogRmlsdGVyRXhwcmVzc2lvbjtcbiAgICBQcm9qZWN0aW9uRXhwcmVzc2lvbj86IFByb2plY3Rpb25FeHByZXNzaW9uO1xuICAgIEF0dHJpYnV0ZXNUb0dldD86IEF0dHJpYnV0ZXNUb0dldFtdO1xuICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjYW5PdXRwdXQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIEF0dHJpYnV0ZXNUb0dldCBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4gIEZvcm1hdCBleHRlbmRzIEpzb25Gb3JtYXQsXG4+IGV4dGVuZHMgT21pdDxEeW5hbW9EQi5TY2FuT3V0cHV0LCBcIkl0ZW1zXCI+IHtcbiAgSXRlbXM/OiBGb3JtYXRPYmplY3Q8XG4gICAgdW5kZWZpbmVkIGV4dGVuZHMgQXR0cmlidXRlc1RvR2V0XG4gICAgICA/IEl0ZW1cbiAgICAgIDogUGljazxJdGVtLCBFeHRyYWN0PEF0dHJpYnV0ZXNUb0dldCwga2V5b2YgSXRlbT4+LFxuICAgIEZvcm1hdFxuICA+W107XG59XG5cbmV4cG9ydCB0eXBlIFNjYW5Db21tYW5kPEl0ZW0gZXh0ZW5kcyBvYmplY3QsIEZvcm1hdCBleHRlbmRzIEpzb25Gb3JtYXQ+ID0gbmV3IDxcbiAgY29uc3QgRmlsdGVyRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgY29uc3QgUHJvamVjdGlvbkV4cHJlc3Npb24gZXh0ZW5kcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGNvbnN0IEF0dHJpYnV0ZXNUb0dldCBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4+KFxuICBpbnB1dDogU2NhbklucHV0PFxuICAgIEl0ZW0sXG4gICAgRmlsdGVyRXhwcmVzc2lvbixcbiAgICBQcm9qZWN0aW9uRXhwcmVzc2lvbixcbiAgICBBdHRyaWJ1dGVzVG9HZXQsXG4gICAgRm9ybWF0XG4gID4sXG4pID0+IENvbW1hbmQ8XG4gIFNjYW5JbnB1dDxcbiAgICBJdGVtLFxuICAgIEZpbHRlckV4cHJlc3Npb24sXG4gICAgUHJvamVjdGlvbkV4cHJlc3Npb24sXG4gICAgQXR0cmlidXRlc1RvR2V0LFxuICAgIEZvcm1hdFxuICA+LFxuICBTY2FuT3V0cHV0PEl0ZW0sIEF0dHJpYnV0ZXNUb0dldCwgRm9ybWF0PiAmIE1ldGFkYXRhQmVhcmVyLFxuICBEeW5hbW9EQkNsaWVudFJlc29sdmVkQ29uZmlnXG4+ICYge1xuICBfYnJhbmQ6IFwiU2NhbkNvbW1hbmRcIjtcbn07XG4iXX0=
|
package/lib/simplify.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2ltcGxpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNpbXBsaWZ5PFQ+ID0geyBbS2V5VHlwZSBpbiBrZXlvZiBUXTogVFtLZXlUeXBlXSB9ICYge307XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as lambda from "aws-lambda";
|
|
2
|
+
import { ToAttributeMap } from "./attribute-value";
|
|
3
|
+
export interface DynamoDBStreamEvent<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, StreamViewType extends Exclude<lambda.StreamRecord["StreamViewType"], undefined>> {
|
|
4
|
+
Records: DynamoDBRecord<Item, PartitionKey, RangeKey, StreamViewType>[];
|
|
5
|
+
}
|
|
6
|
+
export interface DynamoDBRecord<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, StreamViewType extends lambda.StreamRecord["StreamViewType"] = undefined> extends Omit<lambda.DynamoDBRecord, "dynamodb"> {
|
|
7
|
+
dynamodb?: StreamRecord<Item, PartitionKey, RangeKey, StreamViewType>;
|
|
8
|
+
}
|
|
9
|
+
export type StreamRecord<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, StreamViewType extends lambda.StreamRecord["StreamViewType"] = undefined> = Omit<lambda.StreamRecord, "Keys" | "NewImage" | "OldImage" | "StreamViewType"> & {
|
|
10
|
+
Keys: ToAttributeMap<Pick<Item, Exclude<PartitionKey | RangeKey, undefined>>>;
|
|
11
|
+
} & (StreamViewType extends "NEW_IMAGE" ? {
|
|
12
|
+
NewImage: ToAttributeMap<Item>;
|
|
13
|
+
} : StreamViewType extends "OLD_IMAGE" ? {
|
|
14
|
+
OldImage: ToAttributeMap<Item>;
|
|
15
|
+
} : StreamViewType extends "NEW_AND_OLD_IMAGES" ? {
|
|
16
|
+
NewImage?: ToAttributeMap<Item>;
|
|
17
|
+
OldImage: ToAttributeMap<Item>;
|
|
18
|
+
} : {});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmVhbS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBUb0F0dHJpYnV0ZU1hcCB9IGZyb20gXCIuL2F0dHJpYnV0ZS12YWx1ZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtb0RCU3RyZWFtRXZlbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIFBhcnRpdGlvbktleSBleHRlbmRzIGtleW9mIEl0ZW0sXG4gIFJhbmdlS2V5IGV4dGVuZHMga2V5b2YgSXRlbSB8IHVuZGVmaW5lZCxcbiAgU3RyZWFtVmlld1R5cGUgZXh0ZW5kcyBFeGNsdWRlPFxuICAgIGxhbWJkYS5TdHJlYW1SZWNvcmRbXCJTdHJlYW1WaWV3VHlwZVwiXSxcbiAgICB1bmRlZmluZWRcbiAgPixcbj4ge1xuICBSZWNvcmRzOiBEeW5hbW9EQlJlY29yZDxJdGVtLCBQYXJ0aXRpb25LZXksIFJhbmdlS2V5LCBTdHJlYW1WaWV3VHlwZT5bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJSZWNvcmQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIFBhcnRpdGlvbktleSBleHRlbmRzIGtleW9mIEl0ZW0sXG4gIFJhbmdlS2V5IGV4dGVuZHMga2V5b2YgSXRlbSB8IHVuZGVmaW5lZCxcbiAgU3RyZWFtVmlld1R5cGUgZXh0ZW5kcyBsYW1iZGEuU3RyZWFtUmVjb3JkW1wiU3RyZWFtVmlld1R5cGVcIl0gPSB1bmRlZmluZWQsXG4+IGV4dGVuZHMgT21pdDxsYW1iZGEuRHluYW1vREJSZWNvcmQsIFwiZHluYW1vZGJcIj4ge1xuICBkeW5hbW9kYj86IFN0cmVhbVJlY29yZDxJdGVtLCBQYXJ0aXRpb25LZXksIFJhbmdlS2V5LCBTdHJlYW1WaWV3VHlwZT47XG59XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCB0eXBlIFN0cmVhbVJlY29yZDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgUGFydGl0aW9uS2V5IGV4dGVuZHMga2V5b2YgSXRlbSxcbiAgUmFuZ2VLZXkgZXh0ZW5kcyBrZXlvZiBJdGVtIHwgdW5kZWZpbmVkLFxuICBTdHJlYW1WaWV3VHlwZSBleHRlbmRzIGxhbWJkYS5TdHJlYW1SZWNvcmRbXCJTdHJlYW1WaWV3VHlwZVwiXSA9IHVuZGVmaW5lZCxcbj4gPSBPbWl0PFxuICBsYW1iZGEuU3RyZWFtUmVjb3JkLFxuICBcIktleXNcIiB8IFwiTmV3SW1hZ2VcIiB8IFwiT2xkSW1hZ2VcIiB8IFwiU3RyZWFtVmlld1R5cGVcIlxuPiAmIHtcbiAgS2V5czogVG9BdHRyaWJ1dGVNYXA8UGljazxJdGVtLCBFeGNsdWRlPFBhcnRpdGlvbktleSB8IFJhbmdlS2V5LCB1bmRlZmluZWQ+Pj47XG59ICYgKFN0cmVhbVZpZXdUeXBlIGV4dGVuZHMgXCJORVdfSU1BR0VcIlxuICAgID8ge1xuICAgICAgICBOZXdJbWFnZTogVG9BdHRyaWJ1dGVNYXA8SXRlbT47XG4gICAgICB9XG4gICAgOiBTdHJlYW1WaWV3VHlwZSBleHRlbmRzIFwiT0xEX0lNQUdFXCJcbiAgICAgID8ge1xuICAgICAgICAgIE9sZEltYWdlOiBUb0F0dHJpYnV0ZU1hcDxJdGVtPjtcbiAgICAgICAgfVxuICAgICAgOiBTdHJlYW1WaWV3VHlwZSBleHRlbmRzIFwiTkVXX0FORF9PTERfSU1BR0VTXCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBOZXdJbWFnZT86IFRvQXR0cmlidXRlTWFwPEl0ZW0+O1xuICAgICAgICAgICAgT2xkSW1hZ2U6IFRvQXR0cmlidXRlTWFwPEl0ZW0+O1xuICAgICAgICAgIH1cbiAgICAgICAgOiB7fSk7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { JsonFormat } from "./json-format";
|
|
2
|
+
import type { UpdateCommand } from "./update-item";
|
|
3
|
+
export declare function TypeSafeUpdateDocumentCommand<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined>(): UpdateCommand<Item, PartitionKey, RangeKey, JsonFormat.Document>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeUpdateDocumentCommand = TypeSafeUpdateDocumentCommand;
|
|
4
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
5
|
+
function TypeSafeUpdateDocumentCommand() {
|
|
6
|
+
return lib_dynamodb_1.UpdateCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWRvY3VtZW50LWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXBkYXRlLWRvY3VtZW50LWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzRUFNQztBQVZELHdEQUF3RTtBQUl4RSxTQUFnQiw2QkFBNkI7SUFLM0MsT0FBTyw0QkFBcUIsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBkYXRlQ29tbWFuZCBhcyBfVXBkYXRlQ29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9saWItZHluYW1vZGJcIjtcbmltcG9ydCB0eXBlIHsgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZUNvbW1hbmQgfSBmcm9tIFwiLi91cGRhdGUtaXRlbVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZVNhZmVVcGRhdGVEb2N1bWVudENvbW1hbmQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIFBhcnRpdGlvbktleSBleHRlbmRzIGtleW9mIEl0ZW0sXG4gIFJhbmdlS2V5IGV4dGVuZHMga2V5b2YgSXRlbSB8IHVuZGVmaW5lZCxcbj4oKTogVXBkYXRlQ29tbWFuZDxJdGVtLCBQYXJ0aXRpb25LZXksIFJhbmdlS2V5LCBKc29uRm9ybWF0LkRvY3VtZW50PiB7XG4gIHJldHVybiBfVXBkYXRlQ29tbWFuZCBhcyBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { JsonFormat } from "./json-format";
|
|
2
|
+
import { UpdateCommand } from "./update-item";
|
|
3
|
+
export declare function TypeSafeUpdateItemCommand<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined>(): UpdateCommand<Item, PartitionKey, RangeKey, JsonFormat.AttributeValue>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeSafeUpdateItemCommand = TypeSafeUpdateItemCommand;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
function TypeSafeUpdateItemCommand() {
|
|
6
|
+
return client_dynamodb_1.UpdateItemCommand;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGUtaXRlbS1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsOERBTUM7QUFWRCw4REFBbUY7QUFJbkYsU0FBZ0IseUJBQXlCO0lBS3ZDLE9BQU8sbUNBQXlCLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVwZGF0ZUl0ZW1Db21tYW5kIGFzIF9VcGRhdGVJdGVtQ29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcbmltcG9ydCB7IEpzb25Gb3JtYXQgfSBmcm9tIFwiLi9qc29uLWZvcm1hdFwiO1xuaW1wb3J0IHsgVXBkYXRlQ29tbWFuZCB9IGZyb20gXCIuL3VwZGF0ZS1pdGVtXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUeXBlU2FmZVVwZGF0ZUl0ZW1Db21tYW5kPFxuICBJdGVtIGV4dGVuZHMgb2JqZWN0LFxuICBQYXJ0aXRpb25LZXkgZXh0ZW5kcyBrZXlvZiBJdGVtLFxuICBSYW5nZUtleSBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4+KCk6IFVwZGF0ZUNvbW1hbmQ8SXRlbSwgUGFydGl0aW9uS2V5LCBSYW5nZUtleSwgSnNvbkZvcm1hdC5BdHRyaWJ1dGVWYWx1ZT4ge1xuICByZXR1cm4gX1VwZGF0ZUl0ZW1Db21tYW5kIGFzIGFueTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DynamoDBClientResolvedConfig, ReturnValue as DynamoDBReturnValue } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import type { MetadataBearer } from "@aws-sdk/types";
|
|
3
|
+
import type { Command } from "@smithy/smithy-client";
|
|
4
|
+
import type { DynamoDB } from "aws-sdk";
|
|
5
|
+
import type { ExpressionAttributeNames, ExpressionAttributeValues } from "./expression-attributes";
|
|
6
|
+
import type { FormatObject, JsonFormat } from "./json-format";
|
|
7
|
+
import type { TableKey } from "./key";
|
|
8
|
+
import type { Narrow } from "./narrow";
|
|
9
|
+
export type UpdateItemInput<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, Key extends TableKey<Item, PartitionKey, RangeKey, Format>, UpdateExpression extends string, ConditionExpression extends string | undefined, ReturnValue extends DynamoDB.ReturnValue, Format extends JsonFormat> = Omit<DynamoDB.UpdateItemInput, "ConditionExpression" | "UpdateExpression" | "ExpressionAttributeNames" | "ExpressionAttributeValues" | "Key" | "ReturnValues"> & ExpressionAttributeNames<ConditionExpression> & ExpressionAttributeValues<ConditionExpression, Format> & ExpressionAttributeNames<UpdateExpression> & ExpressionAttributeValues<UpdateExpression, Format> & {
|
|
10
|
+
Key: Key;
|
|
11
|
+
ReturnValues?: ReturnValue;
|
|
12
|
+
UpdateExpression: UpdateExpression;
|
|
13
|
+
ConditionExpression?: ConditionExpression;
|
|
14
|
+
};
|
|
15
|
+
export interface UpdateItemOutput<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, Key extends TableKey<Item, PartitionKey, RangeKey, Format>, ReturnValue extends DynamoDB.ReturnValue, Format extends JsonFormat> extends Omit<DynamoDB.UpdateItemOutput, "Attributes"> {
|
|
16
|
+
Attributes?: FormatObject<ReturnValue extends undefined | "NONE" ? undefined : ReturnValue extends "ALL_OLD" | "ALL_NEW" ? Narrow<Item, Extract<Key, TableKey<Item, any, any, Format>>, Format> : ReturnValue extends "UPDATED_OLD" | "UPDATED_NEW" ? Partial<Narrow<Item, Extract<Key, TableKey<Item, any, any, Format>>, Format>> : Partial<Narrow<Item, Extract<Key, TableKey<Item, any, any, Format>>, Format>>, Format>;
|
|
17
|
+
}
|
|
18
|
+
export type UpdateCommand<Item extends object, PartitionKey extends keyof Item, RangeKey extends keyof Item | undefined, Format extends JsonFormat> = new <Key extends TableKey<Item, PartitionKey, RangeKey, Format>, const UpdateExpression extends string, const ConditionExpression extends string | undefined = undefined, const ReturnValue extends DynamoDBReturnValue = "NONE">(input: UpdateItemInput<Item, PartitionKey, RangeKey, Key, UpdateExpression, ConditionExpression, ReturnValue, Format>) => Command<UpdateItemInput<Item, PartitionKey, RangeKey, Key, UpdateExpression, ConditionExpression, ReturnValue, Format>, UpdateItemOutput<Item, PartitionKey, RangeKey, Key, ReturnValue, Format> & MetadataBearer, DynamoDBClientResolvedConfig> & {
|
|
19
|
+
_brand: "UpdateItemCommand";
|
|
20
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXBkYXRlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRHluYW1vREJDbGllbnRSZXNvbHZlZENvbmZpZyxcbiAgUmV0dXJuVmFsdWUgYXMgRHluYW1vREJSZXR1cm5WYWx1ZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuaW1wb3J0IHR5cGUgeyBNZXRhZGF0YUJlYXJlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kIH0gZnJvbSBcIkBzbWl0aHkvc21pdGh5LWNsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBEeW5hbW9EQiB9IGZyb20gXCJhd3Mtc2RrXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lcyxcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlcyxcbn0gZnJvbSBcIi4vZXhwcmVzc2lvbi1hdHRyaWJ1dGVzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcm1hdE9iamVjdCwgSnNvbkZvcm1hdCB9IGZyb20gXCIuL2pzb24tZm9ybWF0XCI7XG5pbXBvcnQgdHlwZSB7IFRhYmxlS2V5IH0gZnJvbSBcIi4va2V5XCI7XG5pbXBvcnQgdHlwZSB7IE5hcnJvdyB9IGZyb20gXCIuL25hcnJvd1wiO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVJdGVtSW5wdXQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIFBhcnRpdGlvbktleSBleHRlbmRzIGtleW9mIEl0ZW0sXG4gIFJhbmdlS2V5IGV4dGVuZHMga2V5b2YgSXRlbSB8IHVuZGVmaW5lZCxcbiAgS2V5IGV4dGVuZHMgVGFibGVLZXk8SXRlbSwgUGFydGl0aW9uS2V5LCBSYW5nZUtleSwgRm9ybWF0PixcbiAgVXBkYXRlRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyxcbiAgQ29uZGl0aW9uRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgUmV0dXJuVmFsdWUgZXh0ZW5kcyBEeW5hbW9EQi5SZXR1cm5WYWx1ZSxcbiAgRm9ybWF0IGV4dGVuZHMgSnNvbkZvcm1hdCxcbj4gPSBPbWl0PFxuICBEeW5hbW9EQi5VcGRhdGVJdGVtSW5wdXQsXG4gIHwgXCJDb25kaXRpb25FeHByZXNzaW9uXCJcbiAgfCBcIlVwZGF0ZUV4cHJlc3Npb25cIlxuICB8IFwiRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzXCJcbiAgfCBcIkV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXNcIlxuICB8IFwiS2V5XCJcbiAgfCBcIlJldHVyblZhbHVlc1wiXG4+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzPENvbmRpdGlvbkV4cHJlc3Npb24+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlczxDb25kaXRpb25FeHByZXNzaW9uLCBGb3JtYXQ+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzPFVwZGF0ZUV4cHJlc3Npb24+ICZcbiAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlczxVcGRhdGVFeHByZXNzaW9uLCBGb3JtYXQ+ICYge1xuICAgIEtleTogS2V5O1xuICAgIFJldHVyblZhbHVlcz86IFJldHVyblZhbHVlO1xuICAgIFVwZGF0ZUV4cHJlc3Npb246IFVwZGF0ZUV4cHJlc3Npb247XG4gICAgQ29uZGl0aW9uRXhwcmVzc2lvbj86IENvbmRpdGlvbkV4cHJlc3Npb247XG4gIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlSXRlbU91dHB1dDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgUGFydGl0aW9uS2V5IGV4dGVuZHMga2V5b2YgSXRlbSxcbiAgUmFuZ2VLZXkgZXh0ZW5kcyBrZXlvZiBJdGVtIHwgdW5kZWZpbmVkLFxuICBLZXkgZXh0ZW5kcyBUYWJsZUtleTxJdGVtLCBQYXJ0aXRpb25LZXksIFJhbmdlS2V5LCBGb3JtYXQ+LFxuICBSZXR1cm5WYWx1ZSBleHRlbmRzIER5bmFtb0RCLlJldHVyblZhbHVlLFxuICBGb3JtYXQgZXh0ZW5kcyBKc29uRm9ybWF0LFxuPiBleHRlbmRzIE9taXQ8RHluYW1vREIuVXBkYXRlSXRlbU91dHB1dCwgXCJBdHRyaWJ1dGVzXCI+IHtcbiAgQXR0cmlidXRlcz86IEZvcm1hdE9iamVjdDxcbiAgICBSZXR1cm5WYWx1ZSBleHRlbmRzIHVuZGVmaW5lZCB8IFwiTk9ORVwiXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiBSZXR1cm5WYWx1ZSBleHRlbmRzIFwiQUxMX09MRFwiIHwgXCJBTExfTkVXXCJcbiAgICAgICAgPyBOYXJyb3c8SXRlbSwgRXh0cmFjdDxLZXksIFRhYmxlS2V5PEl0ZW0sIGFueSwgYW55LCBGb3JtYXQ+PiwgRm9ybWF0PlxuICAgICAgICA6IFJldHVyblZhbHVlIGV4dGVuZHMgXCJVUERBVEVEX09MRFwiIHwgXCJVUERBVEVEX05FV1wiXG4gICAgICAgICAgPyBQYXJ0aWFsPFxuICAgICAgICAgICAgICBOYXJyb3c8XG4gICAgICAgICAgICAgICAgSXRlbSxcbiAgICAgICAgICAgICAgICBFeHRyYWN0PEtleSwgVGFibGVLZXk8SXRlbSwgYW55LCBhbnksIEZvcm1hdD4+LFxuICAgICAgICAgICAgICAgIEZvcm1hdFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+XG4gICAgICAgICAgOiBQYXJ0aWFsPFxuICAgICAgICAgICAgICBOYXJyb3c8XG4gICAgICAgICAgICAgICAgSXRlbSxcbiAgICAgICAgICAgICAgICBFeHRyYWN0PEtleSwgVGFibGVLZXk8SXRlbSwgYW55LCBhbnksIEZvcm1hdD4+LFxuICAgICAgICAgICAgICAgIEZvcm1hdFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+LFxuICAgIEZvcm1hdFxuICA+O1xufVxuXG5leHBvcnQgdHlwZSBVcGRhdGVDb21tYW5kPFxuICBJdGVtIGV4dGVuZHMgb2JqZWN0LFxuICBQYXJ0aXRpb25LZXkgZXh0ZW5kcyBrZXlvZiBJdGVtLFxuICBSYW5nZUtleSBleHRlbmRzIGtleW9mIEl0ZW0gfCB1bmRlZmluZWQsXG4gIEZvcm1hdCBleHRlbmRzIEpzb25Gb3JtYXQsXG4+ID0gbmV3IDxcbiAgS2V5IGV4dGVuZHMgVGFibGVLZXk8SXRlbSwgUGFydGl0aW9uS2V5LCBSYW5nZUtleSwgRm9ybWF0PixcbiAgY29uc3QgVXBkYXRlRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyxcbiAgY29uc3QgQ29uZGl0aW9uRXhwcmVzc2lvbiBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgY29uc3QgUmV0dXJuVmFsdWUgZXh0ZW5kcyBEeW5hbW9EQlJldHVyblZhbHVlID0gXCJOT05FXCIsXG4+KFxuICBpbnB1dDogVXBkYXRlSXRlbUlucHV0PFxuICAgIEl0ZW0sXG4gICAgUGFydGl0aW9uS2V5LFxuICAgIFJhbmdlS2V5LFxuICAgIEtleSxcbiAgICBVcGRhdGVFeHByZXNzaW9uLFxuICAgIENvbmRpdGlvbkV4cHJlc3Npb24sXG4gICAgUmV0dXJuVmFsdWUsXG4gICAgRm9ybWF0XG4gID4sXG4pID0+IENvbW1hbmQ8XG4gIFVwZGF0ZUl0ZW1JbnB1dDxcbiAgICBJdGVtLFxuICAgIFBhcnRpdGlvbktleSxcbiAgICBSYW5nZUtleSxcbiAgICBLZXksXG4gICAgVXBkYXRlRXhwcmVzc2lvbixcbiAgICBDb25kaXRpb25FeHByZXNzaW9uLFxuICAgIFJldHVyblZhbHVlLFxuICAgIEZvcm1hdFxuICA+LFxuICBVcGRhdGVJdGVtT3V0cHV0PEl0ZW0sIFBhcnRpdGlvbktleSwgUmFuZ2VLZXksIEtleSwgUmV0dXJuVmFsdWUsIEZvcm1hdD4gJlxuICAgIE1ldGFkYXRhQmVhcmVyLFxuICBEeW5hbW9EQkNsaWVudFJlc29sdmVkQ29uZmlnXG4+ICYge1xuICBfYnJhbmQ6IFwiVXBkYXRlSXRlbUNvbW1hbmRcIjtcbn07XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nikovirtala/typesafe-dynamodb",
|
|
3
|
+
"repository": {
|
|
4
|
+
"type": "git",
|
|
5
|
+
"url": "https://github.com/nikovirtala/typesafe-dynamodb"
|
|
6
|
+
},
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "npx projen build",
|
|
9
|
+
"bump": "npx projen bump",
|
|
10
|
+
"clobber": "npx projen clobber",
|
|
11
|
+
"compile": "npx projen compile",
|
|
12
|
+
"default": "npx projen default",
|
|
13
|
+
"eject": "npx projen eject",
|
|
14
|
+
"eslint": "npx projen eslint",
|
|
15
|
+
"package": "npx projen package",
|
|
16
|
+
"post-compile": "npx projen post-compile",
|
|
17
|
+
"post-upgrade": "npx projen post-upgrade",
|
|
18
|
+
"pre-compile": "npx projen pre-compile",
|
|
19
|
+
"release": "npx projen release",
|
|
20
|
+
"test": "npx projen test",
|
|
21
|
+
"test:watch": "npx projen test:watch",
|
|
22
|
+
"unbump": "npx projen unbump",
|
|
23
|
+
"upgrade": "npx projen upgrade",
|
|
24
|
+
"watch": "npx projen watch",
|
|
25
|
+
"projen": "npx projen"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@aws-sdk/client-dynamodb": "3.910.0",
|
|
29
|
+
"@aws-sdk/lib-dynamodb": "3.910.0",
|
|
30
|
+
"@aws-sdk/types": "3.910.0",
|
|
31
|
+
"@aws-sdk/util-dynamodb": "3.910.0",
|
|
32
|
+
"@smithy/smithy-client": "4.8.1",
|
|
33
|
+
"@types/aws-lambda": "8.10.155",
|
|
34
|
+
"@types/jest": "^30.0.0",
|
|
35
|
+
"@types/node": "^24",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^8",
|
|
37
|
+
"@typescript-eslint/parser": "^8",
|
|
38
|
+
"aws-sdk": "2.1692.0",
|
|
39
|
+
"commit-and-tag-version": "^12",
|
|
40
|
+
"constructs": "^10.0.0",
|
|
41
|
+
"eslint": "^9",
|
|
42
|
+
"eslint-config-prettier": "^10.1.8",
|
|
43
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
44
|
+
"eslint-plugin-import": "^2.32.0",
|
|
45
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
46
|
+
"jest": "^30.2.0",
|
|
47
|
+
"jest-junit": "^16",
|
|
48
|
+
"prettier": "^3.6.2",
|
|
49
|
+
"projen": "^0.98.0",
|
|
50
|
+
"ts-jest": "^29.4.5",
|
|
51
|
+
"ts-node": "^10.9.2",
|
|
52
|
+
"typescript": "latest"
|
|
53
|
+
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@aws-sdk/client-dynamodb": "^3.910.0",
|
|
56
|
+
"@aws-sdk/lib-dynamodb": "^3.910.0",
|
|
57
|
+
"@aws-sdk/types": "^3.910.0",
|
|
58
|
+
"@aws-sdk/util-dynamodb": "^3.910.0",
|
|
59
|
+
"@smithy/smithy-client": "^3.7.0",
|
|
60
|
+
"@types/aws-lambda": "^8.10.155",
|
|
61
|
+
"aws-sdk": "^2.1692.0"
|
|
62
|
+
},
|
|
63
|
+
"main": "lib/index.js",
|
|
64
|
+
"license": "Apache-2.0",
|
|
65
|
+
"publishConfig": {
|
|
66
|
+
"access": "public"
|
|
67
|
+
},
|
|
68
|
+
"version": "0.0.0",
|
|
69
|
+
"jest": {
|
|
70
|
+
"coverageProvider": "v8",
|
|
71
|
+
"testMatch": [
|
|
72
|
+
"<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
|
|
73
|
+
"<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)",
|
|
74
|
+
"<rootDir>/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
|
|
75
|
+
"<rootDir>/@(projenrc)/**/__tests__/**/*.ts?(x)"
|
|
76
|
+
],
|
|
77
|
+
"clearMocks": true,
|
|
78
|
+
"collectCoverage": true,
|
|
79
|
+
"coverageReporters": [
|
|
80
|
+
"json",
|
|
81
|
+
"lcov",
|
|
82
|
+
"clover",
|
|
83
|
+
"cobertura",
|
|
84
|
+
"text"
|
|
85
|
+
],
|
|
86
|
+
"coverageDirectory": "coverage",
|
|
87
|
+
"coveragePathIgnorePatterns": [
|
|
88
|
+
"/node_modules/"
|
|
89
|
+
],
|
|
90
|
+
"testPathIgnorePatterns": [
|
|
91
|
+
"/node_modules/"
|
|
92
|
+
],
|
|
93
|
+
"watchPathIgnorePatterns": [
|
|
94
|
+
"/node_modules/"
|
|
95
|
+
],
|
|
96
|
+
"reporters": [
|
|
97
|
+
"default",
|
|
98
|
+
[
|
|
99
|
+
"jest-junit",
|
|
100
|
+
{
|
|
101
|
+
"outputDirectory": "test-reports"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
],
|
|
105
|
+
"transform": {
|
|
106
|
+
"^.+\\.[t]sx?$": [
|
|
107
|
+
"ts-jest",
|
|
108
|
+
{
|
|
109
|
+
"tsconfig": "tsconfig.dev.json"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"types": "lib/index.d.ts",
|
|
115
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
116
|
+
}
|