@api-client/core 0.19.9 → 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/Testing.md +1 -1
- 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/decorators/observed.d.ts.map +1 -1
- package/build/src/decorators/observed.js +91 -0
- package/build/src/decorators/observed.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/ApiModel.d.ts +21 -7
- package/build/src/modeling/ApiModel.d.ts.map +1 -1
- package/build/src/modeling/ApiModel.js +70 -29
- package/build/src/modeling/ApiModel.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/DomainValidation.d.ts +1 -1
- package/build/src/modeling/DomainValidation.d.ts.map +1 -1
- package/build/src/modeling/DomainValidation.js.map +1 -1
- package/build/src/modeling/ExposedEntity.d.ts +14 -0
- package/build/src/modeling/ExposedEntity.d.ts.map +1 -1
- package/build/src/modeling/ExposedEntity.js +59 -6
- package/build/src/modeling/ExposedEntity.js.map +1 -1
- package/build/src/modeling/actions/Action.d.ts +11 -1
- package/build/src/modeling/actions/Action.d.ts.map +1 -1
- package/build/src/modeling/actions/Action.js +21 -3
- package/build/src/modeling/actions/Action.js.map +1 -1
- package/build/src/modeling/actions/CreateAction.d.ts +2 -1
- package/build/src/modeling/actions/CreateAction.d.ts.map +1 -1
- package/build/src/modeling/actions/CreateAction.js +2 -2
- package/build/src/modeling/actions/CreateAction.js.map +1 -1
- package/build/src/modeling/actions/DeleteAction.d.ts +2 -1
- package/build/src/modeling/actions/DeleteAction.d.ts.map +1 -1
- package/build/src/modeling/actions/DeleteAction.js +2 -2
- package/build/src/modeling/actions/DeleteAction.js.map +1 -1
- package/build/src/modeling/actions/ListAction.d.ts +2 -1
- package/build/src/modeling/actions/ListAction.d.ts.map +1 -1
- package/build/src/modeling/actions/ListAction.js +2 -2
- package/build/src/modeling/actions/ListAction.js.map +1 -1
- package/build/src/modeling/actions/ReadAction.d.ts +2 -1
- package/build/src/modeling/actions/ReadAction.d.ts.map +1 -1
- package/build/src/modeling/actions/ReadAction.js +2 -2
- package/build/src/modeling/actions/ReadAction.js.map +1 -1
- package/build/src/modeling/actions/SearchAction.d.ts +2 -1
- package/build/src/modeling/actions/SearchAction.d.ts.map +1 -1
- package/build/src/modeling/actions/SearchAction.js +2 -2
- package/build/src/modeling/actions/SearchAction.js.map +1 -1
- package/build/src/modeling/actions/UpdateAction.d.ts +2 -1
- package/build/src/modeling/actions/UpdateAction.d.ts.map +1 -1
- package/build/src/modeling/actions/UpdateAction.js +2 -2
- package/build/src/modeling/actions/UpdateAction.js.map +1 -1
- package/build/src/modeling/actions/index.d.ts +2 -1
- package/build/src/modeling/actions/index.d.ts.map +1 -1
- package/build/src/modeling/actions/index.js +7 -7
- package/build/src/modeling/actions/index.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/index.d.ts +1 -0
- package/build/src/modeling/index.d.ts.map +1 -1
- package/build/src/modeling/index.js +1 -0
- package/build/src/modeling/index.js.map +1 -1
- package/build/src/modeling/types.d.ts +67 -0
- package/build/src/modeling/types.d.ts.map +1 -1
- package/build/src/modeling/types.js.map +1 -1
- package/build/src/modeling/validation/api_model_rules.d.ts +15 -0
- package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -0
- package/build/src/modeling/validation/api_model_rules.js +599 -0
- package/build/src/modeling/validation/api_model_rules.js.map +1 -0
- package/build/src/modeling/validation/association_validation.d.ts.map +1 -1
- package/build/src/modeling/validation/association_validation.js +1 -3
- package/build/src/modeling/validation/association_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 -2
- package/package.json +27 -135
- package/src/decorators/observed.ts +91 -0
- package/src/events/EventTypes.ts +0 -2
- package/src/events/Events.ts +0 -2
- package/src/modeling/ApiModel.ts +73 -33
- 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 +1 -1
- package/src/modeling/ExposedEntity.ts +63 -9
- package/src/modeling/actions/Action.ts +25 -2
- package/src/modeling/actions/CreateAction.ts +3 -2
- package/src/modeling/actions/DeleteAction.ts +3 -2
- package/src/modeling/actions/ListAction.ts +3 -2
- package/src/modeling/actions/ReadAction.ts +3 -2
- package/src/modeling/actions/SearchAction.ts +3 -2
- package/src/modeling/actions/UpdateAction.ts +3 -2
- 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/types.ts +70 -0
- package/src/modeling/validation/api_model_rules.ts +640 -0
- package/src/modeling/validation/api_model_validation_rules.md +58 -0
- package/src/modeling/validation/association_validation.ts +1 -3
- package/src/models/http-flows/LegacyTranslator.ts +1 -1
- package/src/runtime/http-runner/HttpFlows.ts +1 -1
- package/tests/unit/modeling/actions/Action.spec.ts +40 -8
- package/tests/unit/modeling/actions/CreateAction.spec.ts +5 -5
- package/tests/unit/modeling/actions/DeleteAction.spec.ts +6 -6
- package/tests/unit/modeling/actions/ListAction.spec.ts +7 -7
- package/tests/unit/modeling/actions/ReadAction.spec.ts +6 -6
- package/tests/unit/modeling/actions/SearchAction.spec.ts +6 -6
- package/tests/unit/modeling/actions/UpdateAction.spec.ts +6 -6
- 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/api_model.spec.ts +190 -13
- package/tests/unit/modeling/api_model_expose_entity.spec.ts +43 -19
- package/tests/unit/modeling/api_model_remove_entity.spec.ts +6 -6
- package/tests/unit/modeling/domain_asociation.spec.ts +13 -13
- package/tests/unit/modeling/exposed_entity.spec.ts +123 -3
- package/tests/unit/modeling/exposed_entity_actions.spec.ts +41 -18
- package/tests/unit/modeling/exposed_entity_setter_validation.spec.ts +1 -1
- package/tests/unit/modeling/rules/restoring_rules.spec.ts +9 -5
- package/tests/unit/modeling/validation/api_model_rules.spec.ts +324 -0
- 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/tsconfig.browser.json +1 -1
- package/tsconfig.node.json +1 -1
- package/bin/test-web.ts +0 -6
- 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
|
@@ -16,7 +16,6 @@ export const GLOBAL_IGNORE_LIST = [
|
|
|
16
16
|
'.tmp/',
|
|
17
17
|
'.rollup.cache/',
|
|
18
18
|
'.vscode/',
|
|
19
|
-
'.wireit/',
|
|
20
19
|
'amf-models/',
|
|
21
20
|
'build/',
|
|
22
21
|
'coverage/',
|
|
@@ -81,7 +80,6 @@ export default [
|
|
|
81
80
|
'src/models/SerializablePayload.ts',
|
|
82
81
|
'src/lib/calculators/DataCalculator.ts',
|
|
83
82
|
'src/lib/Buffer.ts',
|
|
84
|
-
'src/events/amf/AmfEvents.ts',
|
|
85
83
|
'src/authorization/lib/SecurityProcessor.ts',
|
|
86
84
|
],
|
|
87
85
|
languageOptions: {
|
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,13 +106,9 @@
|
|
|
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
|
-
"@rollup/plugin-typescript": "^12.1.2",
|
|
119
112
|
"@types/chai-as-promised": "^8.0.2",
|
|
120
113
|
"@types/cors": "^2.8.12",
|
|
121
114
|
"@types/express-ntlm": "^2.3.3",
|
|
@@ -125,10 +118,10 @@
|
|
|
125
118
|
"@types/node": "^25.0.6",
|
|
126
119
|
"@types/sinon": "^21.0.0",
|
|
127
120
|
"@web/dev-server": "^0.4.6",
|
|
121
|
+
"@web/dev-server-esbuild": "^1.0.5",
|
|
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,149 +141,48 @@
|
|
|
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
|
-
"typescript-eslint": "^8.24.1"
|
|
155
|
-
"wireit": "^0.14.4"
|
|
146
|
+
"typescript-eslint": "^8.24.1"
|
|
156
147
|
},
|
|
157
148
|
"scripts": {
|
|
158
|
-
"build:browser": "
|
|
159
|
-
"build:ts": "
|
|
160
|
-
"build:node": "
|
|
149
|
+
"build:browser": "tsc --project tsconfig.browser.json",
|
|
150
|
+
"build:ts": "tsc --project tsconfig.json",
|
|
151
|
+
"build:node": "tsc --project tsconfig.node.json",
|
|
161
152
|
"build": "npm run build:ts && npm run copy:assets",
|
|
162
|
-
"prepare": "husky && npm run fixes && npm run build:ts
|
|
153
|
+
"prepare": "husky && npm run fixes && npm run build:ts",
|
|
163
154
|
"fixes": "node scripts/fix-rollup-plugin.js",
|
|
164
|
-
"tsc": "
|
|
165
|
-
"tsc:tests": "
|
|
166
|
-
"tsc:watch": "
|
|
167
|
-
"test:browser": "
|
|
168
|
-
"test:browser:watch": "
|
|
169
|
-
"test": "
|
|
170
|
-
"test:coverage": "
|
|
155
|
+
"tsc": "tsc",
|
|
156
|
+
"tsc:tests": "tsc --project tsconfig.browser.json",
|
|
157
|
+
"tsc:watch": "tsc --watch --project tsconfig.json",
|
|
158
|
+
"test:browser": "wtr --playwright --browsers chromium",
|
|
159
|
+
"test:browser:watch": "wtr --watch --playwright --browsers chromium",
|
|
160
|
+
"test": "npm run test:node && npm run test:browser",
|
|
161
|
+
"test:coverage": "npm run test:node:coverage && npm run test:browser",
|
|
171
162
|
"test:node": "node --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
|
|
172
163
|
"test:node:coverage": "c8 --reporter lcov --reporter text node --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
|
|
173
|
-
"build:api-models": "node data/model.js",
|
|
174
164
|
"copy:assets": "cp -f ./oauth-popup.html ./build/oauth-popup.html",
|
|
175
165
|
"start": "echo \"Use the npm run dev instead\"",
|
|
176
166
|
"lint": "npm run lint:prettier && npm run lint:eslint",
|
|
177
|
-
"lint:eslint": "
|
|
178
|
-
"lint:prettier": "
|
|
167
|
+
"lint:eslint": "eslint --color --cache --cache-location .eslintcache .",
|
|
168
|
+
"lint:prettier": "prettier \"**/*.ts\" --check",
|
|
179
169
|
"format": "npm run format:prettier && npm run format:prettier",
|
|
180
|
-
"format:prettier": "
|
|
181
|
-
"format:eslint": "
|
|
170
|
+
"format:prettier": "prettier \"**/*.ts\" --write",
|
|
171
|
+
"format:eslint": "eslint --color --cache --fix --cache-location .eslintcache .",
|
|
182
172
|
"release": "node scripts/release.js",
|
|
183
173
|
"release:patch": "node scripts/release.js patch",
|
|
184
174
|
"release:minor": "node scripts/release.js minor",
|
|
185
175
|
"release:major": "node scripts/release.js major"
|
|
186
176
|
},
|
|
187
|
-
"wireit": {
|
|
188
|
-
"test": {
|
|
189
|
-
"command": "npm run test:node && npm run test:browser"
|
|
190
|
-
},
|
|
191
|
-
"test:coverage": {
|
|
192
|
-
"command": "npm run test:node:coverage && npm run test:browser"
|
|
193
|
-
},
|
|
194
|
-
"tsc:watch": {
|
|
195
|
-
"command": "tsc --watch --project tsconfig.json",
|
|
196
|
-
"files": [
|
|
197
|
-
"src/**/*.ts",
|
|
198
|
-
"tsconfig.json"
|
|
199
|
-
],
|
|
200
|
-
"output": [
|
|
201
|
-
"build/**",
|
|
202
|
-
".tsbuildinfo"
|
|
203
|
-
]
|
|
204
|
-
},
|
|
205
|
-
"tsc": {
|
|
206
|
-
"command": "tsc",
|
|
207
|
-
"files": [
|
|
208
|
-
"src/**/*.ts",
|
|
209
|
-
"tsconfig.json"
|
|
210
|
-
],
|
|
211
|
-
"output": [
|
|
212
|
-
"build/**",
|
|
213
|
-
".tsbuildinfo"
|
|
214
|
-
]
|
|
215
|
-
},
|
|
216
|
-
"tsc:tests": {
|
|
217
|
-
"command": "tsc --project tsconfig.browser.json",
|
|
218
|
-
"clean": "if-file-deleted",
|
|
219
|
-
"files": [
|
|
220
|
-
"src/**/*.ts",
|
|
221
|
-
"test/**/*.ts",
|
|
222
|
-
"tests/**/*.ts",
|
|
223
|
-
"tsconfig.browser.json"
|
|
224
|
-
],
|
|
225
|
-
"output": [
|
|
226
|
-
".tmp/**",
|
|
227
|
-
".tmp/testing/tsconfig.browser.tsbuildinfo"
|
|
228
|
-
]
|
|
229
|
-
},
|
|
230
|
-
"build:ts": {
|
|
231
|
-
"command": "tsc --project tsconfig.json",
|
|
232
|
-
"clean": "if-file-deleted",
|
|
233
|
-
"files": [
|
|
234
|
-
"src/**/*.ts",
|
|
235
|
-
"tsconfig.json"
|
|
236
|
-
],
|
|
237
|
-
"output": [
|
|
238
|
-
"build/**",
|
|
239
|
-
"build/tsconfig.tsbuildinfo"
|
|
240
|
-
]
|
|
241
|
-
},
|
|
242
|
-
"build:browser": {
|
|
243
|
-
"command": "tsc --project tsconfig.browser.json",
|
|
244
|
-
"clean": "if-file-deleted",
|
|
245
|
-
"files": [
|
|
246
|
-
"src/**/*.ts",
|
|
247
|
-
"test/**/*.ts",
|
|
248
|
-
"tsconfig.browser.json"
|
|
249
|
-
],
|
|
250
|
-
"output": [
|
|
251
|
-
".tmp/testing/**",
|
|
252
|
-
".tmp/testing/tsconfig.browser.tsbuildinfo"
|
|
253
|
-
]
|
|
254
|
-
},
|
|
255
|
-
"build:node": {
|
|
256
|
-
"command": "tsc --project tsconfig.node.json",
|
|
257
|
-
"clean": "if-file-deleted",
|
|
258
|
-
"files": [
|
|
259
|
-
"src/**/*.ts",
|
|
260
|
-
"tests/**/*.ts",
|
|
261
|
-
"tsconfig.node.json"
|
|
262
|
-
],
|
|
263
|
-
"output": [
|
|
264
|
-
".tmp/node/**",
|
|
265
|
-
".tmp/node/tsconfig.node.tsbuildinfo"
|
|
266
|
-
]
|
|
267
|
-
},
|
|
268
|
-
"lint:eslint": {
|
|
269
|
-
"command": "eslint --color --cache --cache-location .eslintcache .",
|
|
270
|
-
"files": [
|
|
271
|
-
"src/**/*.ts",
|
|
272
|
-
"eslint.config.js"
|
|
273
|
-
],
|
|
274
|
-
"output": []
|
|
275
|
-
},
|
|
276
|
-
"lint:prettier": {
|
|
277
|
-
"command": "prettier \"**/*.ts\" --check"
|
|
278
|
-
},
|
|
279
|
-
"format:eslint": {
|
|
280
|
-
"command": "eslint --color --cache --fix --cache-location .eslintcache .",
|
|
281
|
-
"files": [
|
|
282
|
-
"src/**/*.ts",
|
|
283
|
-
"eslint.config.js"
|
|
284
|
-
],
|
|
285
|
-
"output": []
|
|
286
|
-
},
|
|
287
|
-
"format:prettier": {
|
|
288
|
-
"command": "prettier \"**/*.ts\" --write"
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
177
|
"lint-staged": {
|
|
178
|
+
"*.js": [
|
|
179
|
+
"eslint --fix"
|
|
180
|
+
],
|
|
292
181
|
"*.ts": [
|
|
293
|
-
"
|
|
182
|
+
"eslint --fix"
|
|
183
|
+
],
|
|
184
|
+
"*.json": [
|
|
185
|
+
"prettier --write"
|
|
294
186
|
]
|
|
295
187
|
},
|
|
296
188
|
"engines": {
|
|
@@ -166,6 +166,75 @@ export function observed(config: ObserveConfig = {}): PropertyDecorator {
|
|
|
166
166
|
return target
|
|
167
167
|
}
|
|
168
168
|
const value = Reflect.get(target, prop)
|
|
169
|
+
if (typeof value === 'function') {
|
|
170
|
+
if (target instanceof Map || target instanceof Set) {
|
|
171
|
+
if (['set', 'add', 'delete', 'clear'].includes(prop as string)) {
|
|
172
|
+
return (...args: any[]) => {
|
|
173
|
+
if (prop === 'set' && (target as Map<any, any>).get(args[0]) === args[1]) {
|
|
174
|
+
return target
|
|
175
|
+
}
|
|
176
|
+
if (prop === 'delete' && !target.has(args[0])) {
|
|
177
|
+
return false
|
|
178
|
+
}
|
|
179
|
+
if (prop === 'clear' && target.size === 0) {
|
|
180
|
+
return undefined
|
|
181
|
+
}
|
|
182
|
+
const result = value.apply(target, args)
|
|
183
|
+
notifyChange()
|
|
184
|
+
return result
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (prop === 'get') {
|
|
188
|
+
return (...args: any[]) => {
|
|
189
|
+
const result = value.apply(target, args)
|
|
190
|
+
return createDeepProxy.bind(targetObject)(result, notifyChange)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (prop === 'values' || prop === 'keys' || prop === 'entries') {
|
|
194
|
+
return (...args: any[]) => {
|
|
195
|
+
const iterator = value.apply(target, args)
|
|
196
|
+
return {
|
|
197
|
+
[Symbol.iterator]() {
|
|
198
|
+
return this
|
|
199
|
+
},
|
|
200
|
+
next() {
|
|
201
|
+
const result = iterator.next()
|
|
202
|
+
if (result.done) return result
|
|
203
|
+
if (prop === 'entries') {
|
|
204
|
+
return {
|
|
205
|
+
done: false,
|
|
206
|
+
value: [result.value[0], createDeepProxy.bind(targetObject)(result.value[1], notifyChange)],
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (prop === 'keys') {
|
|
210
|
+
return result
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
done: false,
|
|
214
|
+
value: createDeepProxy.bind(targetObject)(result.value, notifyChange),
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (prop === 'forEach') {
|
|
221
|
+
return (callback: any, thisArg?: any) => {
|
|
222
|
+
value.call(target, (val: any, k: any, m: any) => {
|
|
223
|
+
callback.call(thisArg, createDeepProxy.bind(targetObject)(val, notifyChange), k, m)
|
|
224
|
+
})
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return value.bind(target)
|
|
228
|
+
}
|
|
229
|
+
if (
|
|
230
|
+
target instanceof WeakMap ||
|
|
231
|
+
target instanceof WeakSet ||
|
|
232
|
+
target instanceof Date ||
|
|
233
|
+
target instanceof RegExp
|
|
234
|
+
) {
|
|
235
|
+
return value.bind(target)
|
|
236
|
+
}
|
|
237
|
+
}
|
|
169
238
|
return createDeepProxy.bind(targetObject)(value, notifyChange)
|
|
170
239
|
},
|
|
171
240
|
set(target, prop, value) {
|
|
@@ -188,6 +257,28 @@ export function observed(config: ObserveConfig = {}): PropertyDecorator {
|
|
|
188
257
|
|
|
189
258
|
if (kind === 'accessor') {
|
|
190
259
|
return {
|
|
260
|
+
init(this: DomainInstance, initialValue: V): V {
|
|
261
|
+
let map = Reflect.get(this, reactiveSymbol)
|
|
262
|
+
if (!map) {
|
|
263
|
+
map = {}
|
|
264
|
+
Reflect.set(this, reactiveSymbol, map)
|
|
265
|
+
}
|
|
266
|
+
const notify = () => {
|
|
267
|
+
if (this.domain) {
|
|
268
|
+
this.domain.notifyChange()
|
|
269
|
+
} else if (this.notifyChange) {
|
|
270
|
+
this.notifyChange()
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
let value = initialValue
|
|
274
|
+
if (deep) {
|
|
275
|
+
value = createDeepProxy.bind(this)(initialValue, notify)
|
|
276
|
+
}
|
|
277
|
+
if (value !== undefined) {
|
|
278
|
+
map[context.name] = value
|
|
279
|
+
}
|
|
280
|
+
return value
|
|
281
|
+
},
|
|
191
282
|
set(this: DomainInstance, value: V): void {
|
|
192
283
|
let map = Reflect.get(this, reactiveSymbol)
|
|
193
284
|
if (!map) {
|
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/ApiModel.ts
CHANGED
|
@@ -170,8 +170,10 @@ export class ApiModel extends DependentModel {
|
|
|
170
170
|
/**
|
|
171
171
|
* The specific subset of Data Entities to be exposed by this API.
|
|
172
172
|
* These are the entities that are included in the data domain schema.
|
|
173
|
+
*
|
|
174
|
+
* The `key` is the key of the exposed entity. Using a Map to allow for quick lookups.
|
|
173
175
|
*/
|
|
174
|
-
@observed({ deep: true }) accessor exposes: ExposedEntity
|
|
176
|
+
@observed({ deep: true }) accessor exposes: Map<string, ExposedEntity>
|
|
175
177
|
/**
|
|
176
178
|
* Optional array of access rules that define the access control policies
|
|
177
179
|
* for the API. These rules are used to enforce security and permissions
|
|
@@ -306,9 +308,9 @@ export class ApiModel extends DependentModel {
|
|
|
306
308
|
this.session = structuredClone(init.session)
|
|
307
309
|
}
|
|
308
310
|
if (Array.isArray(init.exposes)) {
|
|
309
|
-
this.exposes = init.exposes.map((e) => new ExposedEntity(this, e))
|
|
311
|
+
this.exposes = new Map(init.exposes.map((e) => [e.key, new ExposedEntity(this, e)]))
|
|
310
312
|
} else {
|
|
311
|
-
this.exposes =
|
|
313
|
+
this.exposes = new Map()
|
|
312
314
|
}
|
|
313
315
|
if (Array.isArray(init.accessRule)) {
|
|
314
316
|
this.accessRule = init.accessRule.map((rule) => restoreAccessRule(rule))
|
|
@@ -338,7 +340,7 @@ export class ApiModel extends DependentModel {
|
|
|
338
340
|
kind: this.kind,
|
|
339
341
|
key: this.key,
|
|
340
342
|
info: this.info.toJSON(),
|
|
341
|
-
exposes: this.exposes.map((e) => e.toJSON()),
|
|
343
|
+
exposes: Array.from(this.exposes.values()).map((e) => e.toJSON()),
|
|
342
344
|
}
|
|
343
345
|
if (this.user) {
|
|
344
346
|
result.user = { ...this.user }
|
|
@@ -408,9 +410,13 @@ export class ApiModel extends DependentModel {
|
|
|
408
410
|
throw new Error(`No domain attached to API model`)
|
|
409
411
|
}
|
|
410
412
|
// checks whether the entity is already exposed as a root exposure.
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
let existing: ExposedEntity | undefined
|
|
414
|
+
for (const exp of this.exposes.values()) {
|
|
415
|
+
if (exp.isRoot && exp.entity.key === entity.key) {
|
|
416
|
+
existing = exp
|
|
417
|
+
break
|
|
418
|
+
}
|
|
419
|
+
}
|
|
414
420
|
if (existing) {
|
|
415
421
|
// quietly return the existing exposure
|
|
416
422
|
// TBD: should we throw an error here?
|
|
@@ -428,7 +434,7 @@ export class ApiModel extends DependentModel {
|
|
|
428
434
|
// Check for root path collision and resolve by appending a number
|
|
429
435
|
let counter = 1
|
|
430
436
|
const originalCollectionPath = relativeCollectionPath
|
|
431
|
-
while (this.
|
|
437
|
+
while (this.findCollectionPathCollision(relativeCollectionPath)) {
|
|
432
438
|
relativeCollectionPath = `${originalCollectionPath}-${counter}`
|
|
433
439
|
relativeResourcePath = `${relativeCollectionPath}/{id}`
|
|
434
440
|
counter++
|
|
@@ -448,7 +454,7 @@ export class ApiModel extends DependentModel {
|
|
|
448
454
|
newEntity.exposeOptions = { ...options }
|
|
449
455
|
}
|
|
450
456
|
const created = new ExposedEntity(this, newEntity)
|
|
451
|
-
this.exposes.
|
|
457
|
+
this.exposes.set(created.key, created)
|
|
452
458
|
|
|
453
459
|
// Follow associations if requested
|
|
454
460
|
if (options?.followAssociations) {
|
|
@@ -493,7 +499,13 @@ export class ApiModel extends DependentModel {
|
|
|
493
499
|
}
|
|
494
500
|
|
|
495
501
|
// Check if this entity is ALREADY exposed anywhere in the model
|
|
496
|
-
|
|
502
|
+
let existingExposure: ExposedEntity | undefined
|
|
503
|
+
for (const exp of this.exposes.values()) {
|
|
504
|
+
if (exp.entity.key === target.key) {
|
|
505
|
+
existingExposure = exp
|
|
506
|
+
break
|
|
507
|
+
}
|
|
508
|
+
}
|
|
497
509
|
|
|
498
510
|
if (existingExposure) {
|
|
499
511
|
// If it's already exposed and NOT root (i.e., it's currently a nested child of someone else),
|
|
@@ -509,7 +521,7 @@ export class ApiModel extends DependentModel {
|
|
|
509
521
|
|
|
510
522
|
let counter = 1
|
|
511
523
|
const originalCollectionPath = relativeCollectionPath
|
|
512
|
-
while (this.
|
|
524
|
+
while (this.findResourcePathCollision(relativeCollectionPath)) {
|
|
513
525
|
relativeCollectionPath = `${originalCollectionPath}-${counter}`
|
|
514
526
|
relativeResourcePath = `${relativeCollectionPath}/{id}`
|
|
515
527
|
counter++
|
|
@@ -556,7 +568,8 @@ export class ApiModel extends DependentModel {
|
|
|
556
568
|
},
|
|
557
569
|
}
|
|
558
570
|
|
|
559
|
-
|
|
571
|
+
const inst = new ExposedEntity(this, nestedExposure)
|
|
572
|
+
this.exposes.set(inst.key, inst)
|
|
560
573
|
if (depth + 1 >= maxDepth) {
|
|
561
574
|
nestedExposure.truncated = true
|
|
562
575
|
} else {
|
|
@@ -580,29 +593,25 @@ export class ApiModel extends DependentModel {
|
|
|
580
593
|
* @param key The key of the exposed entity to remove.
|
|
581
594
|
*/
|
|
582
595
|
removeExposedEntity(key: string): void {
|
|
583
|
-
|
|
584
|
-
if (index < 0) {
|
|
596
|
+
if (!this.exposes.has(key)) {
|
|
585
597
|
throw new Error(`Exposed entity with key "${key}" not found.`)
|
|
586
598
|
}
|
|
587
599
|
this.removeWithChildren(key)
|
|
588
600
|
}
|
|
589
601
|
|
|
590
602
|
private removeWithChildren(key: string): void {
|
|
591
|
-
|
|
592
|
-
if (index < 0) {
|
|
603
|
+
if (!this.exposes.has(key)) {
|
|
593
604
|
return
|
|
594
605
|
}
|
|
595
606
|
// Remove the parent itself
|
|
596
|
-
this.exposes.
|
|
607
|
+
this.exposes.delete(key)
|
|
597
608
|
// Remove all children recursively
|
|
598
609
|
const removeChildren = (parentKey: string) => {
|
|
599
610
|
// Find all exposures whose parent.key matches parentKey
|
|
600
|
-
const
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
if (childIndex >= 0) {
|
|
605
|
-
this.exposes.splice(childIndex, 1)
|
|
611
|
+
for (const child of this.exposes.values()) {
|
|
612
|
+
if (child.parent?.key === parentKey) {
|
|
613
|
+
removeChildren(child.key)
|
|
614
|
+
this.exposes.delete(child.key)
|
|
606
615
|
}
|
|
607
616
|
}
|
|
608
617
|
}
|
|
@@ -611,15 +620,6 @@ export class ApiModel extends DependentModel {
|
|
|
611
620
|
this.notifyChange()
|
|
612
621
|
}
|
|
613
622
|
|
|
614
|
-
/**
|
|
615
|
-
* Returns the exposed entity by its key.
|
|
616
|
-
* @param entityKey The key of the entity to find.
|
|
617
|
-
* @returns The exposed entity or undefined if not found.
|
|
618
|
-
*/
|
|
619
|
-
getExposedEntity(entity: AssociationTarget): ExposedEntity | undefined {
|
|
620
|
-
return this.exposes.find((e) => e.entity.key === entity.key && e.entity.domain === entity.domain)
|
|
621
|
-
}
|
|
622
|
-
|
|
623
623
|
/**
|
|
624
624
|
* Clears the API model for a new data domain change.
|
|
625
625
|
* This method resets the dependencies, exposes, user,
|
|
@@ -628,7 +628,7 @@ export class ApiModel extends DependentModel {
|
|
|
628
628
|
cleanForDomainChange(): void {
|
|
629
629
|
this.dependencies.clear()
|
|
630
630
|
this.dependencyList = []
|
|
631
|
-
this.exposes =
|
|
631
|
+
this.exposes = new Map()
|
|
632
632
|
this.user = undefined
|
|
633
633
|
if (this.session) {
|
|
634
634
|
this.session.properties = []
|
|
@@ -659,4 +659,44 @@ export class ApiModel extends DependentModel {
|
|
|
659
659
|
this.dependencyList = [{ key: domain.key, version: domain.info.version }]
|
|
660
660
|
this.notifyChange()
|
|
661
661
|
}
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Finds an existing root exposed entity that has the given resource path.
|
|
665
|
+
* Useful for detecting path collisions when adding or updating an exposed entity.
|
|
666
|
+
*
|
|
667
|
+
* @param path The resource path to check for collisions.
|
|
668
|
+
* @param ignore Optional key of an exposed entity to ignore during the check (usually the entity being updated).
|
|
669
|
+
* @returns The colliding `ExposedEntity` if found, otherwise `undefined`.
|
|
670
|
+
*/
|
|
671
|
+
findResourcePathCollision(path: string, ignore?: string): ExposedEntity | undefined {
|
|
672
|
+
for (const e of this.exposes.values()) {
|
|
673
|
+
if (ignore && e.key === ignore) {
|
|
674
|
+
continue
|
|
675
|
+
}
|
|
676
|
+
if (e.isRoot && e.resourcePath === path) {
|
|
677
|
+
return e
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return undefined
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
/**
|
|
684
|
+
* Finds an existing root exposed entity that has the given collection path.
|
|
685
|
+
* Useful for detecting path collisions when adding or updating an exposed entity.
|
|
686
|
+
*
|
|
687
|
+
* @param path The collection path to check for collisions.
|
|
688
|
+
* @param ignore Optional key of an exposed entity to ignore during the check (usually the entity being updated).
|
|
689
|
+
* @returns The colliding `ExposedEntity` if found, otherwise `undefined`.
|
|
690
|
+
*/
|
|
691
|
+
findCollectionPathCollision(path: string, ignore?: string): ExposedEntity | undefined {
|
|
692
|
+
for (const e of this.exposes.values()) {
|
|
693
|
+
if (ignore && e.key === ignore) {
|
|
694
|
+
continue
|
|
695
|
+
}
|
|
696
|
+
if (e.isRoot && e.hasCollection && e.collectionPath === path) {
|
|
697
|
+
return e
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
return undefined
|
|
701
|
+
}
|
|
662
702
|
}
|
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
|
}
|