@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
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IAmfAnyTypes,
|
|
3
|
-
IAmfArrayTypes,
|
|
4
|
-
IAmfFileTypes,
|
|
5
|
-
IAmfNodeTypes,
|
|
6
|
-
IAmfPropertyTypes,
|
|
7
|
-
IAmfRecursiveTypes,
|
|
8
|
-
IAmfScalarTypes,
|
|
9
|
-
IAmfTupleTypes,
|
|
10
|
-
IAmfUnionTypes,
|
|
11
|
-
IAmfXmlSerializationTypes,
|
|
12
|
-
} from '../AmfTypes.js'
|
|
13
|
-
import { IApiDocumentation, IApiDocumentSourceMaps } from './Api.js'
|
|
14
|
-
import { IApiDomainProperty } from './Base.js'
|
|
15
|
-
|
|
16
|
-
export type IShapeUnion =
|
|
17
|
-
| IApiScalarShape
|
|
18
|
-
| IApiNodeShape
|
|
19
|
-
| IApiUnionShape
|
|
20
|
-
| IApiFileShape
|
|
21
|
-
| IApiSchemaShape
|
|
22
|
-
| IApiAnyShape
|
|
23
|
-
| IApiArrayShape
|
|
24
|
-
| IApiTupleShape
|
|
25
|
-
| IApiRecursiveShape
|
|
26
|
-
|
|
27
|
-
export interface IApiAssociationShape {
|
|
28
|
-
/**
|
|
29
|
-
* This is a custom property that not available in the AMF library and is used with data associations.
|
|
30
|
-
*
|
|
31
|
-
* Whether the target entity should be embedded under the property name.
|
|
32
|
-
* When false, this association is just an information that one entity depend on another.
|
|
33
|
-
* When true, it changes the definition of the schema having this association to
|
|
34
|
-
* add the target schema properties inline with this property.
|
|
35
|
-
*
|
|
36
|
-
* **When true**
|
|
37
|
-
*
|
|
38
|
-
* ```javascript
|
|
39
|
-
* // generated schema for `address` association
|
|
40
|
-
* {
|
|
41
|
-
* "name": "example value",
|
|
42
|
-
* "address": {
|
|
43
|
-
* "city": "example value",
|
|
44
|
-
* ...
|
|
45
|
-
* }
|
|
46
|
-
* }
|
|
47
|
-
* ```
|
|
48
|
-
*
|
|
49
|
-
* **When false**
|
|
50
|
-
*
|
|
51
|
-
* ```javascript
|
|
52
|
-
* // generated schema for `address` association
|
|
53
|
-
* {
|
|
54
|
-
* "name": "example value",
|
|
55
|
-
* "address": "the key of the referenced schema"
|
|
56
|
-
* }
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
linked?: boolean
|
|
60
|
-
/**
|
|
61
|
-
* When the association has multiple targets the union type should be
|
|
62
|
-
* set to describe which union this is.
|
|
63
|
-
*
|
|
64
|
-
* Possible values are:
|
|
65
|
-
*
|
|
66
|
-
* - allOf - To validate against `allOf`, the given data must be valid against
|
|
67
|
-
* all of the given sub-schemas. When generating, it's a sum of all properties.
|
|
68
|
-
* - anyOf - To validate against `anyOf`, the given data must be valid against
|
|
69
|
-
* any (one or more) of the given sub-schemas. When generation a schema, it takes first union schema.
|
|
70
|
-
* - oneOf - To validate against `oneOf`, the given data must be valid against
|
|
71
|
-
* exactly one of the given sub-schemas. It behaves the same as `anyOf` when generating a schema
|
|
72
|
-
* - not - The `not` keyword declares that an instance validates if it doesn’t
|
|
73
|
-
* validate against the given sub-schema. It has no use when generating a schema.
|
|
74
|
-
*
|
|
75
|
-
* @default anyOf
|
|
76
|
-
*/
|
|
77
|
-
unionType?: 'allOf' | 'anyOf' | 'oneOf' | 'not'
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface IApiDataExample extends IApiDomainProperty {
|
|
81
|
-
name?: string
|
|
82
|
-
displayName?: string
|
|
83
|
-
description?: string
|
|
84
|
-
/**
|
|
85
|
-
* This is the "raw" property of AMF
|
|
86
|
-
*/
|
|
87
|
-
value?: string
|
|
88
|
-
structuredValue?: IApiDataNodeUnion
|
|
89
|
-
strict: boolean
|
|
90
|
-
mediaType?: string
|
|
91
|
-
location?: string
|
|
92
|
-
sourceMaps?: IApiDocumentSourceMaps
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function xmlSerializer(id: string): IApiXmlSerializer {
|
|
96
|
-
return {
|
|
97
|
-
id: `xml-serializer-${id}`,
|
|
98
|
-
types: IAmfXmlSerializationTypes,
|
|
99
|
-
customDomainProperties: [],
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function shape(id: string): IApiShape {
|
|
104
|
-
const result: IApiShape = {
|
|
105
|
-
id,
|
|
106
|
-
types: [],
|
|
107
|
-
values: [],
|
|
108
|
-
inherits: [],
|
|
109
|
-
or: [],
|
|
110
|
-
and: [],
|
|
111
|
-
xone: [],
|
|
112
|
-
customDomainProperties: [],
|
|
113
|
-
}
|
|
114
|
-
return result
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export function anyShape(id: string): IApiAnyShape {
|
|
118
|
-
const result: IApiAnyShape = {
|
|
119
|
-
...shape(id),
|
|
120
|
-
types: IAmfAnyTypes,
|
|
121
|
-
examples: [],
|
|
122
|
-
xmlSerialization: xmlSerializer(id),
|
|
123
|
-
}
|
|
124
|
-
return result
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export function nodeShape(id: string): IApiNodeShape {
|
|
128
|
-
const result = anyShape(id)
|
|
129
|
-
result.types = IAmfNodeTypes
|
|
130
|
-
result.id = `node-shape-${id}`
|
|
131
|
-
return {
|
|
132
|
-
...result,
|
|
133
|
-
properties: [],
|
|
134
|
-
dependencies: [],
|
|
135
|
-
customShapeProperties: [],
|
|
136
|
-
customShapePropertyDefinitions: [],
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export function scalarShape(id: string): IApiScalarShape {
|
|
141
|
-
const result = anyShape(id)
|
|
142
|
-
result.id = `scalar-shape-${id}`
|
|
143
|
-
result.types = IAmfScalarTypes
|
|
144
|
-
return result
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export function unionShape(id: string): IApiUnionShape {
|
|
148
|
-
const result = anyShape(id)
|
|
149
|
-
result.id = `union-shape-${id}`
|
|
150
|
-
result.types = IAmfUnionTypes
|
|
151
|
-
return { ...result, anyOf: [] }
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export function fileShape(id: string): IApiFileShape {
|
|
155
|
-
const result = anyShape(id)
|
|
156
|
-
result.id = `file-shape-${id}`
|
|
157
|
-
result.types = IAmfFileTypes
|
|
158
|
-
return result
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
export function arrayShape(id: string): IApiArrayShape {
|
|
162
|
-
const result = anyShape(id)
|
|
163
|
-
result.id = `array-shape-${id}`
|
|
164
|
-
result.types = IAmfArrayTypes
|
|
165
|
-
return result
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
export function tupleShape(id: string): IApiTupleShape {
|
|
169
|
-
const result = anyShape(id)
|
|
170
|
-
result.id = `tuple-shape-${id}`
|
|
171
|
-
result.types = IAmfTupleTypes
|
|
172
|
-
return { ...result, items: [] }
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export function propertyShape(id: string): IApiPropertyShape {
|
|
176
|
-
const result = anyShape(id)
|
|
177
|
-
result.types = IAmfPropertyTypes
|
|
178
|
-
return result
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export function recursiveShape(id: string, fixedId?: string): IApiRecursiveShape {
|
|
182
|
-
const result: IApiRecursiveShape = {
|
|
183
|
-
...shape(id),
|
|
184
|
-
id: `recursive-${id}`,
|
|
185
|
-
types: IAmfRecursiveTypes,
|
|
186
|
-
fixPoint: fixedId || '',
|
|
187
|
-
}
|
|
188
|
-
return result
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export interface IApiShape extends IApiDomainProperty {
|
|
192
|
-
/**
|
|
193
|
-
* Enum values for this shape.
|
|
194
|
-
*/
|
|
195
|
-
values: IApiDataNodeUnion[]
|
|
196
|
-
/**
|
|
197
|
-
* The list of shapes that this shape inherits from
|
|
198
|
-
*/
|
|
199
|
-
inherits: IShapeUnion[]
|
|
200
|
-
/**
|
|
201
|
-
* The `anyOf` union type.
|
|
202
|
-
*/
|
|
203
|
-
or: IShapeUnion[]
|
|
204
|
-
/**
|
|
205
|
-
* The `allOf` union type.
|
|
206
|
-
*/
|
|
207
|
-
and: IShapeUnion[]
|
|
208
|
-
/**
|
|
209
|
-
* The `oneOf` union type.
|
|
210
|
-
*/
|
|
211
|
-
xone: IShapeUnion[]
|
|
212
|
-
/**
|
|
213
|
-
* The name of the shape in the system.
|
|
214
|
-
*/
|
|
215
|
-
name?: string
|
|
216
|
-
/**
|
|
217
|
-
* The display name for the shape in the UI.
|
|
218
|
-
*/
|
|
219
|
-
displayName?: string
|
|
220
|
-
/**
|
|
221
|
-
* The description of the shape.
|
|
222
|
-
*/
|
|
223
|
-
description?: string
|
|
224
|
-
/**
|
|
225
|
-
* The default value encoded as a string
|
|
226
|
-
*/
|
|
227
|
-
defaultValueStr?: string
|
|
228
|
-
/**
|
|
229
|
-
* The description of the default value of the shape.
|
|
230
|
-
*/
|
|
231
|
-
defaultValue?: IApiDataNodeUnion
|
|
232
|
-
/**
|
|
233
|
-
* Whether the shape is deprecated.
|
|
234
|
-
*/
|
|
235
|
-
deprecated?: boolean
|
|
236
|
-
/**
|
|
237
|
-
* Whether the shape is a read only shape (disallow writes to the value)
|
|
238
|
-
*/
|
|
239
|
-
readOnly?: boolean
|
|
240
|
-
/**
|
|
241
|
-
* Whether the shape can only be written to (disallow reading the value)
|
|
242
|
-
*/
|
|
243
|
-
writeOnly?: boolean
|
|
244
|
-
not?: IShapeUnion
|
|
245
|
-
/**
|
|
246
|
-
* A label that appeared on a link.
|
|
247
|
-
*/
|
|
248
|
-
linkLabel?: string
|
|
249
|
-
sourceMaps?: IApiDocumentSourceMaps
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
/**
|
|
253
|
-
* A property of an API operation.
|
|
254
|
-
*/
|
|
255
|
-
export interface IApiPropertyShape<T = IShapeUnion> extends IApiShape {
|
|
256
|
-
/**
|
|
257
|
-
* The path of the property. Essentially, it is link generated by the AMF library
|
|
258
|
-
* where the fragment part is the name of the property.
|
|
259
|
-
*/
|
|
260
|
-
path?: string
|
|
261
|
-
/**
|
|
262
|
-
* The parameter shape definition
|
|
263
|
-
*/
|
|
264
|
-
range?: T
|
|
265
|
-
/**
|
|
266
|
-
* When > 0 then the parameter is required.
|
|
267
|
-
*/
|
|
268
|
-
minCount?: number
|
|
269
|
-
maxCount?: number
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
export interface IApiAnyShape extends IApiShape {
|
|
273
|
-
documentation?: IApiDocumentation
|
|
274
|
-
/**
|
|
275
|
-
* Description of how the shape should be serialized as XML.
|
|
276
|
-
*/
|
|
277
|
-
xmlSerialization: IApiXmlSerializer
|
|
278
|
-
/**
|
|
279
|
-
* Examples defined for the shape.
|
|
280
|
-
*/
|
|
281
|
-
examples: IApiDataExample[]
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Describes an object shape.
|
|
286
|
-
*/
|
|
287
|
-
export interface IApiNodeShape extends IApiAnyShape {
|
|
288
|
-
minProperties?: number
|
|
289
|
-
maxProperties?: number
|
|
290
|
-
closed?: boolean
|
|
291
|
-
customShapeProperties: string[]
|
|
292
|
-
customShapePropertyDefinitions: string[]
|
|
293
|
-
discriminator?: string
|
|
294
|
-
discriminatorValue?: string
|
|
295
|
-
properties: IApiPropertyShape[]
|
|
296
|
-
dependencies: string[]
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
export interface IApiXmlSerializer extends IApiDomainProperty {
|
|
300
|
-
/**
|
|
301
|
-
* Whether this property should be represented as an attribute of the parent shape.
|
|
302
|
-
*
|
|
303
|
-
* ```
|
|
304
|
-
* <Person name="John Doe"></Person>
|
|
305
|
-
* ```
|
|
306
|
-
*/
|
|
307
|
-
attribute?: boolean
|
|
308
|
-
/**
|
|
309
|
-
* When the property is an array (has the `multiple` set to true in the data model)
|
|
310
|
-
* then it tells that the list of values should be wrapped with a parent
|
|
311
|
-
* element:
|
|
312
|
-
*
|
|
313
|
-
* ```
|
|
314
|
-
* <Person>
|
|
315
|
-
* <Person fullName="John Doe"></Person>
|
|
316
|
-
* <Person fullName="Other Doe"></Person>
|
|
317
|
-
* </Person>
|
|
318
|
-
* ```
|
|
319
|
-
*
|
|
320
|
-
* Use this with the combination with `name` to describe the name of the wrapped
|
|
321
|
-
* element
|
|
322
|
-
*
|
|
323
|
-
* ```
|
|
324
|
-
* <people>
|
|
325
|
-
* <Person fullName="John Doe"></Person>
|
|
326
|
-
* </people>
|
|
327
|
-
* ```
|
|
328
|
-
*
|
|
329
|
-
* Note, this is mutually exclusive with `attribute`.
|
|
330
|
-
*/
|
|
331
|
-
wrapped?: boolean
|
|
332
|
-
/**
|
|
333
|
-
* The name of the attribute or a wrapped property to use when serializing the property.
|
|
334
|
-
*
|
|
335
|
-
* Attribute name
|
|
336
|
-
* ```xml
|
|
337
|
-
* <Person fullName="John Doe"></Person>
|
|
338
|
-
* ```
|
|
339
|
-
*
|
|
340
|
-
* Wrapped name
|
|
341
|
-
* ```xml
|
|
342
|
-
* <people>
|
|
343
|
-
* <Person name="John Doe"></Person>
|
|
344
|
-
* </people>
|
|
345
|
-
* ```
|
|
346
|
-
*/
|
|
347
|
-
name?: string
|
|
348
|
-
/**
|
|
349
|
-
* The XML namespace to use.
|
|
350
|
-
*
|
|
351
|
-
* ```xml
|
|
352
|
-
* <Person ns:name="John Doe"></Person>
|
|
353
|
-
* ```
|
|
354
|
-
*/
|
|
355
|
-
namespace?: string
|
|
356
|
-
/**
|
|
357
|
-
* Name prefix
|
|
358
|
-
*
|
|
359
|
-
* ```xml
|
|
360
|
-
* <ns:Person name="John Doe"></ns:Person>
|
|
361
|
-
* ```
|
|
362
|
-
*/
|
|
363
|
-
prefix?: string
|
|
364
|
-
sourceMaps?: IApiDocumentSourceMaps
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
export interface IApiScalarShape extends IApiAnyShape {
|
|
368
|
-
dataType?: string
|
|
369
|
-
pattern?: string
|
|
370
|
-
minLength?: number
|
|
371
|
-
maxLength?: number
|
|
372
|
-
minimum?: number
|
|
373
|
-
maximum?: number
|
|
374
|
-
exclusiveMinimum?: boolean
|
|
375
|
-
exclusiveMaximum?: boolean
|
|
376
|
-
format?: string
|
|
377
|
-
multipleOf?: number
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
export interface IApiFileShape extends IApiAnyShape {
|
|
381
|
-
fileTypes?: string[]
|
|
382
|
-
pattern?: string
|
|
383
|
-
minLength?: number
|
|
384
|
-
maxLength?: number
|
|
385
|
-
minimum?: number
|
|
386
|
-
maximum?: number
|
|
387
|
-
exclusiveMinimum?: boolean
|
|
388
|
-
exclusiveMaximum?: boolean
|
|
389
|
-
format?: string
|
|
390
|
-
multipleOf?: number
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
export interface IApiSchemaShape extends IApiAnyShape {
|
|
394
|
-
mediaType?: string
|
|
395
|
-
raw?: string
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
export interface IApiUnionShape extends IApiAnyShape {
|
|
399
|
-
anyOf: IShapeUnion[]
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
export interface IApiDataArrangeShape extends IApiAnyShape {
|
|
403
|
-
minItems?: number
|
|
404
|
-
maxItems?: number
|
|
405
|
-
uniqueItems?: boolean
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
export interface IApiArrayShape<T = IShapeUnion> extends IApiDataArrangeShape {
|
|
409
|
-
items?: T
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
export interface IApiTupleShape<T = IShapeUnion> extends IApiDataArrangeShape {
|
|
413
|
-
items: T[]
|
|
414
|
-
additionalItems?: boolean
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
export interface IApiRecursiveShape extends IApiShape {
|
|
418
|
-
fixPoint: string
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
export interface IApiDataNode extends IApiDomainProperty {
|
|
422
|
-
name?: string
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
export interface IApiObjectNode extends IApiDataNode {
|
|
426
|
-
properties: Record<string, IApiDataNodeUnion>
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
export interface IApiScalarNode extends IApiDataNode {
|
|
430
|
-
value?: string
|
|
431
|
-
dataType?: string
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
export interface IApiArrayNode extends IApiDataNode {
|
|
435
|
-
members: IApiDataNodeUnion[]
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
export type IApiDataNodeUnion = IApiDataNode | IApiObjectNode | IApiScalarNode | IApiArrayNode
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
import { nanoid } from '../../nanoid.js'
|
|
2
|
-
import { IAmfArrayNodeTypes, IAmfObjectNodeTypes, IAmfScalarNodeTypes } from '../AmfTypes.js'
|
|
3
|
-
import { IApiCustomDomainProperty } from '../definitions/Base.js'
|
|
4
|
-
import { AmfNamespace } from '../definitions/Namespace.js'
|
|
5
|
-
import {
|
|
6
|
-
IApiArrayNode,
|
|
7
|
-
IApiDataNode,
|
|
8
|
-
IApiDataNodeUnion,
|
|
9
|
-
IApiObjectNode,
|
|
10
|
-
IApiScalarNode,
|
|
11
|
-
} from '../definitions/Shapes.js'
|
|
12
|
-
|
|
13
|
-
export type IDataNodeInit = 'scalar' | 'object' | 'array'
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* A class that manipulates the AMF's DataNode node.
|
|
17
|
-
*/
|
|
18
|
-
export class AmfDataNode {
|
|
19
|
-
id = nanoid()
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* AMF domain types.
|
|
23
|
-
* This is set in the constructor
|
|
24
|
-
*/
|
|
25
|
-
types: string[]
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The name of this data node.
|
|
29
|
-
*/
|
|
30
|
-
name?: string
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Set when the object node type
|
|
34
|
-
*/
|
|
35
|
-
properties?: Record<string, AmfDataNode>
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Scalar type value. Always a string.
|
|
39
|
-
*/
|
|
40
|
-
value?: string
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Scalar type value data type.
|
|
44
|
-
*/
|
|
45
|
-
dataType?: string
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Set when the type is array.
|
|
49
|
-
*/
|
|
50
|
-
members?: AmfDataNode[]
|
|
51
|
-
|
|
52
|
-
customDomainProperties: IApiCustomDomainProperty[] = []
|
|
53
|
-
|
|
54
|
-
static scalar(value: string, type: string): AmfDataNode {
|
|
55
|
-
const result = new AmfDataNode('scalar')
|
|
56
|
-
result.value = value
|
|
57
|
-
result.dataType = type
|
|
58
|
-
return result
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
constructor(init: IApiDataNodeUnion | IDataNodeInit) {
|
|
62
|
-
if (typeof init === 'string') {
|
|
63
|
-
if (init === 'scalar') {
|
|
64
|
-
this.types = IAmfScalarNodeTypes
|
|
65
|
-
} else if (init === 'array') {
|
|
66
|
-
this.types = IAmfArrayNodeTypes
|
|
67
|
-
} else if (init === 'object') {
|
|
68
|
-
this.types = IAmfObjectNodeTypes
|
|
69
|
-
} else {
|
|
70
|
-
throw new Error(`Invalid data node init option: ${init}`)
|
|
71
|
-
}
|
|
72
|
-
return
|
|
73
|
-
}
|
|
74
|
-
if (!init) {
|
|
75
|
-
throw new Error(`Expected an initialization option.`)
|
|
76
|
-
}
|
|
77
|
-
const union = init as IApiDataNodeUnion
|
|
78
|
-
const { id, types, customDomainProperties } = union
|
|
79
|
-
this.id = id
|
|
80
|
-
this.types = types
|
|
81
|
-
this.customDomainProperties = customDomainProperties
|
|
82
|
-
if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {
|
|
83
|
-
const typed = union as IApiScalarNode
|
|
84
|
-
this.value = typed.value
|
|
85
|
-
this.dataType = typed.dataType
|
|
86
|
-
} else if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
|
|
87
|
-
const typed = union as IApiObjectNode
|
|
88
|
-
const props: Record<string, AmfDataNode> = {}
|
|
89
|
-
this.properties = props
|
|
90
|
-
Object.keys(typed.properties).forEach((key) => {
|
|
91
|
-
const instance = new AmfDataNode(typed.properties[key])
|
|
92
|
-
props[key] = instance
|
|
93
|
-
})
|
|
94
|
-
} else if (types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
|
|
95
|
-
const typed = union as IApiArrayNode
|
|
96
|
-
const members: AmfDataNode[] = []
|
|
97
|
-
this.members = members
|
|
98
|
-
if (Array.isArray(typed.members)) {
|
|
99
|
-
typed.members.forEach((member) => {
|
|
100
|
-
const instance = new AmfDataNode(member)
|
|
101
|
-
members.push(instance)
|
|
102
|
-
})
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
toJSON(): IApiDataNodeUnion {
|
|
108
|
-
const { id, customDomainProperties, types, name } = this
|
|
109
|
-
const result: IApiDataNode = {
|
|
110
|
-
id,
|
|
111
|
-
types,
|
|
112
|
-
customDomainProperties,
|
|
113
|
-
}
|
|
114
|
-
if (name) {
|
|
115
|
-
result.name = name
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {
|
|
119
|
-
const typed = result as IApiScalarNode
|
|
120
|
-
typed.dataType = this.dataType
|
|
121
|
-
typed.value = this.value
|
|
122
|
-
} else if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
|
|
123
|
-
const typed = result as IApiObjectNode
|
|
124
|
-
typed.properties = {}
|
|
125
|
-
const props = this.properties
|
|
126
|
-
if (props) {
|
|
127
|
-
Object.keys(props).forEach((key) => {
|
|
128
|
-
typed.properties[key] = props[key].toJSON()
|
|
129
|
-
})
|
|
130
|
-
}
|
|
131
|
-
} else if (types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
|
|
132
|
-
const typed = result as IApiArrayNode
|
|
133
|
-
typed.members = []
|
|
134
|
-
if (this.members) {
|
|
135
|
-
this.members.forEach((member) => {
|
|
136
|
-
typed.members.push(member.toJSON())
|
|
137
|
-
})
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return result
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Adds a member to the list of members.
|
|
145
|
-
* It throws when this is not an array node.
|
|
146
|
-
*
|
|
147
|
-
* @param init The member to add.
|
|
148
|
-
*/
|
|
149
|
-
addMember(init: AmfDataNode): void {
|
|
150
|
-
if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
|
|
151
|
-
throw new Error(`Not an ArrayNode.`)
|
|
152
|
-
}
|
|
153
|
-
if (!this.members) {
|
|
154
|
-
this.members = []
|
|
155
|
-
}
|
|
156
|
-
this.members.push(init)
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Removes a member from the list of members.
|
|
161
|
-
* It throws when this is not an array node.
|
|
162
|
-
*
|
|
163
|
-
* @param id The domain id of the member to remove.
|
|
164
|
-
*/
|
|
165
|
-
removeMember(id: string): void {
|
|
166
|
-
if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
|
|
167
|
-
throw new Error(`Not an ArrayNode.`)
|
|
168
|
-
}
|
|
169
|
-
if (!this.members) {
|
|
170
|
-
return
|
|
171
|
-
}
|
|
172
|
-
const index = this.members.findIndex((i) => i.id === id)
|
|
173
|
-
if (index >= 0) {
|
|
174
|
-
this.members.splice(index, 1)
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Adds a property to the ObjectNode.
|
|
180
|
-
* It throws when this is not an object node.
|
|
181
|
-
*
|
|
182
|
-
* @param name The name of the property.
|
|
183
|
-
* @param value The instance of the DataNode to set.
|
|
184
|
-
*/
|
|
185
|
-
addProperty(name: string, value: AmfDataNode): void {
|
|
186
|
-
if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
|
|
187
|
-
throw new Error(`Not an ObjectNode.`)
|
|
188
|
-
}
|
|
189
|
-
if (!this.properties) {
|
|
190
|
-
this.properties = {}
|
|
191
|
-
}
|
|
192
|
-
this.properties[name] = value
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Deletes a property by name.
|
|
197
|
-
*
|
|
198
|
-
* @param name The name of the property to delete.
|
|
199
|
-
*/
|
|
200
|
-
removeProperty(name: string): void {
|
|
201
|
-
if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
|
|
202
|
-
throw new Error(`Not an ObjectNode.`)
|
|
203
|
-
}
|
|
204
|
-
if (!this.properties) {
|
|
205
|
-
return
|
|
206
|
-
}
|
|
207
|
-
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
208
|
-
delete this.properties[name]
|
|
209
|
-
}
|
|
210
|
-
}
|
package/src/amf/shape/README.md
DELETED