@api-client/core 0.19.10 → 0.19.11
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 +0 -15
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js +0 -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 +0 -15
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +0 -17
- package/build/src/index.js.map +1 -1
- 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/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/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/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/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/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/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
package/eslint.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@api-client/core",
|
|
3
3
|
"description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
|
|
4
|
-
"version": "0.19.
|
|
5
|
-
"license": "
|
|
4
|
+
"version": "0.19.11",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./browser.js": {
|
|
8
8
|
"default": "./build/src/browser.js",
|
|
@@ -19,8 +19,6 @@
|
|
|
19
19
|
},
|
|
20
20
|
"./package.json": "./package.json",
|
|
21
21
|
"./nanoid.js": "./build/src/nanoid.js",
|
|
22
|
-
"./amf/*.js": "./build/src/amf/*.js",
|
|
23
|
-
"./amf/*": "./build/src/amf/*",
|
|
24
22
|
"./authorization/*.js": "./build/src/authorization/*.js",
|
|
25
23
|
"./authorization/*": "./build/src/authorization/*",
|
|
26
24
|
"./config/*.js": "./build/src/config/*.js",
|
|
@@ -53,7 +51,6 @@
|
|
|
53
51
|
"./testing/*": "./build/src/testing/*"
|
|
54
52
|
},
|
|
55
53
|
"imports": {
|
|
56
|
-
"#amf/*": "./src/amf/*",
|
|
57
54
|
"#authorization/*": "./src/authorization/*",
|
|
58
55
|
"#cookies/*": "./src/cookies/*",
|
|
59
56
|
"#data/*": "./src/data/*",
|
|
@@ -84,6 +81,7 @@
|
|
|
84
81
|
"url": "https://github.com/api-client/core/issues"
|
|
85
82
|
},
|
|
86
83
|
"dependencies": {
|
|
84
|
+
"@api-client/amf-core": "^0.1.2",
|
|
87
85
|
"@api-client/graph": "^0.3.5",
|
|
88
86
|
"@api-client/json": "^0.2.0",
|
|
89
87
|
"@esm-bundle/chai": "^4.3.4-fix.0",
|
|
@@ -95,7 +93,6 @@
|
|
|
95
93
|
"@pawel-up/data-mock": "^0.4.0",
|
|
96
94
|
"@pawel-up/jexl": "^4.0.1",
|
|
97
95
|
"@xmldom/xmldom": "^0.8.11",
|
|
98
|
-
"amf-json-ld-lib": "^0.0.15",
|
|
99
96
|
"chalk": "^5.4.1",
|
|
100
97
|
"console-table-printer": "^2.11.2",
|
|
101
98
|
"dompurify": "^3.2.6",
|
|
@@ -109,10 +106,7 @@
|
|
|
109
106
|
"@commitlint/cli": "^20.1.0",
|
|
110
107
|
"@commitlint/config-conventional": "^20.0.0",
|
|
111
108
|
"@eslint/js": "^10.0.1",
|
|
112
|
-
"@japa/api-client": "^3.0.3",
|
|
113
109
|
"@japa/assert": "^4.0.1",
|
|
114
|
-
"@japa/browser-client": "^2.1.1",
|
|
115
|
-
"@japa/expect-type": "^2.0.3",
|
|
116
110
|
"@japa/runner": "^5.3.0",
|
|
117
111
|
"@pawel-up/semver": "^0.1.4",
|
|
118
112
|
"@types/chai-as-promised": "^8.0.2",
|
|
@@ -128,7 +122,6 @@
|
|
|
128
122
|
"@web/dev-server-rollup": "^0.6.4",
|
|
129
123
|
"@web/test-runner": "^0.20.0",
|
|
130
124
|
"@web/test-runner-playwright": "^0.11.0",
|
|
131
|
-
"amf-client-js": "^5.10.0-0",
|
|
132
125
|
"c8": "^11.0.0",
|
|
133
126
|
"chai-as-promised": "^8.0.2",
|
|
134
127
|
"conventional-changelog": "^7.1.0",
|
|
@@ -148,7 +141,6 @@
|
|
|
148
141
|
"prettier": "^3.5.1",
|
|
149
142
|
"schema-org-json-schemas": "^2.1.4",
|
|
150
143
|
"sinon": "^21.0.0",
|
|
151
|
-
"ts-lit-plugin": "^2.0.2",
|
|
152
144
|
"ts-node-maintained": "^10.9.5",
|
|
153
145
|
"typescript": "^5.5.2",
|
|
154
146
|
"typescript-eslint": "^8.24.1"
|
|
@@ -158,7 +150,7 @@
|
|
|
158
150
|
"build:ts": "tsc --project tsconfig.json",
|
|
159
151
|
"build:node": "tsc --project tsconfig.node.json",
|
|
160
152
|
"build": "npm run build:ts && npm run copy:assets",
|
|
161
|
-
"prepare": "husky && npm run fixes && npm run build:ts
|
|
153
|
+
"prepare": "husky && npm run fixes && npm run build:ts",
|
|
162
154
|
"fixes": "node scripts/fix-rollup-plugin.js",
|
|
163
155
|
"tsc": "tsc",
|
|
164
156
|
"tsc:tests": "tsc --project tsconfig.browser.json",
|
|
@@ -169,7 +161,6 @@
|
|
|
169
161
|
"test:coverage": "npm run test:node:coverage && npm run test:browser",
|
|
170
162
|
"test:node": "node --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
|
|
171
163
|
"test:node:coverage": "c8 --reporter lcov --reporter text node --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
|
|
172
|
-
"build:api-models": "node data/model.js",
|
|
173
164
|
"copy:assets": "cp -f ./oauth-popup.html ./build/oauth-popup.html",
|
|
174
165
|
"start": "echo \"Use the npm run dev instead\"",
|
|
175
166
|
"lint": "npm run lint:prettier && npm run lint:eslint",
|
|
@@ -184,8 +175,14 @@
|
|
|
184
175
|
"release:major": "node scripts/release.js major"
|
|
185
176
|
},
|
|
186
177
|
"lint-staged": {
|
|
178
|
+
"*.js": [
|
|
179
|
+
"eslint --fix"
|
|
180
|
+
],
|
|
187
181
|
"*.ts": [
|
|
188
|
-
"
|
|
182
|
+
"eslint --fix"
|
|
183
|
+
],
|
|
184
|
+
"*.json": [
|
|
185
|
+
"prettier --write"
|
|
189
186
|
]
|
|
190
187
|
},
|
|
191
188
|
"engines": {
|
package/src/events/EventTypes.ts
CHANGED
|
@@ -6,10 +6,8 @@ import { ReportingEventTypes } from './reporting/ReportingEventTypes.js'
|
|
|
6
6
|
import { TelemetryEventTypes } from './telemetry/TelemetryEventTypes.js'
|
|
7
7
|
import { EnvironmentEventTypes } from './environment/EnvironmentEventTypes.js'
|
|
8
8
|
import { TransportEventTypes } from './transport/TransportEventTypes.js'
|
|
9
|
-
import { AmfEventTypes } from './amf/AmfEventTypes.js'
|
|
10
9
|
|
|
11
10
|
export const EventTypes = Object.freeze({
|
|
12
|
-
Amf: AmfEventTypes,
|
|
13
11
|
Authorization: AuthorizationEventTypes,
|
|
14
12
|
Cookie: CookieEventTypes,
|
|
15
13
|
Encryption: EncryptionEventTypes,
|
package/src/events/Events.ts
CHANGED
|
@@ -6,10 +6,8 @@ import { ReportingEvents } from './reporting/ReportingEvents.js'
|
|
|
6
6
|
import { TelemetryEvents } from './telemetry/TelemetryEvents.js'
|
|
7
7
|
import { TransportEvent } from './transport/TransportEvents.js'
|
|
8
8
|
import { EnvironmentEvents } from './environment/EnvironmentEvents.js'
|
|
9
|
-
import { AmfEvents } from './amf/AmfEvents.js'
|
|
10
9
|
|
|
11
10
|
export const Events = Object.freeze({
|
|
12
|
-
Amf: AmfEvents,
|
|
13
11
|
Authorization: AuthorizationEvents,
|
|
14
12
|
Cookie: CookieEvents,
|
|
15
13
|
Encryption: EncryptionEvents,
|
package/src/modeling/Bindings.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DomainPropertyFormat } from './DataFormat.js'
|
|
1
|
+
import type { Shapes } from '@api-client/amf-core'
|
|
2
|
+
import type { DomainPropertyFormat } from './DataFormat.js'
|
|
3
3
|
|
|
4
4
|
interface Binding {
|
|
5
5
|
/**
|
|
@@ -69,7 +69,7 @@ export interface PropertyWebBindings {
|
|
|
69
69
|
/**
|
|
70
70
|
* The XML encoding instructions.
|
|
71
71
|
*/
|
|
72
|
-
xml?: IApiXmlSerializer
|
|
72
|
+
xml?: Shapes.IApiXmlSerializer
|
|
73
73
|
/**
|
|
74
74
|
* Only valid for the `file` property type.
|
|
75
75
|
* The list of file mime types.
|
|
@@ -5,7 +5,7 @@ import { nanoid } from '../nanoid.js'
|
|
|
5
5
|
import { type IThing, Thing } from '../models/Thing.js'
|
|
6
6
|
import { observed, retargetChange, toRaw } from '../decorators/observed.js'
|
|
7
7
|
import type { DomainEntity } from './DomainEntity.js'
|
|
8
|
-
import type {
|
|
8
|
+
import type { Shapes } from '@api-client/amf-core'
|
|
9
9
|
import type { AssociationBinding, AssociationBindings, AssociationWebBindings } from './Bindings.js'
|
|
10
10
|
import { DomainAttributeAttribute, DomainAttributeAttributes } from './DataFormat.js'
|
|
11
11
|
import type { AssociationTarget, DomainGraphEdge } from './types.js'
|
|
@@ -53,7 +53,7 @@ export interface DomainAssociationSchema extends DomainElementSchema {
|
|
|
53
53
|
* referenced entities schemas. Note, changes in the referenced entities may not be propagated
|
|
54
54
|
* to schemas altered by the user.
|
|
55
55
|
*/
|
|
56
|
-
schema?: IApiAssociationShape
|
|
56
|
+
schema?: Shapes.IApiAssociationShape
|
|
57
57
|
/**
|
|
58
58
|
* The list of bindings for this property.
|
|
59
59
|
*
|
|
@@ -153,7 +153,7 @@ export class DomainAssociation extends DomainElement {
|
|
|
153
153
|
* The schema allowing to translate the model into a
|
|
154
154
|
* specific format (like JSON, RAML, XML, etc.)
|
|
155
155
|
*/
|
|
156
|
-
@observed({ deep: true }) accessor schema: IApiAssociationShape | undefined
|
|
156
|
+
@observed({ deep: true }) accessor schema: Shapes.IApiAssociationShape | undefined
|
|
157
157
|
|
|
158
158
|
/**
|
|
159
159
|
* The list of bindings for this property.
|
|
@@ -351,7 +351,7 @@ export class DomainAssociation extends DomainElement {
|
|
|
351
351
|
* const schema = association.ensureSchema();
|
|
352
352
|
* ```
|
|
353
353
|
*/
|
|
354
|
-
ensureSchema(): IApiAssociationShape {
|
|
354
|
+
ensureSchema(): Shapes.IApiAssociationShape {
|
|
355
355
|
if (!this.schema) {
|
|
356
356
|
this.schema = {}
|
|
357
357
|
}
|
|
@@ -547,7 +547,7 @@ export class DomainAssociation extends DomainElement {
|
|
|
547
547
|
*
|
|
548
548
|
* @returns AMF property shape definition.
|
|
549
549
|
*/
|
|
550
|
-
toApiShape(): IApiPropertyShape {
|
|
550
|
+
toApiShape(): Shapes.IApiPropertyShape {
|
|
551
551
|
const serializer = new ShapeGenerator()
|
|
552
552
|
return serializer.associationProperty(this)
|
|
553
553
|
}
|
|
@@ -4,7 +4,8 @@ import { DomainElement, type DomainElementSchema } from './DomainElement.js'
|
|
|
4
4
|
import { nanoid } from '../nanoid.js'
|
|
5
5
|
import { type IThing, Thing } from '../models/Thing.js'
|
|
6
6
|
import { observed, retargetChange, toRaw } from '../decorators/observed.js'
|
|
7
|
-
import type {
|
|
7
|
+
import type { Shapes, IShapeRenderOptions } from '@api-client/amf-core'
|
|
8
|
+
import { ApiSchemaGenerator } from '@api-client/amf-core'
|
|
8
9
|
import { DomainProperty, type DomainPropertySchema } from './DomainProperty.js'
|
|
9
10
|
import { RemovePropertyException } from '../exceptions/remove_property_exception.js'
|
|
10
11
|
import { DomainAssociation, DomainAssociationSchema } from './DomainAssociation.js'
|
|
@@ -13,8 +14,6 @@ import type { DomainModel } from './DomainModel.js'
|
|
|
13
14
|
import type { DomainNamespace } from './DomainNamespace.js'
|
|
14
15
|
import { ValidationError } from '../exceptions/validation_error.js'
|
|
15
16
|
import { ShapeGenerator } from './amf/ShapeGenerator.js'
|
|
16
|
-
import type { IShapeRenderOptions } from '../amf/shape/ShapeBase.js'
|
|
17
|
-
import { ApiSchemaGenerator } from '../amf/ApiSchemaGenerator.js'
|
|
18
17
|
import { removeGraphNode } from './GraphUtils.js'
|
|
19
18
|
import { DataSemantics, isEntitySemantic, type SemanticType, type AppliedDataSemantic } from './Semantics.js'
|
|
20
19
|
|
|
@@ -806,7 +805,7 @@ export class DomainEntity extends DomainElement {
|
|
|
806
805
|
*
|
|
807
806
|
* @returns AMF property shape definition.
|
|
808
807
|
*/
|
|
809
|
-
toApiShape(): IShapeUnion {
|
|
808
|
+
toApiShape(): Shapes.IShapeUnion {
|
|
810
809
|
const serializer = new ShapeGenerator()
|
|
811
810
|
return serializer.entity(this)
|
|
812
811
|
}
|
|
@@ -20,11 +20,10 @@ import { ShapeGenerator } from './amf/ShapeGenerator.js'
|
|
|
20
20
|
import type { PropertyBinding, PropertyBindings, PropertyWebBindings } from './Bindings.js'
|
|
21
21
|
import type { ModelValidationOptions } from '../models/types.js'
|
|
22
22
|
import type { DomainEntity } from './DomainEntity.js'
|
|
23
|
-
import type {
|
|
23
|
+
import type { Shapes, IShapeRenderOptions } from '@api-client/amf-core'
|
|
24
|
+
import { ApiSchemaGenerator } from '@api-client/amf-core'
|
|
24
25
|
import type { PropertySchema } from './types.js'
|
|
25
26
|
import { DataSemantics, isPropertySemantic, type SemanticType, type AppliedDataSemantic } from './Semantics.js'
|
|
26
|
-
import { ApiSchemaGenerator } from '../amf/ApiSchemaGenerator.js'
|
|
27
|
-
import type { IShapeRenderOptions } from '../amf/shape/ShapeBase.js'
|
|
28
27
|
|
|
29
28
|
export interface DomainPropertySchema extends DomainElementSchema {
|
|
30
29
|
kind: typeof DomainPropertyKind
|
|
@@ -576,7 +575,7 @@ export class DomainProperty extends DomainElement {
|
|
|
576
575
|
*
|
|
577
576
|
* @returns AMF property shape definition.
|
|
578
577
|
*/
|
|
579
|
-
toApiShape(): IApiPropertyShape {
|
|
578
|
+
toApiShape(): Shapes.IApiPropertyShape {
|
|
580
579
|
const serializer = new ShapeGenerator()
|
|
581
580
|
return serializer.property(this)
|
|
582
581
|
}
|
package/src/modeling/ai/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Shapes } from '@api-client/amf-core'
|
|
2
2
|
import type { Exception } from '../../exceptions/exception.js'
|
|
3
3
|
import type { AiSessionSchema } from '../../models/AiSession.js'
|
|
4
4
|
import type { DomainPropertyType } from '../DataFormat.js'
|
|
@@ -150,7 +150,7 @@ export interface AiDomainAssociation {
|
|
|
150
150
|
multiple?: boolean
|
|
151
151
|
onDelete?: OnDeleteRule
|
|
152
152
|
semantics?: AiDomainSemantic[]
|
|
153
|
-
schema?: IApiAssociationShape
|
|
153
|
+
schema?: Shapes.IApiAssociationShape
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { nanoid } from '
|
|
2
|
-
import
|
|
3
|
-
import { DomainPropertyType } from '../modeling/DataFormat.js'
|
|
1
|
+
import { nanoid } from '../../nanoid.js'
|
|
2
|
+
import { DomainPropertyType } from '../DataFormat.js'
|
|
4
3
|
|
|
5
4
|
export const noValue = Symbol('noValue')
|
|
6
5
|
|
|
@@ -56,7 +55,7 @@ export class DataValueGenerator {
|
|
|
56
55
|
// TODO: we need more settings controlling the random string generation.
|
|
57
56
|
return nanoid(8)
|
|
58
57
|
case 'uuid-v4':
|
|
59
|
-
return
|
|
58
|
+
return crypto.randomUUID()
|
|
60
59
|
default:
|
|
61
60
|
return noValue
|
|
62
61
|
}
|
|
@@ -2,31 +2,9 @@ import { type AssociationBindings, type PropertyWebBindings } from '../Bindings.
|
|
|
2
2
|
import type { DomainAssociation } from '../DomainAssociation.js'
|
|
3
3
|
import type { DomainProperty } from '../DomainProperty.js'
|
|
4
4
|
import type { DomainEntity } from '../DomainEntity.js'
|
|
5
|
-
import {
|
|
6
|
-
import { AmfNamespace } from '
|
|
7
|
-
import {
|
|
8
|
-
anyShape,
|
|
9
|
-
arrayShape,
|
|
10
|
-
fileShape,
|
|
11
|
-
IApiAnyShape,
|
|
12
|
-
IApiArrayShape,
|
|
13
|
-
IApiDataExample,
|
|
14
|
-
IApiFileShape,
|
|
15
|
-
IApiNodeShape,
|
|
16
|
-
IApiPropertyShape,
|
|
17
|
-
IApiRecursiveShape,
|
|
18
|
-
IApiScalarShape,
|
|
19
|
-
IApiShape,
|
|
20
|
-
IApiUnionShape,
|
|
21
|
-
IShapeUnion,
|
|
22
|
-
nodeShape,
|
|
23
|
-
propertyShape,
|
|
24
|
-
recursiveShape,
|
|
25
|
-
scalarShape,
|
|
26
|
-
unionShape,
|
|
27
|
-
} from '../../amf/definitions/Shapes.js'
|
|
28
|
-
import { AmfDataNode } from '../../amf/models/AmfDataNode.js'
|
|
29
|
-
import { DataValueGenerator } from '../../amf/DataValueGenerator.js'
|
|
5
|
+
import { modelTypeToAmfDataType } from './core_types.js'
|
|
6
|
+
import { AmfNamespace, type Shapes, AmfDataNode, AmfTypes, ShapeHelpers } from '@api-client/amf-core'
|
|
7
|
+
import { DataValueGenerator } from './DataValueGenerator.js'
|
|
30
8
|
import { nanoid } from '../../nanoid.js'
|
|
31
9
|
import { DomainEntityKind, DomainPropertyKind } from '../../models/kinds.js'
|
|
32
10
|
import type { PropertySchema } from '../types.js'
|
|
@@ -107,13 +85,13 @@ export class ShapeGenerator {
|
|
|
107
85
|
* const amfShape = generator.entity(myDomainEntity);
|
|
108
86
|
* ```
|
|
109
87
|
*/
|
|
110
|
-
entity(input: DomainEntity, visited = new Set<string>()): IApiNodeShape | IApiRecursiveShape {
|
|
88
|
+
entity(input: DomainEntity, visited = new Set<string>()): Shapes.IApiNodeShape | Shapes.IApiRecursiveShape {
|
|
111
89
|
if (visited.has(input.key)) {
|
|
112
90
|
// create a recursive shape.
|
|
113
91
|
return this.createRecursiveShape(input)
|
|
114
92
|
}
|
|
115
93
|
visited.add(input.key)
|
|
116
|
-
const result = nodeShape(input.key)
|
|
94
|
+
const result = ShapeHelpers.nodeShape(input.key)
|
|
117
95
|
result.id = input.key
|
|
118
96
|
this.updateBaseProperties(input, result)
|
|
119
97
|
result.properties = []
|
|
@@ -158,9 +136,9 @@ export class ShapeGenerator {
|
|
|
158
136
|
* const amfShape = generator.property(myDomainProperty);
|
|
159
137
|
* ```
|
|
160
138
|
*/
|
|
161
|
-
property(input: DomainProperty): IApiPropertyShape {
|
|
139
|
+
property(input: DomainProperty): Shapes.IApiPropertyShape {
|
|
162
140
|
const { required, key } = input
|
|
163
|
-
const result = propertyShape(key)
|
|
141
|
+
const result = ShapeHelpers.propertyShape(key)
|
|
164
142
|
result.path = `${AmfNamespace.aml.vocabularies.data.key}${input.info.name}`
|
|
165
143
|
if (required) {
|
|
166
144
|
result.minCount = 1
|
|
@@ -198,9 +176,9 @@ export class ShapeGenerator {
|
|
|
198
176
|
* const amfShape = generator.associationProperty(myDomainAssociation);
|
|
199
177
|
* ```
|
|
200
178
|
*/
|
|
201
|
-
associationProperty(input: DomainAssociation, visited: Set<string> = new Set<string>()): IApiPropertyShape {
|
|
179
|
+
associationProperty(input: DomainAssociation, visited: Set<string> = new Set<string>()): Shapes.IApiPropertyShape {
|
|
202
180
|
const { required, key } = input
|
|
203
|
-
const result = propertyShape(key)
|
|
181
|
+
const result = ShapeHelpers.propertyShape(key)
|
|
204
182
|
result.path = `${AmfNamespace.aml.vocabularies.data.key}${input.info.name}`
|
|
205
183
|
if (required) {
|
|
206
184
|
result.minCount = 1
|
|
@@ -219,7 +197,7 @@ export class ShapeGenerator {
|
|
|
219
197
|
* recursive shape generation and avoids infinite loops. Defaults to a new empty `Set`.
|
|
220
198
|
* @returns The range value for the PropertyShape.
|
|
221
199
|
*/
|
|
222
|
-
associationShape(input: DomainAssociation, visited: Set<string> = new Set<string>()): IShapeUnion | undefined {
|
|
200
|
+
associationShape(input: DomainAssociation, visited: Set<string> = new Set<string>()): Shapes.IShapeUnion | undefined {
|
|
223
201
|
const schema = input.schema
|
|
224
202
|
if (schema && schema.linked) {
|
|
225
203
|
return this.createLinkedShape(input)
|
|
@@ -235,7 +213,7 @@ export class ShapeGenerator {
|
|
|
235
213
|
if (unionType === UNION_TYPE_NOT) {
|
|
236
214
|
// Need to investigate more about "not" union type.
|
|
237
215
|
// AMF supports it, but I am not sure how to handle it.
|
|
238
|
-
const wrapper = anyShape(input.key)
|
|
216
|
+
const wrapper = ShapeHelpers.anyShape(input.key)
|
|
239
217
|
wrapper.id = `not-shape-${input.key}`
|
|
240
218
|
wrapper.not = items
|
|
241
219
|
return wrapper
|
|
@@ -250,17 +228,20 @@ export class ShapeGenerator {
|
|
|
250
228
|
* @param input The data association instance.
|
|
251
229
|
* @returns An AMF API scalar shape with the link to the schema.
|
|
252
230
|
*/
|
|
253
|
-
protected createLinkedShape(input: DomainAssociation): IApiScalarShape {
|
|
231
|
+
protected createLinkedShape(input: DomainAssociation): Shapes.IApiScalarShape {
|
|
254
232
|
// This is a link to the schema. In an API that would be the id
|
|
255
233
|
// of a resource to request the data from.
|
|
256
|
-
const range = scalarShape(input.key)
|
|
234
|
+
const range = ShapeHelpers.scalarShape(input.key)
|
|
257
235
|
range.id = `link-${input.key}`
|
|
258
236
|
range.dataType = modelTypeToAmfDataType(DATA_TYPE_STRING)
|
|
259
237
|
return range
|
|
260
238
|
}
|
|
261
239
|
|
|
262
|
-
protected createUnionShape(
|
|
263
|
-
|
|
240
|
+
protected createUnionShape(
|
|
241
|
+
input: DomainAssociation,
|
|
242
|
+
items: Shapes.IShapeUnion[]
|
|
243
|
+
): Shapes.IApiUnionShape | Shapes.IApiArrayShape {
|
|
244
|
+
const range = ShapeHelpers.unionShape(input.key)
|
|
264
245
|
this.updateBaseProperties(input, range)
|
|
265
246
|
range.anyOf = []
|
|
266
247
|
const unionType = (input.schema && input.schema.unionType) || UNION_TYPE_ANY_OF
|
|
@@ -291,8 +272,8 @@ export class ShapeGenerator {
|
|
|
291
272
|
associationUnion(
|
|
292
273
|
input: DomainAssociation,
|
|
293
274
|
visited: Set<string> = new Set<string>()
|
|
294
|
-
): IShapeUnion | IShapeUnion[] | undefined {
|
|
295
|
-
const result: IShapeUnion[] = []
|
|
275
|
+
): Shapes.IShapeUnion | Shapes.IShapeUnion[] | undefined {
|
|
276
|
+
const result: Shapes.IShapeUnion[] = []
|
|
296
277
|
for (const item of input.listTargets()) {
|
|
297
278
|
result.push(this.entity(item, visited))
|
|
298
279
|
}
|
|
@@ -312,7 +293,7 @@ export class ShapeGenerator {
|
|
|
312
293
|
*
|
|
313
294
|
* @param input
|
|
314
295
|
*/
|
|
315
|
-
protected getRange(input: DomainProperty): IApiArrayShape | IApiFileShape | IApiScalarShape {
|
|
296
|
+
protected getRange(input: DomainProperty): Shapes.IApiArrayShape | Shapes.IApiFileShape | Shapes.IApiScalarShape {
|
|
316
297
|
const bindings = input.readBinding('web') as PropertyWebBindings | undefined
|
|
317
298
|
let schema: PropertySchema | undefined
|
|
318
299
|
if (input.schema) {
|
|
@@ -339,7 +320,7 @@ export class ShapeGenerator {
|
|
|
339
320
|
*/
|
|
340
321
|
protected setShapeSchema(
|
|
341
322
|
input: DomainProperty,
|
|
342
|
-
result: IApiAnyShape,
|
|
323
|
+
result: Shapes.IApiAnyShape,
|
|
343
324
|
schema: PropertySchema,
|
|
344
325
|
type: string,
|
|
345
326
|
isArray?: boolean
|
|
@@ -374,8 +355,8 @@ export class ShapeGenerator {
|
|
|
374
355
|
input: DomainProperty,
|
|
375
356
|
schema?: PropertySchema,
|
|
376
357
|
bindings?: PropertyWebBindings
|
|
377
|
-
): IApiArrayShape {
|
|
378
|
-
const result = arrayShape(input.key)
|
|
358
|
+
): Shapes.IApiArrayShape {
|
|
359
|
+
const result = ShapeHelpers.arrayShape(input.key)
|
|
379
360
|
const { type } = input
|
|
380
361
|
if (type === DATA_TYPE_BINARY) {
|
|
381
362
|
// we do not pass schema to the range generator as we set schema's properties on the array shape.
|
|
@@ -384,7 +365,7 @@ export class ShapeGenerator {
|
|
|
384
365
|
result.items = this.createScalarShape(input, undefined, bindings)
|
|
385
366
|
}
|
|
386
367
|
if (schema) {
|
|
387
|
-
const type = (result.items as IApiScalarShape).dataType as string
|
|
368
|
+
const type = (result.items as Shapes.IApiScalarShape).dataType as string
|
|
388
369
|
this.setShapeSchema(input, result, schema, type, input.multiple)
|
|
389
370
|
}
|
|
390
371
|
return result
|
|
@@ -394,8 +375,8 @@ export class ShapeGenerator {
|
|
|
394
375
|
input: DomainProperty,
|
|
395
376
|
schema?: PropertySchema,
|
|
396
377
|
bindings?: PropertyWebBindings
|
|
397
|
-
): IApiScalarShape {
|
|
398
|
-
const result = scalarShape(input.key)
|
|
378
|
+
): Shapes.IApiScalarShape {
|
|
379
|
+
const result = ShapeHelpers.scalarShape(input.key)
|
|
399
380
|
this.updateBaseProperties(input, result)
|
|
400
381
|
this.setScalarCommonProperties(result, input, bindings)
|
|
401
382
|
if (!result.dataType) {
|
|
@@ -407,14 +388,14 @@ export class ShapeGenerator {
|
|
|
407
388
|
return result
|
|
408
389
|
}
|
|
409
390
|
|
|
410
|
-
protected createExamples(examples: string[], type: string): IApiDataExample[] {
|
|
411
|
-
const result: IApiDataExample[] = []
|
|
391
|
+
protected createExamples(examples: string[], type: string): Shapes.IApiDataExample[] {
|
|
392
|
+
const result: Shapes.IApiDataExample[] = []
|
|
412
393
|
for (const current of examples) {
|
|
413
|
-
const item: IApiDataExample = {
|
|
394
|
+
const item: Shapes.IApiDataExample = {
|
|
414
395
|
id: nanoid(),
|
|
415
396
|
customDomainProperties: [],
|
|
416
397
|
strict: true,
|
|
417
|
-
types: IAmfExampleTypes,
|
|
398
|
+
types: [...AmfTypes.IAmfExampleTypes],
|
|
418
399
|
structuredValue: AmfDataNode.scalar(current, type).toJSON(),
|
|
419
400
|
}
|
|
420
401
|
result.push(item)
|
|
@@ -422,12 +403,12 @@ export class ShapeGenerator {
|
|
|
422
403
|
return result
|
|
423
404
|
}
|
|
424
405
|
|
|
425
|
-
protected createArrayExamples(examples: string[], type: string): IApiDataExample[] {
|
|
426
|
-
const item: IApiDataExample = {
|
|
406
|
+
protected createArrayExamples(examples: string[], type: string): Shapes.IApiDataExample[] {
|
|
407
|
+
const item: Shapes.IApiDataExample = {
|
|
427
408
|
id: nanoid(),
|
|
428
409
|
customDomainProperties: [],
|
|
429
410
|
strict: true,
|
|
430
|
-
types: IAmfExampleTypes,
|
|
411
|
+
types: [...AmfTypes.IAmfExampleTypes],
|
|
431
412
|
}
|
|
432
413
|
const value = new AmfDataNode('array')
|
|
433
414
|
for (const item of examples) {
|
|
@@ -438,8 +419,8 @@ export class ShapeGenerator {
|
|
|
438
419
|
return [item]
|
|
439
420
|
}
|
|
440
421
|
|
|
441
|
-
protected createFileShape(input: DomainProperty, bindings?: PropertyWebBindings): IApiFileShape {
|
|
442
|
-
const result = fileShape(input.key)
|
|
422
|
+
protected createFileShape(input: DomainProperty, bindings?: PropertyWebBindings): Shapes.IApiFileShape {
|
|
423
|
+
const result = ShapeHelpers.fileShape(input.key)
|
|
443
424
|
this.updateBaseProperties(input, result)
|
|
444
425
|
if (bindings) {
|
|
445
426
|
if (Array.isArray(bindings.fileTypes)) {
|
|
@@ -454,7 +435,7 @@ export class ShapeGenerator {
|
|
|
454
435
|
}
|
|
455
436
|
|
|
456
437
|
protected setScalarCommonProperties(
|
|
457
|
-
result: IApiFileShape | IApiScalarShape,
|
|
438
|
+
result: Shapes.IApiFileShape | Shapes.IApiScalarShape,
|
|
458
439
|
input: DomainProperty,
|
|
459
440
|
bindings?: PropertyWebBindings
|
|
460
441
|
): void {
|
|
@@ -521,7 +502,10 @@ export class ShapeGenerator {
|
|
|
521
502
|
}
|
|
522
503
|
}
|
|
523
504
|
|
|
524
|
-
protected updateBaseProperties(
|
|
505
|
+
protected updateBaseProperties(
|
|
506
|
+
input: DomainProperty | DomainAssociation | DomainEntity,
|
|
507
|
+
target: Shapes.IApiShape
|
|
508
|
+
): void {
|
|
525
509
|
target.name = input.info.name
|
|
526
510
|
target.displayName = input.info.displayName
|
|
527
511
|
target.description = input.info.description
|
|
@@ -532,8 +516,8 @@ export class ShapeGenerator {
|
|
|
532
516
|
}
|
|
533
517
|
}
|
|
534
518
|
|
|
535
|
-
protected createRecursiveShape(input: DomainEntity): IApiRecursiveShape {
|
|
536
|
-
return recursiveShape(input.key, input.key)
|
|
519
|
+
protected createRecursiveShape(input: DomainEntity): Shapes.IApiRecursiveShape {
|
|
520
|
+
return ShapeHelpers.recursiveShape(input.key, input.key)
|
|
537
521
|
}
|
|
538
522
|
|
|
539
523
|
/**
|
|
@@ -544,8 +528,8 @@ export class ShapeGenerator {
|
|
|
544
528
|
* @param shape The shape to wrap as an array.
|
|
545
529
|
* @returns Array shape.
|
|
546
530
|
*/
|
|
547
|
-
protected refactorShapeToArray(id: string, shape: IShapeUnion): IApiArrayShape {
|
|
548
|
-
const result = arrayShape(id)
|
|
531
|
+
protected refactorShapeToArray(id: string, shape: Shapes.IShapeUnion): Shapes.IApiArrayShape {
|
|
532
|
+
const result = ShapeHelpers.arrayShape(id)
|
|
549
533
|
result.items = shape
|
|
550
534
|
return result
|
|
551
535
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PropertyWebBindings } from '../Bindings.js'
|
|
2
|
+
import { DomainPropertyType } from '../DataFormat.js'
|
|
3
|
+
import { AmfNamespace } from '@api-client/amf-core'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Translates the DomainProperty type to an AMF data type.
|
|
7
|
+
* @param type The property data type
|
|
8
|
+
* @returns AMF shape dataType
|
|
9
|
+
*/
|
|
10
|
+
export function modelTypeToAmfDataType(type: DomainPropertyType, bindings?: PropertyWebBindings): string {
|
|
11
|
+
if (type === 'number') {
|
|
12
|
+
if (bindings?.format === 'int32' || bindings?.format === 'int64') {
|
|
13
|
+
return AmfNamespace.w3.xmlSchema.integer
|
|
14
|
+
}
|
|
15
|
+
return AmfNamespace.w3.xmlSchema.number
|
|
16
|
+
}
|
|
17
|
+
if (type === 'boolean') {
|
|
18
|
+
return AmfNamespace.aml.vocabularies.shapes.boolean
|
|
19
|
+
}
|
|
20
|
+
if (type === 'date') {
|
|
21
|
+
return AmfNamespace.w3.xmlSchema.date
|
|
22
|
+
}
|
|
23
|
+
if (type === 'datetime') {
|
|
24
|
+
return AmfNamespace.w3.xmlSchema.dateTime
|
|
25
|
+
}
|
|
26
|
+
if (type === 'time') {
|
|
27
|
+
return AmfNamespace.aml.vocabularies.shapes.dateTimeOnly
|
|
28
|
+
}
|
|
29
|
+
if (type === 'binary' && bindings && bindings.format === 'base64') {
|
|
30
|
+
return AmfNamespace.w3.xmlSchema.base64Binary
|
|
31
|
+
}
|
|
32
|
+
return AmfNamespace.w3.xmlSchema.string
|
|
33
|
+
// switch (type) {
|
|
34
|
+
// // case 'nil':
|
|
35
|
+
// // return AmfNamespace.aml.vocabularies.shapes.nil
|
|
36
|
+
// // case 'any':
|
|
37
|
+
// // return AmfNamespace.aml.vocabularies.shapes.AnyShape
|
|
38
|
+
// default:
|
|
39
|
+
// if (type === 'binary' && bindings && bindings.format === 'base64') {
|
|
40
|
+
// return AmfNamespace.w3.xmlSchema.base64Binary
|
|
41
|
+
// }
|
|
42
|
+
// // if (bindings && bindings.format === 'binary') {
|
|
43
|
+
// // return AmfNamespace.w3.xmlSchema.base64Binary
|
|
44
|
+
// // }
|
|
45
|
+
// return AmfNamespace.w3.xmlSchema.string
|
|
46
|
+
// }
|
|
47
|
+
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
DataSourceConfiguration,
|
|
11
11
|
} from '../../models/legacy/actions/Actions.js'
|
|
12
12
|
import { IHttpFlow, IHttpAction, FlowSourceEnum, FlowRequestDataEnum, FlowResponseDataEnum } from './HttpFlows.js'
|
|
13
|
-
import { AmfNamespace } from '
|
|
13
|
+
import { AmfNamespace } from '@api-client/amf-core'
|
|
14
14
|
import { IHttpStep } from './HttpStep.js'
|
|
15
15
|
import { IReadDataStep, ReadDataStep, ReadDataStepKind } from './steps/data/ReadDataStep.js'
|
|
16
16
|
import { ISetDataStep, SetDataStepKind } from './steps/data/SetDataStep.js'
|
|
@@ -27,7 +27,7 @@ import { ISubstringStep, SubstringStepKind } from '../../models/http-flows/steps
|
|
|
27
27
|
import { TrimStepKind } from '../../models/http-flows/steps/transformation/TrimStep.js'
|
|
28
28
|
import { EqualAssertionKind, IEqualAssertion } from '../../models/http-flows/steps/assertion/EqualAssertion.js'
|
|
29
29
|
import { INotEqualAssertion, NotEqualAssertionKind } from '../../models/http-flows/steps/assertion/NotEqualAssertion.js'
|
|
30
|
-
import { ApiSchemaValues } from '
|
|
30
|
+
import { ApiSchemaValues } from '@api-client/amf-core'
|
|
31
31
|
import {
|
|
32
32
|
GreaterThanAssertionKind,
|
|
33
33
|
IGreaterThanAssertion,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { test } from '@japa/runner'
|
|
2
|
-
import { DataValueGenerator, noValue } from '
|
|
3
|
-
import type { DomainPropertyType } from '
|
|
2
|
+
import { DataValueGenerator, noValue } from '../../../../src/modeling/amf/DataValueGenerator.js'
|
|
3
|
+
import type { DomainPropertyType } from '../../../../src/modeling/DataFormat.js'
|
|
4
4
|
|
|
5
5
|
test.group('DataValueGenerator', (group) => {
|
|
6
6
|
let generator: DataValueGenerator
|