@digitraffic/common 2022.11.22-1 → 2022.11.23-2
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/aws/infra/api/integration.d.ts +21 -0
- package/dist/aws/infra/api/integration.js +8 -4
- package/dist/aws/infra/api/integration.js.map +1 -0
- package/dist/aws/infra/api/response.d.ts +28 -0
- package/dist/aws/infra/api/response.js +49 -18
- package/dist/aws/infra/api/response.js.map +1 -0
- package/dist/aws/infra/api/responses.d.ts +47 -0
- package/dist/aws/infra/api/responses.js +8 -0
- package/dist/aws/infra/api/responses.js.map +1 -0
- package/dist/aws/infra/api/static-integration.d.ts +15 -0
- package/dist/aws/infra/api/static-integration.js +12 -6
- package/dist/aws/infra/api/static-integration.js.map +1 -0
- package/dist/aws/infra/canaries/canary-alarm.d.ts +6 -0
- package/dist/aws/infra/canaries/canary-alarm.js.map +1 -0
- package/dist/aws/infra/canaries/canary-keys.d.ts +3 -0
- package/dist/aws/infra/canaries/canary-keys.js.map +1 -0
- package/dist/aws/infra/canaries/canary-parameters.d.ts +18 -0
- package/dist/aws/infra/canaries/canary-parameters.js.map +1 -0
- package/dist/aws/infra/canaries/canary-role.d.ts +6 -0
- package/dist/aws/infra/canaries/canary-role.js.map +1 -0
- package/dist/aws/infra/canaries/canary.d.ts +8 -0
- package/dist/aws/infra/canaries/canary.js.map +1 -0
- package/dist/aws/infra/canaries/database-canary.d.ts +18 -0
- package/dist/aws/infra/canaries/database-canary.js.map +1 -0
- package/dist/aws/infra/canaries/database-checker.d.ts +33 -0
- package/dist/aws/infra/canaries/database-checker.js.map +1 -0
- package/dist/aws/infra/canaries/url-canary.d.ts +16 -0
- package/dist/aws/infra/canaries/url-canary.js.map +1 -0
- package/dist/aws/infra/canaries/url-checker.d.ts +46 -0
- package/dist/aws/infra/canaries/url-checker.js.map +1 -0
- package/dist/aws/infra/documentation.d.ts +56 -0
- package/dist/aws/infra/documentation.js.map +1 -0
- package/dist/aws/infra/import-util.d.ts +21 -0
- package/dist/aws/infra/import-util.js.map +1 -0
- package/dist/aws/infra/scheduler.d.ts +12 -0
- package/dist/aws/infra/scheduler.js.map +1 -0
- package/dist/aws/infra/security-rule.d.ts +12 -0
- package/dist/aws/infra/security-rule.js.map +1 -0
- package/dist/aws/infra/sqs-integration.d.ts +7 -0
- package/dist/aws/infra/sqs-integration.js.map +1 -0
- package/dist/aws/infra/sqs-queue.d.ts +16 -0
- package/dist/aws/infra/sqs-queue.js.map +1 -0
- package/dist/aws/infra/stack/lambda-configs.d.ts +64 -0
- package/dist/aws/infra/stack/lambda-configs.js.map +1 -0
- package/dist/aws/infra/stack/monitoredfunction.d.ts +84 -0
- package/dist/aws/infra/stack/monitoredfunction.js +31 -31
- package/dist/aws/infra/stack/monitoredfunction.js.map +1 -0
- package/dist/aws/infra/stack/rest_apis.d.ts +41 -0
- package/dist/aws/infra/stack/rest_apis.js.map +1 -0
- package/dist/aws/infra/stack/stack-checking-aspect.d.ts +21 -0
- package/dist/aws/infra/stack/stack-checking-aspect.js.map +1 -0
- package/dist/aws/infra/stack/stack.d.ts +45 -0
- package/dist/aws/infra/stack/stack.js.map +1 -0
- package/dist/aws/infra/stack/subscription.d.ts +17 -0
- package/dist/aws/infra/stack/subscription.js.map +1 -0
- package/dist/aws/infra/stacks/db-dns-stack.d.ts +11 -0
- package/dist/aws/infra/stacks/db-dns-stack.js.map +1 -0
- package/dist/aws/infra/stacks/db-proxy-stack.d.ts +19 -0
- package/dist/aws/infra/stacks/db-proxy-stack.js.map +1 -0
- package/dist/aws/infra/stacks/db-stack.d.ts +31 -0
- package/dist/aws/infra/stacks/db-stack.js.map +1 -0
- package/dist/aws/infra/stacks/intra-stack-configuration.d.ts +5 -0
- package/dist/aws/infra/stacks/intra-stack-configuration.js.map +1 -0
- package/dist/aws/infra/stacks/network-stack.d.ts +12 -0
- package/dist/aws/infra/stacks/network-stack.js.map +1 -0
- package/dist/aws/infra/usage-plans.d.ts +16 -0
- package/dist/aws/infra/usage-plans.js.map +1 -0
- package/dist/aws/runtime/apikey.d.ts +2 -0
- package/dist/aws/runtime/apikey.js.map +1 -0
- package/dist/aws/runtime/digitraffic-integration-response.d.ts +8 -0
- package/dist/aws/runtime/digitraffic-integration-response.js.map +1 -0
- package/dist/aws/runtime/environment.d.ts +1 -0
- package/dist/aws/runtime/environment.js.map +1 -0
- package/dist/aws/runtime/messaging.d.ts +10 -0
- package/dist/aws/runtime/messaging.js.map +1 -0
- package/dist/aws/runtime/s3.d.ts +2 -0
- package/dist/aws/runtime/s3.js.map +1 -0
- package/dist/aws/runtime/secrets/dbsecret.d.ts +54 -0
- package/dist/aws/runtime/secrets/dbsecret.js +4 -4
- package/dist/aws/runtime/secrets/dbsecret.js.map +1 -0
- package/dist/aws/runtime/secrets/proxy-holder.d.ts +9 -0
- package/dist/aws/runtime/secrets/proxy-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/rds-holder.d.ts +9 -0
- package/dist/aws/runtime/secrets/rds-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/secret-holder.d.ts +26 -0
- package/dist/aws/runtime/secrets/secret-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/secret.d.ts +8 -0
- package/dist/aws/runtime/secrets/secret.js.map +1 -0
- package/dist/aws/types/errors.d.ts +8 -0
- package/dist/aws/types/errors.js.map +1 -0
- package/dist/aws/types/lambda-response.d.ts +13 -0
- package/dist/aws/types/lambda-response.js.map +1 -0
- package/dist/aws/types/mediatypes.d.ts +11 -0
- package/dist/aws/types/mediatypes.js.map +1 -0
- package/dist/aws/types/model-with-reference.d.ts +7 -0
- package/dist/aws/types/model-with-reference.js.map +1 -0
- package/dist/aws/types/proxytypes.d.ts +26 -0
- package/dist/aws/types/proxytypes.js.map +1 -0
- package/dist/aws/types/tags.d.ts +2 -0
- package/dist/aws/types/tags.js.map +1 -0
- package/dist/database/cached.d.ts +7 -0
- package/dist/database/cached.js.map +1 -0
- package/dist/database/database.d.ts +19 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/last-updated.d.ts +16 -0
- package/dist/database/last-updated.js.map +1 -0
- package/dist/database/models.d.ts +6 -0
- package/dist/database/models.js.map +1 -0
- package/dist/marine/id_utils.d.ts +3 -0
- package/dist/marine/id_utils.js.map +1 -0
- package/dist/marine/rtz.d.ts +48 -0
- package/dist/marine/rtz.js.map +1 -0
- package/dist/test/asserter.d.ts +11 -0
- package/dist/test/asserter.js.map +1 -0
- package/dist/test/db-testutils.d.ts +3 -0
- package/dist/test/db-testutils.js.map +1 -0
- package/dist/test/httpserver.d.ts +19 -0
- package/dist/test/httpserver.js.map +1 -0
- package/dist/test/secret.d.ts +3 -0
- package/dist/test/secret.js.map +1 -0
- package/dist/test/secrets-manager.d.ts +9 -0
- package/dist/test/secrets-manager.js.map +1 -0
- package/dist/test/testutils.d.ts +12 -0
- package/dist/test/testutils.js.map +1 -0
- package/dist/types/either.d.ts +9 -0
- package/dist/types/either.js.map +1 -0
- package/dist/types/input-error.d.ts +2 -0
- package/dist/types/input-error.js.map +1 -0
- package/dist/types/language.d.ts +5 -0
- package/dist/types/language.js.map +1 -0
- package/dist/types/traffictype.d.ts +8 -0
- package/dist/types/traffictype.js.map +1 -0
- package/dist/types/validator.d.ts +4 -0
- package/dist/types/validator.js.map +1 -0
- package/dist/utils/api-model.d.ts +87 -0
- package/dist/utils/api-model.js.map +1 -0
- package/dist/utils/base64.d.ts +12 -0
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/date-utils.d.ts +17 -0
- package/dist/utils/date-utils.js.map +1 -0
- package/dist/utils/geojson-types.d.ts +14 -0
- package/dist/utils/geojson-types.js.map +1 -0
- package/dist/utils/geometry.d.ts +36 -0
- package/dist/utils/geometry.js.map +1 -0
- package/dist/utils/retry.d.ts +13 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/slack.d.ts +5 -0
- package/dist/utils/slack.js.map +1 -0
- package/dist/utils/utils.d.ts +46 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +19 -29
- package/src/aws/infra/api/integration.ts +30 -14
- package/src/aws/infra/api/response.ts +107 -26
- package/src/aws/infra/api/responses.ts +8 -0
- package/src/aws/infra/api/static-integration.ts +48 -14
- package/src/aws/runtime/secrets/dbsecret.ts +23 -54
- package/src/aws/runtime/secrets/secret-holder.ts +6 -3
- package/src/database/database.ts +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"asserter.js","sourceRoot":"","sources":["../../src/test/asserter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAsB,QAAQ;IAC1B,MAAM,CAAC,YAAY,CAAI,KAAQ,EAAE,QAAW;QACxC,IAAI,KAAK,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACxE;IACL,CAAC;IAED,MAAM,CAAC,UAAU,CAAI,KAAQ;QACzB,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;SACxD;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAI,IAAS,EAAE,QAAgB;QAC9C,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACrF;IACL,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAI,IAAS,EAAE,QAAgB;QACzD,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,yBAAyB,QAAQ,EAAE,CAAC,CAAC;SACzF;IACL,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,QAAgB;QACpD,IAAI,KAAK,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,oCAAoC,QAAQ,EAAE,CAAC,CAAC;SACjF;IACL,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa;QACnE,MAAM,CAAC,QAAQ,GAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;CACJ;AA3CD,4BA2CC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { DTDatabase } from "../database/database";
|
2
|
+
export declare function assertCount(db: DTDatabase, sql: string, count: number): Promise<void>;
|
3
|
+
export declare function dbTestBase(fn: (db: DTDatabase) => void, truncateFn: (db: DTDatabase) => Promise<void>, dbUser: string, dbPass: string, dbUri: string): () => void;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"db-testutils.js","sourceRoot":"","sources":["../../src/test/db-testutils.ts"],"names":[],"mappings":";;;AAAA,mDAAoE;AACpE,8DAA0E;AAGnE,KAAK,UAAU,WAAW,CAAC,EAAc,EAAE,GAAW,EAAE,KAAa;IACxE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAFD,kCAEC;AAED,SAAgB,UAAU,CACtB,EAA4B,EAC5B,UAA6C,EAC7C,MAAc,EACd,MAAc,EACd,KAAa;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,EAAE,GAAe,IAAA,2BAAgB,EACnC,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR;YACI,UAAU,EAAE,IAAI,EAAE,gDAAgD;SACrE,CACJ,CAAC;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC1D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC;AACN,CAAC;AAxCD,gCAwCC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
export declare const ERROR_NO_MATCH = "NO MATCH";
|
2
|
+
export declare const ERRORCODE_NOT_FOUND = 404;
|
3
|
+
/**
|
4
|
+
* A mock HTTP server created for testing connections from a Lambda to an outside integration
|
5
|
+
*/
|
6
|
+
export declare class TestHttpServer {
|
7
|
+
private server?;
|
8
|
+
private debug;
|
9
|
+
private messageStack;
|
10
|
+
constructor();
|
11
|
+
getCallCount(): number;
|
12
|
+
getRequestBody(callNumber: number): string;
|
13
|
+
listen(port: number, props: ListenProperties, debug?: boolean, statusCode?: number): void;
|
14
|
+
close(): void;
|
15
|
+
private debuglog;
|
16
|
+
}
|
17
|
+
export interface ListenProperties {
|
18
|
+
[key: string]: (url?: string, data?: string) => string;
|
19
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"httpserver.js","sourceRoot":"","sources":["../../src/test/httpserver.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAE/B,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;GAEG;AACH,MAAa,cAAc;IAMvB;QACI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CACF,IAAY,EACZ,KAAuB,EACvB,KAAK,GAAG,KAAK,EACb,UAAU,GAAG,GAAG;QAEhB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAE/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YAC3D,8DAA8D;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAEpD,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,KAAK,EAAE;oBACP,OAAO,IAAI,KAAK,CAAC;iBACpB;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,IAAI,KAAK,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC/B,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAClD,GAAG,CAAC,SAAS,CACT,8BAA8B,EAC9B,sCAAsC,CACzC,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAE1B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,qCAAqC;oBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;oBACtD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;gBACzC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,qCAAqC;oBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;wBACvC,sBAAc,CAAC;oBACnB,GAAG,CAAC,SAAS,CAAC,2BAAmB,CAAC,CAAC;oBACnC,GAAG,CAAC,GAAG,CAAC,sBAAc,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACvB;IACL,CAAC;IAEO,QAAQ,CAAC,GAAW;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;IACL,CAAC;CACJ;AAnFD,wCAmFC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { EmptySecretFunction, SecretFunction } from "../aws/runtime/secrets/dbsecret";
|
2
|
+
export declare function createSecretFunction<Secret, Response>(secret: Secret): SecretFunction<Secret, Response>;
|
3
|
+
export declare function createEmptySecretFunction<Response>(): EmptySecretFunction<Response>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/test/secret.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAa;IAC9B,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,qCAAqC;IACrC,OAAO,EAAE,EAAE;CACd,CAAC;AAEF,SAAgB,oBAAoB,CAAmB,MAAc;IACjE,yCAAyC;IACzC,OAAO,KAAK,EAAE,QAAgB,EAAE,EAA6C,EAAE,EAAE;QAC7E,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AALD,oDAKC;AAED,SAAgB,yBAAyB;IACrC,yCAAyC;IACzC,OAAO,KAAK,EAAE,QAAgB,EAAE,EAA+C,EAAE,EAAE;QAC/E,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC;AALD,8DAKC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import * as sinon from "sinon";
|
2
|
+
/**
|
3
|
+
* Stub Secrets Manager for tests. You must call this
|
4
|
+
* before you instantiate Secrets Manager(this might happen when you import the function that uses Secrets Manager).
|
5
|
+
*
|
6
|
+
* To mock the actual secret, call mockSecret()
|
7
|
+
*/
|
8
|
+
export declare function stubSecretsManager(): sinon.SinonStub<any[], any>;
|
9
|
+
export declare function mockSecret<Secret>(secret: Secret): void;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secrets-manager.js","sourceRoot":"","sources":["../../src/test/secrets-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAChC,6CAA+B;AAE/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,SAAgB,kBAAkB;IAC9B,MAAM,MAAM,GAAG;QACX,cAAc,EAAE,WAAW;KAC9B,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,cAAc,CAAC;AACjC,CAAC;AARD,gDAQC;AAED,SAAgB,UAAU,CAAS,MAAc;IAC7C,IAAI,CAAC,MAAM,EAAE;QACT,WAAW,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;KACN;SAAM;QACH,WAAW,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;gBAC1B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACvC,CAAC;SACL,CAAC,CAAC;KACN;AACL,CAAC;AAZD,gCAYC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare function randomString(): string;
|
2
|
+
export declare function getRandomNumber(min: number, max: number): number;
|
3
|
+
export declare function getRandomNumberAsString(min: number, max: number): string;
|
4
|
+
export declare function getRandomInteger(min: number, max: number): number;
|
5
|
+
export declare function getRandomIntegerAsString(min: number, max: number): string;
|
6
|
+
export declare function getRandomBigInt(min: number, max: number): bigint;
|
7
|
+
export declare function randomBoolean(): boolean;
|
8
|
+
/**
|
9
|
+
* Returns a new copy of an array, shuffled using Math.random()
|
10
|
+
* @param array Array
|
11
|
+
*/
|
12
|
+
export declare function shuffle<T>(array: T[]): T[];
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"testutils.js","sourceRoot":"","sources":["../../src/test/testutils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAG,GAAW;IACrD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC7C,CAAC;AAFD,0CAEC;AAED,SAAgB,uBAAuB,CAAC,GAAW,EAAG,GAAW;IAC7D,OAAO,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AAFD,0DAEC;AAED,SAAgB,gBAAgB,CAAC,GAAW,EAAG,GAAW;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,4CAEC;AAED,SAAgB,wBAAwB,CAAC,GAAW,EAAG,GAAW;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAFD,4DAEC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAG,GAAW;IACrD,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa;IACzB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC/B,CAAC;AAFD,sCAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAI,KAAU;IACjC,gEAAgE;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAND,0BAMC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"either.js","sourceRoot":"","sources":["../../src/types/either.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"input-error.js","sourceRoot":"","sources":["../../src/types/input-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;CACpC;AADD,gCACC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/types/language.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAEX;AAFD,WAAY,QAAQ;IAChB,qBAAS,CAAA;IAAE,qBAAS,CAAA;IAAE,qBAAS,CAAA;AACnC,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"traffictype.js","sourceRoot":"","sources":["../../src/types/traffictype.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,0BAAW,CAAA;IACX,8BAAe,CAAA;AACnB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/types/validator.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,QAAQ,GAAG,IAAI,CAAC;AAE7B,SAAgB,YAAY,CAAC,IAAY,EAAE,OAAO,GAAG,gBAAQ,EAAE,OAAO,GAAG,gBAAQ;IAC7E,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC;AAC9C,CAAC;AAFD,oCAEC;AAED,SAAgB,aAAa,CAAC,KAAa;IACvC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;AACnC,CAAC;AAFD,sCAEC"}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { RestApi, Model, JsonSchema, RequestValidator, JsonSchemaType, JsonSchemaVersion } from 'aws-cdk-lib/aws-apigateway';
|
2
|
+
import { ModelWithReference } from "../aws/types/model-with-reference";
|
3
|
+
/**
|
4
|
+
* Get a reference to an OpenAPI model object in a REST API.
|
5
|
+
* Can be used to supply a reference to properties of a GeoJSON feature.
|
6
|
+
* @param modelId Id of the referenced object
|
7
|
+
* @param restApiId Id of the REST API
|
8
|
+
*/
|
9
|
+
export declare function getModelReference(modelId: string, restApiId: string): string;
|
10
|
+
/**
|
11
|
+
* Adds a request validator to a REST API to enforce request parameters/body requirements.
|
12
|
+
* https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html
|
13
|
+
* @param api REST API
|
14
|
+
*/
|
15
|
+
export declare function addDefaultValidator(api: RestApi): RequestValidator;
|
16
|
+
/**
|
17
|
+
* Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
|
18
|
+
* This method adds a schema for _a single object._
|
19
|
+
* @param name Name of the model
|
20
|
+
* @param api REST API
|
21
|
+
* @param schema JSON Schema
|
22
|
+
* @return ModelWithReference A model object with a reference to an API Gateway model object.
|
23
|
+
*/
|
24
|
+
export declare function addServiceModel(modelName: string, api: RestApi, schema: JsonSchema): ModelWithReference;
|
25
|
+
/**
|
26
|
+
* Add an empty JSON schema model to an API Gateway API.
|
27
|
+
* Usable for example if the incoming data is in XML format but some template transformation is necessary.
|
28
|
+
* @param modelName
|
29
|
+
* @param api
|
30
|
+
* @param contentType
|
31
|
+
*/
|
32
|
+
export declare function addSimpleServiceModel(modelName: string, api: RestApi, contentType?: string): Model;
|
33
|
+
/**
|
34
|
+
* Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
|
35
|
+
* This method adds a schema for _an array._
|
36
|
+
* @param model
|
37
|
+
* @param api
|
38
|
+
*/
|
39
|
+
export declare function createArraySchema(model: Model, api: RestApi): JsonSchema;
|
40
|
+
/**
|
41
|
+
* Creates a JSON Schema for a GeoJSON Feature. Can be used to generate OpenAPI descriptions.
|
42
|
+
* @param modelReference Reference to a model object
|
43
|
+
*/
|
44
|
+
export declare function featureSchema(modelReference: string): {
|
45
|
+
schema: JsonSchemaVersion;
|
46
|
+
type: JsonSchemaType;
|
47
|
+
description: string;
|
48
|
+
required: string[];
|
49
|
+
properties: {
|
50
|
+
type: {
|
51
|
+
type: JsonSchemaType;
|
52
|
+
description: string;
|
53
|
+
enum: string[];
|
54
|
+
};
|
55
|
+
properties: {
|
56
|
+
ref: string;
|
57
|
+
};
|
58
|
+
geometry: {
|
59
|
+
type: JsonSchemaType;
|
60
|
+
description: string;
|
61
|
+
};
|
62
|
+
};
|
63
|
+
};
|
64
|
+
/**
|
65
|
+
*
|
66
|
+
* Creates a JSON Schema for a GeoJSON Feature Collection. Can be used to generate OpenAPI descriptions.
|
67
|
+
* @param modelReference Reference to a model object, in this case Features.
|
68
|
+
*/
|
69
|
+
export declare function geojsonSchema(modelReference: string): {
|
70
|
+
schema: JsonSchemaVersion;
|
71
|
+
type: JsonSchemaType;
|
72
|
+
description: string;
|
73
|
+
required: string[];
|
74
|
+
properties: {
|
75
|
+
type: {
|
76
|
+
type: JsonSchemaType;
|
77
|
+
description: string;
|
78
|
+
enum: string[];
|
79
|
+
};
|
80
|
+
features: {
|
81
|
+
type: JsonSchemaType;
|
82
|
+
items: {
|
83
|
+
ref: string;
|
84
|
+
};
|
85
|
+
};
|
86
|
+
};
|
87
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"api-model.js","sourceRoot":"","sources":["../../src/utils/api-model.ts"],"names":[],"mappings":";;;AAAA,+DAOoC;AAGpC;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IAChE,OAAO,6CAA6C,SAAS,WAAW,OAAO,EAAE,CAAC;AACtF,CAAC;AAFD,8CAEC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,GAAY;IAC5C,OAAO,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;QAC/C,yBAAyB,EAAE,IAAI;QAC/B,mBAAmB,EAAE,IAAI;KAC5B,CAAC,CAAC;AACP,CAAC;AALD,kDAKC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,SAAiB,EAAE,GAAY,EAAE,MAAkB;IAC/E,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;QAChC,WAAW,EAAE,kBAAkB;QAC/B,SAAS;QACT,MAAM;KACT,CAAuB,CAAC;IACzB,GAAG,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACf,CAAC;AARD,0CAQC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,SAAiB,EAAE,GAAY,EAAE,WAAW,GAAG,iBAAiB;IAClG,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;QAC3B,WAAW;QACX,SAAS;QACT,MAAM,EAAE,EAAE;KACb,CAAC,CAAC;AACP,CAAC;AAND,sDAMC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAY,EAAE,GAAY;IACxD,OAAO;QACH,IAAI,EAAE,+BAAc,CAAC,KAAK;QAC1B,KAAK,EAAE;YACH,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;SACvD;KACJ,CAAC;AACN,CAAC;AAPD,8CAOC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,cAAsB;IAChD,OAAO;QACH,MAAM,EAAE,kCAAiB,CAAC,MAAM;QAChC,IAAI,EAAE,+BAAc,CAAC,MAAM;QAC3B,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;QAC5C,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,+BAAc,CAAC,MAAM;gBAC3B,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,CAAC,SAAS,CAAC;aACpB;YACD,UAAU,EAAE;gBACR,GAAG,EAAE,cAAc;aACtB;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,+BAAc,CAAC,MAAM;gBAC3B,WAAW,EAAE,kBAAkB;aAClC;SACJ;KACJ,CAAC;AACN,CAAC;AArBD,sCAqBC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,cAAsB;IAChD,OAAO;QACH,MAAM,EAAE,kCAAiB,CAAC,MAAM;QAChC,IAAI,EAAE,+BAAc,CAAC,MAAM;QAC3B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;QAC9B,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,+BAAc,CAAC,MAAM;gBAC3B,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,CAAC,mBAAmB,CAAC;aAC9B;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,+BAAc,CAAC,KAAK;gBAC1B,KAAK,EAAE;oBACH,GAAG,EAAE,cAAc;iBACtB;aACJ;SACJ;KACJ,CAAC;AACN,CAAC;AApBD,sCAoBC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
/**
|
3
|
+
* Decode given string from base64 to ascii
|
4
|
+
* @param str string
|
5
|
+
*/
|
6
|
+
export declare function decodeBase64ToAscii(str: string): string;
|
7
|
+
/**
|
8
|
+
* Decode given string from base64 to given encoding
|
9
|
+
* @param str
|
10
|
+
* @param encoding
|
11
|
+
*/
|
12
|
+
export declare function decodeBase64(str: string, encoding: BufferEncoding): string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/utils/base64.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC3C,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAFD,kDAEC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,QAAwB;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAFD,oCAEC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Counts difference in milliseconds between dates.
|
3
|
+
* @param start
|
4
|
+
* @param end
|
5
|
+
*/
|
6
|
+
export declare function countDiffMs(start: Date, end: Date): number;
|
7
|
+
/**
|
8
|
+
* Counts difference in seconds between dates.
|
9
|
+
* @param start
|
10
|
+
* @param end
|
11
|
+
*/
|
12
|
+
export declare function countDiffInSeconds(start: Date, end: Date): number;
|
13
|
+
/**
|
14
|
+
* Converts ISO 8601 date-time -string to Date object
|
15
|
+
* @param isoString to convert
|
16
|
+
*/
|
17
|
+
export declare function dateFromIsoString(isoString: string): Date;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../../src/utils/date-utils.ts"],"names":[],"mappings":";;;AACA;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAW,EAAE,GAAS;IAC9C,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AAC3C,CAAC;AAFD,kCAEC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAW,EAAE,GAAS;IACrD,OAAO,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,GAAC,IAAI,CAAC;AACxC,CAAC;AAFD,gDAEC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,SAAiB;IAC/C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE;QACtD,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;KAC7D;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAND,8CAMC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* GeoJSON types
|
3
|
+
*/
|
4
|
+
import { LineString, Point, Position } from "geojson";
|
5
|
+
export declare class GeoJsonPoint implements Point {
|
6
|
+
readonly type = "Point";
|
7
|
+
readonly coordinates: Position;
|
8
|
+
constructor(coordinates: Position);
|
9
|
+
}
|
10
|
+
export declare class GeoJsonLineString implements LineString {
|
11
|
+
readonly type = "LineString";
|
12
|
+
readonly coordinates: Position[];
|
13
|
+
constructor(coordinates: Position[]);
|
14
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"geojson-types.js","sourceRoot":"","sources":["../../src/utils/geojson-types.ts"],"names":[],"mappings":";;;AAKA,MAAa,YAAY;IAIrB,YAAY,WAAqB;QAHxB,SAAI,GAAG,OAAO,CAAC;QAIpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAPD,oCAOC;AAED,MAAa,iBAAiB;IAI1B,YAAY,WAAuB;QAH1B,SAAI,GAAG,YAAY,CAAC;QAIzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAPD,8CAOC"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**
|
2
|
+
* GeoJSON functions and tools
|
3
|
+
*/
|
4
|
+
import { Feature, FeatureCollection, Geometry, Position } from "geojson";
|
5
|
+
export declare const SRID_WGS84 = 4326;
|
6
|
+
/**
|
7
|
+
* Creates WKT geometry from GeoJSON geometry
|
8
|
+
* @param geometry GeoJson geometry to convert to WKT
|
9
|
+
*/
|
10
|
+
export declare function createGeometry(geometry: Geometry): string;
|
11
|
+
/**
|
12
|
+
* Create a GeoJSON FeatureCollection from a list of GeoJSON features with a 'last updated' property
|
13
|
+
* @param features List of Features
|
14
|
+
* @param lastUpdated Last updated date
|
15
|
+
*/
|
16
|
+
export declare function createFeatureCollection(features: Feature[], lastUpdated: Date | null): FeatureCollection;
|
17
|
+
export declare function isValidGeoJson<T>(json: T): boolean;
|
18
|
+
export declare function isFeatureCollection<T>(json: T): boolean;
|
19
|
+
/**
|
20
|
+
* Calculates distance between two GeoJSON points (WGS84)
|
21
|
+
* @param pos1
|
22
|
+
* @param pos2
|
23
|
+
*/
|
24
|
+
export declare function distanceBetweenPositionsInKm(pos1: Position, pos2: Position): number;
|
25
|
+
export declare function areDistinctPositions(previous: Position, next: Position): boolean;
|
26
|
+
/**
|
27
|
+
* Calculates distance between two GeoJSON points (WGS84)
|
28
|
+
* @param pos1
|
29
|
+
* @param pos2
|
30
|
+
*/
|
31
|
+
export declare function distanceBetweenPositionsInM(pos1: Position, pos2: Position): number;
|
32
|
+
export declare function createGmlLineString(geometry: Geometry, srsName?: string): {
|
33
|
+
srsName: string;
|
34
|
+
posList: string;
|
35
|
+
};
|
36
|
+
export declare function positionToList(position: Position, precision?: number): string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/utils/geometry.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare enum RetryLogError {
|
2
|
+
LOG_ALL_AS_ERRORS = 0,
|
3
|
+
LOG_LAST_RETRY_AS_ERROR_OTHERS_AS_WARNS = 1,
|
4
|
+
NO_LOGGING = 2
|
5
|
+
}
|
6
|
+
/**
|
7
|
+
* Utility function for retrying async functions.
|
8
|
+
* @param asyncFn Function
|
9
|
+
* @param retries Amount of retries, default is 3. If set to <= 0, no retries will be done. Using non-finite numbers will throw an error. The maximum allowed retry count is 100.
|
10
|
+
* @param logError Logging options
|
11
|
+
* @return Promise return value
|
12
|
+
*/
|
13
|
+
export declare function retry<T>(asyncFn: () => Promise<T>, retries?: number, logError?: RetryLogError): Promise<T>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,2EAAiB,CAAA;IACjB,uHAAuC,CAAA;IACvC,6DAAU,CAAA;AACd,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED;;;;;;GAMG;AACI,KAAK,UAAU,KAAK,CAAI,OAAyB,EACpD,OAAO,GAAG,CAAC,EACX,QAAQ,GAAG,aAAa,CAAC,uCAAuC;IAEhE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IACD,IAAI,OAAO,GAAG,GAAG,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC9D;IACD,IAAI;QACA,OAAO,MAAM,OAAO,EAAE,CAAC;KAC1B;IAAC,OAAO,KAAK,EAAE;QACZ,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,oBAAoB,CAAC;QAC1C,IAAI,QAAQ,KAAK,aAAa,CAAC,iBAAiB,EAAE;YAC9C,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SACtC;aAAM,IAAI,QAAQ,KAAK,aAAa,CAAC,uCAAuC,EAAE;YAC3E,IAAI,gBAAgB,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;aACtC;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;aACrC;SACJ;QAED,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACtC;QACD,OAAO,CAAC,IAAI,CAAC,oEAAoE,EAAE,gBAAgB,CAAC,CAAC;QACrG,OAAO,KAAK,CAAC,OAAO,EAChB,gBAAgB,EAChB,QAAQ,CAAC,CAAC;KACjB;AACL,CAAC;AAnCD,sBAmCC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../src/utils/slack.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,QAAQ;IAIjB,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,IAAI;YACA,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9C,MAAM,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI;aACP,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;IACL,CAAC;CAEJ;AAnBD,4BAmBC"}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/**
|
2
|
+
* Check if arrays have only elements that also exists also in other array.
|
3
|
+
* Individual element count doesn't matter.
|
4
|
+
* Function works only for primitive types and for other it just checks the reference to object.
|
5
|
+
*
|
6
|
+
* Some examples
|
7
|
+
* bothArraysHasSameValues( [a, b], [b, a] ) => true
|
8
|
+
* bothArraysHasSameValues( [a, a], [a, a, a] ) => true
|
9
|
+
* bothArraysHasSameValues( [a, b], [a] ) => false
|
10
|
+
*
|
11
|
+
* Object references:
|
12
|
+
* const o1 = { a: 1, b: 2};
|
13
|
+
* const o2 = { a: 1, b: 2};
|
14
|
+
* // Arrays has references to same objects
|
15
|
+
* bothArraysHasSameValues([o1], [o1])) => true
|
16
|
+
* Arrays have references to different objects
|
17
|
+
* bothArraysHasSameValues([o1], [o2])) => false
|
18
|
+
*
|
19
|
+
* @param a first array to compare
|
20
|
+
* @param b second array to compare
|
21
|
+
*/
|
22
|
+
import { Either } from "../types/either";
|
23
|
+
export declare function bothArraysHasSameValues(a: null | undefined | unknown[], b: null | undefined | unknown[]): boolean;
|
24
|
+
/**
|
25
|
+
* Returns the last item on the array. If the array is empty, throws an error!
|
26
|
+
*/
|
27
|
+
export declare function getLast<T>(array: T[], sortFunction?: (a: T) => number): T;
|
28
|
+
/**
|
29
|
+
* Returns the first item on the array. If the array is empty, throws an error!
|
30
|
+
*/
|
31
|
+
export declare function getFirst<T>(array: T[], sortFunction?: (a: T) => number): T;
|
32
|
+
/**
|
33
|
+
* Gets environment variable. Throws error if variable is not found.
|
34
|
+
*
|
35
|
+
* @param key Environment key
|
36
|
+
* @return string
|
37
|
+
*/
|
38
|
+
export declare function getEnvVariable(key: string): string;
|
39
|
+
/**
|
40
|
+
* Gets environment variable. Safe version returns object with either ok or error status.
|
41
|
+
* Easier to use for recovery than catching an error.
|
42
|
+
*
|
43
|
+
* @param key Environment key
|
44
|
+
* @return Either<string>
|
45
|
+
*/
|
46
|
+
export declare function getEnvVariableSafe(key: string): Either<string>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAuBA,SAAgB,uBAAuB,CACnC,CAA+B,EAC/B,CAA+B;IAE/B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC;KAChB;SAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC;KACf;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;QACzB,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAfD,0DAeC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAI,KAAU,EAAE,YAA+B;IAClE,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AAFD,0BAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAI,KAAU,EAAE,YAA+B;IACnE,OAAO,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAFD,4BAEC;AAED,SAAS,cAAc,CACnB,QAAiB,EACjB,KAAU,EACV,YAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QACnB,MAAM,IAAI,KAAK,CACX,aAAa,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAC/D,CAAC;KACL;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9C,IAAI,YAAY,EAAE;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;KAC1C;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAW;IACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACnC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACxB,CAAC;AAND,wCAMC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO;YACH,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,gCAAgC,GAAG,iBAAiB;SAChE,CAAC;KACL;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AATD,gDASC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@digitraffic/common",
|
3
|
-
"version": "2022.11.
|
3
|
+
"version": "2022.11.23-2",
|
4
4
|
"description": "",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -10,31 +10,25 @@
|
|
10
10
|
"node": ">=14 <17",
|
11
11
|
"yarn": ">1.2 <2"
|
12
12
|
},
|
13
|
+
"scripts": {
|
14
|
+
"build": "tsc",
|
15
|
+
"lint": "eslint --cache .",
|
16
|
+
"eslint-report": "eslint . --format html",
|
17
|
+
"clean": "rimraf dist output",
|
18
|
+
"test": "jest --detectOpenHandles --forceExit --coverage --coverageDirectory=output/coverage/jest",
|
19
|
+
"prepare": "husky install",
|
20
|
+
"prepublishOnly": "yarn clean && yarn build && yarn test"
|
21
|
+
},
|
13
22
|
"license": "EUPL-1.2",
|
14
23
|
"private": false,
|
15
24
|
"files": [
|
16
25
|
"dist/**/*.js",
|
17
26
|
"src/**/*.ts"
|
18
27
|
],
|
19
|
-
"
|
20
|
-
"pg-promise": "^10.12.0",
|
21
|
-
"spex": "^3.0.0",
|
22
|
-
"constructs": "^10.1.131",
|
23
|
-
"@aws-cdk/aws-synthetics-alpha": "2.50.0-alpha.0",
|
24
|
-
"@types/geojson": "^7946.0.10",
|
25
|
-
"aws-cdk-lib": "2.50.0",
|
26
|
-
"aws-sdk": "2.1241.0",
|
27
|
-
"axios": "^0.21.1",
|
28
|
-
"change-case": "4.1.2",
|
29
|
-
"geojson-validation": "^1.0.2",
|
30
|
-
"moment": "^2.29.4",
|
31
|
-
"node-ttl": "^0.2.0",
|
32
|
-
"pg-native": "^3.0.1"
|
33
|
-
},
|
34
|
-
"devDependencies": {
|
28
|
+
"dependencies": {
|
35
29
|
"@aws-cdk/aws-synthetics-alpha": "2.50.0-alpha.0",
|
36
30
|
"@types/geojson": "^7946.0.10",
|
37
|
-
"aws-cdk-lib": "2.
|
31
|
+
"aws-cdk-lib": "2.51.1",
|
38
32
|
"aws-sdk": "2.1241.0",
|
39
33
|
"axios": "^0.21.1",
|
40
34
|
"change-case": "4.1.2",
|
@@ -43,7 +37,9 @@
|
|
43
37
|
"moment": "^2.29.4",
|
44
38
|
"node-ttl": "^0.2.0",
|
45
39
|
"pg-native": "^3.0.1",
|
46
|
-
"pg-promise": "^10.12.0"
|
40
|
+
"pg-promise": "^10.12.0"
|
41
|
+
},
|
42
|
+
"devDependencies": {
|
47
43
|
"@types/aws-lambda": "^8.10.106",
|
48
44
|
"@types/jest": "^29.0.3",
|
49
45
|
"@types/node": "^18.7.23",
|
@@ -53,6 +49,7 @@
|
|
53
49
|
"@typescript-eslint/parser": "^5.39.0",
|
54
50
|
"eslint": "^8.24.0",
|
55
51
|
"eslint-config-prettier": "^8.5.0",
|
52
|
+
"eslint-plugin-deprecation": "1.3.3",
|
56
53
|
"husky": ">=6",
|
57
54
|
"jest": "^29.1.1",
|
58
55
|
"jest-junit": "^14.0.1",
|
@@ -61,8 +58,8 @@
|
|
61
58
|
"ramda": "^0.28.0",
|
62
59
|
"rimraf": "^3.0.2",
|
63
60
|
"sinon": "^14.0.0",
|
64
|
-
"ts-jest": "^29.0.
|
65
|
-
"typescript": "^4.
|
61
|
+
"ts-jest": "^29.0.3",
|
62
|
+
"typescript": "^4.8.4"
|
66
63
|
},
|
67
64
|
"externals": [
|
68
65
|
"aws-sdk",
|
@@ -70,12 +67,5 @@
|
|
70
67
|
],
|
71
68
|
"lint-staged": {
|
72
69
|
"*.{js,ts,css,md,yml,yaml,json}": "prettier --write"
|
73
|
-
},
|
74
|
-
"scripts": {
|
75
|
-
"build": "tsc",
|
76
|
-
"lint": "eslint --cache .",
|
77
|
-
"eslint-report": "eslint . --format html",
|
78
|
-
"clean": "rimraf dist output",
|
79
|
-
"test": "jest --detectOpenHandles --forceExit --coverage --coverageDirectory=output/coverage/jest"
|
80
70
|
}
|
81
|
-
}
|
71
|
+
}
|
@@ -1,13 +1,17 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import {
|
2
|
+
IntegrationResponse,
|
3
|
+
LambdaIntegration,
|
4
|
+
PassthroughBehavior,
|
5
|
+
} from "aws-cdk-lib/aws-apigateway";
|
6
|
+
import { IFunction } from "aws-cdk-lib/aws-lambda";
|
7
|
+
import { MediaType } from "../../types/mediatypes";
|
8
|
+
import { DigitrafficIntegrationResponse } from "../../runtime/digitraffic-integration-response";
|
5
9
|
|
6
|
-
type ParameterType =
|
10
|
+
type ParameterType = "path" | "querystring";
|
7
11
|
|
8
12
|
interface ApiParameter {
|
9
|
-
type: ParameterType
|
10
|
-
name: string
|
13
|
+
type: ParameterType;
|
14
|
+
name: string;
|
11
15
|
}
|
12
16
|
|
13
17
|
export class DigitrafficIntegration {
|
@@ -22,13 +26,15 @@ export class DigitrafficIntegration {
|
|
22
26
|
}
|
23
27
|
|
24
28
|
addPathParameter(...names: string[]): DigitrafficIntegration {
|
25
|
-
names.forEach(name => this.parameters.push({type:
|
29
|
+
names.forEach((name) => this.parameters.push({ type: "path", name }));
|
26
30
|
|
27
31
|
return this;
|
28
32
|
}
|
29
33
|
|
30
34
|
addQueryParameter(...names: string[]): DigitrafficIntegration {
|
31
|
-
names.forEach(name =>
|
35
|
+
names.forEach((name) =>
|
36
|
+
this.parameters.push({ type: "querystring", name })
|
37
|
+
);
|
32
38
|
|
33
39
|
return this;
|
34
40
|
}
|
@@ -39,8 +45,14 @@ export class DigitrafficIntegration {
|
|
39
45
|
return new LambdaIntegration(this.lambda, {
|
40
46
|
proxy: false,
|
41
47
|
integrationResponses,
|
42
|
-
requestParameters:
|
43
|
-
|
48
|
+
requestParameters:
|
49
|
+
this.parameters.length == 0
|
50
|
+
? undefined
|
51
|
+
: this.createRequestParameters(),
|
52
|
+
requestTemplates:
|
53
|
+
this.parameters.length == 0
|
54
|
+
? undefined
|
55
|
+
: this.createRequestTemplates(),
|
44
56
|
passthroughBehavior: PassthroughBehavior.WHEN_NO_MATCH,
|
45
57
|
});
|
46
58
|
}
|
@@ -49,7 +61,9 @@ export class DigitrafficIntegration {
|
|
49
61
|
const requestParameters: Record<string, string> = {};
|
50
62
|
|
51
63
|
this.parameters.forEach((parameter: ApiParameter) => {
|
52
|
-
requestParameters[
|
64
|
+
requestParameters[
|
65
|
+
`integration.request.${parameter.type}.${parameter.name}`
|
66
|
+
] = `method.request.${parameter.type}.${parameter.name}`;
|
53
67
|
});
|
54
68
|
|
55
69
|
return requestParameters;
|
@@ -59,7 +73,9 @@ export class DigitrafficIntegration {
|
|
59
73
|
const requestJson: Record<string, string> = {};
|
60
74
|
|
61
75
|
this.parameters.forEach((parameter: ApiParameter) => {
|
62
|
-
requestJson[
|
76
|
+
requestJson[
|
77
|
+
parameter.name
|
78
|
+
] = `$util.escapeJavaScript($input.params('${parameter.name}'))`;
|
63
79
|
});
|
64
80
|
|
65
81
|
return {
|
@@ -70,4 +86,4 @@ export class DigitrafficIntegration {
|
|
70
86
|
createResponses(): IntegrationResponse[] {
|
71
87
|
return [DigitrafficIntegrationResponse.ok(this.mediaType)];
|
72
88
|
}
|
73
|
-
}
|
89
|
+
}
|