@lambada/utils 1.4.5 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RepositoryExtended = void 0;
13
4
  const repository_1 = require("../repository");
@@ -20,26 +11,30 @@ class RepositoryExtended extends repository_1.RepositoryBase {
20
11
  * @param params
21
12
  * @returns
22
13
  */
23
- queryBegins_with(params) {
14
+ async queryBegins_with(params) {
24
15
  var _a;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const { primaryKey, rangeKey, indexName } = params;
27
- const command = {
28
- TableName: this.tableName,
29
- IndexName: indexName,
30
- KeyConditionExpression: `#PK = :PK ${rangeKey ? 'AND begins_with(#SK,:SK)' : ''}`,
31
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
32
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ? { ':SK': this.marshaller.marshallValue(rangeKey.value) } : {})),
33
- Limit: params.limit,
34
- ScanIndexForward: params.scanForward,
35
- ExclusiveStartKey: params.lastKey ? JSON.parse(params.lastKey) : undefined,
36
- };
37
- const response = yield this.getDb().query(command).promise();
38
- return {
39
- data: ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.marshaller.unmarshallItem(item)),
40
- lastKey: response.LastEvaluatedKey && JSON.stringify(response.LastEvaluatedKey)
41
- };
42
- });
16
+ const { primaryKey, rangeKey, indexName } = params;
17
+ const command = {
18
+ TableName: this.tableName,
19
+ IndexName: indexName,
20
+ KeyConditionExpression: `#PK = :PK ${rangeKey ? 'AND begins_with(#SK,:SK)' : ''}`,
21
+ ExpressionAttributeNames: {
22
+ '#PK': primaryKey.name,
23
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
24
+ },
25
+ ExpressionAttributeValues: {
26
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
27
+ ...(rangeKey ? { ':SK': this.marshaller.marshallValue(rangeKey.value) } : {}),
28
+ },
29
+ Limit: params.limit,
30
+ ScanIndexForward: params.scanForward,
31
+ ExclusiveStartKey: params.lastKey ? JSON.parse(params.lastKey) : undefined,
32
+ };
33
+ const response = await 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
+ };
43
38
  }
44
39
  /**
45
40
  * Execute a query with conditional range key.
@@ -47,85 +42,97 @@ class RepositoryExtended extends repository_1.RepositoryBase {
47
42
  * @param params
48
43
  * @returns
49
44
  */
50
- queryCondition(params) {
45
+ async queryCondition(params) {
51
46
  var _a;
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const { primaryKey, rangeKey, indexName } = params;
54
- const skCondition = {
55
- EQ: 'AND #SK = :SK',
56
- GT: 'AND #SK > :SK',
57
- LT: 'AND #SK < :SK',
58
- GE: 'AND #SK >= :SK',
59
- LE: 'AND #SK <= :SK',
60
- BEGINS_WITH: 'AND begins_with(#SK, :SK)',
61
- BETWEEN: 'AND #SK between :SKfrom and :SKto'
62
- };
63
- const command = {
64
- TableName: this.tableName,
65
- IndexName: indexName,
66
- KeyConditionExpression: `#PK = :PK ${rangeKey ? skCondition[rangeKey.condition] : ''}`,
67
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
68
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ?
47
+ const { primaryKey, rangeKey, indexName } = params;
48
+ const skCondition = {
49
+ EQ: 'AND #SK = :SK',
50
+ GT: 'AND #SK > :SK',
51
+ LT: 'AND #SK < :SK',
52
+ GE: 'AND #SK >= :SK',
53
+ LE: 'AND #SK <= :SK',
54
+ BEGINS_WITH: 'AND begins_with(#SK, :SK)',
55
+ BETWEEN: 'AND #SK between :SKfrom and :SKto'
56
+ };
57
+ const command = {
58
+ TableName: this.tableName,
59
+ IndexName: indexName,
60
+ KeyConditionExpression: `#PK = :PK ${rangeKey ? skCondition[rangeKey.condition] : ''}`,
61
+ ExpressionAttributeNames: {
62
+ '#PK': primaryKey.name,
63
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
64
+ },
65
+ ExpressionAttributeValues: {
66
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
67
+ ...(rangeKey ?
69
68
  typeof rangeKey.value === 'object' ?
70
69
  {
71
70
  ':SKfrom': this.marshaller.marshallValue(rangeKey.value.from),
72
71
  ':SKto': this.marshaller.marshallValue(rangeKey.value.to),
73
72
  }
74
73
  : { ':SK': this.marshaller.marshallValue(rangeKey.value) }
75
- : {})),
76
- };
77
- const response = yield this.getDb().query(command).promise();
78
- return ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item));
79
- });
74
+ : {}),
75
+ },
76
+ };
77
+ const response = await this.getDb().query(command).promise();
78
+ return ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item));
80
79
  }
