@cdklabs/cdk-ecs-codedeploy 0.0.436 → 0.0.438
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/.jsii +3 -3
- package/.jsii.tabl.json +1 -1
- package/lib/api-canary/index.js +1 -1
- package/lib/ecs-appspec/index.js +1 -1
- package/lib/ecs-deployment/index.js +1 -1
- package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/package.json +34 -34
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +69 -50
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +17 -0
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +52 -50
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js +15 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +11 -10
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +4 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +4 -5
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -1
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +9 -7
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +17 -17
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -8
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +2 -1
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/longPollMiddleware.d.ts +14 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeSerializer.d.ts +2 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/longPollMiddleware.d.ts +15 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +1 -1
- package/node_modules/@aws-sdk/core/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
- package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
- package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
- package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
- package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
- package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
- package/node_modules/@aws-sdk/token-providers/package.json +7 -7
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +5 -5
- package/node_modules/@smithy/core/dist-cjs/index.js +2 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +32 -14
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +16 -8
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +17 -10
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +6 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +6 -3
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
- package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +23 -11
- package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +9 -3
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +16 -8
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +9 -4
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +8 -6
- package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +6 -1
- package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +6 -3
- package/node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
- package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
- package/node_modules/@smithy/core/package.json +7 -7
- package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
- package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
- package/node_modules/@smithy/hash-node/package.json +2 -2
- package/node_modules/@smithy/invalid-dependency/package.json +2 -2
- package/node_modules/@smithy/middleware-content-length/package.json +3 -3
- package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
- package/node_modules/@smithy/middleware-retry/package.json +9 -9
- package/node_modules/@smithy/middleware-serde/package.json +4 -4
- package/node_modules/@smithy/middleware-stack/package.json +2 -2
- package/node_modules/@smithy/node-config-provider/package.json +4 -4
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +191 -96
- package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +45 -0
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +71 -35
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +32 -18
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +44 -43
- package/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +42 -0
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +34 -14
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +32 -8
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +14 -6
- package/node_modules/@smithy/node-http-handler/package.json +5 -5
- package/node_modules/@smithy/property-provider/package.json +2 -2
- package/node_modules/@smithy/protocol-http/package.json +2 -2
- package/node_modules/@smithy/querystring-builder/package.json +2 -2
- package/node_modules/@smithy/querystring-parser/package.json +2 -2
- package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +5 -0
- package/node_modules/@smithy/service-error-classification/dist-es/index.js +4 -0
- package/node_modules/@smithy/service-error-classification/dist-types/index.d.ts +6 -0
- package/node_modules/@smithy/service-error-classification/package.json +2 -2
- package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
- package/node_modules/@smithy/signature-v4/dist-cjs/index.js +11 -5
- package/node_modules/@smithy/signature-v4/dist-es/SignatureV4.js +11 -5
- package/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts +3 -3
- package/node_modules/@smithy/signature-v4/package.json +4 -4
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +8 -1
- package/node_modules/@smithy/smithy-client/dist-es/command.js +8 -1
- package/node_modules/@smithy/smithy-client/package.json +7 -7
- package/node_modules/@smithy/types/dist-types/connection/config.d.ts +5 -0
- package/node_modules/@smithy/types/dist-types/signature.d.ts +20 -3
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@smithy/url-parser/package.json +3 -3
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
- package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +212 -111
- package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
- package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +42 -0
- package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js +2 -1
- package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
- package/node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js +8 -13
- package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js +9 -7
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js +12 -8
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js +14 -13
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js +7 -4
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +22 -5
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js +4 -4
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
- package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js +5 -5
- package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js +4 -4
- package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
- package/node_modules/@smithy/util-endpoints/dist-types/bdd/BinaryDecisionDiagram.d.ts +22 -0
- package/node_modules/@smithy/util-endpoints/dist-types/decideEndpoint.d.ts +7 -0
- package/node_modules/@smithy/util-endpoints/dist-types/index.d.ts +2 -0
- package/node_modules/@smithy/util-endpoints/dist-types/lib/coalesce.d.ts +7 -0
- package/node_modules/@smithy/util-endpoints/dist-types/lib/index.d.ts +3 -0
- package/node_modules/@smithy/util-endpoints/dist-types/lib/ite.d.ts +6 -0
- package/node_modules/@smithy/util-endpoints/dist-types/lib/split.d.ts +11 -0
- package/node_modules/@smithy/util-endpoints/dist-types/types/shared.d.ts +3 -3
- package/node_modules/@smithy/util-endpoints/dist-types/utils/endpointFunctions.d.ts +2 -11
- package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateCondition.d.ts +6 -3
- package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateConditions.d.ts +3 -3
- package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointHeaders.d.ts +1 -1
- package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointProperties.d.ts +2 -2
- package/node_modules/@smithy/util-endpoints/dist-types/utils/getReferenceValue.d.ts +3 -1
- package/node_modules/@smithy/util-endpoints/package.json +3 -3
- package/node_modules/@smithy/util-middleware/package.json +2 -2
- package/node_modules/@smithy/util-retry/dist-cjs/index.js +6 -0
- package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +3 -0
- package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +3 -0
- package/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts +5 -0
- package/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +5 -0
- package/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@smithy/util-stream/package.json +4 -4
- package/node_modules/@smithy/util-waiter/package.json +3 -3
- package/node_modules/fast-xml-builder/package.json +1 -1
- package/node_modules/fast-xml-builder/src/fxb.js +6 -2
- package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +16 -2
- package/node_modules/path-expression-matcher/README.md +214 -62
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
- package/node_modules/path-expression-matcher/lib/pem.d.cts +111 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
- package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
- package/node_modules/path-expression-matcher/package.json +1 -1
- package/node_modules/path-expression-matcher/src/Expression.js +2 -2
- package/node_modules/path-expression-matcher/src/ExpressionSet.js +209 -0
- package/node_modules/path-expression-matcher/src/Matcher.js +235 -177
- package/node_modules/path-expression-matcher/src/index.d.ts +199 -194
- package/node_modules/path-expression-matcher/src/index.js +3 -2
- package/node_modules/strnum/package.json +1 -1
- package/package.json +6 -6
- package/node_modules/strnum/.github/SECURITY.md +0 -5
- package/node_modules/strnum/.vscode/launch.json +0 -25
- package/node_modules/strnum/algo.stflow +0 -84
- package/node_modules/strnum/tests/infinity_test.js +0 -18
- package/node_modules/strnum/tests/strnum_test.js +0 -175
- package/node_modules/strnum/tests/temp.js +0 -8
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { debugId, toDebugString } from "../debug";
|
|
2
2
|
import { EndpointError } from "../types";
|
|
3
3
|
import { callFunction } from "./callFunction";
|
|
4
|
-
export const evaluateCondition = (
|
|
4
|
+
export const evaluateCondition = (condition, options) => {
|
|
5
|
+
const { assign } = condition;
|
|
5
6
|
if (assign && assign in options.referenceRecord) {
|
|
6
7
|
throw new EndpointError(`'${assign}' is already defined in Reference Record.`);
|
|
7
8
|
}
|
|
8
|
-
const value = callFunction(
|
|
9
|
-
options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
9
|
+
const value = callFunction(condition, options);
|
|
10
|
+
options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(condition)} = ${toDebugString(value)}`);
|
|
11
|
+
const result = value === "" ? true : !!value;
|
|
12
|
+
if (assign != null) {
|
|
13
|
+
return { result, toAssign: { name: assign, value } };
|
|
14
|
+
}
|
|
15
|
+
return { result };
|
|
14
16
|
};
|
|
@@ -2,21 +2,25 @@ import { debugId, toDebugString } from "../debug";
|
|
|
2
2
|
import { evaluateCondition } from "./evaluateCondition";
|
|
3
3
|
export const evaluateConditions = (conditions = [], options) => {
|
|
4
4
|
const conditionsReferenceRecord = {};
|
|
5
|
+
const conditionOptions = {
|
|
6
|
+
...options,
|
|
7
|
+
referenceRecord: { ...options.referenceRecord },
|
|
8
|
+
};
|
|
9
|
+
let didAssign = false;
|
|
5
10
|
for (const condition of conditions) {
|
|
6
|
-
const { result, toAssign } = evaluateCondition(condition,
|
|
7
|
-
...options,
|
|
8
|
-
referenceRecord: {
|
|
9
|
-
...options.referenceRecord,
|
|
10
|
-
...conditionsReferenceRecord,
|
|
11
|
-
},
|
|
12
|
-
});
|
|
11
|
+
const { result, toAssign } = evaluateCondition(condition, conditionOptions);
|
|
13
12
|
if (!result) {
|
|
14
13
|
return { result };
|
|
15
14
|
}
|
|
16
15
|
if (toAssign) {
|
|
16
|
+
didAssign = true;
|
|
17
17
|
conditionsReferenceRecord[toAssign.name] = toAssign.value;
|
|
18
|
+
conditionOptions.referenceRecord[toAssign.name] = toAssign.value;
|
|
18
19
|
options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
if (didAssign) {
|
|
23
|
+
return { result: true, referenceRecord: conditionsReferenceRecord };
|
|
24
|
+
}
|
|
25
|
+
return { result: true };
|
|
22
26
|
};
|
|
@@ -9,19 +9,20 @@ export const evaluateEndpointRule = (endpointRule, options) => {
|
|
|
9
9
|
if (!result) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
const endpointRuleOptions =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const endpointRuleOptions = referenceRecord
|
|
13
|
+
? {
|
|
14
|
+
...options,
|
|
15
|
+
referenceRecord: { ...options.referenceRecord, ...referenceRecord },
|
|
16
|
+
}
|
|
17
|
+
: options;
|
|
16
18
|
const { url, properties, headers } = endpoint;
|
|
17
19
|
options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
20
|
+
const endpointToReturn = { url: getEndpointUrl(url, endpointRuleOptions) };
|
|
21
|
+
if (headers != null) {
|
|
22
|
+
endpointToReturn.headers = getEndpointHeaders(headers, endpointRuleOptions);
|
|
23
|
+
}
|
|
24
|
+
if (properties != null) {
|
|
25
|
+
endpointToReturn.properties = getEndpointProperties(properties, endpointRuleOptions);
|
|
26
|
+
}
|
|
27
|
+
return endpointToReturn;
|
|
27
28
|
};
|
|
@@ -7,8 +7,11 @@ export const evaluateErrorRule = (errorRule, options) => {
|
|
|
7
7
|
if (!result) {
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const errorRuleOptions = referenceRecord
|
|
11
|
+
? {
|
|
12
|
+
...options,
|
|
13
|
+
referenceRecord: { ...options.referenceRecord, ...referenceRecord },
|
|
14
|
+
}
|
|
15
|
+
: options;
|
|
16
|
+
throw new EndpointError(evaluateExpression(error, "Error", errorRuleOptions));
|
|
14
17
|
};
|
|
@@ -16,12 +16,29 @@ export const evaluateExpression = (obj, keyName, options) => {
|
|
|
16
16
|
throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);
|
|
17
17
|
};
|
|
18
18
|
export const callFunction = ({ fn, argv }, options) => {
|
|
19
|
-
const evaluatedArgs = argv.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
const evaluatedArgs = Array(argv.length);
|
|
20
|
+
for (let i = 0; i < evaluatedArgs.length; ++i) {
|
|
21
|
+
const arg = argv[i];
|
|
22
|
+
if (typeof arg === "boolean" || typeof arg === "number") {
|
|
23
|
+
evaluatedArgs[i] = arg;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
evaluatedArgs[i] = group.evaluateExpression(arg, "arg", options);
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
|
-
|
|
29
|
+
const namespaceSeparatorIndex = fn.indexOf(".");
|
|
30
|
+
if (namespaceSeparatorIndex !== -1) {
|
|
31
|
+
const namespaceFunctions = customEndpointFunctions[fn.slice(0, namespaceSeparatorIndex)];
|
|
32
|
+
const customFunction = namespaceFunctions?.[fn.slice(namespaceSeparatorIndex + 1)];
|
|
33
|
+
if (typeof customFunction === "function") {
|
|
34
|
+
return customFunction(...evaluatedArgs);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const callable = endpointFunctions[fn];
|
|
38
|
+
if (typeof callable === "function") {
|
|
39
|
+
return callable(...evaluatedArgs);
|
|
40
|
+
}
|
|
41
|
+
throw new Error(`function ${fn} not loaded in endpointFunctions.`);
|
|
25
42
|
};
|
|
26
43
|
export const group = {
|
|
27
44
|
evaluateExpression,
|
|
@@ -31,10 +31,10 @@ export const evaluateTreeRule = (treeRule, options) => {
|
|
|
31
31
|
if (!result) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
...options,
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const treeRuleOptions = referenceRecord
|
|
35
|
+
? { ...options, referenceRecord: { ...options.referenceRecord, ...referenceRecord } }
|
|
36
|
+
: options;
|
|
37
|
+
return group.evaluateRules(rules, treeRuleOptions);
|
|
38
38
|
};
|
|
39
39
|
export const group = {
|
|
40
40
|
evaluateRules,
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { getAttr } from "../lib";
|
|
2
2
|
export const evaluateTemplate = (template, options) => {
|
|
3
3
|
const evaluatedTemplateArr = [];
|
|
4
|
-
const
|
|
5
|
-
...options.endpointParams,
|
|
6
|
-
...options.referenceRecord,
|
|
7
|
-
};
|
|
4
|
+
const { referenceRecord, endpointParams } = options;
|
|
8
5
|
let currentIndex = 0;
|
|
9
6
|
while (currentIndex < template.length) {
|
|
10
7
|
const openingBraceIndex = template.indexOf("{", currentIndex);
|
|
@@ -25,10 +22,10 @@ export const evaluateTemplate = (template, options) => {
|
|
|
25
22
|
const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);
|
|
26
23
|
if (parameterName.includes("#")) {
|
|
27
24
|
const [refName, attrName] = parameterName.split("#");
|
|
28
|
-
evaluatedTemplateArr.push(getAttr(
|
|
25
|
+
evaluatedTemplateArr.push(getAttr((referenceRecord[refName] ?? endpointParams[refName]), attrName));
|
|
29
26
|
}
|
|
30
27
|
else {
|
|
31
|
-
evaluatedTemplateArr.push(
|
|
28
|
+
evaluatedTemplateArr.push((referenceRecord[parameterName] ?? endpointParams[parameterName]));
|
|
32
29
|
}
|
|
33
30
|
currentIndex = closingBraceIndex + 1;
|
|
34
31
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EndpointError } from "../types";
|
|
2
2
|
import { evaluateExpression } from "./evaluateExpression";
|
|
3
|
-
export const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) =>
|
|
4
|
-
|
|
5
|
-
[headerKey]: headerVal.map((headerValEntry) => {
|
|
3
|
+
export const getEndpointHeaders = (headers, options) => Object.entries(headers ?? {}).reduce((acc, [headerKey, headerVal]) => {
|
|
4
|
+
acc[headerKey] = headerVal.map((headerValEntry) => {
|
|
6
5
|
const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options);
|
|
7
6
|
if (typeof processedExpr !== "string") {
|
|
8
7
|
throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);
|
|
9
8
|
}
|
|
10
9
|
return processedExpr;
|
|
11
|
-
})
|
|
12
|
-
|
|
10
|
+
});
|
|
11
|
+
return acc;
|
|
12
|
+
}, {});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EndpointError } from "../types";
|
|
2
2
|
import { evaluateTemplate } from "./evaluateTemplate";
|
|
3
|
-
export const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) =>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
3
|
+
export const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => {
|
|
4
|
+
acc[propertyKey] = group.getEndpointProperty(propertyVal, options);
|
|
5
|
+
return acc;
|
|
6
|
+
}, {});
|
|
7
7
|
export const getEndpointProperty = (property, options) => {
|
|
8
8
|
if (Array.isArray(property)) {
|
|
9
9
|
return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { EndpointObjectHeaders, ParameterObject } from "@smithy/types";
|
|
2
|
+
import type { Expression, FunctionArgv } from "../types/shared";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
type BddCondition = [string, FunctionArgv] | [string, FunctionArgv, string];
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
type BddResult = [-1] | [-1, Expression] | [string, Record<string, ParameterObject>, EndpointObjectHeaders] | [string, Record<string, ParameterObject>];
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class BinaryDecisionDiagram {
|
|
15
|
+
nodes: Int32Array;
|
|
16
|
+
root: number;
|
|
17
|
+
conditions: BddCondition[];
|
|
18
|
+
results: BddResult[];
|
|
19
|
+
private constructor();
|
|
20
|
+
static from(bdd: Int32Array, root: number, conditions: BddCondition[] | any[], results: BddResult[] | any[]): BinaryDecisionDiagram;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EndpointV2 } from "@smithy/types";
|
|
2
|
+
import type { BinaryDecisionDiagram } from "./bdd/BinaryDecisionDiagram";
|
|
3
|
+
import type { EndpointResolverOptions } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Resolves an endpoint URL by processing the endpoints bdd and options.
|
|
6
|
+
*/
|
|
7
|
+
export declare const decideEndpoint: (bdd: BinaryDecisionDiagram, options: EndpointResolverOptions) => EndpointV2;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
export { BinaryDecisionDiagram } from "./bdd/BinaryDecisionDiagram";
|
|
1
2
|
export * from "./cache/EndpointCache";
|
|
3
|
+
export { decideEndpoint } from "./decideEndpoint";
|
|
2
4
|
export * from "./lib/isIpAddress";
|
|
3
5
|
export * from "./lib/isValidHostLabel";
|
|
4
6
|
export * from "./utils/customEndpointFunctions";
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from "./booleanEquals";
|
|
2
|
+
export * from "./coalesce";
|
|
2
3
|
export * from "./getAttr";
|
|
3
4
|
export * from "./isSet";
|
|
4
5
|
export * from "./isValidHostLabel";
|
|
6
|
+
export * from "./ite";
|
|
5
7
|
export * from "./not";
|
|
6
8
|
export * from "./parseURL";
|
|
9
|
+
export * from "./split";
|
|
7
10
|
export * from "./stringEquals";
|
|
8
11
|
export * from "./substring";
|
|
9
12
|
export * from "./uriEncode";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The split function divides a string into an array of substrings based on a non-empty delimiter.
|
|
3
|
+
* The behavior is controlled by the limit parameter:
|
|
4
|
+
*
|
|
5
|
+
* limit = 0: Split all occurrences (unlimited).
|
|
6
|
+
* limit = 1: No split performed (returns original string as single element array).
|
|
7
|
+
* limit > 1: Split into at most 'limit' parts (performs limit-1 splits).
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare function split(value: string, delimiter: string, limit: number): string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EndpointARN, EndpointPartition, Logger } from "@smithy/types";
|
|
1
|
+
import type { EndpointARN, EndpointPartition, EndpointURL, Logger } from "@smithy/types";
|
|
2
2
|
export type ReferenceObject = {
|
|
3
3
|
ref: string;
|
|
4
4
|
};
|
|
@@ -7,9 +7,9 @@ export type FunctionObject = {
|
|
|
7
7
|
argv: FunctionArgv;
|
|
8
8
|
};
|
|
9
9
|
export type FunctionArgv = Array<Expression | boolean | number>;
|
|
10
|
-
export type FunctionReturn = string | boolean | number | EndpointARN | EndpointPartition | {
|
|
10
|
+
export type FunctionReturn = string | boolean | number | EndpointARN | EndpointPartition | EndpointURL | {
|
|
11
11
|
[key: string]: FunctionReturn;
|
|
12
|
-
} | null;
|
|
12
|
+
} | Array<FunctionReturn> | null;
|
|
13
13
|
export type ConditionObject = FunctionObject & {
|
|
14
14
|
assign?: string;
|
|
15
15
|
};
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
getAttr: (value: import("../lib").GetAttrValue, path: string) => import("../lib").GetAttrValue;
|
|
4
|
-
isSet: (value: unknown) => value is {};
|
|
5
|
-
isValidHostLabel: (value: string, allowSubDomains?: boolean) => boolean;
|
|
6
|
-
not: (value: boolean) => boolean;
|
|
7
|
-
parseURL: (value: string | URL | import("@smithy/types").Endpoint) => import("@smithy/types").EndpointURL | null;
|
|
8
|
-
stringEquals: (value1: string, value2: string) => boolean;
|
|
9
|
-
substring: (input: string, start: number, stop: number, reverse: boolean) => string | null;
|
|
10
|
-
uriEncode: (value: string) => string;
|
|
11
|
-
};
|
|
1
|
+
import type { EndpointFunctions } from "../types";
|
|
2
|
+
export declare const endpointFunctions: EndpointFunctions;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ConditionObject, EvaluateOptions } from "../types";
|
|
2
|
-
export declare const evaluateCondition: (
|
|
3
|
-
|
|
2
|
+
export declare const evaluateCondition: (condition: ConditionObject, options: EvaluateOptions) => {
|
|
3
|
+
result: boolean;
|
|
4
|
+
toAssign: {
|
|
4
5
|
name: string;
|
|
5
6
|
value: import("../types").FunctionReturn;
|
|
6
|
-
}
|
|
7
|
+
};
|
|
8
|
+
} | {
|
|
7
9
|
result: boolean;
|
|
10
|
+
toAssign?: undefined;
|
|
8
11
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ConditionObject, EvaluateOptions, FunctionReturn } from "../types";
|
|
2
2
|
export declare const evaluateConditions: (conditions: ConditionObject[] | undefined, options: EvaluateOptions) => {
|
|
3
|
-
result: false;
|
|
4
|
-
referenceRecord?: undefined;
|
|
5
|
-
} | {
|
|
6
3
|
result: boolean;
|
|
7
4
|
referenceRecord: Record<string, FunctionReturn>;
|
|
5
|
+
} | {
|
|
6
|
+
result: boolean;
|
|
7
|
+
referenceRecord?: undefined;
|
|
8
8
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { EndpointObjectHeaders, EvaluateOptions } from "../types";
|
|
2
|
-
export declare const getEndpointHeaders: (headers: EndpointObjectHeaders, options: EvaluateOptions) =>
|
|
2
|
+
export declare const getEndpointHeaders: (headers: EndpointObjectHeaders, options: EvaluateOptions) => Record<string, string[]>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { EndpointObjectProperty } from "@smithy/types";
|
|
2
2
|
import type { EndpointObjectProperties, EvaluateOptions } from "../types";
|
|
3
|
-
export declare const getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) =>
|
|
3
|
+
export declare const getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => Record<string, EndpointObjectProperty>;
|
|
4
4
|
export declare const getEndpointProperty: (property: EndpointObjectProperty, options: EvaluateOptions) => EndpointObjectProperty;
|
|
5
5
|
export declare const group: {
|
|
6
6
|
getEndpointProperty: (property: EndpointObjectProperty, options: EvaluateOptions) => EndpointObjectProperty;
|
|
7
|
-
getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) =>
|
|
7
|
+
getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => Record<string, EndpointObjectProperty>;
|
|
8
8
|
};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { EvaluateOptions, ReferenceObject } from "../types";
|
|
2
|
-
export declare const getReferenceValue: ({ ref }: ReferenceObject, options: EvaluateOptions) => import("
|
|
2
|
+
export declare const getReferenceValue: ({ ref }: ReferenceObject, options: EvaluateOptions) => string | number | boolean | import("@smithy/types").EndpointPartition | import("@smithy/types").EndpointARN | import("@smithy/types").EndpointURL | {
|
|
3
|
+
[key: string]: import("../types").FunctionReturn;
|
|
4
|
+
} | import("../types").FunctionReturn[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-endpoints",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.2",
|
|
4
4
|
"description": "Utilities to help with endpoint resolution.",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"sideEffects": false,
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@smithy/node-config-provider": "^4.3.
|
|
32
|
-
"@smithy/types": "^4.14.
|
|
31
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
32
|
+
"@smithy/types": "^4.14.1",
|
|
33
33
|
"tslib": "^2.6.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-middleware",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.14",
|
|
4
4
|
"description": "Shared utilities for to be used in middleware packages.",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"sideEffects": false,
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@smithy/types": "^4.14.
|
|
30
|
+
"@smithy/types": "^4.14.1",
|
|
31
31
|
"tslib": "^2.6.2"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -261,6 +261,9 @@ class StandardRetryStrategy {
|
|
|
261
261
|
isRetryableError(errorType) {
|
|
262
262
|
return errorType === "THROTTLING" || errorType === "TRANSIENT";
|
|
263
263
|
}
|
|
264
|
+
async maxAttempts() {
|
|
265
|
+
return this.maxAttemptsProvider();
|
|
266
|
+
}
|
|
264
267
|
}
|
|
265
268
|
|
|
266
269
|
class AdaptiveRetryStrategy {
|
|
@@ -289,6 +292,9 @@ class AdaptiveRetryStrategy {
|
|
|
289
292
|
this.rateLimiter.updateClientSendingRate({});
|
|
290
293
|
this.standardRetryStrategy.recordSuccess(token);
|
|
291
294
|
}
|
|
295
|
+
async maxAttemptsProvider() {
|
|
296
|
+
return this.standardRetryStrategy.maxAttempts();
|
|
297
|
+
}
|
|
292
298
|
}
|
|
293
299
|
|
|
294
300
|
class ConfiguredRetryStrategy extends StandardRetryStrategy {
|
|
@@ -30,4 +30,9 @@ export declare class AdaptiveRetryStrategy implements RetryStrategyV2 {
|
|
|
30
30
|
acquireInitialRetryToken(retryTokenScope: string): Promise<RetryToken>;
|
|
31
31
|
refreshRetryTokenForRetry(tokenToRenew: StandardRetryToken, errorInfo: RetryErrorInfo): Promise<RetryToken>;
|
|
32
32
|
recordSuccess(token: StandardRetryToken): void;
|
|
33
|
+
/**
|
|
34
|
+
* There is an existing integration which accesses this field.
|
|
35
|
+
* @deprecated
|
|
36
|
+
*/
|
|
37
|
+
maxAttemptsProvider(): Promise<number>;
|
|
33
38
|
}
|
|
@@ -40,4 +40,9 @@ export declare class StandardRetryStrategy implements RetryStrategyV2 {
|
|
|
40
40
|
private shouldRetry;
|
|
41
41
|
private getCapacityCost;
|
|
42
42
|
private isRetryableError;
|
|
43
|
+
/**
|
|
44
|
+
* There is an existing integration which accesses this field.
|
|
45
|
+
* @deprecated
|
|
46
|
+
*/
|
|
47
|
+
maxAttempts(): Promise<number>;
|
|
43
48
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-retry",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.3",
|
|
4
4
|
"description": "Shared retry utilities to be used in middleware packages.",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"license": "Apache-2.0",
|
|
31
31
|
"sideEffects": false,
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@smithy/service-error-classification": "^4.
|
|
34
|
-
"@smithy/types": "^4.14.
|
|
33
|
+
"@smithy/service-error-classification": "^4.3.0",
|
|
34
|
+
"@smithy/types": "^4.14.1",
|
|
35
35
|
"tslib": "^2.6.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-stream",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.24",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
|
|
6
6
|
"build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline util-stream",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"sideEffects": false,
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@smithy/fetch-http-handler": "^5.3.
|
|
32
|
-
"@smithy/node-http-handler": "^4.
|
|
33
|
-
"@smithy/types": "^4.14.
|
|
31
|
+
"@smithy/fetch-http-handler": "^5.3.17",
|
|
32
|
+
"@smithy/node-http-handler": "^4.6.0",
|
|
33
|
+
"@smithy/types": "^4.14.1",
|
|
34
34
|
"@smithy/util-base64": "^4.3.2",
|
|
35
35
|
"@smithy/util-buffer-from": "^4.2.2",
|
|
36
36
|
"@smithy/util-hex-encoding": "^4.2.2",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-waiter",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.16",
|
|
4
4
|
"description": "Shared utilities for client waiters for the AWS SDK",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@smithy/types": "^4.14.
|
|
6
|
+
"@smithy/types": "^4.14.1",
|
|
7
7
|
"tslib": "^2.6.2"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"directory": "packages/util-waiter"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@smithy/abort-controller": "^4.2.
|
|
50
|
+
"@smithy/abort-controller": "^4.2.14",
|
|
51
51
|
"concurrently": "7.0.0",
|
|
52
52
|
"downlevel-dts": "0.10.1",
|
|
53
53
|
"premove": "4.0.0",
|
|
@@ -486,9 +486,13 @@ function buildEmptyObjNode(val, key, attrStr, level) {
|
|
|
486
486
|
|
|
487
487
|
Builder.prototype.buildTextValNode = function (val, key, attrStr, level, matcher) {
|
|
488
488
|
if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
|
|
489
|
-
|
|
489
|
+
const safeVal = String(val).replace(/\]\]>/g, ']]]]><![CDATA[>');
|
|
490
|
+
return this.indentate(level) + `<![CDATA[${safeVal}]]>` + this.newLine;
|
|
490
491
|
} else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
|
|
491
|
-
|
|
492
|
+
const safeVal = String(val)
|
|
493
|
+
.replace(/--/g, '- -') // -- is illegal anywhere in comment content
|
|
494
|
+
.replace(/-$/, '- '); // trailing - would form -- with the closing -->
|
|
495
|
+
return this.indentate(level) + `<!--${safeVal}-->` + this.newLine;
|
|
492
496
|
} else if (key[0] === "?") {//PI tag
|
|
493
497
|
return this.indentate(level) + '<' + key + attrStr + '?' + this.tagEndChar;
|
|
494
498
|
} else {
|
|
@@ -82,12 +82,18 @@ function arrToStr(arr, options, indentation, matcher, stopNodeExpressions) {
|
|
|
82
82
|
if (isPreviousElementTag) {
|
|
83
83
|
xmlStr += indentation;
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
const val = tagObj[tagName][0][options.textNodeName];
|
|
86
|
+
const safeVal = String(val).replace(/\]\]>/g, ']]]]><![CDATA[>');
|
|
87
|
+
xmlStr += `<![CDATA[${safeVal}]]>`;
|
|
86
88
|
isPreviousElementTag = false;
|
|
87
89
|
matcher.pop();
|
|
88
90
|
continue;
|
|
89
91
|
} else if (tagName === options.commentPropName) {
|
|
90
|
-
|
|
92
|
+
const val = tagObj[tagName][0][options.textNodeName]
|
|
93
|
+
const safeVal = String(val)
|
|
94
|
+
.replace(/--/g, '- -') // -- is illegal anywhere in comment content
|
|
95
|
+
.replace(/-$/, '- '); // trailing - would form -- with the closing -->
|
|
96
|
+
xmlStr += indentation + `<!--${safeVal}-->`;
|
|
91
97
|
isPreviousElementTag = true;
|
|
92
98
|
matcher.pop();
|
|
93
99
|
continue;
|
|
@@ -289,4 +295,12 @@ function replaceEntitiesValue(textValue, options) {
|
|
|
289
295
|
}
|
|
290
296
|
}
|
|
291
297
|
return textValue;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
function cdataVal(val) {
|
|
301
|
+
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
function commentVal(val) {
|
|
305
|
+
|
|
292
306
|
}
|