@api-client/core 0.19.10 → 0.19.12
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/LICENSE.md +9 -63
- package/bin/test.ts +1 -12
- package/build/src/browser.d.ts +3 -16
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js +2 -17
- package/build/src/browser.js.map +1 -1
- package/build/src/events/EventTypes.d.ts +0 -6
- package/build/src/events/EventTypes.d.ts.map +1 -1
- package/build/src/events/EventTypes.js +0 -2
- package/build/src/events/EventTypes.js.map +1 -1
- package/build/src/events/Events.d.ts +0 -2
- package/build/src/events/Events.d.ts.map +1 -1
- package/build/src/events/Events.js +0 -2
- package/build/src/events/Events.js.map +1 -1
- package/build/src/index.d.ts +3 -16
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +2 -17
- package/build/src/index.js.map +1 -1
- package/build/src/modeling/ApiValidation.d.ts +26 -0
- package/build/src/modeling/ApiValidation.d.ts.map +1 -0
- package/build/src/modeling/ApiValidation.js +73 -0
- package/build/src/modeling/ApiValidation.js.map +1 -0
- package/build/src/modeling/Bindings.d.ts +3 -3
- package/build/src/modeling/Bindings.d.ts.map +1 -1
- package/build/src/modeling/Bindings.js.map +1 -1
- package/build/src/modeling/DomainAssociation.d.ts +5 -5
- package/build/src/modeling/DomainAssociation.d.ts.map +1 -1
- package/build/src/modeling/DomainAssociation.js.map +1 -1
- package/build/src/modeling/DomainEntity.d.ts +2 -3
- package/build/src/modeling/DomainEntity.d.ts.map +1 -1
- package/build/src/modeling/DomainEntity.js +1 -1
- package/build/src/modeling/DomainEntity.js.map +1 -1
- package/build/src/modeling/DomainProperty.d.ts +2 -3
- package/build/src/modeling/DomainProperty.d.ts.map +1 -1
- package/build/src/modeling/DomainProperty.js +1 -1
- package/build/src/modeling/DomainProperty.js.map +1 -1
- package/build/src/modeling/DomainValidation.d.ts +10 -4
- package/build/src/modeling/DomainValidation.d.ts.map +1 -1
- package/build/src/modeling/DomainValidation.js +55 -72
- package/build/src/modeling/DomainValidation.js.map +1 -1
- package/build/src/modeling/ai/types.d.ts +2 -2
- package/build/src/modeling/ai/types.d.ts.map +1 -1
- package/build/src/modeling/ai/types.js.map +1 -1
- package/build/src/{amf → modeling/amf}/DataValueGenerator.d.ts +1 -1
- package/build/src/modeling/amf/DataValueGenerator.d.ts.map +1 -0
- package/build/src/{amf → modeling/amf}/DataValueGenerator.js +2 -3
- package/build/src/modeling/amf/DataValueGenerator.js.map +1 -0
- package/build/src/modeling/amf/ShapeGenerator.d.ts +20 -20
- package/build/src/modeling/amf/ShapeGenerator.d.ts.map +1 -1
- package/build/src/modeling/amf/ShapeGenerator.js +16 -18
- package/build/src/modeling/amf/ShapeGenerator.js.map +1 -1
- package/build/src/modeling/amf/core_types.d.ts +9 -0
- package/build/src/modeling/amf/core_types.d.ts.map +1 -0
- package/build/src/modeling/amf/core_types.js +45 -0
- package/build/src/modeling/amf/core_types.js.map +1 -0
- package/build/src/modeling/validation/api_model_rules.d.ts +1 -2
- package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -1
- package/build/src/modeling/validation/api_model_rules.js +0 -26
- package/build/src/modeling/validation/api_model_rules.js.map +1 -1
- package/build/src/modeling/validation/association_validation.d.ts +4 -4
- package/build/src/modeling/validation/association_validation.d.ts.map +1 -1
- package/build/src/modeling/validation/association_validation.js.map +1 -1
- package/build/src/modeling/validation/entity_validation.d.ts +6 -6
- package/build/src/modeling/validation/entity_validation.d.ts.map +1 -1
- package/build/src/modeling/validation/entity_validation.js.map +1 -1
- package/build/src/modeling/validation/property_validation.d.ts +3 -3
- package/build/src/modeling/validation/property_validation.d.ts.map +1 -1
- package/build/src/modeling/validation/property_validation.js.map +1 -1
- package/build/src/modeling/validation/rules.d.ts +2 -2
- package/build/src/modeling/validation/rules.d.ts.map +1 -1
- package/build/src/modeling/validation/rules.js.map +1 -1
- package/build/src/modeling/validation/semantic_validation.d.ts +2 -2
- package/build/src/modeling/validation/semantic_validation.d.ts.map +1 -1
- package/build/src/modeling/validation/semantic_validation.js.map +1 -1
- package/build/src/models/http-flows/LegacyTranslator.js +1 -1
- package/build/src/models/http-flows/LegacyTranslator.js.map +1 -1
- package/build/src/runtime/http-runner/HttpFlows.js +1 -1
- package/build/src/runtime/http-runner/HttpFlows.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.js +0 -1
- package/package.json +11 -14
- package/src/events/EventTypes.ts +0 -2
- package/src/events/Events.ts +0 -2
- package/src/modeling/ApiValidation.ts +86 -0
- package/src/modeling/Bindings.ts +3 -3
- package/src/modeling/DomainAssociation.ts +5 -5
- package/src/modeling/DomainEntity.ts +3 -4
- package/src/modeling/DomainProperty.ts +3 -4
- package/src/modeling/DomainValidation.ts +57 -74
- package/src/modeling/ai/types.ts +2 -2
- package/src/{amf → modeling/amf}/DataValueGenerator.ts +3 -4
- package/src/modeling/amf/ShapeGenerator.ts +45 -61
- package/src/modeling/amf/core_types.ts +47 -0
- package/src/modeling/validation/api_model_rules.ts +1 -31
- package/src/modeling/validation/association_validation.ts +6 -6
- package/src/modeling/validation/entity_validation.ts +11 -11
- package/src/modeling/validation/property_validation.ts +4 -4
- package/src/modeling/validation/rules.ts +6 -3
- package/src/modeling/validation/semantic_validation.ts +11 -11
- package/src/models/http-flows/LegacyTranslator.ts +1 -1
- package/src/runtime/http-runner/HttpFlows.ts +1 -1
- package/tests/unit/{amf → modeling/amf}/data_value_generator.spec.ts +2 -2
- package/tests/unit/modeling/amf/shape_generator.spec.ts +146 -167
- package/tests/unit/modeling/domain_asociation.spec.ts +13 -13
- package/tests/unit/modeling/domain_validation.spec.ts +7 -13
- package/tests/unit/modeling/validation/api_model_rules.spec.ts +11 -9
- package/tests/unit/runtime/runners/http_assertion_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/http_flow_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/project_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/request_runner.spec.ts +1 -1
- package/tests/unit/runtime/runners/serial_runner.spec.ts +1 -1
- package/build/src/amf/AmfMixin.d.ts +0 -396
- package/build/src/amf/AmfMixin.d.ts.map +0 -1
- package/build/src/amf/AmfMixin.js +0 -1138
- package/build/src/amf/AmfMixin.js.map +0 -1
- package/build/src/amf/AmfSerializer.d.ts +0 -137
- package/build/src/amf/AmfSerializer.d.ts.map +0 -1
- package/build/src/amf/AmfSerializer.js +0 -1947
- package/build/src/amf/AmfSerializer.js.map +0 -1
- package/build/src/amf/AmfTypes.d.ts +0 -25
- package/build/src/amf/AmfTypes.d.ts.map +0 -1
- package/build/src/amf/AmfTypes.js +0 -143
- package/build/src/amf/AmfTypes.js.map +0 -1
- package/build/src/amf/ApiExampleGenerator.d.ts +0 -40
- package/build/src/amf/ApiExampleGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiExampleGenerator.js +0 -112
- package/build/src/amf/ApiExampleGenerator.js.map +0 -1
- package/build/src/amf/ApiMonacoSchemaGenerator.d.ts +0 -68
- package/build/src/amf/ApiMonacoSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiMonacoSchemaGenerator.js +0 -248
- package/build/src/amf/ApiMonacoSchemaGenerator.js.map +0 -1
- package/build/src/amf/ApiSchemaGenerator.d.ts +0 -56
- package/build/src/amf/ApiSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/ApiSchemaGenerator.js +0 -94
- package/build/src/amf/ApiSchemaGenerator.js.map +0 -1
- package/build/src/amf/ApiSchemaValues.d.ts +0 -111
- package/build/src/amf/ApiSchemaValues.d.ts.map +0 -1
- package/build/src/amf/ApiSchemaValues.js +0 -463
- package/build/src/amf/ApiSchemaValues.js.map +0 -1
- package/build/src/amf/DataValueGenerator.d.ts.map +0 -1
- package/build/src/amf/DataValueGenerator.js.map +0 -1
- package/build/src/amf/Parsing.d.ts +0 -48
- package/build/src/amf/Parsing.d.ts.map +0 -1
- package/build/src/amf/Parsing.js +0 -2
- package/build/src/amf/Parsing.js.map +0 -1
- package/build/src/amf/Utils.d.ts +0 -37
- package/build/src/amf/Utils.d.ts.map +0 -1
- package/build/src/amf/Utils.js +0 -169
- package/build/src/amf/Utils.js.map +0 -1
- package/build/src/amf/data-node/DataNodeBase.d.ts +0 -34
- package/build/src/amf/data-node/DataNodeBase.d.ts.map +0 -1
- package/build/src/amf/data-node/DataNodeBase.js +0 -77
- package/build/src/amf/data-node/DataNodeBase.js.map +0 -1
- package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts +0 -15
- package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/JsonDataNodeGenerator.js +0 -23
- package/build/src/amf/data-node/JsonDataNodeGenerator.js.map +0 -1
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts +0 -14
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js +0 -48
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js.map +0 -1
- package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts +0 -22
- package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts.map +0 -1
- package/build/src/amf/data-node/XmlDataNodeGenerator.js +0 -34
- package/build/src/amf/data-node/XmlDataNodeGenerator.js.map +0 -1
- package/build/src/amf/definitions/Amf.d.ts +0 -363
- package/build/src/amf/definitions/Amf.d.ts.map +0 -1
- package/build/src/amf/definitions/Amf.js +0 -3
- package/build/src/amf/definitions/Amf.js.map +0 -1
- package/build/src/amf/definitions/Api.d.ts +0 -383
- package/build/src/amf/definitions/Api.d.ts.map +0 -1
- package/build/src/amf/definitions/Api.js +0 -2
- package/build/src/amf/definitions/Api.js.map +0 -1
- package/build/src/amf/definitions/Base.d.ts +0 -12
- package/build/src/amf/definitions/Base.d.ts.map +0 -1
- package/build/src/amf/definitions/Base.js +0 -2
- package/build/src/amf/definitions/Base.js.map +0 -1
- package/build/src/amf/definitions/Namespace.d.ts +0 -327
- package/build/src/amf/definitions/Namespace.d.ts.map +0 -1
- package/build/src/amf/definitions/Namespace.js +0 -346
- package/build/src/amf/definitions/Namespace.js.map +0 -1
- package/build/src/amf/definitions/Shapes.d.ts +0 -312
- package/build/src/amf/definitions/Shapes.d.ts.map +0 -1
- package/build/src/amf/definitions/Shapes.js +0 -87
- package/build/src/amf/definitions/Shapes.js.map +0 -1
- package/build/src/amf/models/AmfDataNode.d.ts +0 -67
- package/build/src/amf/models/AmfDataNode.d.ts.map +0 -1
- package/build/src/amf/models/AmfDataNode.js +0 -192
- package/build/src/amf/models/AmfDataNode.js.map +0 -1
- package/build/src/amf/shape/ShapeBase.d.ts +0 -74
- package/build/src/amf/shape/ShapeBase.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeBase.js +0 -93
- package/build/src/amf/shape/ShapeBase.js.map +0 -1
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts +0 -47
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js +0 -420
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js.map +0 -1
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts +0 -85
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts.map +0 -1
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js +0 -852
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js.map +0 -1
- package/build/src/events/amf/AmfEventTypes.d.ts +0 -7
- package/build/src/events/amf/AmfEventTypes.d.ts.map +0 -1
- package/build/src/events/amf/AmfEventTypes.js +0 -7
- package/build/src/events/amf/AmfEventTypes.js.map +0 -1
- package/build/src/events/amf/AmfEvents.d.ts +0 -34
- package/build/src/events/amf/AmfEvents.d.ts.map +0 -1
- package/build/src/events/amf/AmfEvents.js +0 -63
- package/build/src/events/amf/AmfEvents.js.map +0 -1
- package/build/src/mocking/RandExp.d.ts +0 -55
- package/build/src/mocking/RandExp.d.ts.map +0 -1
- package/build/src/mocking/RandExp.js +0 -302
- package/build/src/mocking/RandExp.js.map +0 -1
- package/build/src/mocking/lib/ret.d.ts +0 -16
- package/build/src/mocking/lib/ret.d.ts.map +0 -1
- package/build/src/mocking/lib/ret.js +0 -284
- package/build/src/mocking/lib/ret.js.map +0 -1
- package/data/apis/APIC-187/APIC-187.raml +0 -21
- package/data/apis/APIC-187/dataType.raml +0 -132
- package/data/apis/APIC-187/example.raml +0 -84
- package/data/apis/APIC-188/APIC-188.raml +0 -21
- package/data/apis/APIC-188/dataType.raml +0 -132
- package/data/apis/APIC-188/example.raml +0 -84
- package/data/apis/APIC-233/APIC-233.raml +0 -15
- package/data/apis/APIC-391/APIC-391.raml +0 -44
- package/data/apis/APIC-391/examples/post-body-request-example.raml +0 -7
- package/data/apis/APIC-483/APIC-483.raml +0 -16
- package/data/apis/APIC-483/example/list-of-bank-succ.json +0 -32
- package/data/apis/APIC-483/schema/response-retrieve-list-bank.json +0 -68
- package/data/apis/APIC-487/APIC-487.raml +0 -36
- package/data/apis/APIC-655/APIC-655.raml +0 -44
- package/data/apis/APIC-655/delivery.json +0 -12
- package/data/apis/APIC-689/APIC-689.raml +0 -20
- package/data/apis/APIC-690/APIC-690.raml +0 -17
- package/data/apis/APIC-690/datatypes/Address.raml +0 -10
- package/data/apis/APIC-690/datatypes/Customer.raml +0 -17
- package/data/apis/APIC-690/examples/CustomerExample2.raml +0 -17
- package/data/apis/APIC-690/examples/CustomersExample.raml +0 -34
- package/data/apis/SE-10469/Purchase-Order-oagis-id-dd32f9c6c01048a19e15c423c9c741ae.json +0 -1383
- package/data/apis/SE-10469/SE-10469.raml +0 -11
- package/data/apis/SE-13092/Examples/PersonExample.raml +0 -7
- package/data/apis/SE-13092/SE-13092.raml +0 -37
- package/data/apis/SE-13092/datatypes/Address.raml +0 -5
- package/data/apis/SE-13092/datatypes/InlineType.raml +0 -5
- package/data/apis/SE-13092/datatypes/Person.raml +0 -15
- package/data/apis/SE-22063/SE-22063.raml +0 -14
- package/data/apis/SE-22063/stock.raml +0 -41
- package/data/apis/amf-helper-api/amf-helper-api.raml +0 -1024
- package/data/apis/amf-helper-api/examples/comment-example.json +0 -42
- package/data/apis/amf-helper-api/examples/commentCreateRequest-example.json +0 -7
- package/data/apis/amf-helper-api/examples/commentList-example.json +0 -48
- package/data/apis/amf-helper-api/examples/person.json +0 -14
- package/data/apis/amf-helper-api/examples/person.raml +0 -13
- package/data/apis/amf-helper-api/examples/person.xml +0 -14
- package/data/apis/amf-helper-api/libraries/comment-lib.raml +0 -143
- package/data/apis/amf-helper-api/library.raml +0 -7
- package/data/apis/amf-helper-api/schemas/person.json +0 -104
- package/data/apis/amf-helper-api/schemas/person.xsd +0 -26
- package/data/apis/amf-helper-api/traits/file.raml +0 -33
- package/data/apis/amf-helper-api/traits/pagination.raml +0 -80
- package/data/apis/amf-helper-api/traits/results.raml +0 -19
- package/data/apis/amf-helper-api/traits/visibility.raml +0 -14
- package/data/apis/amf-helper-api/types/app-person.raml +0 -101
- package/data/apis/amf-helper-api/types/dimensions.raml +0 -24
- package/data/apis/amf-helper-api/types/external-type.raml +0 -7
- package/data/apis/amf-helper-api/types/image.raml +0 -23
- package/data/apis/amf-helper-api/types/product.raml +0 -52
- package/data/apis/amf-helper-api/types/resource.raml +0 -11
- package/data/apis/amf-helper-api/types/standard-request.raml +0 -50
- package/data/apis/amf-helper-api/types/user.raml +0 -37
- package/data/apis/arc-demo-api/arc-demo-api.raml +0 -468
- package/data/apis/arc-demo-api/examples/e400.xml +0 -4
- package/data/apis/arc-demo-api/examples/e401.xml +0 -4
- package/data/apis/arc-demo-api/examples/e404.xml +0 -4
- package/data/apis/arc-demo-api/examples/image.xml +0 -5
- package/data/apis/arc-demo-api/examples/messages-example.json +0 -22
- package/data/apis/arc-demo-api/examples/messages-sent-example.json +0 -15
- package/data/apis/arc-demo-api/examples/person.json +0 -14
- package/data/apis/arc-demo-api/examples/person.url.encoded +0 -1
- package/data/apis/arc-demo-api/examples/person.xml +0 -14
- package/data/apis/arc-demo-api/examples/product.xml +0 -9
- package/data/apis/arc-demo-api/library.raml +0 -36
- package/data/apis/arc-demo-api/resourceTypes/app-person.raml +0 -49
- package/data/apis/arc-demo-api/resourceTypes/example-types.raml +0 -45
- package/data/apis/arc-demo-api/resourceTypes/image.raml +0 -23
- package/data/apis/arc-demo-api/resourceTypes/message-sent-type.raml +0 -23
- package/data/apis/arc-demo-api/resourceTypes/message-type.raml +0 -33
- package/data/apis/arc-demo-api/resourceTypes/product.raml +0 -52
- package/data/apis/arc-demo-api/resourceTypes/resource.raml +0 -11
- package/data/apis/arc-demo-api/schemas/error-response.xsd +0 -11
- package/data/apis/arc-demo-api/schemas/image.xsd +0 -11
- package/data/apis/arc-demo-api/schemas/person.json +0 -104
- package/data/apis/arc-demo-api/schemas/person.xsd +0 -26
- package/data/apis/arc-demo-api/schemas/product.xsd +0 -17
- package/data/apis/arc-demo-api/securitySchemes/basic.raml +0 -5
- package/data/apis/arc-demo-api/securitySchemes/oauth_2_0.raml +0 -29
- package/data/apis/arc-demo-api/securitySchemes/x-custom.raml +0 -26
- package/data/apis/arc-demo-api/traits/adminable.raml +0 -23
- package/data/apis/arc-demo-api/traits/pagination.raml +0 -83
- package/data/apis/arc-demo-api/traits/rate-limited.raml +0 -9
- package/data/apis/async-api/async-api.yaml +0 -96
- package/data/apis/example-generator-api/contact-email-example.raml +0 -6
- package/data/apis/example-generator-api/contact-example.raml +0 -5
- package/data/apis/example-generator-api/contact-fax-example.raml +0 -5
- package/data/apis/example-generator-api/contact-website-example.raml +0 -2
- package/data/apis/example-generator-api/example-1.raml +0 -6
- package/data/apis/example-generator-api/example-2.raml +0 -9
- package/data/apis/example-generator-api/example-3.raml +0 -4
- package/data/apis/example-generator-api/example-4.raml +0 -2
- package/data/apis/example-generator-api/example-5.raml +0 -4
- package/data/apis/example-generator-api/example-6.raml +0 -2
- package/data/apis/example-generator-api/example-7.raml +0 -5
- package/data/apis/example-generator-api/example-generator-api.raml +0 -423
- package/data/apis/example-generator-api/example.json +0 -14
- package/data/apis/example-generator-api/example.xml +0 -15
- package/data/apis/example-generator-api/example.xsd +0 -26
- package/data/apis/example-generator-api/examples/employee.raml +0 -7
- package/data/apis/example-generator-api/examples/employees.raml +0 -7
- package/data/apis/example-generator-api/linked-named-example.raml +0 -21
- package/data/apis/example-generator-api/named-example-with-link.raml +0 -5
- package/data/apis/example-generator-api/named-example.raml +0 -9
- package/data/apis/example-generator-api/user-json-example.raml +0 -17
- package/data/apis/example-generator-api/user-raml-example.raml +0 -37
- package/data/apis/example-generator-api/user.json +0 -8
- package/data/apis/example-generator-api/user.raml +0 -18
- package/data/apis/example-generator-api/users-json-example.raml +0 -17
- package/data/apis/example-generator-api/users-raml-example.raml +0 -32
- package/data/apis/example-generator-api/users.json +0 -8
- package/data/apis/expanded-api/expanded-api.raml +0 -8
- package/data/apis/flattened-api/flattened-api.raml +0 -8
- package/data/apis/multiple-servers/multiple-servers.yaml +0 -112
- package/data/apis/oas-3-api/oas-3-api.yaml +0 -356
- package/data/apis/oas-date/oas-date.yaml +0 -28
- package/data/apis/oas-types/oas-types.yaml +0 -159
- package/data/apis/oas-unions/oas-unions.yaml +0 -75
- package/data/apis/petstore/petstore.yaml +0 -954
- package/data/apis/raml-date/raml-date.raml +0 -28
- package/data/apis/recursive/recursive.raml +0 -14
- package/data/apis/schema-api/examples/person.json +0 -14
- package/data/apis/schema-api/examples/person.raml +0 -14
- package/data/apis/schema-api/examples/person.url.encoded +0 -1
- package/data/apis/schema-api/examples/person.xml +0 -14
- package/data/apis/schema-api/library/demo-types.raml +0 -43
- package/data/apis/schema-api/schema-api.raml +0 -656
- package/data/apis/schema-api/schemas/person.json +0 -104
- package/data/apis/schema-api/schemas/person.xsd +0 -26
- package/data/apis/schema-api/types/DemoPerson.raml +0 -67
- package/data/apis/secured-api/oauth-2-custom-settings.raml +0 -143
- package/data/apis/secured-api/oauth2-header-delivery.raml +0 -13
- package/data/apis/secured-api/oauth2-no-delivery.raml +0 -8
- package/data/apis/secured-api/oauth2-no-grants.raml +0 -12
- package/data/apis/secured-api/oauth2-pkce.raml +0 -13
- package/data/apis/secured-api/oauth2-query-delivery.raml +0 -13
- package/data/apis/secured-api/oauth_1_0.raml +0 -8
- package/data/apis/secured-api/oauth_1_0_no-settings.raml +0 -3
- package/data/apis/secured-api/oauth_1_0_no-signature.raml +0 -7
- package/data/apis/secured-api/oauth_1_0_signature.raml +0 -8
- package/data/apis/secured-api/passthrough-querystring.raml +0 -16
- package/data/apis/secured-api/passthrough.raml +0 -24
- package/data/apis/secured-api/secured-api.raml +0 -231
- package/data/apis/secured-api/x-custom.raml +0 -33
- package/data/apis/secured-api/x-other.raml +0 -29
- package/data/apis/secured-api/x-query-string.raml +0 -16
- package/data/apis/tracked-examples/datatypes/employee.raml +0 -5
- package/data/apis/tracked-examples/examples/employee.raml +0 -4
- package/data/apis/tracked-examples/examples/employees.raml +0 -8
- package/data/apis/tracked-examples/tracked-to-linked.raml +0 -28
- package/data/model.js +0 -129
- package/data/models/APIC-187.json +0 -11416
- package/data/models/APIC-188.json +0 -11416
- package/data/models/APIC-233.json +0 -539
- package/data/models/APIC-391.json +0 -1903
- package/data/models/APIC-483.json +0 -3110
- package/data/models/APIC-487.json +0 -1225
- package/data/models/APIC-655.json +0 -3145
- package/data/models/APIC-689.json +0 -797
- package/data/models/APIC-690.json +0 -5992
- package/data/models/SE-10469.json +0 -22898
- package/data/models/SE-13092.json +0 -2769
- package/data/models/SE-22063.json +0 -2314
- package/data/models/amf-helper-api.json +0 -84457
- package/data/models/arc-demo-api.json +0 -52041
- package/data/models/async-api.json +0 -3227
- package/data/models/example-generator-api.json +0 -45209
- package/data/models/expanded-api.json +0 -251
- package/data/models/flattened-api.json +0 -251
- package/data/models/multiple-servers.json +0 -2769
- package/data/models/oas-3-api.json +0 -10590
- package/data/models/oas-date.json +0 -637
- package/data/models/oas-types.json +0 -5352
- package/data/models/oas-unions.json +0 -1935
- package/data/models/petstore.json +0 -27712
- package/data/models/raml-date.json +0 -1114
- package/data/models/recursive.json +0 -610
- package/data/models/schema-api.json +0 -35527
- package/data/models/secured-api.json +0 -21071
- package/data/models/tracked-to-linked.json +0 -1914
- package/src/amf/AmfMixin.ts +0 -1726
- package/src/amf/AmfSerializer.ts +0 -2358
- package/src/amf/AmfTypes.ts +0 -147
- package/src/amf/ApiExampleGenerator.ts +0 -122
- package/src/amf/ApiMonacoSchemaGenerator.ts +0 -332
- package/src/amf/ApiSchemaGenerator.ts +0 -115
- package/src/amf/ApiSchemaValues.ts +0 -509
- package/src/amf/Parsing.ts +0 -50
- package/src/amf/Utils.ts +0 -172
- package/src/amf/data-node/DataNodeBase.ts +0 -83
- package/src/amf/data-node/JsonDataNodeGenerator.ts +0 -24
- package/src/amf/data-node/README.md +0 -3
- package/src/amf/data-node/UrlEncodedDataNodeGenerator.ts +0 -49
- package/src/amf/data-node/XmlDataNodeGenerator.ts +0 -46
- package/src/amf/definitions/Amf.ts +0 -440
- package/src/amf/definitions/Api.ts +0 -445
- package/src/amf/definitions/Base.ts +0 -13
- package/src/amf/definitions/Namespace.ts +0 -357
- package/src/amf/definitions/Shapes.ts +0 -438
- package/src/amf/models/AmfDataNode.ts +0 -210
- package/src/amf/shape/README.md +0 -4
- package/src/amf/shape/ShapeBase.ts +0 -174
- package/src/amf/shape/ShapeJsonSchemaGenerator.ts +0 -457
- package/src/amf/shape/ShapeXmlSchemaGenerator.ts +0 -933
- package/src/events/amf/AmfEventTypes.ts +0 -6
- package/src/events/amf/AmfEvents.ts +0 -78
- package/src/mocking/RandExp.ts +0 -335
- package/src/mocking/lib/ret.ts +0 -279
- package/tests/unit/amf/APIC-187.spec.ts +0 -41
- package/tests/unit/amf/APIC-188.spec.ts +0 -30
- package/tests/unit/amf/APIC-233.spec.ts +0 -32
- package/tests/unit/amf/APIC-391.spec.ts +0 -39
- package/tests/unit/amf/APIC-487.spec.ts +0 -44
- package/tests/unit/amf/APIC-655.spec.ts +0 -41
- package/tests/unit/amf/APIC-689.spec.ts +0 -28
- package/tests/unit/amf/APIC-690.spec.ts +0 -93
- package/tests/unit/amf/AmfLoader.ts +0 -538
- package/tests/unit/amf/AmfMixin.spec.ts +0 -1707
- package/tests/unit/amf/ApiExampleGenerator.spec.ts +0 -250
- package/tests/unit/amf/ApiMonacoSchemaGenerator.spec.ts +0 -183
- package/tests/unit/amf/ApiSchemaValues.spec.ts +0 -602
- package/tests/unit/amf/Namepsace.spec.ts +0 -494
- package/tests/unit/amf/SE-10469.spec.ts +0 -35
- package/tests/unit/amf/SE-13092.spec.ts +0 -64
- package/tests/unit/amf/SE-22063.spec.ts +0 -45
- package/tests/unit/amf/raml-examples.spec.ts +0 -43
- package/tests/unit/amf/schema_gen_array.spec.ts +0 -199
- package/tests/unit/amf/schema_gen_oas.spec.ts +0 -140
- package/tests/unit/amf/schema_gen_object.spec.ts +0 -279
- package/tests/unit/amf/schema_gen_scalar.spec.ts +0 -143
- package/tests/unit/amf/schema_gen_union.spec.ts +0 -401
- package/tests/unit/amf/schema_gen_unknown.spec.ts +0 -42
- package/tests/unit/amf/schema_gen_xml.spec.ts +0 -726
- package/tests/unit/amf/serializer/APIC-483.spec.ts +0 -36
- package/tests/unit/amf/serializer/Anotations.spec.ts +0 -50
- package/tests/unit/amf/serializer/Api.spec.ts +0 -210
- package/tests/unit/amf/serializer/Documentation.spec.ts +0 -52
- package/tests/unit/amf/serializer/Endpoints.spec.ts +0 -172
- package/tests/unit/amf/serializer/Operations.spec.ts +0 -330
- package/tests/unit/amf/serializer/Parameters.spec.ts +0 -149
- package/tests/unit/amf/serializer/PayloadExamples.spec.ts +0 -152
- package/tests/unit/amf/serializer/Security.spec.ts +0 -626
- package/tests/unit/amf/serializer/Server.spec.ts +0 -78
- package/tests/unit/amf/serializer/Shapes.spec.ts +0 -304
- package/tests/unit/amf/serializer/SourceMaps.spec.ts +0 -52
- package/tests/unit/amf/shapes/ShapeXmlSchemaGenerator.spec.ts +0 -28
- package/tests/unit/amf/tracked-to-linked.spec.ts +0 -90
- package/tests/unit/amf/xml-data-processing.spec.ts +0 -217
- package/tests/unit/events/amf.spec.ts +0 -151
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpFlows.js","sourceRoot":"","sources":["../../../../src/runtime/http-runner/HttpFlows.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from '@esm-bundle/chai'\nimport { HttpRequest, IHttpRequest } from '../../models/HttpRequest.js'\nimport { ISentRequest } from '../../models/SentRequest.js'\nimport { CookieJar } from '../../cookies/CookieJar.js'\nimport { IResponse } from '../../models/Response.js'\nimport { ErrorResponse, IErrorResponse } from '../../models/ErrorResponse.js'\nimport { IHttpStep } from '../../models/http-flows/HttpStep.js'\nimport { FlowValue } from './HttpFlowRunner.js'\nimport { FlowRequestDataEnum, FlowResponseDataEnum, FlowSourceEnum } from '../../models/http-flows/HttpFlows.js'\nimport {\n IReadDataSourceStep,\n ReadDataSourceStep,\n ReadDataSourceStepKind,\n} from '../../models/http-flows/steps/data/ReadDataSourceStep.js'\nimport { IReadValueStep, ReadValueStep, ReadValueStepKind } from '../../models/http-flows/steps/data/ReadValueStep.js'\nimport { HttpCookie } from '../../models/HttpCookie.js'\nimport { HttpResponse } from '../../models/HttpResponse.js'\nimport { Headers } from '../../lib/headers/Headers.js'\nimport { DataExtractor } from '../../data/DataExtractor.js'\nimport { RequestDataExtractor } from '../../data/RequestDataExtractor.js'\nimport { SameSiteValue } from '../../cookies/CookieParser.js'\nimport { AsLowerCaseStepKind } from '../../models/http-flows/steps/transformation/AsLowerCaseStep.js'\nimport { AsUpperCaseStepKind } from '../../models/http-flows/steps/transformation/AsUpperCaseStep.js'\nimport { AsNumberStepKind } from '../../models/http-flows/steps/transformation/AsNumberStep.js'\nimport { IRoundStep, RoundStepKind } from '../../models/http-flows/steps/transformation/RoundStep.js'\nimport { ISubstringStep, SubstringStepKind } from '../../models/http-flows/steps/transformation/SubstringStep.js'\nimport { TrimStepKind } from '../../models/http-flows/steps/transformation/TrimStep.js'\nimport { EqualAssertionKind, IEqualAssertion } from '../../models/http-flows/steps/assertion/EqualAssertion.js'\nimport { INotEqualAssertion, NotEqualAssertionKind } from '../../models/http-flows/steps/assertion/NotEqualAssertion.js'\nimport { ApiSchemaValues } from '../../amf/ApiSchemaValues.js'\nimport {\n GreaterThanAssertionKind,\n IGreaterThanAssertion,\n} from '../../models/http-flows/steps/assertion/GreaterThanAssertion.js'\nimport { ILessThanAssertion, LessThanAssertionKind } from '../../models/http-flows/steps/assertion/LessThanAssertion.js'\nimport { IIncludesAssertion, IncludesAssertionKind } from '../../models/http-flows/steps/assertion/IncludesAssertion.js'\nimport {\n INotIncludesAssertion,\n NotIncludesAssertionKind,\n} from '../../models/http-flows/steps/assertion/NotIncludesAssertion.js'\nimport { OkAssertionKind } from '../../models/http-flows/steps/assertion/OkAssertion.js'\nimport { NotOkAssertionKind } from '../../models/http-flows/steps/assertion/NotOkAssertion.js'\nimport { IToBeAssertion, ToBeAssertionKind, ToBeTypes } from '../../models/http-flows/steps/assertion/ToBeAssertion.js'\nimport { INotToBeAssertion, NotToBeAssertionKind } from '../../models/http-flows/steps/assertion/NotToBeAssertion.js'\nimport { IsEmptyAssertionKind } from '../../models/http-flows/steps/assertion/IsEmptyAssertion.js'\nimport { IsNotEmptyAssertionKind } from '../../models/http-flows/steps/assertion/IsNotEmptyAssertion.js'\nimport { ILengthOfAssertion, LengthOfAssertionKind } from '../../models/http-flows/steps/assertion/LengthOfAssertion.js'\nimport { IReadDataStep, ReadDataStep, ReadDataStepKind } from '../../models/http-flows/steps/data/ReadDataStep.js'\nimport { ISetDataStep, SetDataStep, SetDataStepKind } from '../../models/http-flows/steps/data/SetDataStep.js'\nimport {\n ISetVariableStep,\n SetVariableStep,\n SetVariableStepKind,\n} from '../../models/http-flows/steps/data/SetVariableStep.js'\nimport { ISetCookieStep, SetCookieStep, SetCookieStepKind } from '../../models/http-flows/steps/data/SetCookieStep.js'\nimport {\n DeleteCookieStep,\n DeleteCookieStepKind,\n IDeleteCookieStep,\n} from '../../models/http-flows/steps/data/DeleteCookieStep.js'\n\nexport interface IStepValue {\n value: FlowValue\n type?: FlowRequestDataEnum | FlowResponseDataEnum\n bodyMime?: string\n}\n\n/**\n * A class that supports both assertions and flows.\n * The derived classes specializes in a specific user flow (either performing flow actions or running assertions).\n */\nexport class HttpFlows {\n /**\n * The cumulative list of all variables to be applied to the request and other properties.\n * The variables must be already processed for variables in values (evaluated).\n *\n * These variables are passed by reference. Changes made anywhere to the variables will result\n * with updating this list.\n */\n variables?: Record<string, string>\n\n /**\n * An instance of a cookie jar (store) to put/read cookies.\n */\n cookies?: CookieJar\n\n protected async runStep(\n request: ISentRequest | IHttpRequest,\n step: IHttpStep,\n input: IStepValue,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n switch (step.kind) {\n // data reading\n case ReadDataSourceStepKind:\n return this.readDataSource(request, step, response)\n case ReadValueStepKind:\n return this.readValue(input, step as IReadValueStep)\n case ReadDataStepKind:\n return this.runReadDataStep(input, step as IReadDataStep, request, response)\n case SetDataStepKind:\n return this.runSetDataStep(input, step as ISetDataStep)\n case SetVariableStepKind:\n return this.runSetVariableStep(input, step as ISetVariableStep)\n case SetCookieStepKind:\n return this.runSetCookieStep(input, step as ISetCookieStep, request)\n case DeleteCookieStepKind:\n return this.runDeleteCookieStep(input, step as IDeleteCookieStep, request)\n // transformations\n case AsLowerCaseStepKind:\n return this.toLowerCase(input)\n case AsUpperCaseStepKind:\n return this.toUpperCase(input)\n case AsNumberStepKind:\n return this.asNumber(input)\n case RoundStepKind:\n return this.round(input, step as IRoundStep)\n case TrimStepKind:\n return this.trim(input)\n case SubstringStepKind:\n return this.substring(input, step as ISubstringStep)\n // assertions\n case EqualAssertionKind:\n return this.assertEqual(input, step as IEqualAssertion)\n case NotEqualAssertionKind:\n return this.assertNotEqual(input, step as INotEqualAssertion)\n case GreaterThanAssertionKind:\n return this.assertGreaterThan(input, step as IGreaterThanAssertion)\n case LessThanAssertionKind:\n return this.assertLessThan(input, step as ILessThanAssertion)\n case IncludesAssertionKind:\n return this.assertIncludes(input, step as IIncludesAssertion)\n case NotIncludesAssertionKind:\n return this.assertNotIncludes(input, step as INotIncludesAssertion)\n case OkAssertionKind:\n return this.assertOk(input)\n case NotOkAssertionKind:\n return this.assertNotOk(input)\n case ToBeAssertionKind:\n return this.toBe(input, step as IToBeAssertion)\n case NotToBeAssertionKind:\n return this.notToBe(input, step as INotToBeAssertion)\n case IsEmptyAssertionKind:\n return this.isEmpty(input)\n case IsNotEmptyAssertionKind:\n return this.isNotEmpty(input)\n case LengthOfAssertionKind:\n return this.lengthOf(input, step as ILengthOfAssertion)\n default:\n return { value: undefined }\n }\n }\n\n /**\n * Produces the data source.\n */\n protected async readDataSource(\n request: ISentRequest | IHttpRequest,\n step: IReadDataSourceStep,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n const instance = new ReadDataSourceStep(step)\n if (instance.enabled === false || !instance.checkValidity()) {\n return { value: undefined }\n }\n const { source, data } = step\n if (data && [FlowRequestDataEnum.headers, FlowResponseDataEnum.headers].includes(data)) {\n return {\n value: DataExtractor.readHeaders(source === FlowSourceEnum.request ? request : response),\n type: data,\n }\n }\n if (data && [FlowRequestDataEnum.url, FlowResponseDataEnum.url].includes(data)) {\n return {\n value: request.method,\n type: data,\n }\n }\n\n if (source === FlowSourceEnum.request) {\n if (data === FlowRequestDataEnum.method) {\n return {\n value: request.method,\n type: data,\n }\n }\n if (data === FlowRequestDataEnum.body) {\n const instance = new HttpRequest(request)\n const value = await this.processBody(instance)\n return {\n ...value,\n type: data,\n }\n }\n }\n if (source === FlowSourceEnum.response) {\n if (!response) {\n return {\n type: data,\n value: undefined,\n }\n }\n if (data === FlowResponseDataEnum.status) {\n return {\n value: response.status,\n type: data,\n }\n }\n if (data === FlowResponseDataEnum.statusText) {\n return {\n value: response.statusText,\n type: data,\n }\n }\n if (data === FlowResponseDataEnum.body) {\n let instance: ErrorResponse | HttpResponse\n if (ErrorResponse.isErrorResponse(response)) {\n instance = new ErrorResponse(response as IErrorResponse)\n } else {\n instance = new HttpResponse(response)\n }\n const value = await this.processBody(instance)\n return {\n ...value,\n type: data,\n }\n }\n }\n return { value: undefined }\n }\n\n protected async processBody(input: HttpRequest | HttpResponse | ErrorResponse): Promise<IStepValue> {\n const { headers } = input\n if (!headers) {\n return { value: undefined }\n }\n const body = await input.readPayloadAsString()\n if (!body) {\n return { value: undefined }\n }\n\n const parser = new Headers(headers)\n const mime = parser.get('content-type')\n if (!mime) {\n return { value: undefined }\n }\n return {\n value: body,\n bodyMime: mime,\n }\n }\n\n /**\n * Produces the value from the current input.\n */\n protected async readValue(input: IStepValue, step: IReadValueStep): Promise<IStepValue> {\n const instance = new ReadValueStep(step)\n if (instance.enabled === false || !instance.checkValidity() || input.value === undefined || input.value === null) {\n return { value: undefined }\n }\n const { path } = step\n const { type, value } = input\n const args = path ? path.split('.') : []\n if (type === FlowRequestDataEnum.url || type === FlowResponseDataEnum.url) {\n if (!value) {\n return { value: undefined }\n }\n const v = String(input.value)\n return {\n value: DataExtractor.getDataUrl(v, args),\n }\n }\n if (type === FlowRequestDataEnum.headers || type === FlowResponseDataEnum.headers) {\n if (!value) {\n return { value: undefined }\n }\n const v = String(input.value)\n return {\n value: DataExtractor.getDataHeaders(v, args),\n }\n }\n if (type === FlowRequestDataEnum.body || type === FlowResponseDataEnum.body) {\n if (!input.bodyMime || !path) {\n return { value: undefined }\n }\n const readValue = await DataExtractor.extractBody(String(value), input.bodyMime, path)\n return {\n value: readValue,\n }\n }\n if (type === FlowResponseDataEnum.status) {\n const v = Number(input.value)\n if (Number.isNaN(v)) {\n return { value: undefined }\n }\n return {\n value: v,\n }\n }\n\n if (type === FlowResponseDataEnum.statusText) {\n if (!value) {\n return { value: undefined }\n }\n return {\n value,\n }\n }\n return { value: undefined }\n }\n\n protected async toLowerCase(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { value: value.toLowerCase() }\n }\n\n protected async toUpperCase(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { value: value.toUpperCase() }\n }\n\n protected async asNumber(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n const parsed = Number(value)\n if (Number.isNaN(parsed)) {\n return { value: undefined }\n }\n return { value: parsed }\n }\n\n protected async round(input: IStepValue, step: IRoundStep): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n const parsed = typeof input.value === 'number' ? input.value : Number(value)\n if (Number.isNaN(parsed)) {\n return { value: undefined }\n }\n return { value: parsed.toFixed(step.precision) }\n }\n\n protected async trim(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { ...input, value: value.trim() }\n }\n\n protected async substring(input: IStepValue, step: ISubstringStep): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n if (typeof step.start !== 'number') {\n return input\n }\n const value = String(input.value)\n return { ...input, value: value.substring(step.start, step.end) }\n }\n\n protected async assertEqual(input: IStepValue, step: IEqualAssertion): Promise<IStepValue> {\n const { value } = input\n if (step.strict) {\n const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType)\n assert.strictEqual(value, comparator)\n } else {\n assert.equal(String(value), step.value)\n }\n return input\n }\n\n protected async assertNotEqual(input: IStepValue, step: INotEqualAssertion): Promise<IStepValue> {\n const { value } = input\n if (step.strict) {\n const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType)\n assert.notStrictEqual(value, comparator)\n } else {\n assert.notEqual(value, step.value)\n }\n return input\n }\n\n protected async assertGreaterThan(input: IStepValue, step: IGreaterThanAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, 'number')\n const value = input.value as number\n if (step.equal) {\n assert.isAtLeast(value as number, step.value as number)\n } else {\n assert.isAbove(value as number, step.value as number)\n }\n return input\n }\n\n protected async assertLessThan(input: IStepValue, step: ILessThanAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, 'number')\n const value = input.value as number\n if (step.equal) {\n assert.isAtMost(value, step.value as number)\n } else {\n assert.isBelow(value, step.value as number)\n }\n return input\n }\n\n protected async assertIncludes(input: IStepValue, step: IIncludesAssertion): Promise<IStepValue> {\n if (this.isPrimitive(input.value)) {\n assert.include(String(input.value), String(step.value))\n } else {\n assert.include(JSON.stringify(input.value), String(step.value))\n }\n return input\n }\n\n protected async assertNotIncludes(input: IStepValue, step: INotIncludesAssertion): Promise<IStepValue> {\n if (this.isPrimitive(input.value)) {\n assert.notInclude(String(input.value), String(step.value))\n } else {\n assert.notInclude(JSON.stringify(input.value), String(step.value))\n }\n return input\n }\n\n protected async assertOk(input: IStepValue): Promise<IStepValue> {\n assert.ok(input.value)\n return input\n }\n\n protected async assertNotOk(input: IStepValue): Promise<IStepValue> {\n assert.notOk(input.value)\n return input\n }\n\n protected async toBe(input: IStepValue, step: IToBeAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, step.value as string)\n return input\n }\n\n protected async notToBe(input: IStepValue, step: INotToBeAssertion): Promise<IStepValue> {\n if (Array.isArray(input.value) && step.value === ToBeTypes.object) {\n assert(false, 'expected [Array] to be an object')\n }\n assert.notTypeOf(input.value, step.value as string)\n return input\n }\n\n protected async isEmpty(input: IStepValue): Promise<IStepValue> {\n assert.isEmpty(input.value)\n return input\n }\n\n protected async isNotEmpty(input: IStepValue): Promise<IStepValue> {\n assert.isNotEmpty(input.value)\n return input\n }\n\n protected async lengthOf(input: IStepValue, step: ILengthOfAssertion): Promise<IStepValue> {\n assert.lengthOf(input.value as unknown[], step.value as number)\n return input\n }\n\n protected isPrimitive(value: unknown): boolean {\n return (typeof value !== 'object' && typeof value !== 'function') || value === null\n }\n\n /**\n * A step that reads data from the request, response, or variables.\n *\n * @param step The step configuration.\n * @param request The HttpRequest or the SentRequest (for responses)\n * @param response When available, the response data\n * @returns The read value or undefined.\n */\n async runReadDataStep(\n input: IStepValue,\n step: IReadDataStep,\n request: IHttpRequest | ISentRequest,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n const instance = new ReadDataStep(step)\n\n if (instance.enabled === false || !instance.checkValidity()) {\n return input\n }\n const { source, data, path } = step\n if (source === FlowSourceEnum.request) {\n const extractor = new RequestDataExtractor(request)\n const value = await extractor.extract(source, data, path)\n return { ...input, value }\n }\n\n if (source === FlowSourceEnum.response) {\n const extractor = new RequestDataExtractor(request, response)\n const value = await extractor.extract(source, data, path)\n return { ...input, value }\n }\n\n if (source === FlowSourceEnum.variable && path && this.variables) {\n const value = this.variables[path]\n return { ...input, value }\n }\n\n return { ...input, value: undefined }\n }\n\n /**\n * A step that returns a pre-configured value.\n *\n * @param step The step configuration.\n * @returns The read value with applied data type.\n */\n runSetDataStep(input: IStepValue, step: ISetDataStep): IStepValue {\n const instance = new SetDataStep(step)\n if (instance.enabled === false || !instance.checkValidity()) {\n return input\n }\n const { value, dataType } = step\n if (value === null || value === undefined) {\n return { ...input, value: undefined }\n }\n const result = ApiSchemaValues.parseScalar(value, dataType)\n return {\n ...input,\n value: result,\n }\n }\n\n /**\n * A step that sets a variable in the current environment.\n * Note, this passes the step value through.\n *\n * @param step The step configuration.\n * @param value The value to set. A value that is `null` or `undefined` deletes the variable.\n */\n runSetVariableStep(input: IStepValue, step: ISetVariableStep): IStepValue {\n const instance = new SetVariableStep(step)\n if (instance.enabled === false || !instance.checkValidity() || !this.variables) {\n return input\n }\n if (input.value === null || input.value === undefined) {\n return input\n }\n const { name } = step\n this.variables[name] = String(input.value)\n return input\n }\n\n /**\n * A step that sets a cookie.\n * Note, this passes the step value through.\n *\n * @param step The step configuration.\n * @param value The value to sent on the cookie.\n * @param request The request object.\n */\n async runSetCookieStep(\n input: IStepValue,\n step: ISetCookieStep,\n request: IHttpRequest | ISentRequest\n ): Promise<IStepValue> {\n const instance = new SetCookieStep(step)\n const { cookies } = this\n if (instance.enabled === false || !instance.checkValidity() || !cookies) {\n return input\n }\n if (input.value === null || input.value === undefined) {\n return input\n }\n const { name, expires, hostOnly, httpOnly, sameSite, secure, session } = step\n const typedValue = String(input.value)\n let url: string\n if (step.url) {\n url = step.url\n } else {\n url = request.url\n }\n const cookie = new HttpCookie({\n name: name,\n value: typedValue,\n sameSite: 'unspecified',\n })\n\n if (sameSite) {\n const typed = sameSite as SameSiteValue\n switch (typed.toLowerCase()) {\n case 'lax':\n cookie.sameSite = 'lax'\n break\n case 'strict':\n cookie.sameSite = 'strict'\n break\n case 'none':\n cookie.sameSite = 'no_restriction'\n break\n }\n }\n if (expires) {\n cookie.expirationDate = expires\n }\n if (typeof hostOnly === 'boolean') {\n cookie.hostOnly = hostOnly\n }\n if (typeof httpOnly === 'boolean') {\n cookie.httpOnly = httpOnly\n }\n if (typeof secure === 'boolean') {\n cookie.secure = secure\n }\n if (typeof session === 'boolean') {\n cookie.session = session\n }\n await cookies.setCookies(url, [cookie])\n return input\n }\n\n /**\n * A step to delete cookies from the cookie jar.\n *\n * Note, this passes the step value through.\n */\n async runDeleteCookieStep(\n input: IStepValue,\n step: IDeleteCookieStep,\n request: IHttpRequest | ISentRequest\n ): Promise<IStepValue> {\n const instance = new DeleteCookieStep(step)\n const { cookies } = this\n if (instance.enabled === false || !instance.checkValidity() || !cookies) {\n return input\n }\n let url: string\n if (step.url) {\n url = step.url\n } else {\n url = request.url\n }\n await cookies.deleteCookies(url, step.name)\n return input\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpFlows.js","sourceRoot":"","sources":["../../../../src/runtime/http-runner/HttpFlows.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from '@esm-bundle/chai'\nimport { HttpRequest, IHttpRequest } from '../../models/HttpRequest.js'\nimport { ISentRequest } from '../../models/SentRequest.js'\nimport { CookieJar } from '../../cookies/CookieJar.js'\nimport { IResponse } from '../../models/Response.js'\nimport { ErrorResponse, IErrorResponse } from '../../models/ErrorResponse.js'\nimport { IHttpStep } from '../../models/http-flows/HttpStep.js'\nimport { FlowValue } from './HttpFlowRunner.js'\nimport { FlowRequestDataEnum, FlowResponseDataEnum, FlowSourceEnum } from '../../models/http-flows/HttpFlows.js'\nimport {\n IReadDataSourceStep,\n ReadDataSourceStep,\n ReadDataSourceStepKind,\n} from '../../models/http-flows/steps/data/ReadDataSourceStep.js'\nimport { IReadValueStep, ReadValueStep, ReadValueStepKind } from '../../models/http-flows/steps/data/ReadValueStep.js'\nimport { HttpCookie } from '../../models/HttpCookie.js'\nimport { HttpResponse } from '../../models/HttpResponse.js'\nimport { Headers } from '../../lib/headers/Headers.js'\nimport { DataExtractor } from '../../data/DataExtractor.js'\nimport { RequestDataExtractor } from '../../data/RequestDataExtractor.js'\nimport { SameSiteValue } from '../../cookies/CookieParser.js'\nimport { AsLowerCaseStepKind } from '../../models/http-flows/steps/transformation/AsLowerCaseStep.js'\nimport { AsUpperCaseStepKind } from '../../models/http-flows/steps/transformation/AsUpperCaseStep.js'\nimport { AsNumberStepKind } from '../../models/http-flows/steps/transformation/AsNumberStep.js'\nimport { IRoundStep, RoundStepKind } from '../../models/http-flows/steps/transformation/RoundStep.js'\nimport { ISubstringStep, SubstringStepKind } from '../../models/http-flows/steps/transformation/SubstringStep.js'\nimport { TrimStepKind } from '../../models/http-flows/steps/transformation/TrimStep.js'\nimport { EqualAssertionKind, IEqualAssertion } from '../../models/http-flows/steps/assertion/EqualAssertion.js'\nimport { INotEqualAssertion, NotEqualAssertionKind } from '../../models/http-flows/steps/assertion/NotEqualAssertion.js'\nimport { ApiSchemaValues } from '@api-client/amf-core'\nimport {\n GreaterThanAssertionKind,\n IGreaterThanAssertion,\n} from '../../models/http-flows/steps/assertion/GreaterThanAssertion.js'\nimport { ILessThanAssertion, LessThanAssertionKind } from '../../models/http-flows/steps/assertion/LessThanAssertion.js'\nimport { IIncludesAssertion, IncludesAssertionKind } from '../../models/http-flows/steps/assertion/IncludesAssertion.js'\nimport {\n INotIncludesAssertion,\n NotIncludesAssertionKind,\n} from '../../models/http-flows/steps/assertion/NotIncludesAssertion.js'\nimport { OkAssertionKind } from '../../models/http-flows/steps/assertion/OkAssertion.js'\nimport { NotOkAssertionKind } from '../../models/http-flows/steps/assertion/NotOkAssertion.js'\nimport { IToBeAssertion, ToBeAssertionKind, ToBeTypes } from '../../models/http-flows/steps/assertion/ToBeAssertion.js'\nimport { INotToBeAssertion, NotToBeAssertionKind } from '../../models/http-flows/steps/assertion/NotToBeAssertion.js'\nimport { IsEmptyAssertionKind } from '../../models/http-flows/steps/assertion/IsEmptyAssertion.js'\nimport { IsNotEmptyAssertionKind } from '../../models/http-flows/steps/assertion/IsNotEmptyAssertion.js'\nimport { ILengthOfAssertion, LengthOfAssertionKind } from '../../models/http-flows/steps/assertion/LengthOfAssertion.js'\nimport { IReadDataStep, ReadDataStep, ReadDataStepKind } from '../../models/http-flows/steps/data/ReadDataStep.js'\nimport { ISetDataStep, SetDataStep, SetDataStepKind } from '../../models/http-flows/steps/data/SetDataStep.js'\nimport {\n ISetVariableStep,\n SetVariableStep,\n SetVariableStepKind,\n} from '../../models/http-flows/steps/data/SetVariableStep.js'\nimport { ISetCookieStep, SetCookieStep, SetCookieStepKind } from '../../models/http-flows/steps/data/SetCookieStep.js'\nimport {\n DeleteCookieStep,\n DeleteCookieStepKind,\n IDeleteCookieStep,\n} from '../../models/http-flows/steps/data/DeleteCookieStep.js'\n\nexport interface IStepValue {\n value: FlowValue\n type?: FlowRequestDataEnum | FlowResponseDataEnum\n bodyMime?: string\n}\n\n/**\n * A class that supports both assertions and flows.\n * The derived classes specializes in a specific user flow (either performing flow actions or running assertions).\n */\nexport class HttpFlows {\n /**\n * The cumulative list of all variables to be applied to the request and other properties.\n * The variables must be already processed for variables in values (evaluated).\n *\n * These variables are passed by reference. Changes made anywhere to the variables will result\n * with updating this list.\n */\n variables?: Record<string, string>\n\n /**\n * An instance of a cookie jar (store) to put/read cookies.\n */\n cookies?: CookieJar\n\n protected async runStep(\n request: ISentRequest | IHttpRequest,\n step: IHttpStep,\n input: IStepValue,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n switch (step.kind) {\n // data reading\n case ReadDataSourceStepKind:\n return this.readDataSource(request, step, response)\n case ReadValueStepKind:\n return this.readValue(input, step as IReadValueStep)\n case ReadDataStepKind:\n return this.runReadDataStep(input, step as IReadDataStep, request, response)\n case SetDataStepKind:\n return this.runSetDataStep(input, step as ISetDataStep)\n case SetVariableStepKind:\n return this.runSetVariableStep(input, step as ISetVariableStep)\n case SetCookieStepKind:\n return this.runSetCookieStep(input, step as ISetCookieStep, request)\n case DeleteCookieStepKind:\n return this.runDeleteCookieStep(input, step as IDeleteCookieStep, request)\n // transformations\n case AsLowerCaseStepKind:\n return this.toLowerCase(input)\n case AsUpperCaseStepKind:\n return this.toUpperCase(input)\n case AsNumberStepKind:\n return this.asNumber(input)\n case RoundStepKind:\n return this.round(input, step as IRoundStep)\n case TrimStepKind:\n return this.trim(input)\n case SubstringStepKind:\n return this.substring(input, step as ISubstringStep)\n // assertions\n case EqualAssertionKind:\n return this.assertEqual(input, step as IEqualAssertion)\n case NotEqualAssertionKind:\n return this.assertNotEqual(input, step as INotEqualAssertion)\n case GreaterThanAssertionKind:\n return this.assertGreaterThan(input, step as IGreaterThanAssertion)\n case LessThanAssertionKind:\n return this.assertLessThan(input, step as ILessThanAssertion)\n case IncludesAssertionKind:\n return this.assertIncludes(input, step as IIncludesAssertion)\n case NotIncludesAssertionKind:\n return this.assertNotIncludes(input, step as INotIncludesAssertion)\n case OkAssertionKind:\n return this.assertOk(input)\n case NotOkAssertionKind:\n return this.assertNotOk(input)\n case ToBeAssertionKind:\n return this.toBe(input, step as IToBeAssertion)\n case NotToBeAssertionKind:\n return this.notToBe(input, step as INotToBeAssertion)\n case IsEmptyAssertionKind:\n return this.isEmpty(input)\n case IsNotEmptyAssertionKind:\n return this.isNotEmpty(input)\n case LengthOfAssertionKind:\n return this.lengthOf(input, step as ILengthOfAssertion)\n default:\n return { value: undefined }\n }\n }\n\n /**\n * Produces the data source.\n */\n protected async readDataSource(\n request: ISentRequest | IHttpRequest,\n step: IReadDataSourceStep,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n const instance = new ReadDataSourceStep(step)\n if (instance.enabled === false || !instance.checkValidity()) {\n return { value: undefined }\n }\n const { source, data } = step\n if (data && [FlowRequestDataEnum.headers, FlowResponseDataEnum.headers].includes(data)) {\n return {\n value: DataExtractor.readHeaders(source === FlowSourceEnum.request ? request : response),\n type: data,\n }\n }\n if (data && [FlowRequestDataEnum.url, FlowResponseDataEnum.url].includes(data)) {\n return {\n value: request.method,\n type: data,\n }\n }\n\n if (source === FlowSourceEnum.request) {\n if (data === FlowRequestDataEnum.method) {\n return {\n value: request.method,\n type: data,\n }\n }\n if (data === FlowRequestDataEnum.body) {\n const instance = new HttpRequest(request)\n const value = await this.processBody(instance)\n return {\n ...value,\n type: data,\n }\n }\n }\n if (source === FlowSourceEnum.response) {\n if (!response) {\n return {\n type: data,\n value: undefined,\n }\n }\n if (data === FlowResponseDataEnum.status) {\n return {\n value: response.status,\n type: data,\n }\n }\n if (data === FlowResponseDataEnum.statusText) {\n return {\n value: response.statusText,\n type: data,\n }\n }\n if (data === FlowResponseDataEnum.body) {\n let instance: ErrorResponse | HttpResponse\n if (ErrorResponse.isErrorResponse(response)) {\n instance = new ErrorResponse(response as IErrorResponse)\n } else {\n instance = new HttpResponse(response)\n }\n const value = await this.processBody(instance)\n return {\n ...value,\n type: data,\n }\n }\n }\n return { value: undefined }\n }\n\n protected async processBody(input: HttpRequest | HttpResponse | ErrorResponse): Promise<IStepValue> {\n const { headers } = input\n if (!headers) {\n return { value: undefined }\n }\n const body = await input.readPayloadAsString()\n if (!body) {\n return { value: undefined }\n }\n\n const parser = new Headers(headers)\n const mime = parser.get('content-type')\n if (!mime) {\n return { value: undefined }\n }\n return {\n value: body,\n bodyMime: mime,\n }\n }\n\n /**\n * Produces the value from the current input.\n */\n protected async readValue(input: IStepValue, step: IReadValueStep): Promise<IStepValue> {\n const instance = new ReadValueStep(step)\n if (instance.enabled === false || !instance.checkValidity() || input.value === undefined || input.value === null) {\n return { value: undefined }\n }\n const { path } = step\n const { type, value } = input\n const args = path ? path.split('.') : []\n if (type === FlowRequestDataEnum.url || type === FlowResponseDataEnum.url) {\n if (!value) {\n return { value: undefined }\n }\n const v = String(input.value)\n return {\n value: DataExtractor.getDataUrl(v, args),\n }\n }\n if (type === FlowRequestDataEnum.headers || type === FlowResponseDataEnum.headers) {\n if (!value) {\n return { value: undefined }\n }\n const v = String(input.value)\n return {\n value: DataExtractor.getDataHeaders(v, args),\n }\n }\n if (type === FlowRequestDataEnum.body || type === FlowResponseDataEnum.body) {\n if (!input.bodyMime || !path) {\n return { value: undefined }\n }\n const readValue = await DataExtractor.extractBody(String(value), input.bodyMime, path)\n return {\n value: readValue,\n }\n }\n if (type === FlowResponseDataEnum.status) {\n const v = Number(input.value)\n if (Number.isNaN(v)) {\n return { value: undefined }\n }\n return {\n value: v,\n }\n }\n\n if (type === FlowResponseDataEnum.statusText) {\n if (!value) {\n return { value: undefined }\n }\n return {\n value,\n }\n }\n return { value: undefined }\n }\n\n protected async toLowerCase(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { value: value.toLowerCase() }\n }\n\n protected async toUpperCase(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { value: value.toUpperCase() }\n }\n\n protected async asNumber(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n const parsed = Number(value)\n if (Number.isNaN(parsed)) {\n return { value: undefined }\n }\n return { value: parsed }\n }\n\n protected async round(input: IStepValue, step: IRoundStep): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n const parsed = typeof input.value === 'number' ? input.value : Number(value)\n if (Number.isNaN(parsed)) {\n return { value: undefined }\n }\n return { value: parsed.toFixed(step.precision) }\n }\n\n protected async trim(input: IStepValue): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n const value = String(input.value)\n return { ...input, value: value.trim() }\n }\n\n protected async substring(input: IStepValue, step: ISubstringStep): Promise<IStepValue> {\n if (input.value === null || input.value === undefined) {\n return { value: undefined }\n }\n if (typeof step.start !== 'number') {\n return input\n }\n const value = String(input.value)\n return { ...input, value: value.substring(step.start, step.end) }\n }\n\n protected async assertEqual(input: IStepValue, step: IEqualAssertion): Promise<IStepValue> {\n const { value } = input\n if (step.strict) {\n const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType)\n assert.strictEqual(value, comparator)\n } else {\n assert.equal(String(value), step.value)\n }\n return input\n }\n\n protected async assertNotEqual(input: IStepValue, step: INotEqualAssertion): Promise<IStepValue> {\n const { value } = input\n if (step.strict) {\n const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType)\n assert.notStrictEqual(value, comparator)\n } else {\n assert.notEqual(value, step.value)\n }\n return input\n }\n\n protected async assertGreaterThan(input: IStepValue, step: IGreaterThanAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, 'number')\n const value = input.value as number\n if (step.equal) {\n assert.isAtLeast(value as number, step.value as number)\n } else {\n assert.isAbove(value as number, step.value as number)\n }\n return input\n }\n\n protected async assertLessThan(input: IStepValue, step: ILessThanAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, 'number')\n const value = input.value as number\n if (step.equal) {\n assert.isAtMost(value, step.value as number)\n } else {\n assert.isBelow(value, step.value as number)\n }\n return input\n }\n\n protected async assertIncludes(input: IStepValue, step: IIncludesAssertion): Promise<IStepValue> {\n if (this.isPrimitive(input.value)) {\n assert.include(String(input.value), String(step.value))\n } else {\n assert.include(JSON.stringify(input.value), String(step.value))\n }\n return input\n }\n\n protected async assertNotIncludes(input: IStepValue, step: INotIncludesAssertion): Promise<IStepValue> {\n if (this.isPrimitive(input.value)) {\n assert.notInclude(String(input.value), String(step.value))\n } else {\n assert.notInclude(JSON.stringify(input.value), String(step.value))\n }\n return input\n }\n\n protected async assertOk(input: IStepValue): Promise<IStepValue> {\n assert.ok(input.value)\n return input\n }\n\n protected async assertNotOk(input: IStepValue): Promise<IStepValue> {\n assert.notOk(input.value)\n return input\n }\n\n protected async toBe(input: IStepValue, step: IToBeAssertion): Promise<IStepValue> {\n assert.typeOf(input.value, step.value as string)\n return input\n }\n\n protected async notToBe(input: IStepValue, step: INotToBeAssertion): Promise<IStepValue> {\n if (Array.isArray(input.value) && step.value === ToBeTypes.object) {\n assert(false, 'expected [Array] to be an object')\n }\n assert.notTypeOf(input.value, step.value as string)\n return input\n }\n\n protected async isEmpty(input: IStepValue): Promise<IStepValue> {\n assert.isEmpty(input.value)\n return input\n }\n\n protected async isNotEmpty(input: IStepValue): Promise<IStepValue> {\n assert.isNotEmpty(input.value)\n return input\n }\n\n protected async lengthOf(input: IStepValue, step: ILengthOfAssertion): Promise<IStepValue> {\n assert.lengthOf(input.value as unknown[], step.value as number)\n return input\n }\n\n protected isPrimitive(value: unknown): boolean {\n return (typeof value !== 'object' && typeof value !== 'function') || value === null\n }\n\n /**\n * A step that reads data from the request, response, or variables.\n *\n * @param step The step configuration.\n * @param request The HttpRequest or the SentRequest (for responses)\n * @param response When available, the response data\n * @returns The read value or undefined.\n */\n async runReadDataStep(\n input: IStepValue,\n step: IReadDataStep,\n request: IHttpRequest | ISentRequest,\n response?: IResponse | IErrorResponse\n ): Promise<IStepValue> {\n const instance = new ReadDataStep(step)\n\n if (instance.enabled === false || !instance.checkValidity()) {\n return input\n }\n const { source, data, path } = step\n if (source === FlowSourceEnum.request) {\n const extractor = new RequestDataExtractor(request)\n const value = await extractor.extract(source, data, path)\n return { ...input, value }\n }\n\n if (source === FlowSourceEnum.response) {\n const extractor = new RequestDataExtractor(request, response)\n const value = await extractor.extract(source, data, path)\n return { ...input, value }\n }\n\n if (source === FlowSourceEnum.variable && path && this.variables) {\n const value = this.variables[path]\n return { ...input, value }\n }\n\n return { ...input, value: undefined }\n }\n\n /**\n * A step that returns a pre-configured value.\n *\n * @param step The step configuration.\n * @returns The read value with applied data type.\n */\n runSetDataStep(input: IStepValue, step: ISetDataStep): IStepValue {\n const instance = new SetDataStep(step)\n if (instance.enabled === false || !instance.checkValidity()) {\n return input\n }\n const { value, dataType } = step\n if (value === null || value === undefined) {\n return { ...input, value: undefined }\n }\n const result = ApiSchemaValues.parseScalar(value, dataType)\n return {\n ...input,\n value: result,\n }\n }\n\n /**\n * A step that sets a variable in the current environment.\n * Note, this passes the step value through.\n *\n * @param step The step configuration.\n * @param value The value to set. A value that is `null` or `undefined` deletes the variable.\n */\n runSetVariableStep(input: IStepValue, step: ISetVariableStep): IStepValue {\n const instance = new SetVariableStep(step)\n if (instance.enabled === false || !instance.checkValidity() || !this.variables) {\n return input\n }\n if (input.value === null || input.value === undefined) {\n return input\n }\n const { name } = step\n this.variables[name] = String(input.value)\n return input\n }\n\n /**\n * A step that sets a cookie.\n * Note, this passes the step value through.\n *\n * @param step The step configuration.\n * @param value The value to sent on the cookie.\n * @param request The request object.\n */\n async runSetCookieStep(\n input: IStepValue,\n step: ISetCookieStep,\n request: IHttpRequest | ISentRequest\n ): Promise<IStepValue> {\n const instance = new SetCookieStep(step)\n const { cookies } = this\n if (instance.enabled === false || !instance.checkValidity() || !cookies) {\n return input\n }\n if (input.value === null || input.value === undefined) {\n return input\n }\n const { name, expires, hostOnly, httpOnly, sameSite, secure, session } = step\n const typedValue = String(input.value)\n let url: string\n if (step.url) {\n url = step.url\n } else {\n url = request.url\n }\n const cookie = new HttpCookie({\n name: name,\n value: typedValue,\n sameSite: 'unspecified',\n })\n\n if (sameSite) {\n const typed = sameSite as SameSiteValue\n switch (typed.toLowerCase()) {\n case 'lax':\n cookie.sameSite = 'lax'\n break\n case 'strict':\n cookie.sameSite = 'strict'\n break\n case 'none':\n cookie.sameSite = 'no_restriction'\n break\n }\n }\n if (expires) {\n cookie.expirationDate = expires\n }\n if (typeof hostOnly === 'boolean') {\n cookie.hostOnly = hostOnly\n }\n if (typeof httpOnly === 'boolean') {\n cookie.httpOnly = httpOnly\n }\n if (typeof secure === 'boolean') {\n cookie.secure = secure\n }\n if (typeof session === 'boolean') {\n cookie.session = session\n }\n await cookies.setCookies(url, [cookie])\n return input\n }\n\n /**\n * A step to delete cookies from the cookie jar.\n *\n * Note, this passes the step value through.\n */\n async runDeleteCookieStep(\n input: IStepValue,\n step: IDeleteCookieStep,\n request: IHttpRequest | ISentRequest\n ): Promise<IStepValue> {\n const instance = new DeleteCookieStep(step)\n const { cookies } = this\n if (instance.enabled === false || !instance.checkValidity() || !cookies) {\n return input\n }\n let url: string\n if (step.url) {\n url = step.url\n } else {\n url = request.url\n }\n await cookies.deleteCookies(url, step.name)\n return input\n }\n}\n"]}
|