81
80
  /**
82
81
  * Requires `updateItem` permission
83
82
  * @param params update params
84
83
  * @returns all updated items
85
84
  */
86
- updateItem(params) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const { primaryKey, rangeKey, update } = params;
89
- const attributes = Object.entries(update);
90
- const command = {
91
- TableName: this.tableName,
92
- Key: this.marshaller.marshallItem(Object.assign({ [primaryKey.name]: primaryKey.value }, (rangeKey ? { [rangeKey.name]: rangeKey.value } : {}))),
93
- ConditionExpression: `#PK = :PK ${rangeKey ? `AND #SK = :SK` : ''}`,
94
- UpdateExpression: `set ${attributes.map(([k]) => `#${k} = :${k}`).join(', ')}`,
95
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
96
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey
85
+ async updateItem(params) {
86
+ const { primaryKey, rangeKey, update } = params;
87
+ const attributes = Object.entries(update);
88
+ const command = {
89
+ TableName: this.tableName,
90
+ Key: this.marshaller.marshallItem({
91
+ [primaryKey.name]: primaryKey.value,
92
+ ...(rangeKey ? { [rangeKey.name]: rangeKey.value } : {}),
93
+ }),
94
+ ConditionExpression: `#PK = :PK ${rangeKey ? `AND #SK = :SK` : ''}`,
95
+ UpdateExpression: `set ${attributes.map(([k]) => `#${k} = :${k}`).join(', ')}`,
96
+ ExpressionAttributeNames: {
97
+ '#PK': primaryKey.name,
98
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
99
+ },
100
+ ExpressionAttributeValues: {
101
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
102
+ ...(rangeKey
97
103
  ? { ':SK': this.marshaller.marshallValue(rangeKey.value) }
98
- : {})),
99
- ReturnValues: 'ALL_NEW',
100
- };
101
- attributes.forEach(([name, value]) => {
102
- command.ExpressionAttributeNames[`#${name}`] = name;
103
- command.ExpressionAttributeValues[`:${name}`] = this.marshaller.marshallValue(value);
104
- });
105
- const response = yield this.getDb().updateItem(command).promise();
106
- if (!response.Attributes)
107
- throw new Error('Failed to update item');
108
- return this.marshaller.unmarshallItem(response.Attributes);
104
+ : {}),
105
+ },
106
+ ReturnValues: 'ALL_NEW',
107
+ };
108
+ attributes.forEach(([name, value]) => {
109
+ command.ExpressionAttributeNames[`#${name}`] = name;
110
+ command.ExpressionAttributeValues[`:${name}`] = this.marshaller.marshallValue(value);
109
111
  });
112
+ const response = await this.getDb().updateItem(command).promise();
113
+ if (!response.Attributes)
114
+ throw new Error('Failed to update item');
115
+ return this.marshaller.unmarshallItem(response.Attributes);
110
116
  }
111
117
  /**
112
118
  * Reads all items of the table
113
119
  * @param params
114
120
  * @returns
115
121
  */
