@lambada/utils 1.2.1 → 1.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.
- package/dist/cors.d.ts +1 -1
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.js +18 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/repositoryExtended.d.ts +70 -0
- package/dist/data/repositoryExtended.js +112 -0
- package/dist/data/repositoryExtended.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/repository.d.ts +2 -1
- package/dist/repository.js +3 -2
- package/dist/repository.js.map +1 -1
- package/package.json +5 -3
package/dist/cors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const getCorsHeaders: (domainName?: string
|
|
1
|
+
export declare const getCorsHeaders: (domainName?: string, origins?: string[]) => {
|
|
2
2
|
"Access-Control-Allow-Headers": string;
|
|
3
3
|
"Access-Control-Allow-Origin": string;
|
|
4
4
|
"Access-Control-Allow-Methods": string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './repositoryExtended';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./repositoryExtended"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { RepositoryBase } from "../repository";
|
|
2
|
+
export declare class RepositoryExtended extends RepositoryBase {
|
|
3
|
+
/**
|
|
4
|
+
* Executes a query and filters with a `begins_with` in the sort key
|
|
5
|
+
* @param params
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
queryBegins_with<T>(params: {
|
|
9
|
+
primaryKey: {
|
|
10
|
+
name: string & keyof T;
|
|
11
|
+
value: any;
|
|
12
|
+
};
|
|
13
|
+
rangeKey?: {
|
|
14
|
+
name: string & keyof T;
|
|
15
|
+
value: any;
|
|
16
|
+
};
|
|
17
|
+
indexName?: string;
|
|
18
|
+
limit?: number;
|
|
19
|
+
lastKey?: string;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
data: T[];
|
|
22
|
+
lastKey?: string;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Execute a query with conditional range key.
|
|
26
|
+
* This method is not yet paginated
|
|
27
|
+
* @param params
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
queryCondition<T>(params: {
|
|
31
|
+
primaryKey: {
|
|
32
|
+
name: string & keyof T;
|
|
33
|
+
value: any;
|
|
34
|
+
};
|
|
35
|
+
rangeKey?: {
|
|
36
|
+
name: string & keyof T;
|
|
37
|
+
value: number | string;
|
|
38
|
+
condition: 'EQ' | 'GT' | 'LT' | 'GE' | 'LE' | 'BEGINS_WITH';
|
|
39
|
+
} | {
|
|
40
|
+
name: string & keyof T;
|
|
41
|
+
value: {
|
|
42
|
+
from: number | string;
|
|
43
|
+
to: number | string;
|
|
44
|
+
};
|
|
45
|
+
condition: 'BETWEEN';
|
|
46
|
+
};
|
|
47
|
+
indexName?: string;
|
|
48
|
+
}): Promise<T[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Requires `updateItem` permission
|
|
51
|
+
* @param params update params
|
|
52
|
+
* @returns all updated items
|
|
53
|
+
*/
|
|
54
|
+
updateItem<T extends {
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
}>(params: {
|
|
57
|
+
primaryKey: {
|
|
58
|
+
name: string & keyof T;
|
|
59
|
+
value: any;
|
|
60
|
+
};
|
|
61
|
+
rangeKey?: {
|
|
62
|
+
name: string & keyof T;
|
|
63
|
+
value: any;
|
|
64
|
+
};
|
|
65
|
+
update: {
|
|
66
|
+
[key in keyof T]?: any;
|
|
67
|
+
};
|
|
68
|
+
}): Promise<T>;
|
|
69
|
+
private fromItem;
|
|
70
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RepositoryExtended = void 0;
|
|
13
|
+
const repository_1 = require("../repository");
|
|
14
|
+
class RepositoryExtended extends repository_1.RepositoryBase {
|
|
15
|
+
/**
|
|
16
|
+
* Executes a query and filters with a `begins_with` in the sort key
|
|
17
|
+
* @param params
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
queryBegins_with(params) {
|
|
21
|
+
var _a;
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const { primaryKey, rangeKey, indexName } = params;
|
|
24
|
+
const command = {
|
|
25
|
+
TableName: this.tableName,
|
|
26
|
+
IndexName: indexName,
|
|
27
|
+
KeyConditionExpression: `#PK = :PK ${rangeKey ? 'AND begins_with(#SK,:SK)' : ''}`,
|
|
28
|
+
ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
|
|
29
|
+
ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ? { ':SK': this.marshaller.marshallValue(rangeKey.value) } : {})),
|
|
30
|
+
Limit: params.limit,
|
|
31
|
+
ExclusiveStartKey: params.lastKey ? JSON.parse(params.lastKey) : undefined,
|
|
32
|
+
};
|
|
33
|
+
const response = yield this.getDb().query(command).promise();
|
|
34
|
+
return {
|
|
35
|
+
data: ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.marshaller.unmarshallItem(item)),
|
|
36
|
+
lastKey: response.LastEvaluatedKey && JSON.stringify(response.LastEvaluatedKey)
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Execute a query with conditional range key.
|
|
42
|
+
* This method is not yet paginated
|
|
43
|
+
* @param params
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
queryCondition(params) {
|
|
47
|
+
var _a;
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const { primaryKey, rangeKey, indexName } = params;
|
|
50
|
+
const skCondition = {
|
|
51
|
+
EQ: 'AND #SK = :SK',
|
|
52
|
+
GT: 'AND #SK > :SK',
|
|
53
|
+
LT: 'AND #SK < :SK',
|
|
54
|
+
GE: 'AND #SK >= :SK',
|
|
55
|
+
LE: 'AND #SK <= :SK',
|
|
56
|
+
BEGINS_WITH: 'AND begins_with(#SK, :SK)',
|
|
57
|
+
BETWEEN: 'AND #SK between :SKfrom and :SKto'
|
|
58
|
+
};
|
|
59
|
+
const command = {
|
|
60
|
+
TableName: this.tableName,
|
|
61
|
+
IndexName: indexName,
|
|
62
|
+
KeyConditionExpression: `#PK = :PK ${rangeKey ? skCondition[rangeKey.condition] : ''}`,
|
|
63
|
+
ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
|
|
64
|
+
ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ?
|
|
65
|
+
typeof rangeKey.value === 'object' ?
|
|
66
|
+
{
|
|
67
|
+
':SKfrom': this.marshaller.marshallValue(rangeKey.value.from),
|
|
68
|
+
':SKto': this.marshaller.marshallValue(rangeKey.value.to),
|
|
69
|
+
}
|
|
70
|
+
: { ':SK': this.marshaller.marshallValue(rangeKey.value) }
|
|
71
|
+
: {})),
|
|
72
|
+
};
|
|
73
|
+
const response = yield this.getDb().query(command).promise();
|
|
74
|
+
return ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item));
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Requires `updateItem` permission
|
|
79
|
+
* @param params update params
|
|
80
|
+
* @returns all updated items
|
|
81
|
+
*/
|
|
82
|
+
updateItem(params) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
const { primaryKey, rangeKey, update } = params;
|
|
85
|
+
const attributes = Object.entries(update);
|
|
86
|
+
const command = {
|
|
87
|
+
TableName: this.tableName,
|
|
88
|
+
Key: this.marshaller.marshallItem(Object.assign({ [primaryKey.name]: primaryKey.value }, (rangeKey ? { [rangeKey.name]: rangeKey.value } : {}))),
|
|
89
|
+
ConditionExpression: `#PK = :PK ${rangeKey ? `AND #SK = :SK` : ''}`,
|
|
90
|
+
UpdateExpression: `set ${attributes.map(([k]) => `#${k} = :${k}`).join(', ')}`,
|
|
91
|
+
ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
|
|
92
|
+
ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey
|
|
93
|
+
? { ':SK': this.marshaller.marshallValue(rangeKey.value) }
|
|
94
|
+
: {})),
|
|
95
|
+
ReturnValues: 'ALL_NEW',
|
|
96
|
+
};
|
|
97
|
+
attributes.forEach(([name, value]) => {
|
|
98
|
+
command.ExpressionAttributeNames[`#${name}`] = name;
|
|
99
|
+
command.ExpressionAttributeValues[`:${name}`] = this.marshaller.marshallValue(value);
|
|
100
|
+
});
|
|
101
|
+
const response = yield this.getDb().updateItem(command).promise();
|
|
102
|
+
if (!response.Attributes)
|
|
103
|
+
throw new Error('Failed to update item');
|
|
104
|
+
return this.marshaller.unmarshallItem(response.Attributes);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
fromItem(item) {
|
|
108
|
+
return this.marshaller.unmarshallItem(item);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.RepositoryExtended = RepositoryExtended;
|
|
112
|
+
//# sourceMappingURL=repositoryExtended.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositoryExtended.js","sourceRoot":"","sources":["../../src/data/repositoryExtended.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./repository"), exports);
|
|
14
18
|
__exportStar(require("./request"), exports);
|
|
15
19
|
__exportStar(require("./cors"), exports);
|
|
20
|
+
__exportStar(require("./data"), exports);
|
|
16
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,4CAAyB;AACzB,yCAAsB;AACtB,yCAAsB"}
|
package/dist/repository.d.ts
CHANGED
|
@@ -19,12 +19,13 @@ export declare class RepositoryBase {
|
|
|
19
19
|
};
|
|
20
20
|
protected marshaller: IMarshaller;
|
|
21
21
|
protected readonly tableName: string;
|
|
22
|
+
protected clientConfig?: AWS.DynamoDB.ClientConfiguration;
|
|
22
23
|
constructor(table: {
|
|
23
24
|
envKeyName: string;
|
|
24
25
|
name: string;
|
|
25
26
|
primaryKey: string;
|
|
26
27
|
rangeKey?: string;
|
|
27
|
-
}, customMarshaller?: IMarshaller);
|
|
28
|
+
}, customMarshaller?: IMarshaller, clientConfig?: AWS.DynamoDB.ClientConfiguration);
|
|
28
29
|
/**
|
|
29
30
|
* Validates the table data before execution. This is important because if you've got more than one repo in a single service class,
|
|
30
31
|
* and a lambda that only uses one of them, then it would fail because it's expecting config for both tables, even if using one only.
|
package/dist/repository.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.DefaultMarshaller = {
|
|
|
18
18
|
unmarshallValue: AWS.DynamoDB.Converter.output,
|
|
19
19
|
};
|
|
20
20
|
class RepositoryBase {
|
|
21
|
-
constructor(table, customMarshaller) {
|
|
21
|
+
constructor(table, customMarshaller, clientConfig) {
|
|
22
22
|
var _a;
|
|
23
23
|
this.table = table;
|
|
24
24
|
this.tableName = (_a = process.env[this.table.envKeyName]) !== null && _a !== void 0 ? _a : '';
|
|
@@ -28,6 +28,7 @@ class RepositoryBase {
|
|
|
28
28
|
else {
|
|
29
29
|
this.marshaller = exports.DefaultMarshaller;
|
|
30
30
|
}
|
|
31
|
+
this.clientConfig = clientConfig;
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Validates the table data before execution. This is important because if you've got more than one repo in a single service class,
|
|
@@ -37,7 +38,7 @@ class RepositoryBase {
|
|
|
37
38
|
getDb() {
|
|
38
39
|
if (!this.tableName || this.tableName.length < 3) //AWS rule
|
|
39
40
|
throw new Error(`Could not find env var: ${this.table.envKeyName}`);
|
|
40
|
-
return new AWS.DynamoDB();
|
|
41
|
+
return new AWS.DynamoDB(this.clientConfig);
|
|
41
42
|
}
|
|
42
43
|
scan(args) {
|
|
43
44
|
var _a;
|
package/dist/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA8B;AAejB,QAAA,iBAAiB,GAAgB;IAC1C,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;IAC7C,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU;IACjD,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;IAC3C,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM;CACjD,CAAA;AAED,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambada/utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -21,15 +21,17 @@
|
|
|
21
21
|
"@types/aws-lambda": "^8.10.72",
|
|
22
22
|
"@types/jest": "^26",
|
|
23
23
|
"@types/node": "^14.14.34",
|
|
24
|
+
"aws-sdk": "~2.1009.0",
|
|
24
25
|
"jest": "^26",
|
|
25
26
|
"rimraf": "^3.0.2",
|
|
26
27
|
"ts-jest": "^26.5.5",
|
|
27
28
|
"typescript": "^4.0.5"
|
|
28
29
|
},
|
|
29
|
-
"
|
|
30
|
+
"peerDependencies": {
|
|
30
31
|
"@aws/dynamodb-auto-marshaller": "0.7.1",
|
|
32
|
+
"@types/aws-lambda": "^8.10.72",
|
|
31
33
|
"aws-sdk": "~2.1009.0"
|
|
32
34
|
},
|
|
33
35
|
"description": "",
|
|
34
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "745d847f66e3ce9f44b9484cd1e18677ecd3cf62"
|
|
35
37
|
}
|