@kensio/yulin 0.35.0 → 0.36.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/README.md +37 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.d.ts.map +1 -1
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.js +4 -0
- package/dist/serve/controller/factory/sim-aws-service-controller-factory.js.map +1 -1
- package/dist/serve/controller/sim-aws-service-signing-name.d.ts +11 -0
- package/dist/serve/controller/sim-aws-service-signing-name.d.ts.map +1 -0
- package/dist/serve/controller/sim-aws-service-signing-name.js +25 -0
- package/dist/serve/controller/sim-aws-service-signing-name.js.map +1 -0
- package/dist/serve/controller/sim-service-controller.d.ts +29 -2
- package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
- package/dist/serve/controller/sim-service-controller.js +26 -1
- package/dist/serve/controller/sim-service-controller.js.map +1 -1
- package/dist/serve/http/request/sim-aws-received-request.d.ts +29 -0
- package/dist/serve/http/request/sim-aws-received-request.d.ts.map +1 -0
- package/dist/serve/http/request/sim-aws-received-request.js +53 -0
- package/dist/serve/http/request/sim-aws-received-request.js.map +1 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.d.ts +31 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.d.ts.map +1 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.js +45 -0
- package/dist/serve/http/request/sim-aws-request-authenticator.js.map +1 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts +30 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts.map +1 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.js +51 -0
- package/dist/serve/http/response/sim-aws-auth-failure-response.js.map +1 -0
- package/dist/serve/http/response/sim-aws-response-hints.d.ts +35 -0
- package/dist/serve/http/response/sim-aws-response-hints.d.ts.map +1 -0
- package/dist/serve/http/response/sim-aws-response-hints.js +49 -0
- package/dist/serve/http/response/sim-aws-response-hints.js.map +1 -0
- package/dist/serve/http/sim-aws-http.d.ts +17 -0
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +34 -2
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.d.ts +8 -0
- package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
- package/dist/serve/http/url/sim-aws-local-url.js +14 -3
- package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
- package/dist/serve/index.d.ts +2 -0
- package/dist/serve/index.d.ts.map +1 -1
- package/dist/serve/index.js +2 -0
- package/dist/serve/index.js.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts +7 -0
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.js +5 -2
- package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts +3 -0
- package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.js +4 -1
- package/dist/service/acm/command/request-certificate/request-cert-factory.js.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +2 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +5 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller.d.ts +16 -1
- package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +35 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +45 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-properties.d.ts +36 -0
- package/dist/service/aws/sim-aws-properties.d.ts.map +1 -0
- package/dist/service/aws/sim-aws-properties.js +2 -0
- package/dist/service/aws/sim-aws-properties.js.map +1 -0
- package/dist/service/aws/sim-aws-timekeeping.d.ts +33 -0
- package/dist/service/aws/sim-aws-timekeeping.d.ts.map +1 -0
- package/dist/service/aws/sim-aws-timekeeping.js +49 -0
- package/dist/service/aws/sim-aws-timekeeping.js.map +1 -0
- package/dist/service/aws/sim-aws.d.ts +67 -7
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +81 -2
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts +11 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js +57 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts +55 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js +86 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +56 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts.map +1 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +112 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js.map +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts +1 -0
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/sim-cdk-out-context.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts +29 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js +34 -0
- package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +8 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +5 -5
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +5 -5
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +6 -0
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +4 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js +1 -1
- package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts +1 -0
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js +1 -2
- package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.js +1 -0
- package/dist/service/iam/command/policy/create-policy/create-policy.handler.js.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts +1 -0
- package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role-record-factory.js +1 -2
- package/dist/service/iam/command/role/create-role/create-role-record-factory.js.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.js +1 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -1
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -1
- package/dist/service/iam/command/user/create-user/create-user.handler.js +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts +30 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.js +67 -0
- package/dist/service/iam/credential/sim-iam-access-key-checks.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts +6 -1
- package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -1
- package/dist/service/iam/credential/sim-iam-access-key.js +1 -1
- package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts +21 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.js +28 -0
- package/dist/service/iam/credential/sim-iam-account-signing-credentials.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +28 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -1
- package/dist/service/iam/credential/sim-iam-credential-registry.js +32 -43
- package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -1
- package/dist/service/iam/credential/sim-iam-signing-credential.d.ts +32 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.js +2 -0
- package/dist/service/iam/credential/sim-iam-signing-credential.js.map +1 -0
- package/dist/service/iam/index.d.ts +6 -0
- package/dist/service/iam/index.d.ts.map +1 -1
- package/dist/service/iam/index.js +4 -0
- package/dist/service/iam/index.js.map +1 -1
- package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts +39 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.js +47 -0
- package/dist/service/iam/registry/sim-iam-access-key-registry.js.map +1 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts +25 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.js +31 -0
- package/dist/service/iam/registry/sim-iam-global-credential-resolver.js.map +1 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts +27 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts.map +1 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.js +25 -0
- package/dist/service/iam/request/error/sim-aws-request-auth.error.js.map +1 -0
- package/dist/service/iam/request/sim-aws-caller-header.d.ts +28 -0
- package/dist/service/iam/request/sim-aws-caller-header.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-caller-header.js +62 -0
- package/dist/service/iam/request/sim-aws-caller-header.js.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +49 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js +68 -0
- package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller.d.ts +50 -0
- package/dist/service/iam/request/sim-aws-request-caller.d.ts.map +1 -0
- package/dist/service/iam/request/sim-aws-request-caller.js +55 -0
- package/dist/service/iam/request/sim-aws-request-caller.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts +9 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js +14 -0
- package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts +22 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js +48 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts +14 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js +31 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts +19 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js +78 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +20 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +36 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +19 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +52 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +60 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +68 -0
- package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts +8 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.js +10 -0
- package/dist/service/iam/sigv4/sigv4-uri-escape.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +33 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js +70 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts +11 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js +45 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts +30 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js +52 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts +39 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js +52 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +16 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +31 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +18 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +25 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts +9 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js +26 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts +19 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js +12 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +13 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +18 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts +26 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js +40 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +32 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +45 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts +17 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts.map +1 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js +2 -0
- package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js.map +1 -0
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +5 -1
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts +8 -6
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js +12 -7
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts +9 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js +5 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +7 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +6 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +16 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts +29 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js +43 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +12 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +20 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +31 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts.map +1 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +48 -0
- package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js.map +1 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -0
- package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +25 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts.map +1 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +35 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.d.ts +32 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.d.ts.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.js +2 -0
- package/dist/service/lambda/command/add-permission/add-permission.command.js.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts +31 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.js +52 -0
- package/dist/service/lambda/command/add-permission/add-permission.handler.js.map +1 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +13 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts.map +1 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js +26 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js.map +1 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/lambda/command/create-function/create-function.handler.js +1 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +29 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts +35 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +47 -0
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts +26 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts +34 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js +38 -0
- package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +50 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js +35 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts +29 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.js +39 -0
- package/dist/service/lambda/command/function-url/function-url-authorizer.js.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +24 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-input.js.map +1 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts +52 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js +49 -0
- package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts +24 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts +34 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js +41 -0
- package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.d.ts +22 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.d.ts.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.js +2 -0
- package/dist/service/lambda/command/get-policy/get-policy.command.js.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts +35 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.js +45 -0
- package/dist/service/lambda/command/get-policy/get-policy.handler.js.map +1 -0
- package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts +8 -2
- package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts.map +1 -1
- package/dist/service/lambda/command/invoke/invoke-authorizer.js +9 -2
- package/dist/service/lambda/command/invoke/invoke-authorizer.js.map +1 -1
- package/dist/service/lambda/command/invoke/invoke.handler.d.ts.map +1 -1
- package/dist/service/lambda/command/invoke/invoke.handler.js +4 -1
- package/dist/service/lambda/command/invoke/invoke.handler.js.map +1 -1
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts +25 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js +5 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts +37 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js +46 -0
- package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js.map +1 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts +40 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts.map +1 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js +35 -0
- package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts +21 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.js +2 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.command.js.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts +31 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.js +36 -0
- package/dist/service/lambda/command/remove-permission/remove-permission.handler.js.map +1 -0
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts +19 -0
- package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -0
- package/dist/service/lambda/command/sim-lambda-command.types.js +9 -0
- package/dist/service/lambda/command/sim-lambda-command.types.js.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +29 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js +5 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts +35 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts.map +1 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +48 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js.map +1 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts.map +1 -1
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +4 -3
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js.map +1 -1
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts +47 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.js +79 -0
- package/dist/service/lambda/function/policy/sim-lambda-function-policy.js.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts +11 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js +22 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts +66 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts.map +1 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.js +101 -0
- package/dist/service/lambda/function/policy/sim-lambda-permission.js.map +1 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts +18 -0
- package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +15 -1
- package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +30 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +36 -0
- package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +37 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +42 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts +30 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.js +29 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-host.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +45 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +72 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +103 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts.map +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +92 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js.map +1 -0
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.d.ts.map +1 -1
- package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts +31 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts.map +1 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.js +43 -0
- package/dist/service/lambda/registry/sim-lambda-url-registry.js.map +1 -0
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +32 -0
- package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts +46 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js +47 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts +25 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js +53 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts +36 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js +61 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts +9 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js +38 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts +103 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js +2 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts +30 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js +55 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts +29 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js +54 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts +26 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts.map +1 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js +50 -0
- package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +24 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +35 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts +21 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js +57 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +42 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +82 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.d.ts +44 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.d.ts.map +1 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.js +47 -0
- package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -0
- package/dist/service/lambda/sim-lambda.d.ts +52 -9
- package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
- package/dist/service/lambda/sim-lambda.js +115 -44
- package/dist/service/lambda/sim-lambda.js.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.d.ts.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js +3 -2
- package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js.map +1 -1
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts +10 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts.map +1 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js +13 -0
- package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js.map +1 -0
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +1 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +12 -0
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +33 -1
- package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
- package/dist/service/route53/serve/sim-route53-controller.d.ts +2 -2
- package/dist/service/route53/serve/sim-route53-controller.d.ts.map +1 -1
- package/dist/service/route53/serve/sim-route53-controller.js +2 -2
- package/dist/service/route53/serve/sim-route53-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +2 -2
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js +2 -1
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +7 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +4 -1
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -1
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -1
- package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -1
- package/dist/util/background/background-due-tasks.d.ts +44 -0
- package/dist/util/background/background-due-tasks.d.ts.map +1 -0
- package/dist/util/background/background-due-tasks.js +71 -0
- package/dist/util/background/background-due-tasks.js.map +1 -0
- package/dist/util/background/background-jitter.d.ts +16 -0
- package/dist/util/background/background-jitter.d.ts.map +1 -0
- package/dist/util/background/background-jitter.js +23 -0
- package/dist/util/background/background-jitter.js.map +1 -0
- package/dist/util/background/background-settled-tasks.d.ts +17 -0
- package/dist/util/background/background-settled-tasks.d.ts.map +1 -0
- package/dist/util/background/background-settled-tasks.js +24 -0
- package/dist/util/background/background-settled-tasks.js.map +1 -0
- package/dist/util/background/background.d.ts +63 -2
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +35 -0
- package/dist/util/background/background.js.map +1 -1
- package/dist/util/background/non-deterministic-background.d.ts +24 -4
- package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
- package/dist/util/background/non-deterministic-background.js +36 -13
- package/dist/util/background/non-deterministic-background.js.map +1 -1
- package/dist/util/clock/sim-clock-control.d.ts +94 -0
- package/dist/util/clock/sim-clock-control.d.ts.map +1 -0
- package/dist/util/clock/sim-clock-control.js +116 -0
- package/dist/util/clock/sim-clock-control.js.map +1 -0
- package/dist/util/clock/sim-clock-mode.d.ts +74 -0
- package/dist/util/clock/sim-clock-mode.d.ts.map +1 -0
- package/dist/util/clock/sim-clock-mode.js +58 -0
- package/dist/util/clock/sim-clock-mode.js.map +1 -0
- package/dist/util/clock/sim-clock.d.ts +41 -0
- package/dist/util/clock/sim-clock.d.ts.map +1 -0
- package/dist/util/clock/sim-clock.js +33 -0
- package/dist/util/clock/sim-clock.js.map +1 -0
- package/dist/util/clock/sim-controllable-clock.d.ts +55 -0
- package/dist/util/clock/sim-controllable-clock.d.ts.map +1 -0
- package/dist/util/clock/sim-controllable-clock.js +62 -0
- package/dist/util/clock/sim-controllable-clock.js.map +1 -0
- package/dist/util/clock/sim-duration.d.ts +44 -0
- package/dist/util/clock/sim-duration.d.ts.map +1 -0
- package/dist/util/clock/sim-duration.js +69 -0
- package/dist/util/clock/sim-duration.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The outcome of waiting on a batch of background tasks.
|
|
3
|
+
*
|
|
4
|
+
* Background work runs outside the call that scheduled it, so a task that
|
|
5
|
+
* throws has nowhere to report to. Waiting for tasks to settle is that
|
|
6
|
+
* moment: this is what turns a settled batch back into a thrown error, so a
|
|
7
|
+
* failure in the background surfaces to whoever waited rather than vanishing.
|
|
8
|
+
*/
|
|
9
|
+
export class BackgroundSettledTasks {
|
|
10
|
+
results;
|
|
11
|
+
constructor(results) {
|
|
12
|
+
this.results = results;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Throw the first task failure in the batch, if there was one.
|
|
16
|
+
*/
|
|
17
|
+
throwFirstFailure() {
|
|
18
|
+
const rejected = this.results.find((result) => result.status === "rejected");
|
|
19
|
+
if (rejected !== undefined) {
|
|
20
|
+
throw rejected.reason;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=background-settled-tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-settled-tasks.js","sourceRoot":"","sources":["../../../src/util/background/background-settled-tasks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAA+B;IAEvD,YAAY,OAAqC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAChC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAC1E,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,CAAC,MAAM,CAAC;QACxB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import { type SimClock } from "../clock/sim-clock.js";
|
|
2
|
+
import { type BackgroundDueTask } from "./background-due-tasks.js";
|
|
1
3
|
export type BackgroundTask = () => Promise<void>;
|
|
2
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Scheduler for a simulator's asynchronous work, and the source of its time.
|
|
6
|
+
*
|
|
7
|
+
* Timekeeping and scheduling stay separate responsibilities: a scheduler holds
|
|
8
|
+
* a SimClock and delegates to it, rather than implementing time itself. They
|
|
9
|
+
* are combined in one interface because they travel together, so anything
|
|
10
|
+
* already given a scheduler can read simulated time without extra wiring.
|
|
11
|
+
*/
|
|
12
|
+
export interface BackgroundScheduler extends SimClock {
|
|
3
13
|
/**
|
|
4
14
|
* Wait at a simulator sequencing point.
|
|
5
15
|
*
|
|
@@ -9,18 +19,52 @@ export interface BackgroundScheduler {
|
|
|
9
19
|
*/
|
|
10
20
|
sequence(): Promise<void>;
|
|
11
21
|
schedule(task: BackgroundTask): void;
|
|
22
|
+
/**
|
|
23
|
+
* Schedule a task to happen once simulated time reaches an instant.
|
|
24
|
+
*
|
|
25
|
+
* Nothing dispatches it until the clock gets there, so scheduled work
|
|
26
|
+
* happens on the simulation's timeline rather than the host's.
|
|
27
|
+
*/
|
|
28
|
+
scheduleAt(dueTime: Date, task: BackgroundTask): void;
|
|
29
|
+
}
|
|
30
|
+
interface BackgroundTasksProperties {
|
|
31
|
+
readonly clock?: SimClock;
|
|
12
32
|
}
|
|
13
33
|
export interface BackgroundCompleter {
|
|
14
34
|
complete(): Promise<void>;
|
|
15
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Source of background work waiting on the clock.
|
|
38
|
+
*
|
|
39
|
+
* Whatever controls simulated time pulls due work from here as it moves the
|
|
40
|
+
* clock, which is what makes advancing time dispatch what falls due during the
|
|
41
|
+
* interval rather than everything at once at the end.
|
|
42
|
+
*/
|
|
43
|
+
export interface BackgroundDueTaskSource {
|
|
44
|
+
/**
|
|
45
|
+
* Take the next task due at or before an instant, earliest first.
|
|
46
|
+
*/
|
|
47
|
+
takeNextDueBy(instant: Date): BackgroundDueTask | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* See how many tasks are waiting for simulated time to reach them.
|
|
50
|
+
*/
|
|
51
|
+
readonly dueTaskCount: number;
|
|
52
|
+
}
|
|
16
53
|
/**
|
|
17
54
|
* Deterministic async background tasks scheduler.
|
|
18
55
|
*
|
|
19
56
|
* Tasks still run asynchronously, outside the current call stack, but dispatch in
|
|
20
57
|
* the order they were scheduled.
|
|
21
58
|
*/
|
|
22
|
-
export declare class BackgroundTasks implements BackgroundScheduler, BackgroundCompleter {
|
|
59
|
+
export declare class BackgroundTasks implements BackgroundScheduler, BackgroundCompleter, BackgroundDueTaskSource {
|
|
23
60
|
private readonly pending;
|
|
61
|
+
private readonly dueTasks;
|
|
62
|
+
private readonly clock;
|
|
63
|
+
constructor(properties?: BackgroundTasksProperties);
|
|
64
|
+
/**
|
|
65
|
+
* Get the current time in this simulation.
|
|
66
|
+
*/
|
|
67
|
+
now(): Date;
|
|
24
68
|
/**
|
|
25
69
|
* Wait at a deterministic sequencing point.
|
|
26
70
|
*/
|
|
@@ -29,14 +73,31 @@ export declare class BackgroundTasks implements BackgroundScheduler, BackgroundC
|
|
|
29
73
|
* Schedule a task to happen asynchronously in the background.
|
|
30
74
|
*/
|
|
31
75
|
schedule(task: BackgroundTask): void;
|
|
76
|
+
/**
|
|
77
|
+
* Schedule a task to happen once simulated time reaches an instant.
|
|
78
|
+
*/
|
|
79
|
+
scheduleAt(dueTime: Date, task: BackgroundTask): void;
|
|
80
|
+
/**
|
|
81
|
+
* Take the next task due at or before an instant, earliest first.
|
|
82
|
+
*/
|
|
83
|
+
takeNextDueBy(instant: Date): BackgroundDueTask | undefined;
|
|
32
84
|
/**
|
|
33
85
|
* Wait until all tasks currently scheduled have finished.
|
|
34
86
|
* If tasks schedule more tasks, this will continue draining until idle.
|
|
87
|
+
*
|
|
88
|
+
* Work waiting on the clock is not waited for: it is not outstanding, it is
|
|
89
|
+
* scheduled for a simulated instant that has not arrived. Only moving the
|
|
90
|
+
* clock releases it.
|
|
35
91
|
*/
|
|
36
92
|
complete(): Promise<void>;
|
|
37
93
|
/**
|
|
38
94
|
* See how many outstanding background tasks are scheduled.
|
|
39
95
|
*/
|
|
40
96
|
get pendingTaskCount(): number;
|
|
97
|
+
/**
|
|
98
|
+
* See how many tasks are waiting for simulated time to reach them.
|
|
99
|
+
*/
|
|
100
|
+
get dueTaskCount(): number;
|
|
41
101
|
}
|
|
102
|
+
export {};
|
|
42
103
|
//# sourceMappingURL=background.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAErC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACvD;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,qBAAa,eACX,YAAW,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB;IAE5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,GAAE,yBAA8B,EAErD;IAED;;OAEG;IACH,GAAG,IAAI,IAAI,CAEV;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAExB;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAqBnC;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAEpD;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAE1D;IAED;;;;;;;OAOG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;CACF"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* eslint-disable unicorn/prefer-await */
|
|
2
|
+
import { SimRealClock } from "../clock/sim-clock.js";
|
|
3
|
+
import { BackgroundDueTasks, } from "./background-due-tasks.js";
|
|
2
4
|
/**
|
|
3
5
|
* Deterministic async background tasks scheduler.
|
|
4
6
|
*
|
|
@@ -7,6 +9,17 @@
|
|
|
7
9
|
*/
|
|
8
10
|
export class BackgroundTasks {
|
|
9
11
|
pending = new Set();
|
|
12
|
+
dueTasks = new BackgroundDueTasks();
|
|
13
|
+
clock;
|
|
14
|
+
constructor(properties = {}) {
|
|
15
|
+
this.clock = properties.clock ?? new SimRealClock();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get the current time in this simulation.
|
|
19
|
+
*/
|
|
20
|
+
now() {
|
|
21
|
+
return this.clock.now();
|
|
22
|
+
}
|
|
10
23
|
/**
|
|
11
24
|
* Wait at a deterministic sequencing point.
|
|
12
25
|
*/
|
|
@@ -33,9 +46,25 @@ export class BackgroundTasks {
|
|
|
33
46
|
});
|
|
34
47
|
this.pending.add(promise);
|
|
35
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Schedule a task to happen once simulated time reaches an instant.
|
|
51
|
+
*/
|
|
52
|
+
scheduleAt(dueTime, task) {
|
|
53
|
+
this.dueTasks.add(dueTime, task);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Take the next task due at or before an instant, earliest first.
|
|
57
|
+
*/
|
|
58
|
+
takeNextDueBy(instant) {
|
|
59
|
+
return this.dueTasks.takeNextDueBy(instant);
|
|
60
|
+
}
|
|
36
61
|
/**
|
|
37
62
|
* Wait until all tasks currently scheduled have finished.
|
|
38
63
|
* If tasks schedule more tasks, this will continue draining until idle.
|
|
64
|
+
*
|
|
65
|
+
* Work waiting on the clock is not waited for: it is not outstanding, it is
|
|
66
|
+
* scheduled for a simulated instant that has not arrived. Only moving the
|
|
67
|
+
* clock releases it.
|
|
39
68
|
*/
|
|
40
69
|
async complete() {
|
|
41
70
|
while (this.pending.size > 0) {
|
|
@@ -49,5 +78,11 @@ export class BackgroundTasks {
|
|
|
49
78
|
get pendingTaskCount() {
|
|
50
79
|
return this.pending.size;
|
|
51
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* See how many tasks are waiting for simulated time to reach them.
|
|
83
|
+
*/
|
|
84
|
+
get dueTaskCount() {
|
|
85
|
+
return this.dueTasks.size;
|
|
86
|
+
}
|
|
52
87
|
}
|
|
53
88
|
//# sourceMappingURL=background.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAAA,0CAA0C;
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAiB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AA4DnC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAGT,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACpC,KAAK,CAAW;IAEjC,YAAY,UAAU,GAA8B,EAAE;QACpD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC;aAEC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,CACH,GAAG,EAAE;YACH,EAAE;QACJ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,+DAA+D;YAC/D,qBAAqB;YACrB,MAAM,KAAK,CAAC;QACd,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAa,EAAE,IAAoB;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAa;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
import type { BackgroundCompleter, BackgroundScheduler, BackgroundTask } from "./background.js";
|
|
1
|
+
import type { BackgroundCompleter, BackgroundDueTaskSource, BackgroundScheduler, BackgroundTask } from "./background.js";
|
|
2
|
+
import { type SimClock } from "../clock/sim-clock.js";
|
|
3
|
+
import { type BackgroundDueTask } from "./background-due-tasks.js";
|
|
2
4
|
/**
|
|
3
5
|
* Non-deterministic async background tasks scheduler.
|
|
4
6
|
*
|
|
5
7
|
* Use this when you want to simulate asynchronous distributed operations
|
|
6
8
|
* potentially completing out of sequence.
|
|
7
9
|
*/
|
|
8
|
-
export declare class NonDeterministicBackgroundTasks implements BackgroundScheduler, BackgroundCompleter {
|
|
10
|
+
export declare class NonDeterministicBackgroundTasks implements BackgroundScheduler, BackgroundCompleter, BackgroundDueTaskSource {
|
|
9
11
|
private readonly pending;
|
|
10
|
-
private readonly
|
|
12
|
+
private readonly dueTasks;
|
|
13
|
+
private readonly jitter;
|
|
14
|
+
private readonly clock;
|
|
11
15
|
constructor(properties?: {
|
|
12
16
|
maxJitterMs?: number;
|
|
17
|
+
clock?: SimClock;
|
|
13
18
|
});
|
|
19
|
+
/**
|
|
20
|
+
* Get the current time in this simulation.
|
|
21
|
+
*/
|
|
22
|
+
now(): Date;
|
|
14
23
|
/**
|
|
15
24
|
* Wait at a non-deterministic sequencing point.
|
|
16
25
|
*/
|
|
@@ -19,6 +28,14 @@ export declare class NonDeterministicBackgroundTasks implements BackgroundSchedu
|
|
|
19
28
|
* Schedule a task to happen asynchronously in the background.
|
|
20
29
|
*/
|
|
21
30
|
schedule(task: BackgroundTask): void;
|
|
31
|
+
/**
|
|
32
|
+
* Schedule a task to happen once simulated time reaches an instant.
|
|
33
|
+
*/
|
|
34
|
+
scheduleAt(dueTime: Date, task: BackgroundTask): void;
|
|
35
|
+
/**
|
|
36
|
+
* Take the next task due at or before an instant, earliest first.
|
|
37
|
+
*/
|
|
38
|
+
takeNextDueBy(instant: Date): BackgroundDueTask | undefined;
|
|
22
39
|
/**
|
|
23
40
|
* Wait until all tasks currently scheduled have finished.
|
|
24
41
|
* If tasks schedule more tasks, this will continue draining until idle.
|
|
@@ -28,6 +45,9 @@ export declare class NonDeterministicBackgroundTasks implements BackgroundSchedu
|
|
|
28
45
|
* See how many outstanding background tasks are scheduled.
|
|
29
46
|
*/
|
|
30
47
|
get pendingTaskCount(): number;
|
|
31
|
-
|
|
48
|
+
/**
|
|
49
|
+
* See how many tasks are waiting for simulated time to reach them.
|
|
50
|
+
*/
|
|
51
|
+
get dueTaskCount(): number;
|
|
32
52
|
}
|
|
33
53
|
//# sourceMappingURL=non-deterministic-background.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-deterministic-background.d.ts","sourceRoot":"","sources":["../../../src/util/background/non-deterministic-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"non-deterministic-background.d.ts","sourceRoot":"","sources":["../../../src/util/background/non-deterministic-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAC;AAMnC;;;;;GAKG;AACH,qBAAa,+BACX,YAAW,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB;IAE5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAO,EAItE;IAED;;OAEG;IACH,GAAG,IAAI,IAAI,CAEV;IAED;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAkBnC;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAEpD;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAE1D;IAED;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAQrC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;CACF"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { SimRealClock } from "../clock/sim-clock.js";
|
|
2
|
+
import { BackgroundDueTasks, } from "./background-due-tasks.js";
|
|
3
|
+
import { BackgroundJitter } from "./background-jitter.js";
|
|
4
|
+
import { BackgroundSettledTasks } from "./background-settled-tasks.js";
|
|
1
5
|
/* eslint-disable unicorn/prefer-await */
|
|
2
6
|
/**
|
|
3
7
|
* Non-deterministic async background tasks scheduler.
|
|
@@ -7,16 +11,25 @@
|
|
|
7
11
|
*/
|
|
8
12
|
export class NonDeterministicBackgroundTasks {
|
|
9
13
|
pending = new Set();
|
|
10
|
-
|
|
14
|
+
dueTasks = new BackgroundDueTasks();
|
|
15
|
+
jitter;
|
|
16
|
+
clock;
|
|
11
17
|
constructor(properties = {}) {
|
|
12
|
-
const { maxJitterMs =
|
|
13
|
-
this.
|
|
18
|
+
const { maxJitterMs, clock = new SimRealClock() } = properties;
|
|
19
|
+
this.jitter = new BackgroundJitter(maxJitterMs);
|
|
20
|
+
this.clock = clock;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the current time in this simulation.
|
|
24
|
+
*/
|
|
25
|
+
now() {
|
|
26
|
+
return this.clock.now();
|
|
14
27
|
}
|
|
15
28
|
/**
|
|
16
29
|
* Wait at a non-deterministic sequencing point.
|
|
17
30
|
*/
|
|
18
31
|
async sequence() {
|
|
19
|
-
await this.
|
|
32
|
+
await this.jitter.wait();
|
|
20
33
|
}
|
|
21
34
|
/**
|
|
22
35
|
* Schedule a task to happen asynchronously in the background.
|
|
@@ -36,6 +49,18 @@ export class NonDeterministicBackgroundTasks {
|
|
|
36
49
|
});
|
|
37
50
|
this.pending.add(promise);
|
|
38
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Schedule a task to happen once simulated time reaches an instant.
|
|
54
|
+
*/
|
|
55
|
+
scheduleAt(dueTime, task) {
|
|
56
|
+
this.dueTasks.add(dueTime, task);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Take the next task due at or before an instant, earliest first.
|
|
60
|
+
*/
|
|
61
|
+
takeNextDueBy(instant) {
|
|
62
|
+
return this.dueTasks.takeNextDueBy(instant);
|
|
63
|
+
}
|
|
39
64
|
/**
|
|
40
65
|
* Wait until all tasks currently scheduled have finished.
|
|
41
66
|
* If tasks schedule more tasks, this will continue draining until idle.
|
|
@@ -44,11 +69,8 @@ export class NonDeterministicBackgroundTasks {
|
|
|
44
69
|
while (this.pending.size > 0) {
|
|
45
70
|
// eslint-disable-next-line no-await-in-loop
|
|
46
71
|
const results = await Promise.allSettled(this.pending);
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
if (firstRejected !== undefined) {
|
|
50
|
-
throw firstRejected.reason;
|
|
51
|
-
}
|
|
72
|
+
// Surface a task that failed in the background to whoever waited here.
|
|
73
|
+
new BackgroundSettledTasks(results).throwFirstFailure();
|
|
52
74
|
}
|
|
53
75
|
}
|
|
54
76
|
/**
|
|
@@ -57,10 +79,11 @@ export class NonDeterministicBackgroundTasks {
|
|
|
57
79
|
get pendingTaskCount() {
|
|
58
80
|
return this.pending.size;
|
|
59
81
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
82
|
+
/**
|
|
83
|
+
* See how many tasks are waiting for simulated time to reach them.
|
|
84
|
+
*/
|
|
85
|
+
get dueTaskCount() {
|
|
86
|
+
return this.dueTasks.size;
|
|
64
87
|
}
|
|
65
88
|
}
|
|
66
89
|
//# sourceMappingURL=non-deterministic-background.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-deterministic-background.js","sourceRoot":"","sources":["../../../src/util/background/non-deterministic-background.ts"],"names":[],"mappings":"AAMA,0CAA0C;AAE1C;;;;;GAKG;AACH,MAAM,OAAO,+BAA+B;IAGzB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"non-deterministic-background.js","sourceRoot":"","sources":["../../../src/util/background/non-deterministic-background.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,0CAA0C;AAE1C;;;;;GAKG;AACH,MAAM,OAAO,+BAA+B;IAGzB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAmB;IACzB,KAAK,CAAW;IAEjC,YAAY,UAAU,GAA+C,EAAE;QACrE,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,YAAY,EAAE,EAAE,GAAG,UAAU,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC5B,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,CACH,GAAG,EAAE;YACH,EAAE;QACJ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,+DAA+D;YAC/D,qBAAqB;YACrB,MAAM,KAAK,CAAC;QACd,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAa,EAAE,IAAoB;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAa;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvD,uEAAuE;YACvE,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { BackgroundCompleter, BackgroundDueTaskSource, BackgroundScheduler } from "../background/background.js";
|
|
2
|
+
import type { SimClock } from "./sim-clock.js";
|
|
3
|
+
import type { SimControllableClock } from "./sim-controllable-clock.js";
|
|
4
|
+
import { SimDuration, type SimDurationInput } from "./sim-duration.js";
|
|
5
|
+
/**
|
|
6
|
+
* The scheduler a clock control moves time for: it releases work waiting on the
|
|
7
|
+
* clock, and it can be waited on until the simulation settles.
|
|
8
|
+
*/
|
|
9
|
+
export type SimClockControlBackground = BackgroundScheduler & BackgroundCompleter & BackgroundDueTaskSource;
|
|
10
|
+
interface SimClockControlProperties {
|
|
11
|
+
readonly clock: SimControllableClock;
|
|
12
|
+
readonly background: SimClockControlBackground;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Control over one simulation's sense of time.
|
|
16
|
+
*
|
|
17
|
+
* Moving the clock is only half of what a test needs. The other half is that
|
|
18
|
+
* whatever the passage of time should have caused has actually happened by the
|
|
19
|
+
* time the call returns, so the next line can assert rather than wait. So this
|
|
20
|
+
* class owns both the clock and the scheduler: advancing walks simulated time
|
|
21
|
+
* forward through everything that falls due in the interval, running each task
|
|
22
|
+
* at its own due time, and returns once nothing is left pending.
|
|
23
|
+
*
|
|
24
|
+
* Control is per simulation. Moving time here never touches another simulation
|
|
25
|
+
* or the real clock, which is what keeps a SimAws instance safe to construct
|
|
26
|
+
* per test case.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SimClockControl implements SimClock {
|
|
29
|
+
private readonly clock;
|
|
30
|
+
private readonly background;
|
|
31
|
+
constructor(properties: SimClockControlProperties);
|
|
32
|
+
/**
|
|
33
|
+
* Get the current simulated time.
|
|
34
|
+
*/
|
|
35
|
+
now(): Date;
|
|
36
|
+
/**
|
|
37
|
+
* Whether simulated time is currently standing still.
|
|
38
|
+
*/
|
|
39
|
+
get isFrozen(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Stop simulated time where it currently reads.
|
|
42
|
+
*
|
|
43
|
+
* A frozen clock reports the same instant however long the host takes, so a
|
|
44
|
+
* slow test cannot drift past the state it set up.
|
|
45
|
+
*/
|
|
46
|
+
freeze(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Let simulated time pass by itself again, carrying on from where it stopped.
|
|
49
|
+
*
|
|
50
|
+
* Time then runs at real speed, offset by however far it has been moved, so
|
|
51
|
+
* "jump forward an hour and carry on" behaves as it sounds.
|
|
52
|
+
*/
|
|
53
|
+
resume(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Set simulated time to an instant, running whatever falls due on the way.
|
|
56
|
+
*
|
|
57
|
+
* Setting time backwards runs nothing: it simply moves the clock, and work
|
|
58
|
+
* already scheduled waits for time to reach it again.
|
|
59
|
+
*
|
|
60
|
+
* Work that fails throws from here, leaving the clock at the failed task's
|
|
61
|
+
* due time rather than at the instant asked for. Simulated time got that far
|
|
62
|
+
* and then something broke, and saying so is more use than claiming the whole
|
|
63
|
+
* interval elapsed. Whatever was still queued stays queued.
|
|
64
|
+
*/
|
|
65
|
+
setTo(instant: Date): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Move simulated time forward by a duration, running whatever falls due.
|
|
68
|
+
*
|
|
69
|
+
* Returns once the simulation has settled, so a test can advance and then
|
|
70
|
+
* assert without waiting again.
|
|
71
|
+
*/
|
|
72
|
+
advanceBy(duration: SimDuration | SimDurationInput): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Dispatch everything due at or before an instant, in due order.
|
|
75
|
+
*
|
|
76
|
+
* Each task runs with the clock reading its own due time rather than the
|
|
77
|
+
* final one, so a task that stamps a timestamp records when it happened. Work
|
|
78
|
+
* a task schedules for itself settles before the next due task is taken,
|
|
79
|
+
* which keeps cascading work in order too.
|
|
80
|
+
*
|
|
81
|
+
* The loop runs as long as work keeps falling due inside the interval, as
|
|
82
|
+
* draining does generally: a task that endlessly reschedules itself inside
|
|
83
|
+
* the interval is asking for endless work, and cutting it off part way would
|
|
84
|
+
* report a settled simulation that is nothing of the kind.
|
|
85
|
+
*/
|
|
86
|
+
private runDueTasksUpTo;
|
|
87
|
+
/**
|
|
88
|
+
* Keep the clock moving forward: an overdue task runs at the current time
|
|
89
|
+
* rather than dragging simulated time backwards to when it should have run.
|
|
90
|
+
*/
|
|
91
|
+
private laterOfNow;
|
|
92
|
+
}
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=sim-clock-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-clock-control.d.ts","sourceRoot":"","sources":["../../../src/util/clock/sim-clock-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GACzD,mBAAmB,GACnB,uBAAuB,CAAC;AAE1B,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,YAAY,UAAU,EAAE,yBAAyB,EAGhD;IAED;;OAEG;IACH,GAAG,IAAI,IAAI,CAEV;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;OAKG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;OAKG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;;;;;;OAUG;IACG,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxC;IAED;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;IAED;;;;;;;;;;;;OAYG;YACW,eAAe;IAc7B;;;OAGG;IACH,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { SimDuration } from "./sim-duration.js";
|
|
2
|
+
/**
|
|
3
|
+
* Control over one simulation's sense of time.
|
|
4
|
+
*
|
|
5
|
+
* Moving the clock is only half of what a test needs. The other half is that
|
|
6
|
+
* whatever the passage of time should have caused has actually happened by the
|
|
7
|
+
* time the call returns, so the next line can assert rather than wait. So this
|
|
8
|
+
* class owns both the clock and the scheduler: advancing walks simulated time
|
|
9
|
+
* forward through everything that falls due in the interval, running each task
|
|
10
|
+
* at its own due time, and returns once nothing is left pending.
|
|
11
|
+
*
|
|
12
|
+
* Control is per simulation. Moving time here never touches another simulation
|
|
13
|
+
* or the real clock, which is what keeps a SimAws instance safe to construct
|
|
14
|
+
* per test case.
|
|
15
|
+
*/
|
|
16
|
+
export class SimClockControl {
|
|
17
|
+
clock;
|
|
18
|
+
background;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.clock = properties.clock;
|
|
21
|
+
this.background = properties.background;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the current simulated time.
|
|
25
|
+
*/
|
|
26
|
+
now() {
|
|
27
|
+
return this.clock.now();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether simulated time is currently standing still.
|
|
31
|
+
*/
|
|
32
|
+
get isFrozen() {
|
|
33
|
+
return this.clock.isFrozen;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Stop simulated time where it currently reads.
|
|
37
|
+
*
|
|
38
|
+
* A frozen clock reports the same instant however long the host takes, so a
|
|
39
|
+
* slow test cannot drift past the state it set up.
|
|
40
|
+
*/
|
|
41
|
+
freeze() {
|
|
42
|
+
this.clock.freeze();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Let simulated time pass by itself again, carrying on from where it stopped.
|
|
46
|
+
*
|
|
47
|
+
* Time then runs at real speed, offset by however far it has been moved, so
|
|
48
|
+
* "jump forward an hour and carry on" behaves as it sounds.
|
|
49
|
+
*/
|
|
50
|
+
resume() {
|
|
51
|
+
this.clock.resume();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Set simulated time to an instant, running whatever falls due on the way.
|
|
55
|
+
*
|
|
56
|
+
* Setting time backwards runs nothing: it simply moves the clock, and work
|
|
57
|
+
* already scheduled waits for time to reach it again.
|
|
58
|
+
*
|
|
59
|
+
* Work that fails throws from here, leaving the clock at the failed task's
|
|
60
|
+
* due time rather than at the instant asked for. Simulated time got that far
|
|
61
|
+
* and then something broke, and saying so is more use than claiming the whole
|
|
62
|
+
* interval elapsed. Whatever was still queued stays queued.
|
|
63
|
+
*/
|
|
64
|
+
async setTo(instant) {
|
|
65
|
+
if (instant.getTime() >= this.now().getTime()) {
|
|
66
|
+
await this.runDueTasksUpTo(instant);
|
|
67
|
+
}
|
|
68
|
+
this.clock.setTo(instant);
|
|
69
|
+
await this.background.complete();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Move simulated time forward by a duration, running whatever falls due.
|
|
73
|
+
*
|
|
74
|
+
* Returns once the simulation has settled, so a test can advance and then
|
|
75
|
+
* assert without waiting again.
|
|
76
|
+
*/
|
|
77
|
+
async advanceBy(duration) {
|
|
78
|
+
const milliseconds = SimDuration.of(duration).toMilliseconds();
|
|
79
|
+
await this.setTo(new Date(this.now().getTime() + milliseconds));
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Dispatch everything due at or before an instant, in due order.
|
|
83
|
+
*
|
|
84
|
+
* Each task runs with the clock reading its own due time rather than the
|
|
85
|
+
* final one, so a task that stamps a timestamp records when it happened. Work
|
|
86
|
+
* a task schedules for itself settles before the next due task is taken,
|
|
87
|
+
* which keeps cascading work in order too.
|
|
88
|
+
*
|
|
89
|
+
* The loop runs as long as work keeps falling due inside the interval, as
|
|
90
|
+
* draining does generally: a task that endlessly reschedules itself inside
|
|
91
|
+
* the interval is asking for endless work, and cutting it off part way would
|
|
92
|
+
* report a settled simulation that is nothing of the kind.
|
|
93
|
+
*/
|
|
94
|
+
async runDueTasksUpTo(instant) {
|
|
95
|
+
let due = this.background.takeNextDueBy(instant);
|
|
96
|
+
while (due !== undefined) {
|
|
97
|
+
this.clock.setTo(this.laterOfNow(due.dueTime));
|
|
98
|
+
this.background.schedule(due.task);
|
|
99
|
+
// eslint-disable-next-line no-await-in-loop
|
|
100
|
+
await this.background.complete();
|
|
101
|
+
due = this.background.takeNextDueBy(instant);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Keep the clock moving forward: an overdue task runs at the current time
|
|
106
|
+
* rather than dragging simulated time backwards to when it should have run.
|
|
107
|
+
*/
|
|
108
|
+
laterOfNow(instant) {
|
|
109
|
+
const now = this.now();
|
|
110
|
+
if (instant.getTime() < now.getTime()) {
|
|
111
|
+
return now;
|
|
112
|
+
}
|
|
113
|
+
return instant;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=sim-clock-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-clock-control.js","sourceRoot":"","sources":["../../../src/util/clock/sim-clock-control.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAevE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,eAAe;IACT,KAAK,CAAuB;IAC5B,UAAU,CAA4B;IAEvD,YAAY,UAAqC;QAC/C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CAAC,OAAa;QACvB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAwC;QACtD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAE/D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,eAAe,CAAC,OAAa;QACzC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnC,4CAA4C;YAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAEjC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,OAAa;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|