116
- fullScan(params) {
122
+ async fullScan(params) {
117
123
  var _a;
118
- return __awaiter(this, void 0, void 0, function* () {
119
- let lastEvaluatedKey = params.ExclusiveStartKey;
120
- let items = [];
121
- do {
122
- const command = Object.assign(Object.assign({}, params), { ExclusiveStartKey: lastEvaluatedKey });
123
- const response = yield this.getDb().scan(command).promise();
124
- lastEvaluatedKey = response.LastEvaluatedKey;
125
- items = items.concat(((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item)));
126
- } while (lastEvaluatedKey);
127
- return items;
128
- });
124
+ let lastEvaluatedKey = params.ExclusiveStartKey;
125
+ let items = [];
126
+ do {
127
+ const command = {
128
+ ...params,
129
+ ExclusiveStartKey: lastEvaluatedKey,
130
+ };
131
+ const response = await this.getDb().scan(command).promise();
132
+ lastEvaluatedKey = response.LastEvaluatedKey;
133
+ items = items.concat(((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item)));
134
+ } while (lastEvaluatedKey);
135
+ return items;
129
136
  }
130
137
  fromItem(item) {
131
138
  return this.marshaller.unmarshallItem(item);
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryExtended.js","sourceRoot":"","sources":["../../src/data/repositoryExtended.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositoryExtended.js","sourceRoot":"","sources":["../../src/data/repositoryExtended.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RepositoryBase = exports.DefaultMarshaller = void 0;
13
4
  const AWS = require("aws-sdk");
@@ -40,91 +31,83 @@ class RepositoryBase {
40
31
  throw new Error(`Could not find env var: ${this.table.envKeyName}`);
41
32
  return new AWS.DynamoDB(this.clientConfig);
42
33
  }
43
- scan(args) {
34
+ async scan(args) {
44
35
  var _a;
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const db = this.getDb();
47
- const result = yield db.scan({
48
- TableName: this.tableName,
49
- FilterExpression: args === null || args === void 0 ? void 0 : args.filter,
50
- ExpressionAttributeValues: args === null || args === void 0 ? void 0 : args.filterValues,
51
- }).promise();
52
- if (!result.Items) {
53
- return [];
54
- }
55
- return (_a = result.Items) === null || _a === void 0 ? void 0 : _a.map((x) => this.marshaller.unmarshallItem(x));
56
- });
36
+ const db = this.getDb();
37
+ const result = await db.scan({
38
+ TableName: this.tableName,
39
+ FilterExpression: args === null || args === void 0 ? void 0 : args.filter,
40
+ ExpressionAttributeValues: args === null || args === void 0 ? void 0 : args.filterValues,
41
+ }).promise();
42
+ if (!result.Items) {
43
+ return [];
44
+ }
45
+ return (_a = result.Items) === null || _a === void 0 ? void 0 : _a.map((x) => this.marshaller.unmarshallItem(x));
57
46
  }
58
- upsert(item) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const db = this.getDb();
61
- const marsharlledItem = this.marshaller.marshallItem(item);
62
- const command = {
63
- Item: marsharlledItem,
64
- TableName: this.tableName,
65
- ReturnValues: 'NONE'
66
- };
67
- yield db.putItem(command).promise();
68
- return item;
69
- });
47
+ async upsert(item) {
48
+ const db = this.getDb();
49
+ const marsharlledItem = this.marshaller.marshallItem(item);
50
+ const command = {
51
+ Item: marsharlledItem,
52
+ TableName: this.tableName,
53
+ ReturnValues: 'NONE'
54
+ };
55
+ await db.putItem(command).promise();
56
+ return item;
70
57
  }
71
- query(primaryKey, rangeKey, indexName) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- if (typeof rangeKey === 'string') {
74
- indexName = rangeKey;
75
- rangeKey = undefined;
76
- }
77
- const db = this.getDb();
78
- const value = this.marshaller.marshallValue(primaryKey.value);
79
- if (!value)
80
- throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
81
- let params = {
82
- TableName: this.tableName,
83
- KeyConditionExpression: "#primaryKey = :primaryKeyValue",
84
- ExpressionAttributeNames: {
85
- "#primaryKey": primaryKey.name
86
- },
87
- ExpressionAttributeValues: {
88
- ":primaryKeyValue": value
89
- },
90
- IndexName: indexName
91
- };
92
- if ((rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.name) && (rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.value) && params.ExpressionAttributeNames && params.ExpressionAttributeValues) {
93
- params.KeyConditionExpression += " AND #rangeKey = :rangeKeyValue";
94
- params.ExpressionAttributeNames["#rangeKey"] = rangeKey.name;
95
- params.ExpressionAttributeValues[":rangeKeyValue"] = this.marshaller.marshallValue(rangeKey.value);
96
- }
97
- const result = yield db.query(params).promise();
98
- const items = result.Items;
99
- if (!items)
100
- return [];
101
- return items.map(item => this.marshaller.unmarshallItem(item));
102
- });
58
+ async query(primaryKey, rangeKey, indexName) {
59
+ if (typeof rangeKey === 'string') {
60
+ indexName = rangeKey;
61
+ rangeKey = undefined;
62
+ }
63
+ const db = this.getDb();
64
+ const value = this.marshaller.marshallValue(primaryKey.value);
65
+ if (!value)
66
+ throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
67
+ let params = {
68
+ TableName: this.tableName,
69
+ KeyConditionExpression: "#primaryKey = :primaryKeyValue",
70
+ ExpressionAttributeNames: {
71
+ "#primaryKey": primaryKey.name
72
+ },
73
+ ExpressionAttributeValues: {
74
+ ":primaryKeyValue": value
75
+ },
76
+ IndexName: indexName
77
+ };
78
+ if ((rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.name) && (rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.value) && params.ExpressionAttributeNames && params.ExpressionAttributeValues) {
79
+ params.KeyConditionExpression += " AND #rangeKey = :rangeKeyValue";
80
+ params.ExpressionAttributeNames["#rangeKey"] = rangeKey.name;
81
+ params.ExpressionAttributeValues[":rangeKeyValue"] = this.marshaller.marshallValue(rangeKey.value);
82
+ }
83
+ const result = await db.query(params).promise();
84
+ const items = result.Items;
85
+ if (!items)
86
+ return [];
87
+ return items.map(item => this.marshaller.unmarshallItem(item));
103
88
  }
