@openstax/ts-utils 1.43.2 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/aws/ssmService.js +2 -2
- package/dist/cjs/config/awsParameterConfig.d.ts +1 -1
- package/dist/cjs/config/awsParameterConfig.js +7 -7
- package/dist/cjs/config/envConfig.d.ts +1 -1
- package/dist/cjs/config/envConfig.js +2 -2
- package/dist/cjs/config/index.d.ts +5 -5
- package/dist/cjs/config/index.js +5 -5
- package/dist/cjs/config/lambdaParameterConfig.d.ts +1 -1
- package/dist/cjs/config/lambdaParameterConfig.js +10 -10
- package/dist/cjs/config/replaceConfig.d.ts +1 -1
- package/dist/cjs/config/replaceConfig.js +3 -3
- package/dist/cjs/config/resolveConfigValue.d.ts +1 -1
- package/dist/cjs/errors/index.d.ts +1 -1
- package/dist/cjs/fetch/fetchStatusRetry.d.ts +2 -2
- package/dist/cjs/fetch/fetchStatusRetry.js +2 -2
- package/dist/cjs/fetch/index.d.ts +1 -1
- package/dist/cjs/index.d.ts +5 -4
- package/dist/cjs/index.js +5 -4
- package/dist/cjs/middleware/apiErrorHandler.d.ts +3 -3
- package/dist/cjs/middleware/apiErrorHandler.js +12 -12
- package/dist/cjs/middleware/apiSlowResponseMiddleware.d.ts +3 -3
- package/dist/cjs/middleware/apiSlowResponseMiddleware.js +9 -9
- package/dist/cjs/middleware/index.d.ts +1 -1
- package/dist/cjs/middleware/lambdaCorsResponseMiddleware.d.ts +2 -2
- package/dist/cjs/middleware/lambdaCorsResponseMiddleware.js +5 -5
- package/dist/cjs/middleware/throwNotFoundMiddleware.js +2 -2
- package/dist/cjs/misc/helpers.d.ts +1 -1
- package/dist/cjs/misc/jwks.js +3 -3
- package/dist/cjs/misc/merge.d.ts +1 -1
- package/dist/cjs/misc/merge.js +2 -2
- package/dist/cjs/misc/timingSafeCompareStrings.d.ts +5 -0
- package/dist/cjs/misc/timingSafeCompareStrings.js +15 -0
- package/dist/cjs/pagination/index.d.ts +1 -1
- package/dist/cjs/pagination/index.js +10 -10
- package/dist/cjs/routing/helpers.d.ts +1 -1
- package/dist/cjs/routing/helpers.js +7 -7
- package/dist/cjs/routing/index.d.ts +2 -2
- package/dist/cjs/routing/index.js +6 -6
- package/dist/cjs/routing/lambdaBatchRequestHandler.d.ts +2 -2
- package/dist/cjs/routing/lambdaBatchRequestHandler.js +6 -6
- package/dist/cjs/routing/validators/zod.js +2 -2
- package/dist/cjs/services/accountsGateway/index.d.ts +5 -5
- package/dist/cjs/services/accountsGateway/index.js +18 -18
- package/dist/cjs/services/apiGateway/index.d.ts +5 -5
- package/dist/cjs/services/apiGateway/index.js +12 -12
- package/dist/cjs/services/authProvider/browser.d.ts +4 -4
- package/dist/cjs/services/authProvider/browser.js +13 -13
- package/dist/cjs/services/authProvider/decryption.d.ts +3 -3
- package/dist/cjs/services/authProvider/decryption.js +17 -17
- package/dist/cjs/services/authProvider/index.d.ts +3 -3
- package/dist/cjs/services/authProvider/index.js +7 -7
- package/dist/cjs/services/authProvider/launchToken.d.ts +4 -4
- package/dist/cjs/services/authProvider/launchToken.js +6 -6
- package/dist/cjs/services/authProvider/subrequest.d.ts +3 -3
- package/dist/cjs/services/authProvider/subrequest.js +12 -12
- package/dist/cjs/services/authProvider/utils/decryptAndVerify.d.ts +1 -1
- package/dist/cjs/services/authProvider/utils/decryptAndVerify.js +3 -3
- package/dist/cjs/services/authProvider/utils/embeddedAuthProvider.d.ts +2 -2
- package/dist/cjs/services/authProvider/utils/userRoleValidator.d.ts +3 -3
- package/dist/cjs/services/authProvider/utils/userRoleValidator.js +7 -7
- package/dist/cjs/services/authProvider/utils/userSubrequest.d.ts +2 -2
- package/dist/cjs/services/documentStore/dynamoEncoding.d.ts +1 -1
- package/dist/cjs/services/documentStore/dynamoEncoding.js +2 -2
- package/dist/cjs/services/documentStore/unversioned/dynamodb.d.ts +2 -2
- package/dist/cjs/services/documentStore/unversioned/dynamodb.js +30 -30
- package/dist/cjs/services/documentStore/unversioned/file-system.d.ts +2 -2
- package/dist/cjs/services/documentStore/unversioned/file-system.js +13 -13
- package/dist/cjs/services/documentStore/unversioned/index.d.ts +1 -1
- package/dist/cjs/services/documentStore/versioned/dynamodb.d.ts +3 -3
- package/dist/cjs/services/documentStore/versioned/dynamodb.js +17 -17
- package/dist/cjs/services/documentStore/versioned/file-system.d.ts +3 -3
- package/dist/cjs/services/documentStore/versioned/file-system.js +2 -2
- package/dist/cjs/services/documentStore/versioned/index.d.ts +2 -2
- package/dist/cjs/services/exercisesGateway/index.d.ts +2 -2
- package/dist/cjs/services/exercisesGateway/index.js +14 -14
- package/dist/cjs/services/fileServer/index.js +3 -3
- package/dist/cjs/services/fileServer/localFileServer.d.ts +2 -2
- package/dist/cjs/services/fileServer/localFileServer.js +11 -11
- package/dist/cjs/services/fileServer/s3FileServer.d.ts +2 -2
- package/dist/cjs/services/fileServer/s3FileServer.js +13 -13
- package/dist/cjs/services/httpMessageVerifier/index.d.ts +1 -1
- package/dist/cjs/services/httpMessageVerifier/index.js +19 -19
- package/dist/cjs/services/launchParams/index.d.ts +2 -2
- package/dist/cjs/services/launchParams/index.js +4 -4
- package/dist/cjs/services/launchParams/signer.d.ts +2 -2
- package/dist/cjs/services/launchParams/signer.js +9 -9
- package/dist/cjs/services/launchParams/verifier.d.ts +1 -1
- package/dist/cjs/services/launchParams/verifier.js +11 -11
- package/dist/cjs/services/logger/console.d.ts +1 -1
- package/dist/cjs/services/logger/console.js +2 -2
- package/dist/cjs/services/logger/index.d.ts +1 -1
- package/dist/cjs/services/lrsGateway/addStatementDefaultFields.d.ts +1 -1
- package/dist/cjs/services/lrsGateway/attempt-utils.d.ts +7 -7
- package/dist/cjs/services/lrsGateway/batching.d.ts +2 -2
- package/dist/cjs/services/lrsGateway/batching.js +2 -2
- package/dist/cjs/services/lrsGateway/file-system.d.ts +3 -3
- package/dist/cjs/services/lrsGateway/file-system.js +10 -10
- package/dist/cjs/services/lrsGateway/index.d.ts +5 -5
- package/dist/cjs/services/lrsGateway/index.js +23 -23
- package/dist/cjs/services/lrsGateway/xapiUtils.d.ts +4 -4
- package/dist/cjs/services/lrsGateway/xapiUtils.js +8 -8
- package/dist/cjs/services/postgresConnection/index.d.ts +2 -2
- package/dist/cjs/services/postgresConnection/index.js +14 -14
- package/dist/cjs/services/queueProvider/local.d.ts +2 -2
- package/dist/cjs/services/queueProvider/local.js +6 -6
- package/dist/cjs/services/queueProvider/sqs.d.ts +2 -2
- package/dist/cjs/services/queueProvider/sqs.js +7 -7
- package/dist/cjs/services/searchProvider/memorySearchTheBadWay.d.ts +1 -1
- package/dist/cjs/services/searchProvider/memorySearchTheBadWay.js +9 -9
- package/dist/cjs/services/searchProvider/openSearch.d.ts +2 -2
- package/dist/cjs/services/searchProvider/openSearch.js +8 -8
- package/dist/cjs/services/searchProvider/streamIndexer.d.ts +2 -2
- package/dist/cjs/services/searchProvider/streamIndexer.js +3 -3
- package/dist/cjs/tsconfig.without-specs.cjs.tsbuildinfo +1 -1
- package/dist/esm/aws/ssmService.js +1 -1
- package/dist/esm/config/awsParameterConfig.d.ts +1 -1
- package/dist/esm/config/awsParameterConfig.js +3 -3
- package/dist/esm/config/envConfig.d.ts +1 -1
- package/dist/esm/config/envConfig.js +1 -1
- package/dist/esm/config/index.d.ts +5 -5
- package/dist/esm/config/index.js +5 -5
- package/dist/esm/config/lambdaParameterConfig.d.ts +1 -1
- package/dist/esm/config/lambdaParameterConfig.js +4 -4
- package/dist/esm/config/replaceConfig.d.ts +1 -1
- package/dist/esm/config/replaceConfig.js +1 -1
- package/dist/esm/config/resolveConfigValue.d.ts +1 -1
- package/dist/esm/errors/index.d.ts +1 -1
- package/dist/esm/fetch/fetchStatusRetry.d.ts +2 -2
- package/dist/esm/fetch/fetchStatusRetry.js +1 -1
- package/dist/esm/fetch/index.d.ts +1 -1
- package/dist/esm/index.d.ts +5 -4
- package/dist/esm/index.js +5 -4
- package/dist/esm/middleware/apiErrorHandler.d.ts +3 -3
- package/dist/esm/middleware/apiErrorHandler.js +3 -3
- package/dist/esm/middleware/apiSlowResponseMiddleware.d.ts +3 -3
- package/dist/esm/middleware/apiSlowResponseMiddleware.js +4 -4
- package/dist/esm/middleware/index.d.ts +1 -1
- package/dist/esm/middleware/lambdaCorsResponseMiddleware.d.ts +2 -2
- package/dist/esm/middleware/lambdaCorsResponseMiddleware.js +3 -3
- package/dist/esm/middleware/throwNotFoundMiddleware.js +1 -1
- package/dist/esm/misc/helpers.d.ts +1 -1
- package/dist/esm/misc/jwks.js +1 -1
- package/dist/esm/misc/merge.d.ts +1 -1
- package/dist/esm/misc/merge.js +1 -1
- package/dist/esm/misc/timingSafeCompareStrings.d.ts +5 -0
- package/dist/esm/misc/timingSafeCompareStrings.js +11 -0
- package/dist/esm/pagination/index.d.ts +1 -1
- package/dist/esm/pagination/index.js +3 -3
- package/dist/esm/routing/helpers.d.ts +1 -1
- package/dist/esm/routing/helpers.js +3 -3
- package/dist/esm/routing/index.d.ts +2 -2
- package/dist/esm/routing/index.js +3 -3
- package/dist/esm/routing/lambdaBatchRequestHandler.d.ts +2 -2
- package/dist/esm/routing/lambdaBatchRequestHandler.js +3 -3
- package/dist/esm/routing/validators/zod.js +1 -1
- package/dist/esm/services/accountsGateway/index.d.ts +5 -5
- package/dist/esm/services/accountsGateway/index.js +5 -5
- package/dist/esm/services/apiGateway/index.d.ts +5 -5
- package/dist/esm/services/apiGateway/index.js +5 -5
- package/dist/esm/services/authProvider/browser.d.ts +4 -4
- package/dist/esm/services/authProvider/browser.js +5 -5
- package/dist/esm/services/authProvider/decryption.d.ts +3 -3
- package/dist/esm/services/authProvider/decryption.js +7 -7
- package/dist/esm/services/authProvider/index.d.ts +3 -3
- package/dist/esm/services/authProvider/index.js +2 -2
- package/dist/esm/services/authProvider/launchToken.d.ts +4 -4
- package/dist/esm/services/authProvider/launchToken.js +2 -2
- package/dist/esm/services/authProvider/subrequest.d.ts +3 -3
- package/dist/esm/services/authProvider/subrequest.js +5 -5
- package/dist/esm/services/authProvider/utils/decryptAndVerify.d.ts +1 -1
- package/dist/esm/services/authProvider/utils/decryptAndVerify.js +1 -1
- package/dist/esm/services/authProvider/utils/embeddedAuthProvider.d.ts +2 -2
- package/dist/esm/services/authProvider/utils/userRoleValidator.d.ts +3 -3
- package/dist/esm/services/authProvider/utils/userRoleValidator.js +4 -4
- package/dist/esm/services/authProvider/utils/userSubrequest.d.ts +2 -2
- package/dist/esm/services/documentStore/dynamoEncoding.d.ts +1 -1
- package/dist/esm/services/documentStore/dynamoEncoding.js +1 -1
- package/dist/esm/services/documentStore/unversioned/dynamodb.d.ts +2 -2
- package/dist/esm/services/documentStore/unversioned/dynamodb.js +5 -5
- package/dist/esm/services/documentStore/unversioned/file-system.d.ts +2 -2
- package/dist/esm/services/documentStore/unversioned/file-system.js +4 -4
- package/dist/esm/services/documentStore/unversioned/index.d.ts +1 -1
- package/dist/esm/services/documentStore/versioned/dynamodb.d.ts +3 -3
- package/dist/esm/services/documentStore/versioned/dynamodb.js +4 -4
- package/dist/esm/services/documentStore/versioned/file-system.d.ts +3 -3
- package/dist/esm/services/documentStore/versioned/file-system.js +1 -1
- package/dist/esm/services/documentStore/versioned/index.d.ts +2 -2
- package/dist/esm/services/exercisesGateway/index.d.ts +2 -2
- package/dist/esm/services/exercisesGateway/index.js +5 -5
- package/dist/esm/services/fileServer/index.js +1 -1
- package/dist/esm/services/fileServer/localFileServer.d.ts +2 -2
- package/dist/esm/services/fileServer/localFileServer.js +4 -4
- package/dist/esm/services/fileServer/s3FileServer.d.ts +2 -2
- package/dist/esm/services/fileServer/s3FileServer.js +4 -4
- package/dist/esm/services/httpMessageVerifier/index.d.ts +1 -1
- package/dist/esm/services/httpMessageVerifier/index.js +5 -5
- package/dist/esm/services/launchParams/index.d.ts +2 -2
- package/dist/esm/services/launchParams/index.js +2 -2
- package/dist/esm/services/launchParams/signer.d.ts +2 -2
- package/dist/esm/services/launchParams/signer.js +3 -3
- package/dist/esm/services/launchParams/verifier.d.ts +1 -1
- package/dist/esm/services/launchParams/verifier.js +5 -5
- package/dist/esm/services/logger/console.d.ts +1 -1
- package/dist/esm/services/logger/console.js +1 -1
- package/dist/esm/services/logger/index.d.ts +1 -1
- package/dist/esm/services/lrsGateway/addStatementDefaultFields.d.ts +1 -1
- package/dist/esm/services/lrsGateway/attempt-utils.d.ts +7 -7
- package/dist/esm/services/lrsGateway/batching.d.ts +2 -2
- package/dist/esm/services/lrsGateway/batching.js +1 -1
- package/dist/esm/services/lrsGateway/file-system.d.ts +3 -3
- package/dist/esm/services/lrsGateway/file-system.js +5 -5
- package/dist/esm/services/lrsGateway/index.d.ts +5 -5
- package/dist/esm/services/lrsGateway/index.js +10 -10
- package/dist/esm/services/lrsGateway/xapiUtils.d.ts +4 -4
- package/dist/esm/services/lrsGateway/xapiUtils.js +2 -2
- package/dist/esm/services/postgresConnection/index.d.ts +2 -2
- package/dist/esm/services/postgresConnection/index.js +4 -4
- package/dist/esm/services/queueProvider/local.d.ts +2 -2
- package/dist/esm/services/queueProvider/local.js +3 -3
- package/dist/esm/services/queueProvider/sqs.d.ts +2 -2
- package/dist/esm/services/queueProvider/sqs.js +3 -3
- package/dist/esm/services/searchProvider/memorySearchTheBadWay.d.ts +1 -1
- package/dist/esm/services/searchProvider/memorySearchTheBadWay.js +3 -3
- package/dist/esm/services/searchProvider/openSearch.d.ts +2 -2
- package/dist/esm/services/searchProvider/openSearch.js +3 -3
- package/dist/esm/services/searchProvider/streamIndexer.d.ts +2 -2
- package/dist/esm/services/searchProvider/streamIndexer.js +1 -1
- package/dist/esm/tsconfig.without-specs.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/script/bin/.init-params-script.bash.swp +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GetParameterCommand } from '@aws-sdk/client-ssm';
|
|
2
|
-
import { assertDefined } from '../assertions
|
|
3
|
-
import { ssmService } from '../aws/ssmService
|
|
4
|
-
import { resolveConfigValue } from './resolveConfigValue
|
|
2
|
+
import { assertDefined } from '../assertions';
|
|
3
|
+
import { ssmService } from '../aws/ssmService';
|
|
4
|
+
import { resolveConfigValue } from './resolveConfigValue';
|
|
5
5
|
/**
|
|
6
6
|
* Returns a value from the AWS Parameter Store.
|
|
7
7
|
*
|
|
@@ -34,7 +34,7 @@ export type ConfigForConfigProvider<T> = T extends ConfigValue ? T : T extends C
|
|
|
34
34
|
export type ConfigProviderForConfig<T> = T extends ConfigValue ? ConfigValueProvider<T> : T extends Config ? {
|
|
35
35
|
[key in keyof T]: ConfigProviderForConfig<T[key]>;
|
|
36
36
|
} : never;
|
|
37
|
-
export * from './resolveConfigValue
|
|
37
|
+
export * from './resolveConfigValue';
|
|
38
38
|
/**
|
|
39
39
|
* stub, mostly for testing. sometimes it helps please typescript to use this if you have
|
|
40
40
|
* two configs you want to have the same type but one is a fixed string and one is a complicated provider
|
|
@@ -42,7 +42,7 @@ export * from './resolveConfigValue.js';
|
|
|
42
42
|
* @example const config = { configValue: stubConfig('just-a-string') };
|
|
43
43
|
*/
|
|
44
44
|
export declare const stubConfig: <V extends ConfigValue>(configValue: V) => ConfigValueProvider<V>;
|
|
45
|
-
export * from './envConfig
|
|
46
|
-
export * from './replaceConfig
|
|
47
|
-
export * from './awsParameterConfig
|
|
48
|
-
export * from './lambdaParameterConfig
|
|
45
|
+
export * from './envConfig';
|
|
46
|
+
export * from './replaceConfig';
|
|
47
|
+
export * from './awsParameterConfig';
|
|
48
|
+
export * from './lambdaParameterConfig';
|
package/dist/esm/config/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './resolveConfigValue
|
|
1
|
+
export * from './resolveConfigValue';
|
|
2
2
|
/*
|
|
3
3
|
* ===========
|
|
4
4
|
* re-usable config providers
|
|
@@ -11,7 +11,7 @@ export * from './resolveConfigValue.js';
|
|
|
11
11
|
* @example const config = { configValue: stubConfig('just-a-string') };
|
|
12
12
|
*/
|
|
13
13
|
export const stubConfig = (configValue) => configValue;
|
|
14
|
-
export * from './envConfig
|
|
15
|
-
export * from './replaceConfig
|
|
16
|
-
export * from './awsParameterConfig
|
|
17
|
-
export * from './lambdaParameterConfig
|
|
14
|
+
export * from './envConfig';
|
|
15
|
+
export * from './replaceConfig';
|
|
16
|
+
export * from './awsParameterConfig';
|
|
17
|
+
export * from './lambdaParameterConfig';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConfigValueProvider } from '
|
|
1
|
+
import { ConfigValueProvider } from '.';
|
|
2
2
|
/**
|
|
3
3
|
* Returns a value from the AWS Parameter Store. Can only be used during in AWS Lambda, and
|
|
4
4
|
* requires that the AWS Parameters and Secrets Lambda Extension Layer be included in the Lambda.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import fetch from 'node-fetch';
|
|
2
|
-
import { assertDefined } from '../assertions
|
|
3
|
-
import { retryWithDelay } from '../misc/helpers
|
|
4
|
-
import { envConfig } from './envConfig
|
|
5
|
-
import { resolveConfigValue } from '
|
|
2
|
+
import { assertDefined } from '../assertions';
|
|
3
|
+
import { retryWithDelay } from '../misc/helpers';
|
|
4
|
+
import { envConfig } from './envConfig';
|
|
5
|
+
import { resolveConfigValue } from '.';
|
|
6
6
|
const lambdaExtensionUrl = 'http://localhost:2773';
|
|
7
7
|
let lambdaExtensionReadyPromise;
|
|
8
8
|
/**
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from './misc/
|
|
2
|
-
export * from './misc/helpers
|
|
3
|
-
export * from './misc/merge
|
|
4
|
-
export * from './misc/
|
|
1
|
+
export * from './misc/hashValue';
|
|
2
|
+
export * from './misc/helpers';
|
|
3
|
+
export * from './misc/merge';
|
|
4
|
+
export * from './misc/partitionSequence';
|
|
5
|
+
export * from './misc/timingSafeCompareStrings';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from './misc/
|
|
2
|
-
export * from './misc/helpers
|
|
3
|
-
export * from './misc/merge
|
|
4
|
-
export * from './misc/
|
|
1
|
+
export * from './misc/hashValue';
|
|
2
|
+
export * from './misc/helpers';
|
|
3
|
+
export * from './misc/merge';
|
|
4
|
+
export * from './misc/partitionSequence';
|
|
5
|
+
export * from './misc/timingSafeCompareStrings';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ForbiddenError, InvalidRequestError, NotFoundError, SessionExpiredError, UnauthorizedError, ValidationError } from '../errors
|
|
2
|
-
import type { ApiResponse } from '../routing
|
|
3
|
-
import type { Logger } from '../services/logger
|
|
1
|
+
import { ForbiddenError, InvalidRequestError, NotFoundError, SessionExpiredError, UnauthorizedError, ValidationError } from '../errors';
|
|
2
|
+
import type { ApiResponse } from '../routing';
|
|
3
|
+
import type { Logger } from '../services/logger';
|
|
4
4
|
export type DefaultErrors = {
|
|
5
5
|
InvalidRequestError: InvalidRequestError;
|
|
6
6
|
UnauthorizedError: UnauthorizedError;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { isAppError, } from '../errors
|
|
2
|
-
import { apiJsonResponse, apiTextResponse } from '../routing
|
|
3
|
-
import { Level } from '../services/logger
|
|
1
|
+
import { isAppError, } from '../errors';
|
|
2
|
+
import { apiJsonResponse, apiTextResponse } from '../routing';
|
|
3
|
+
import { Level } from '../services/logger';
|
|
4
4
|
export const defaultHandlers = {
|
|
5
5
|
InvalidRequestError: (e) => apiTextResponse(400, `400 ${e.message}`),
|
|
6
6
|
UnauthorizedError: (e) => apiTextResponse(401, `401 ${e.message}`),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ConfigProviderForConfig } from '../config
|
|
2
|
-
import type { ApiResponse } from '../routing
|
|
3
|
-
import type { Logger } from '../services/logger
|
|
1
|
+
import type { ConfigProviderForConfig } from '../config';
|
|
2
|
+
import type { ApiResponse } from '../routing';
|
|
3
|
+
import type { Logger } from '../services/logger';
|
|
4
4
|
type Config = {
|
|
5
5
|
logResponseSlowerThan: string;
|
|
6
6
|
timeoutResponseAfter: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { resolveConfigValue } from '../config/resolveConfigValue
|
|
2
|
-
import { once } from '../misc/helpers
|
|
3
|
-
import { apiTextResponse } from '../routing
|
|
4
|
-
import { Level } from '../services/logger
|
|
1
|
+
import { resolveConfigValue } from '../config/resolveConfigValue';
|
|
2
|
+
import { once } from '../misc/helpers';
|
|
3
|
+
import { apiTextResponse } from '../routing';
|
|
4
|
+
import { Level } from '../services/logger';
|
|
5
5
|
/**
|
|
6
6
|
* Creates response middleware that logs slow responses and times out responses that take too long. lambda functions have a timeout setting, but when a lambda times out there is no way to log anything helpful before it exists. this middleware allows the logger context to show up for timeout requests. just make sure that the `timeoutResponseAfter` is set to something slightly shorter than the lambda timeout so that it has time to run.
|
|
7
7
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TupleZip } from '../types
|
|
1
|
+
import { TupleZip } from '../types';
|
|
2
2
|
export type MiddlewareProvider<Sa, M, A extends any[], R> = (app: Sa, appBinder?: ((app: Sa, provider: MiddlewareProvider<Sa, M, A, R>) => (middleware: M, ...args: A) => R)) => (middleware: M, ...args: A) => R;
|
|
3
3
|
export type MiddlewareTransformProvider<Sa, M, A extends any[], R> = (app: Sa) => (middleware: M, ...args: A) => Omit<M, keyof R> & R;
|
|
4
4
|
export type MiddlewareInput<S> = S extends MiddlewareProvider<any, infer M, any, any> ? M : never;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { APIGatewayProxyEventV2 } from 'aws-lambda';
|
|
2
|
-
import { ConfigProviderForConfig } from '../config
|
|
3
|
-
import { ApiResponse } from '../routing
|
|
2
|
+
import { ConfigProviderForConfig } from '../config';
|
|
3
|
+
import { ApiResponse } from '../routing';
|
|
4
4
|
type Config = {
|
|
5
5
|
corsAllowedHostRegex: string;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { resolveConfigValue } from '../config/resolveConfigValue
|
|
2
|
-
import { once } from '../misc/helpers
|
|
3
|
-
import { apiTextResponse } from '../routing
|
|
1
|
+
import { resolveConfigValue } from '../config/resolveConfigValue';
|
|
2
|
+
import { once } from '../misc/helpers';
|
|
3
|
+
import { apiTextResponse } from '../routing';
|
|
4
4
|
/**
|
|
5
5
|
* Creates response middleware that adds CORS headers to responses from approved hosts.
|
|
6
6
|
*
|
package/dist/esm/misc/jwks.js
CHANGED
package/dist/esm/misc/merge.d.ts
CHANGED
package/dist/esm/misc/merge.js
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { timingSafeEqual } from 'crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Compares two strings in constant time to prevent timing attacks.
|
|
4
|
+
* Safe to use for shared secret or API token comparisons.
|
|
5
|
+
*/
|
|
6
|
+
export const timingSafeCompareStrings = (a, b) => {
|
|
7
|
+
const aBuf = Buffer.from(a, 'utf8');
|
|
8
|
+
const bBuf = Buffer.alloc(aBuf.length);
|
|
9
|
+
bBuf.write(b, 0, aBuf.length, 'utf8');
|
|
10
|
+
return timingSafeEqual(aBuf, bBuf) && a.length === b.length;
|
|
11
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QueryParams, RouteMatchRecord } from '../routing
|
|
1
|
+
import { QueryParams, RouteMatchRecord } from '../routing';
|
|
2
2
|
export type PaginationHandler<Pa, Q extends QueryParams> = <R>(queryParams: Q, match: RouteMatchRecord<R>) => Pa & {
|
|
3
3
|
getUnusedQueryParams: () => Q;
|
|
4
4
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { notNaN } from '../assertions
|
|
2
|
-
import { InvalidRequestError } from '../errors
|
|
3
|
-
import { renderAnyRouteUrl } from '../routing
|
|
1
|
+
import { notNaN } from '../assertions';
|
|
2
|
+
import { InvalidRequestError } from '../errors';
|
|
3
|
+
import { renderAnyRouteUrl } from '../routing';
|
|
4
4
|
/**
|
|
5
5
|
* helper to create middleware with the given paginator. aside from taking care of annoying to write pagination logic, these helpers also make
|
|
6
6
|
* sure that all item list responses have the same formatting.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { assertErrorInstanceOf } from '../assertions
|
|
2
|
-
import { InvalidRequestError } from '../errors
|
|
3
|
-
import { isPlainObject } from '../guards
|
|
1
|
+
import { assertErrorInstanceOf } from '../assertions';
|
|
2
|
+
import { InvalidRequestError } from '../errors';
|
|
3
|
+
import { isPlainObject } from '../guards';
|
|
4
4
|
/**
|
|
5
5
|
* Get the value of a header, case insensitive; note if there are multiple headers of the same
|
|
6
6
|
* value, this only returns the first value
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger } from '../services/logger
|
|
1
|
+
import { Logger } from '../services/logger';
|
|
2
2
|
/** HTTP query parameters */
|
|
3
3
|
export type QueryParams = Record<string, string | undefined | string[] | null>;
|
|
4
4
|
/**
|
|
@@ -304,4 +304,4 @@ export declare enum METHOD {
|
|
|
304
304
|
DELETE = "DELETE",
|
|
305
305
|
OPTIONS = "OPTIONS"
|
|
306
306
|
}
|
|
307
|
-
export * from './helpers
|
|
307
|
+
export * from './helpers';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as pathToRegexp from 'path-to-regexp';
|
|
2
2
|
import queryString from 'query-string';
|
|
3
|
-
import { mapFind, memoize } from '../misc/helpers
|
|
4
|
-
import { createConsoleLogger } from '../services/logger/console
|
|
3
|
+
import { mapFind, memoize } from '../misc/helpers';
|
|
4
|
+
import { createConsoleLogger } from '../services/logger/console';
|
|
5
5
|
/** this utility simplifies the route type to remove stuff that is only
|
|
6
6
|
* relevant internal to the route, like the service types, keeping only
|
|
7
7
|
* the payload type which is necessary for the apiGateway
|
|
@@ -261,4 +261,4 @@ export var METHOD;
|
|
|
261
261
|
METHOD["DELETE"] = "DELETE";
|
|
262
262
|
METHOD["OPTIONS"] = "OPTIONS";
|
|
263
263
|
})(METHOD || (METHOD = {}));
|
|
264
|
-
export * from './helpers
|
|
264
|
+
export * from './helpers';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { APIGatewayProxyEventV2 } from 'aws-lambda';
|
|
2
|
-
import { Logger } from '../services/logger
|
|
3
|
-
import { ApiResponse, BatchHandler } from '
|
|
2
|
+
import { Logger } from '../services/logger';
|
|
3
|
+
import { ApiResponse, BatchHandler } from '.';
|
|
4
4
|
type Ro = Promise<ApiResponse<number, any>>;
|
|
5
5
|
export declare const lambdaBatchRequestHandler: <Sa, Ri extends APIGatewayProxyEventV2>(config: {
|
|
6
6
|
batchPath: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { asyncPool } from '../misc/asyncPool
|
|
3
|
-
import { getRequestBody } from './helpers
|
|
4
|
-
import { apiJsonResponse } from '
|
|
2
|
+
import { asyncPool } from '../misc/asyncPool';
|
|
3
|
+
import { getRequestBody } from './helpers';
|
|
4
|
+
import { apiJsonResponse } from '.';
|
|
5
5
|
const BatchItemSchema = z.object({
|
|
6
6
|
id: z.string(),
|
|
7
7
|
path: z.string(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* spell-checker: ignore treeify */
|
|
2
2
|
import { treeifyError } from 'zod';
|
|
3
|
-
import { ValidationError } from '../../errors
|
|
3
|
+
import { ValidationError } from '../../errors';
|
|
4
4
|
export const zodPayloadValidator = (validator) => (input) => {
|
|
5
5
|
const result = validator.safeParse(input);
|
|
6
6
|
if (result.success) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ConfigProviderForConfig } from '../../config
|
|
2
|
-
import { GenericFetch } from '../../fetch
|
|
3
|
-
import { JsonCompatibleStruct } from '../../routing
|
|
4
|
-
import { ApiUser } from '../authProvider
|
|
5
|
-
import { Logger } from '../logger
|
|
1
|
+
import { ConfigProviderForConfig } from '../../config';
|
|
2
|
+
import { GenericFetch } from '../../fetch';
|
|
3
|
+
import { JsonCompatibleStruct } from '../../routing';
|
|
4
|
+
import { ApiUser } from '../authProvider';
|
|
5
|
+
import { Logger } from '../logger';
|
|
6
6
|
export type Config = {
|
|
7
7
|
accountsBase: string;
|
|
8
8
|
accountsAuthToken: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { chunk, isEqual } from 'lodash';
|
|
2
2
|
import queryString from 'query-string';
|
|
3
|
-
import { resolveConfigValue } from '../../config
|
|
4
|
-
import { ifDefined, isDefined } from '../../guards
|
|
5
|
-
import { once } from '../../misc/helpers
|
|
6
|
-
import { METHOD } from '../../routing
|
|
7
|
-
import { Level } from '../logger
|
|
3
|
+
import { resolveConfigValue } from '../../config';
|
|
4
|
+
import { ifDefined, isDefined } from '../../guards';
|
|
5
|
+
import { once } from '../../misc/helpers';
|
|
6
|
+
import { METHOD } from '../../routing';
|
|
7
|
+
import { Level } from '../logger';
|
|
8
8
|
class ApiError extends Error {
|
|
9
9
|
constructor(message, status) {
|
|
10
10
|
super(message);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Headers } from 'node-fetch';
|
|
2
|
-
import { ConfigProviderForConfig } from '../../config
|
|
3
|
-
import { ConfigForFetch, GenericFetch, Response } from '../../fetch
|
|
4
|
-
import { AnyRoute, ApiResponse, OutputForRoute, ParamsForRoute, PayloadForRoute, QueryParams } from '../../routing
|
|
5
|
-
import { UnwrapPromise } from '../../types
|
|
6
|
-
import { Logger } from '../logger
|
|
2
|
+
import { ConfigProviderForConfig } from '../../config';
|
|
3
|
+
import { ConfigForFetch, GenericFetch, Response } from '../../fetch';
|
|
4
|
+
import { AnyRoute, ApiResponse, OutputForRoute, ParamsForRoute, PayloadForRoute, QueryParams } from '../../routing';
|
|
5
|
+
import { UnwrapPromise } from '../../types';
|
|
6
|
+
import { Logger } from '../logger';
|
|
7
7
|
export type TResponsePayload<R> = R extends ApiResponse<any, infer P> ? P : never;
|
|
8
8
|
export type TResponseStatus<R> = R extends ApiResponse<infer S, any> ? S : never;
|
|
9
9
|
export type RouteClient<R> = {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as pathToRegexp from 'path-to-regexp';
|
|
2
2
|
import queryString from 'query-string';
|
|
3
3
|
import { v4 as uuid } from 'uuid';
|
|
4
|
-
import { merge } from '
|
|
5
|
-
import { resolveConfigValue } from '../../config
|
|
6
|
-
import { SessionExpiredError, UnauthorizedError } from '../../errors
|
|
7
|
-
import { fetchStatusRetry } from '../../fetch/fetchStatusRetry
|
|
8
|
-
import { Level } from '../logger
|
|
4
|
+
import { merge } from '../..';
|
|
5
|
+
import { resolveConfigValue } from '../../config';
|
|
6
|
+
import { SessionExpiredError, UnauthorizedError } from '../../errors';
|
|
7
|
+
import { fetchStatusRetry } from '../../fetch/fetchStatusRetry';
|
|
8
|
+
import { Level } from '../logger';
|
|
9
9
|
/** Pulls the content out of a response based on the content type */
|
|
10
10
|
export const loadResponse = (response) => () => {
|
|
11
11
|
const [contentType] = (response.headers.get('content-type') || '').split(';');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ConfigProviderForConfig } from '../../config
|
|
2
|
-
import { GenericFetch } from '../../fetch
|
|
3
|
-
import { UserData } from './utils/embeddedAuthProvider
|
|
4
|
-
import { ApiUser, AuthProvider } from '
|
|
1
|
+
import { ConfigProviderForConfig } from '../../config';
|
|
2
|
+
import { GenericFetch } from '../../fetch';
|
|
3
|
+
import { UserData } from './utils/embeddedAuthProvider';
|
|
4
|
+
import { ApiUser, AuthProvider } from '.';
|
|
5
5
|
type Config = {
|
|
6
6
|
accountsBase: string;
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { once } from '
|
|
2
|
-
import { resolveConfigValue } from '../../config
|
|
3
|
-
import { ifDefined } from '../../guards
|
|
4
|
-
import { METHOD, unsafePayloadValidator } from '../../routing
|
|
5
|
-
import { embeddedAuthProvider, PostMessageTypes } from './utils/embeddedAuthProvider
|
|
1
|
+
import { once } from '../..';
|
|
2
|
+
import { resolveConfigValue } from '../../config';
|
|
3
|
+
import { ifDefined } from '../../guards';
|
|
4
|
+
import { METHOD, unsafePayloadValidator } from '../../routing';
|
|
5
|
+
import { embeddedAuthProvider, PostMessageTypes } from './utils/embeddedAuthProvider';
|
|
6
6
|
const isUserData = unsafePayloadValidator();
|
|
7
7
|
export const browserAuthProvider = ({ window, configSpace }) => (configProvider) => {
|
|
8
8
|
const config = configProvider[ifDefined(configSpace, 'auth')];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ConfigProviderForConfig } from '../../config
|
|
2
|
-
import { GenericFetch } from '../../fetch
|
|
3
|
-
import { ApiUser, AuthProvider, CookieAuthProvider } from '
|
|
1
|
+
import type { ConfigProviderForConfig } from '../../config';
|
|
2
|
+
import { GenericFetch } from '../../fetch';
|
|
3
|
+
import { ApiUser, AuthProvider, CookieAuthProvider } from '.';
|
|
4
4
|
type Config = {
|
|
5
5
|
accountsBase: string;
|
|
6
6
|
cookieName: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { resolveConfigValue } from '../../config/resolveConfigValue
|
|
2
|
-
import { SessionExpiredError } from '../../errors
|
|
3
|
-
import { ifDefined } from '../../guards
|
|
4
|
-
import { once } from '../../misc/helpers
|
|
5
|
-
import { decryptAndVerify } from './utils/decryptAndVerify
|
|
6
|
-
import { loadUserData } from './utils/userSubrequest
|
|
7
|
-
import { getAuthTokenOrCookie } from '
|
|
1
|
+
import { resolveConfigValue } from '../../config/resolveConfigValue';
|
|
2
|
+
import { SessionExpiredError } from '../../errors';
|
|
3
|
+
import { ifDefined } from '../../guards';
|
|
4
|
+
import { once } from '../../misc/helpers';
|
|
5
|
+
import { decryptAndVerify } from './utils/decryptAndVerify';
|
|
6
|
+
import { loadUserData } from './utils/userSubrequest';
|
|
7
|
+
import { getAuthTokenOrCookie } from '.';
|
|
8
8
|
export const decryptionAuthProvider = (initializer) => (configProvider) => {
|
|
9
9
|
const config = configProvider[ifDefined(initializer.configSpace, 'decryption')];
|
|
10
10
|
const accountsBase = once(() => resolveConfigValue(config.accountsBase));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { FetchConfig } from '../../fetch
|
|
2
|
-
import type { HttpHeaders, QueryParams } from '../../routing
|
|
3
|
-
import type { Logger } from '../logger
|
|
1
|
+
import type { FetchConfig } from '../../fetch';
|
|
2
|
+
import type { HttpHeaders, QueryParams } from '../../routing';
|
|
3
|
+
import type { Logger } from '../logger';
|
|
4
4
|
export type ConsentPreferences = {
|
|
5
5
|
consent_preferences: {
|
|
6
6
|
accepted: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import cookie from 'cookie';
|
|
2
|
-
import { tuple } from '../../misc/helpers
|
|
3
|
-
import { getHeader } from '../../routing/helpers
|
|
2
|
+
import { tuple } from '../../misc/helpers';
|
|
3
|
+
import { getHeader } from '../../routing/helpers';
|
|
4
4
|
export const stubAuthProvider = (user) => {
|
|
5
5
|
const getUser = () => Promise.resolve(user);
|
|
6
6
|
return {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AccountsGateway } from '../accountsGateway
|
|
2
|
-
import { LaunchVerifier } from '../launchParams/verifier
|
|
3
|
-
import type { Logger } from '../logger
|
|
4
|
-
import { AuthProvider } from '
|
|
1
|
+
import { AccountsGateway } from '../accountsGateway';
|
|
2
|
+
import { LaunchVerifier } from '../launchParams/verifier';
|
|
3
|
+
import type { Logger } from '../logger';
|
|
4
|
+
import { AuthProvider } from '.';
|
|
5
5
|
export declare const launchTokenAuthMiddleware: () => <M extends {
|
|
6
6
|
logger: Logger;
|
|
7
7
|
accountsGateway: AccountsGateway;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertDefined } from '../../assertions
|
|
2
|
-
import { once } from '../../misc/helpers
|
|
1
|
+
import { assertDefined } from '../../assertions';
|
|
2
|
+
import { once } from '../../misc/helpers';
|
|
3
3
|
const stubAuthProvider = (services) => {
|
|
4
4
|
const getUserUuid = once(async () => {
|
|
5
5
|
const token = await services.launchVerifier.verify();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConfigProviderForConfig } from '../../config
|
|
2
|
-
import { GenericFetch } from '../../fetch
|
|
3
|
-
import { CookieAuthProvider } from '
|
|
1
|
+
import { ConfigProviderForConfig } from '../../config';
|
|
2
|
+
import { GenericFetch } from '../../fetch';
|
|
3
|
+
import { CookieAuthProvider } from '.';
|
|
4
4
|
type Config = {
|
|
5
5
|
accountsBase: string;
|
|
6
6
|
cookieName: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { once } from '
|
|
2
|
-
import { resolveConfigValue } from '../../config
|
|
3
|
-
import { ifDefined } from '../../guards
|
|
4
|
-
import { loadUserData } from './utils/userSubrequest
|
|
5
|
-
import { getAuthTokenOrCookie } from '
|
|
1
|
+
import { once } from '../..';
|
|
2
|
+
import { resolveConfigValue } from '../../config';
|
|
3
|
+
import { ifDefined } from '../../guards';
|
|
4
|
+
import { loadUserData } from './utils/userSubrequest';
|
|
5
|
+
import { getAuthTokenOrCookie } from '.';
|
|
6
6
|
export const subrequestAuthProvider = (initializer) => (configProvider) => {
|
|
7
7
|
const config = configProvider[ifDefined(initializer.configSpace, 'subrequest')];
|
|
8
8
|
const cookieName = once(() => resolveConfigValue(config.cookieName));
|