@lambada/utils 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cors.d.ts CHANGED
@@ -2,4 +2,5 @@ export declare const getCorsHeaders: (domainName?: string | undefined, origins?:
2
2
  "Access-Control-Allow-Headers": string;
3
3
  "Access-Control-Allow-Origin": string;
4
4
  "Access-Control-Allow-Methods": string;
5
+ "Access-Control-Max-Age": string;
5
6
  };
package/dist/cors.js CHANGED
@@ -10,7 +10,8 @@ const getCorsHeaders = (domainName, origins) => {
10
10
  return {
11
11
  "Access-Control-Allow-Headers": "*",
12
12
  "Access-Control-Allow-Origin": origin,
13
- "Access-Control-Allow-Methods": "*"
13
+ "Access-Control-Allow-Methods": "*",
14
+ "Access-Control-Max-Age": '86400'
14
15
  };
15
16
  };
16
17
  exports.getCorsHeaders = getCorsHeaders;
package/dist/cors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,UAAmB,EAAE,OAAkB,EAAE,EAAE;;IACtE,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,mCAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,mCAC5C,CAAC,MAAA,cAAc,CAAC,KAAK,EAAE,mCAAI,GAAG,CAAC,CAAA;IAEnC,OAAO;QACH,8BAA8B,EAAE,GAAG;QACnC,6BAA6B,EAAE,MAAM;QACrC,8BAA8B,EAAE,GAAG;KACtC,CAAA;AACL,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B"}
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,UAAmB,EAAE,OAAkB,EAAE,EAAE;;IACtE,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,mCAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,mCAC5C,CAAC,MAAA,cAAc,CAAC,KAAK,EAAE,mCAAI,GAAG,CAAC,CAAA;IAEnC,OAAO;QACH,8BAA8B,EAAE,GAAG;QACnC,6BAA6B,EAAE,MAAM;QACrC,8BAA8B,EAAE,GAAG;QACnC,wBAAwB,EAAE,OAAO;KACpC,CAAA;AACL,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B"}
@@ -42,7 +42,7 @@ export declare class RepositoryBase {
42
42
  }, rangeKey?: {
43
43
  name: string;
44
44
  value: any;
45
- }, indexName?: string): Promise<T[]>;
45
+ } | string, indexName?: string): Promise<T[]>;
46
46
  protected getById<T>(primaryKey: {
47
47
  name: string;
48
48
  value: any;
@@ -69,6 +69,10 @@ class RepositoryBase {
69
69
  }
70
70
  query(primaryKey, rangeKey, indexName) {
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
+ if (typeof rangeKey === 'string') {
73
+ indexName = rangeKey;
74
+ rangeKey = undefined;
75
+ }
72
76
  const db = this.getDb();
73
77
  const value = this.marshaller.marshallValue(primaryKey.value);
74
78
  if (!value)
@@ -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 +1 @@
1
- {"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA6E;AAG7E,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,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"}
@@ -0,0 +1,31 @@
1
+ import { SecretsManager } from 'aws-sdk';
2
+ export declare class CachedSecret {
3
+ readonly value: string;
4
+ readonly ttl: number;
5
+ readonly expiresAt: number;
6
+ constructor(value: string, ttl: number);
7
+ hasExpired(): boolean;
8
+ }
9
+ export declare type SecretsManagerCacheOptions = Partial<SecretsManagerCacheConfig>;
10
+ interface SecretsManagerCacheConfig {
11
+ /**
12
+ * How many milliseconds to cache each secret for.
13
+ * @default 300000
14
+ */
15
+ ttl: number;
16
+ /** AWS SDK SecretsManager instance */
17
+ secretsManager: SecretsManager;
18
+ }
19
+ export declare class SecretsManagerCache {
20
+ config: SecretsManagerCacheConfig;
21
+ private cache;
22
+ constructor(options?: SecretsManagerCacheOptions);
23
+ /**
24
+ * Fetches a secret from SecretsManager and caches it as long as the given
25
+ * `ttl`.
26
+ */
27
+ getSecret(secretName: string, isJSON?: boolean): Promise<string | undefined>;
28
+ private static _manager;
29
+ static get(): SecretsManagerCache;
30
+ }
31
+ export {};
@@ -0,0 +1,69 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SecretsManagerCache = exports.CachedSecret = void 0;
14
+ const aws_sdk_1 = require("aws-sdk");
15
+ const defaultTTL = (5 * 60 * 1000); // 5 minutes
16
+ class CachedSecret {
17
+ constructor(value, ttl) {
18
+ this.value = value;
19
+ this.ttl = ttl;
20
+ this.expiresAt = Date.now() + ttl;
21
+ }
22
+ hasExpired() {
23
+ return (Date.now() > this.expiresAt);
24
+ }
25
+ }
26
+ exports.CachedSecret = CachedSecret;
27
+ class SecretsManagerCache {
28
+ constructor(options) {
29
+ this.cache = new Map();
30
+ this.config = Object.assign({
31
+ // set defaults
32
+ ttl: defaultTTL, secretsManager: new aws_sdk_1.SecretsManager() }, options);
33
+ }
34
+ /**
35
+ * Fetches a secret from SecretsManager and caches it as long as the given
36
+ * `ttl`.
37
+ */
38
+ getSecret(secretName, isJSON = false) {
39
+ 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
+ }
50
+ }
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
+ }
59
+ }
60
+ return secret;
61
+ });
62
+ }
63
+ static get() {
64
+ return this._manager;
65
+ }
66
+ }
67
+ exports.SecretsManagerCache = SecretsManagerCache;
68
+ SecretsManagerCache._manager = new SecretsManagerCache();
69
+ //# sourceMappingURL=secretManager.js.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambada/utils",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -27,8 +27,9 @@
27
27
  "typescript": "^4.0.5"
28
28
  },
29
29
  "dependencies": {
30
- "@aws/dynamodb-auto-marshaller": "0.7.1"
30
+ "@aws/dynamodb-auto-marshaller": "0.7.1",
31
+ "aws-sdk": "~2.1009.0"
31
32
  },
32
33
  "description": "",
33
- "gitHead": "6357cded3b6c843b7d285896adf983253d0e4945"
34
+ "gitHead": "3a6e9e6a894b0ffd8a45edd1fc56526676dd0c61"
34
35
  }