104
- getById(primaryKey, rangeKey) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- const db = this.getDb();
107
- let value = this.marshaller.marshallValue(primaryKey.value);
108
- if (!value)
109
- throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
110
- const key = {
111
- [primaryKey.name]: value
112
- };
113
- if (rangeKey) {
114
- const range = this.marshaller.marshallValue(rangeKey.value);
115
- if (!range)
116
- throw new Error(`Invalid range key. ${JSON.stringify(primaryKey)}`);
117
- key[rangeKey.name] = range;
118
- }
119
- const item = yield db.getItem({
120
- TableName: this.tableName,
121
- Key: key,
122
- ConsistentRead: true,
123
- }).promise();
124
- if (!item.Item)
125
- return null;
126
- return this.marshaller.unmarshallItem(item.Item);
127
- });
89
+ async getById(primaryKey, rangeKey) {
90
+ const db = this.getDb();
91
+ let value = this.marshaller.marshallValue(primaryKey.value);
92
+ if (!value)
93
+ throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
94
+ const key = {
95
+ [primaryKey.name]: value
96
+ };
97
+ if (rangeKey) {
98
+ const range = this.marshaller.marshallValue(rangeKey.value);
99
+ if (!range)
100
+ throw new Error(`Invalid range key. ${JSON.stringify(primaryKey)}`);
101
+ key[rangeKey.name] = range;
102
+ }
103
+ const item = await db.getItem({
104
+ TableName: this.tableName,
105
+ Key: key,
106
+ ConsistentRead: true,
107
+ }).promise();
108
+ if (!item.Item)
109
+ return null;
110
+ return this.marshaller.unmarshallItem(item.Item);
128
111
  }
129
112
  }
130
113
  exports.RepositoryBase = RepositoryBase;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,8 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const repository_1 = require("./repository");
13
4
  describe("Repository", () => {
14
- test("Marshaller", () => __awaiter(void 0, void 0, void 0, function* () {
5
+ test("Marshaller", async () => {
15
6
  // const repo = new TestRepo({
16
7
  // envKeyName: "TEST_NAME",
17
8
  // name: 'test',
@@ -33,7 +24,7 @@ describe("Repository", () => {
33
24
  expect(unmarshalled.b).toBe(original.b);
34
25
  expect(unmarshalled.c).toStrictEqual(original.c);
35
26
  expect(unmarshalled.d).toStrictEqual(original.d);
36
- }));
27
+ });
37
28
  });
38
29
  class TestRepo extends repository_1.RepositoryBase {
39
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA6E;AAE7E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,YAAY,EAAE,GAAS,EAAE;QAC1B,8BAA8B;QAC9B,+BAA+B;QAC/B,oBAAoB;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,KAAK;QAEL,MAAM,UAAU,GAAgB,8BAAiB,CAAA;QACjD,MAAM,QAAQ,GAAG;YACb,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SACrB,CAAA;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC,CAAA,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,MAAM,QAAS,SAAQ,2BAAc;CAEpC"}
1
+ {"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;AAAA,6CAA6E;AAE7E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,8BAA8B;QAC9B,+BAA+B;QAC/B,oBAAoB;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,KAAK;QAEL,MAAM,UAAU,GAAgB,8BAAiB,CAAA;QACjD,MAAM,QAAQ,GAAG;YACb,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SACrB,CAAA;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,MAAM,QAAS,SAAQ,2BAAc;CAEpC"}
package/dist/request.d.ts CHANGED
@@ -19,5 +19,8 @@ export interface AuthExecutionContext {
19
19
  username?: string;
20
20
  poolId?: string;
21
21
  clientIP: string;
22
+ claims: {
23
+ [key: string]: string;
24
+ };
22
25
  }
23
26
  export {};
package/dist/request.js CHANGED
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.getContext = exports.getUser = exports.getUserById = exports.getBody = exports.tryGetBody = void 0;
13
4
  const AWS = require("aws-sdk");
@@ -31,114 +22,108 @@ function getBody(request) {
31
22
  return body;
32
23
  }
33
24
  exports.getBody = getBody;
34
- function _FindUser(userPoolId, userId, username) {
25
+ async function _FindUser(userPoolId, userId, username) {
35
26
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
36
- return __awaiter(this, void 0, void 0, function* () {
37
- //@ts-ignore
38
- global.globalCognitoIdp = (_a = global.globalCognitoIdp) !== null && _a !== void 0 ? _a : new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });
39
- //@ts-ignore
40
- global.globalUserCacheBySub = (_b = global.globalUserCacheBySub) !== null && _b !== void 0 ? _b : new Map();
41
- //@ts-ignore
42
- global.globalUserCacheByUsername = (_c = global.globalUserCacheByUsername) !== null && _c !== void 0 ? _c : new Map();
43
- //@ts-ignore
44
- const cognitoIdp = global.globalCognitoIdp;
45
- //@ts-ignore
46
- const userCacheBySub = global.globalUserCacheBySub;
47
- //@ts-ignore
48
- const userCacheByUsername = global.globalUserCacheByUsername;
49
- const a = Date.now();
50
- if (!userPoolId)
51
- throw 'Invalid userPoolId';
52
- let user;
53
- if (username)
54
- user = userCacheByUsername.get(username);
55
- if (userId)
56
- user = userCacheBySub.get(userId);
57
- if (!user) {
58
- console.log('user not in cache');
59
- if (username) {
60
- console.log('getting user by username', username);
61
- const cu = yield cognitoIdp.adminGetUser({
62
- UserPoolId: userPoolId,
63
- Username: username
64
- }).promise();
27
+ //@ts-ignore
28
+ global.globalCognitoIdp = (_a = global.globalCognitoIdp) !== null && _a !== void 0 ? _a : new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });
29
+ //@ts-ignore
30
+ global.globalUserCacheBySub = (_b = global.globalUserCacheBySub) !== null && _b !== void 0 ? _b : new Map();
31
+ //@ts-ignore
32
+ global.globalUserCacheByUsername = (_c = global.globalUserCacheByUsername) !== null && _c !== void 0 ? _c : new Map();
33
+ //@ts-ignore
34
+ const cognitoIdp = global.globalCognitoIdp;
35
+ //@ts-ignore
36
+ const userCacheBySub = global.globalUserCacheBySub;
37
+ //@ts-ignore
38
+ const userCacheByUsername = global.globalUserCacheByUsername;
39
+ const a = Date.now();
40
+ if (!userPoolId)
41
+ throw 'Invalid userPoolId';
42
+ let user;
43
+ if (username)
44
+ user = userCacheByUsername.get(username);
45
+ if (userId)
46
+ user = userCacheBySub.get(userId);
47
+ if (!user) {
48
+ console.log('user not in cache');
49
+ if (username) {
50
+ console.log('getting user by username', username);
51
+ const cu = await cognitoIdp.adminGetUser({
52
+ UserPoolId: userPoolId,
53
+ Username: username
54
+ }).promise();
55
+ if (!cu)
56
+ throw 'User not found';
57
+ if (!cu.UserAttributes)
58
+ throw 'User has no attributes';
59
+ //TODO Pass environment
60
+ var cutomAttributes = cu.UserAttributes.filter(x => x.Name.startsWith('dev:custom:'));
61
+ userId = (_d = cu.UserAttributes.find(x => x.Name == 'sub')) === null || _d === void 0 ? void 0 : _d.Value;
62
+ var email = (_e = cu.UserAttributes.find(x => x.Name == 'email')) === null || _e === void 0 ? void 0 : _e.Value;
63
+ var name = (_f = cu.UserAttributes.find(x => x.Name == 'name')) === null || _f === void 0 ? void 0 : _f.Value;
64
+ if (!userId)
65
+ throw 'Invalid user, has no sub';
66
+ user = {
67
+ id: userId,
68
+ username,
69
+ name,
70
+ email: email !== null && email !== void 0 ? email : '',
71
+ attributes: cutomAttributes
72
+ };
73
+ }
74
+ else if (userId) {
75
+ console.log('getting user by userId', userId);
76
+ const cusers = await cognitoIdp.listUsers({
77
+ UserPoolId: userPoolId,
78
+ Filter: `sub = "${userId}"`
79
+ }).promise();
80
+ if (cusers && cusers.Users && cusers.Users.length > 0) {
81
+ const cu = cusers.Users[0];
65
82
  if (!cu)
66
83
  throw 'User not found';
67
- if (!cu.UserAttributes)
84
+ if (!cu.Attributes)
68
85
  throw 'User has no attributes';
69
- //TODO Pass environment
70
- var cutomAttributes = cu.UserAttributes.filter(x => x.Name.startsWith('dev:custom:'));
71
- userId = (_d = cu.UserAttributes.find(x => x.Name == 'sub')) === null || _d === void 0 ? void 0 : _d.Value;
72
- var email = (_e = cu.UserAttributes.find(x => x.Name == 'email')) === null || _e === void 0 ? void 0 : _e.Value;
73
- var name = (_f = cu.UserAttributes.find(x => x.Name == 'name')) === null || _f === void 0 ? void 0 : _f.Value;
74
- if (!userId)
86
+ username = cu.Username;
87
+ var cutomAttributes = cu.Attributes.filter(x => x.Name.startsWith('dev:custom:'));
88
+ var sub = (_g = cu.Attributes.find(x => x.Name == 'sub')) === null || _g === void 0 ? void 0 : _g.Value;
89
+ var name = (_h = cu.Attributes.find(x => x.Name == 'name')) === null || _h === void 0 ? void 0 : _h.Value;
90
+ var email = (_j = cu.Attributes.find(x => x.Name == 'email')) === null || _j === void 0 ? void 0 : _j.Value;
91
+ if (!sub)
75
92
  throw 'Invalid user, has no sub';
93
+ if (!username)
94
+ throw 'username is empty';
76
95
  user = {
77
- id: userId,
78
- username,
96
+ id: sub,
97
+ attributes: cutomAttributes,
79
98
  name,
80
- email: email !== null && email !== void 0 ? email : '',
81
- attributes: cutomAttributes
99
+ username,
100
+ email: email !== null && email !== void 0 ? email : ''
82
101
  };
83
102
  }
84
- else if (userId) {
85
- console.log('getting user by userId', userId);
86
- const cusers = yield cognitoIdp.listUsers({
87
- UserPoolId: userPoolId,
88
- Filter: `sub = "${userId}"`
89
- }).promise();
90
- if (cusers && cusers.Users && cusers.Users.length > 0) {
91
- const cu = cusers.Users[0];
92
- if (!cu)
93
- throw 'User not found';
94
- if (!cu.Attributes)
95
- throw 'User has no attributes';
96
- username = cu.Username;
97
- var cutomAttributes = cu.Attributes.filter(x => x.Name.startsWith('dev:custom:'));
98
- var sub = (_g = cu.Attributes.find(x => x.Name == 'sub')) === null || _g === void 0 ? void 0 : _g.Value;
99
- var name = (_h = cu.Attributes.find(x => x.Name == 'name')) === null || _h === void 0 ? void 0 : _h.Value;
100
- var email = (_j = cu.Attributes.find(x => x.Name == 'email')) === null || _j === void 0 ? void 0 : _j.Value;
101
- if (!sub)
102
- throw 'Invalid user, has no sub';
103
- if (!username)
104
- throw 'username is empty';
105
- user = {
106
- id: sub,
107
- attributes: cutomAttributes,
108
- name,
109
- username,
110
- email: email !== null && email !== void 0 ? email : ''
111
- };
112
- }
113
- }
114
- if (!userId)
115
- throw 'Invalid user, has no sub';
116
- if (!username)
117
- throw 'username is empty';
118
- if (!user)
119
- throw 'Could not find user';
120
- userCacheBySub.set(userId, user);
121
- userCacheByUsername.set(username, user);
122
103
  }
123
- var b = Date.now();
124
- console.log('found user', user);
125
- console.log('adminGetUser (ms): ', (b - a));
126
- return user;
127
- });
104
+ if (!userId)
105
+ throw 'Invalid user, has no sub';
106
+ if (!username)
107
+ throw 'username is empty';
108
+ if (!user)
109
+ throw 'Could not find user';
110
+ userCacheBySub.set(userId, user);
111
+ userCacheByUsername.set(username, user);
112
+ }
113
+ var b = Date.now();
114
+ console.log('found user', user);
115
+ console.log('adminGetUser (ms): ', (b - a));
116
+ return user;
128
117
  }
129
- function getUserById(userId, poolId) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const user = yield _FindUser(poolId, userId);
132
- return user;
133
- });
118
+ async function getUserById(userId, poolId) {
119
+ const user = await _FindUser(poolId, userId);
120
+ return user;
134
121
  }
135
122
  exports.getUserById = getUserById;
136
- function getUser(username, context) {
123
+ async function getUser(username, context) {
137
124
  var _a;
138
- return __awaiter(this, void 0, void 0, function* () {
139
- const user = yield _FindUser((_a = context.poolId) !== null && _a !== void 0 ? _a : '', undefined, username);
140
- return user;
141
- });
125
+ const user = await _FindUser((_a = context.poolId) !== null && _a !== void 0 ? _a : '', undefined, username);
126
+ return user;
142
127
  }
143
128
  exports.getUser = getUser;
144
129
  function getContext(request) {
@@ -161,7 +146,8 @@ function getContext(request) {
161
146
  poolId: poolId !== null && poolId !== void 0 ? poolId : undefined,
162
147
  email: email !== null && email !== void 0 ? email : undefined,
163
148
  username: username,
164
- clientIP: userIp
149
+ clientIP: userIp,
150
+ claims: claims
165
151
  };
166
152
  }
167
153
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
2
  // FROM https://github.com/c-bandy/aws-secrets-manager-cache
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  Object.defineProperty(exports, "__esModule", { value: true });
13
4
  exports.SecretsManagerCache = exports.CachedSecret = void 0;
14
5
  const aws_sdk_1 = require("aws-sdk");
@@ -27,38 +18,40 @@ exports.CachedSecret = CachedSecret;
27
18
  class SecretsManagerCache {
28
19
  constructor(options) {
29
20
  this.cache = new Map();
30
- this.config = Object.assign({
21
+ this.config = {
31
22
  // set defaults
32
- ttl: defaultTTL, secretsManager: new aws_sdk_1.SecretsManager() }, options);
23
+ ttl: defaultTTL,
24
+ secretsManager: new aws_sdk_1.SecretsManager(),
25
+ // replace defaults with input options
26
+ ...options,
27
+ };
33
28
  }
34
29
  /**
35
30
  * Fetches a secret from SecretsManager and caches it as long as the given
36
31
  * `ttl`.
37
32
  */
38
- getSecret(secretName, isJSON = false) {
33
+ async getSecret(secretName, isJSON = false) {
39
34
  var _a, _b;
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const itemExistsInCache = this.cache.has(secretName);
42
- const itemHasExpired = (_a = this.cache.get(secretName)) === null || _a === void 0 ? void 0 : _a.hasExpired();
43
- if (!itemExistsInCache || itemHasExpired) {
44
- const getSecretValueResponse = yield this.config.secretsManager
45
- .getSecretValue({ SecretId: secretName })
46
- .promise();
47
- if (getSecretValueResponse.SecretString) {
48
- this.cache.set(secretName, new CachedSecret(getSecretValueResponse.SecretString, this.config.ttl));
49
- }
35
+ const itemExistsInCache = this.cache.has(secretName);
36
+ const itemHasExpired = (_a = this.cache.get(secretName)) === null || _a === void 0 ? void 0 : _a.hasExpired();
37
+ if (!itemExistsInCache || itemHasExpired) {
38
+ const getSecretValueResponse = await this.config.secretsManager
39
+ .getSecretValue({ SecretId: secretName })
40
+ .promise();
41
+ if (getSecretValueResponse.SecretString) {
42
+ this.cache.set(secretName, new CachedSecret(getSecretValueResponse.SecretString, this.config.ttl));
50
43
  }
51
- const secret = (_b = this.cache.get(secretName)) === null || _b === void 0 ? void 0 : _b.value;
52
- if (isJSON) {
53
- try {
54
- return JSON.parse(secret);
55
- }
56
- catch (error) {
57
- throw new Error('Attempted to parse non-JSON secret string as JSON.');
58
- }
44
+ }
45
+ const secret = (_b = this.cache.get(secretName)) === null || _b === void 0 ? void 0 : _b.value;
46
+ if (isJSON) {
47
+ try {
48
+ return JSON.parse(secret);
59
49
  }
60
- return secret;
61
- });
50
+ catch (error) {
51
+ throw new Error('Attempted to parse non-JSON secret string as JSON.');
52
+ }
53
+ }
54
+ return secret;
62
55
  }
63
56
  static get() {
64
57
  return this._manager;
@@ -1 +1 @@
1
- {"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../src/secretManager.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;;;;;;;;;;AAE5D,qCAAyC;AAEzC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;AAEhD,MAAa,YAAY;IAKrB,YAAY,KAAa,EAAE,GAAW;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,UAAU;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ;AAdD,oCAcC;AAcD,MAAa,mBAAmB;IAI5B,YAAY,OAAoC;QAFxC,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;QAG3C,IAAI,CAAC,MAAM;YACP,eAAe;YACf,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,IAAI,wBAAc,EAAE,IAEjC,OAAO,CACb,CAAC;IACN,CAAC;IAED;;;OAGG;IACG,SAAS,CAAC,UAAkB,EAAE,MAAM,GAAG,KAAK;;;YAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,UAAU,EAAE,CAAC;YAEhE,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;gBACtC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc;qBAC1D,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;qBACxC,OAAO,EAAE,CAAC;gBAEf,IAAI,sBAAsB,CAAC,YAAY,EAAE;oBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,UAAU,EACV,IAAI,YAAY,CACZ,sBAAsB,CAAC,YAAY,EACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,CACJ,CAAC;iBACL;aACJ;YAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAK,CAAC;YAEjD,IAAI,MAAM,EAAE;gBACR,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;iBACpC;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;iBACxE;aACJ;YAED,OAAO,MAAM,CAAC;;KACjB;IAGM,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;;AAtDL,kDAuDC;AAJkB,4BAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../src/secretManager.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D,qCAAyC;AAEzC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;AAEhD,MAAa,YAAY;IAKrB,YAAY,KAAa,EAAE,GAAW;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,UAAU;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ;AAdD,oCAcC;AAcD,MAAa,mBAAmB;IAI5B,YAAY,OAAoC;QAFxC,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;QAG3C,IAAI,CAAC,MAAM,GAAG;YACV,eAAe;YACf,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,IAAI,wBAAc,EAAE;YACpC,sCAAsC;YACtC,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAM,GAAG,KAAK;;QAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,UAAU,EAAE,CAAC;QAEhE,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;YACtC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc;iBAC1D,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;iBACxC,OAAO,EAAE,CAAC;YAEf,IAAI,sBAAsB,CAAC,YAAY,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,UAAU,EACV,IAAI,YAAY,CACZ,sBAAsB,CAAC,YAAY,EACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,CACJ,CAAC;aACL;SACJ;QAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAK,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;aACxE;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAGM,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;;AAtDL,kDAuDC;AAJkB,4BAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambada/utils",
3
- "version": "1.4.5",
3
+ "version": "1.5.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -33,5 +33,5 @@
33
33
  "aws-sdk": "~2.1009.0"
34
34
  },
35
35
  "description": "",
36
- "gitHead": "ed59e57779790b2862833f683ffe38ec28c3d2cf"
36
+ "gitHead": "0e153fb89b716a81bce3f01b54d98d2492ba0f44"
37
37
  }