@api-client/core 0.6.13 → 0.6.16
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/build/browser.d.ts +9 -2
- package/build/browser.js +12 -2
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +9 -2
- package/build/index.js +12 -2
- package/build/index.js.map +1 -1
- package/build/src/amf/AmfMixin.d.ts +395 -0
- package/build/src/amf/AmfMixin.js +1146 -0
- package/build/src/amf/AmfMixin.js.map +1 -0
- package/build/src/amf/AmfSerializer.d.ts +136 -0
- package/build/src/amf/AmfSerializer.js +1913 -0
- package/build/src/amf/AmfSerializer.js.map +1 -0
- package/build/src/amf/AmfShapeGenerator.d.ts +85 -0
- package/build/src/amf/AmfShapeGenerator.js +385 -0
- package/build/src/amf/AmfShapeGenerator.js.map +1 -0
- package/build/src/amf/AmfTypes.d.ts +24 -0
- package/build/src/amf/AmfTypes.js +122 -0
- package/build/src/amf/AmfTypes.js.map +1 -0
- package/build/src/amf/ApiExampleGenerator.d.ts +36 -0
- package/build/src/amf/ApiExampleGenerator.js +109 -0
- package/build/src/amf/ApiExampleGenerator.js.map +1 -0
- package/build/src/amf/ApiMonacoSchemaGenerator.d.ts +67 -0
- package/build/src/amf/ApiMonacoSchemaGenerator.js +243 -0
- package/build/src/amf/ApiMonacoSchemaGenerator.js.map +1 -0
- package/build/src/amf/ApiSchemaGenerator.d.ts +55 -0
- package/build/src/amf/ApiSchemaGenerator.js +94 -0
- package/build/src/amf/ApiSchemaGenerator.js.map +1 -0
- package/build/src/amf/ApiSchemaValues.d.ts +98 -0
- package/build/src/amf/ApiSchemaValues.js +382 -0
- package/build/src/amf/ApiSchemaValues.js.map +1 -0
- package/build/src/amf/Utils.d.ts +41 -0
- package/build/src/amf/Utils.js +176 -0
- package/build/src/amf/Utils.js.map +1 -0
- package/build/src/amf/data-node/DataNodeBase.d.ts +31 -0
- package/build/src/amf/data-node/DataNodeBase.js +77 -0
- package/build/src/amf/data-node/DataNodeBase.js.map +1 -0
- package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts +15 -0
- package/build/src/amf/data-node/JsonDataNodeGenerator.js +24 -0
- package/build/src/amf/data-node/JsonDataNodeGenerator.js.map +1 -0
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts +13 -0
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js +42 -0
- package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js.map +1 -0
- package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts +21 -0
- package/build/src/amf/data-node/XmlDataNodeGenerator.js +30 -0
- package/build/src/amf/data-node/XmlDataNodeGenerator.js.map +1 -0
- package/build/src/amf/definitions/Amf.d.ts +362 -0
- package/build/src/amf/definitions/Amf.js +2 -0
- package/build/src/amf/definitions/Amf.js.map +1 -0
- package/build/src/amf/definitions/Api.d.ts +381 -0
- package/build/src/amf/definitions/Api.js +2 -0
- package/build/src/amf/definitions/Api.js.map +1 -0
- package/build/src/amf/definitions/Base.d.ts +11 -0
- package/build/src/amf/definitions/Base.js +2 -0
- package/build/src/amf/definitions/Base.js.map +1 -0
- package/build/src/amf/definitions/Namespace.d.ts +311 -0
- package/build/src/amf/definitions/Namespace.js +330 -0
- package/build/src/amf/definitions/Namespace.js.map +1 -0
- package/build/src/amf/definitions/Shapes.d.ts +309 -0
- package/build/src/amf/definitions/Shapes.js +87 -0
- package/build/src/amf/definitions/Shapes.js.map +1 -0
- package/build/src/amf/models/AmfDataNode.d.ts +68 -0
- package/build/src/amf/models/AmfDataNode.js +188 -0
- package/build/src/amf/models/AmfDataNode.js.map +1 -0
- package/build/src/amf/shape/ShapeBase.d.ts +75 -0
- package/build/src/amf/shape/ShapeBase.js +90 -0
- package/build/src/amf/shape/ShapeBase.js.map +1 -0
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts +46 -0
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js +406 -0
- package/build/src/amf/shape/ShapeJsonSchemaGenerator.js.map +1 -0
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts +84 -0
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js +820 -0
- package/build/src/amf/shape/ShapeXmlSchemaGenerator.js.map +1 -0
- package/build/src/models/Thing.d.ts +17 -0
- package/build/src/models/Thing.js +19 -1
- package/build/src/models/Thing.js.map +1 -1
- package/build/src/models/data/Bindings.d.ts +161 -0
- package/build/src/models/data/Bindings.js +2 -0
- package/build/src/models/data/Bindings.js.map +1 -0
- package/build/src/models/data/DataAssociation.d.ts +135 -14
- package/build/src/models/data/DataAssociation.js +154 -21
- package/build/src/models/data/DataAssociation.js.map +1 -1
- package/build/src/models/data/DataAssociationSchema.d.ts +36 -0
- package/build/src/models/data/DataEntity.d.ts +76 -4
- package/build/src/models/data/DataEntity.js +136 -9
- package/build/src/models/data/DataEntity.js.map +1 -1
- package/build/src/models/data/DataFile.d.ts +3 -0
- package/build/src/models/data/DataFile.js +3 -0
- package/build/src/models/data/DataFile.js.map +1 -1
- package/build/src/models/data/DataModel.d.ts +1 -1
- package/build/src/models/data/DataModel.js.map +1 -1
- package/build/src/models/data/DataNamespace.d.ts +6 -0
- package/build/src/models/data/DataNamespace.js +11 -1
- package/build/src/models/data/DataNamespace.js.map +1 -1
- package/build/src/models/data/DataProperty.d.ts +131 -36
- package/build/src/models/data/DataProperty.js +200 -17
- package/build/src/models/data/DataProperty.js.map +1 -1
- package/data/apis/oas-date/oas-date.yaml +28 -0
- package/data/apis/oas-types/oas-types.yaml +159 -0
- package/data/apis/oas-unions/oas-unions.yaml +75 -0
- package/data/apis/raml-date/raml-date.raml +28 -0
- package/data/apis/recursive/recursive.raml +14 -0
- package/data/apis/schema-api/examples/person.json +14 -0
- package/data/apis/schema-api/examples/person.raml +14 -0
- package/data/apis/schema-api/examples/person.url.encoded +1 -0
- package/data/apis/schema-api/examples/person.xml +14 -0
- package/data/apis/schema-api/library/demo-types.raml +43 -0
- package/data/apis/schema-api/schema-api.raml +644 -0
- package/data/apis/schema-api/schemas/person.json +104 -0
- package/data/apis/schema-api/schemas/person.xsd +26 -0
- package/data/apis/schema-api/types/DemoPerson.raml +67 -0
- package/data/model.js +106 -0
- package/data/models/oas-date.json +637 -0
- package/data/models/oas-types.json +5352 -0
- package/data/models/oas-unions.json +1881 -0
- package/data/models/raml-date.json +1096 -0
- package/data/models/recursive.json +610 -0
- package/data/models/schema-api.json +37319 -0
- package/package.json +9 -6
- package/src/amf/AmfMixin.ts +1623 -0
- package/src/amf/AmfSerializer.ts +2028 -0
- package/src/amf/AmfShapeGenerator.ts +400 -0
- package/src/amf/AmfTypes.ts +126 -0
- package/src/amf/ApiExampleGenerator.ts +112 -0
- package/src/amf/ApiMonacoSchemaGenerator.ts +296 -0
- package/src/amf/ApiSchemaGenerator.ts +108 -0
- package/src/amf/ApiSchemaValues.ts +411 -0
- package/src/amf/Utils.ts +182 -0
- package/src/amf/data-node/DataNodeBase.ts +81 -0
- package/src/amf/data-node/JsonDataNodeGenerator.ts +26 -0
- package/src/amf/data-node/README.md +3 -0
- package/src/amf/data-node/UrlEncodedDataNodeGenerator.ts +43 -0
- package/src/amf/data-node/XmlDataNodeGenerator.ts +38 -0
- package/src/amf/definitions/Amf.ts +443 -0
- package/src/amf/definitions/Api.ts +427 -0
- package/src/amf/definitions/Base.ts +13 -0
- package/src/amf/definitions/Namespace.ts +341 -0
- package/src/amf/definitions/Shapes.ts +414 -0
- package/src/amf/models/AmfDataNode.ts +200 -0
- package/src/amf/shape/README.md +4 -0
- package/src/amf/shape/ShapeBase.ts +160 -0
- package/src/amf/shape/ShapeJsonSchemaGenerator.ts +422 -0
- package/src/amf/shape/ShapeXmlSchemaGenerator.ts +876 -0
- package/src/models/Thing.ts +25 -1
- package/src/models/data/Bindings.ts +186 -0
- package/src/models/data/DataAssociation.ts +226 -29
- package/src/models/data/DataAssociationSchema.ts +38 -0
- package/src/models/data/DataEntity.ts +170 -13
- package/src/models/data/DataFile.ts +3 -0
- package/src/models/data/DataModel.ts +1 -1
- package/src/models/data/DataNamespace.ts +16 -1
- package/src/models/data/DataProperty.ts +250 -47
- package/build/src/models/data/DataPropertySchema.d.ts +0 -125
- package/build/src/models/data/DataPropertySchema.js +0 -33
- package/build/src/models/data/DataPropertySchema.js.map +0 -1
- package/src/models/data/DataPropertySchema.ts +0 -156
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShapeXmlSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/amf/shape/ShapeXmlSchemaGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,11 @@ export declare interface IThing {
|
|
|
11
11
|
* The name of the thing.
|
|
12
12
|
*/
|
|
13
13
|
name?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Optional value to overwrite the `name` in the UI.
|
|
16
|
+
* The primary descriptive field is the `name`. The display name is only used in the presentation of the data.
|
|
17
|
+
*/
|
|
18
|
+
displayName?: string;
|
|
14
19
|
/**
|
|
15
20
|
* The description of the thing.
|
|
16
21
|
*/
|
|
@@ -26,6 +31,11 @@ export declare class Thing {
|
|
|
26
31
|
* The name of the thing.
|
|
27
32
|
*/
|
|
28
33
|
name?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Optional value to overwrite the `name` in the UI.
|
|
36
|
+
* The primary descriptive field is the `name`. The display name is only used in the presentation of the data.
|
|
37
|
+
*/
|
|
38
|
+
displayName?: string;
|
|
29
39
|
/**
|
|
30
40
|
* The description of the thing.
|
|
31
41
|
*/
|
|
@@ -34,6 +44,13 @@ export declare class Thing {
|
|
|
34
44
|
* The version number of the thing.
|
|
35
45
|
*/
|
|
36
46
|
version?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Returns one in this order:
|
|
49
|
+
* - displayName
|
|
50
|
+
* - name
|
|
51
|
+
* - 'Unnamed object'
|
|
52
|
+
*/
|
|
53
|
+
get renderLabel(): string;
|
|
37
54
|
/**
|
|
38
55
|
* Creates a basic description from a name.
|
|
39
56
|
*/
|
|
@@ -5,6 +5,11 @@ export class Thing {
|
|
|
5
5
|
* The name of the thing.
|
|
6
6
|
*/
|
|
7
7
|
name;
|
|
8
|
+
/**
|
|
9
|
+
* Optional value to overwrite the `name` in the UI.
|
|
10
|
+
* The primary descriptive field is the `name`. The display name is only used in the presentation of the data.
|
|
11
|
+
*/
|
|
12
|
+
displayName;
|
|
8
13
|
/**
|
|
9
14
|
* The description of the thing.
|
|
10
15
|
*/
|
|
@@ -13,6 +18,15 @@ export class Thing {
|
|
|
13
18
|
* The version number of the thing.
|
|
14
19
|
*/
|
|
15
20
|
version;
|
|
21
|
+
/**
|
|
22
|
+
* Returns one in this order:
|
|
23
|
+
* - displayName
|
|
24
|
+
* - name
|
|
25
|
+
* - 'Unnamed object'
|
|
26
|
+
*/
|
|
27
|
+
get renderLabel() {
|
|
28
|
+
return this.displayName || this.name || 'Unnamed object';
|
|
29
|
+
}
|
|
16
30
|
/**
|
|
17
31
|
* Creates a basic description from a name.
|
|
18
32
|
*/
|
|
@@ -50,9 +64,10 @@ export class Thing {
|
|
|
50
64
|
if (!Thing.isThing(init)) {
|
|
51
65
|
throw new Error(`Not a thing.`);
|
|
52
66
|
}
|
|
53
|
-
const { description, name, version } = init;
|
|
67
|
+
const { description, name, version, displayName } = init;
|
|
54
68
|
this.kind = Kind;
|
|
55
69
|
this.name = name;
|
|
70
|
+
this.displayName = displayName;
|
|
56
71
|
this.description = description;
|
|
57
72
|
this.version = version;
|
|
58
73
|
}
|
|
@@ -73,6 +88,9 @@ export class Thing {
|
|
|
73
88
|
if (typeof this.name === 'string') {
|
|
74
89
|
result.name = this.name;
|
|
75
90
|
}
|
|
91
|
+
if (typeof this.displayName === 'string') {
|
|
92
|
+
result.displayName = this.displayName;
|
|
93
|
+
}
|
|
76
94
|
if (this.description) {
|
|
77
95
|
result.description = this.description;
|
|
78
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thing.js","sourceRoot":"","sources":["../../../src/models/Thing.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Thing.js","sourceRoot":"","sources":["../../../src/models/Thing.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC;AA6BjC,MAAM,OAAO,KAAK;IAChB,IAAI,GAAG,IAAI,CAAC;IACZ;;OAEG;IACH,IAAI,CAAU;IACd;;;OAGG;IACH,WAAW,CAAU;IACrB;;OAEG;IACH,WAAW,CAAU;IACrB;;OAEG;IACH,OAAO,CAAU;IAEjB;;;;;OAKG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI;YACJ,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY,KAAuB;QACjC,IAAI,IAAY,CAAC;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,IAAI,GAAG,KAAK,CAAC;SACd;aAAM;YACL,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;SACH;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QACD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAc;QAC3B,MAAM,KAAK,GAAG,KAAe,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAW;YACrB,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACjC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACzB;QACD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YACxC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { IXmlSerializer } from "../../amf/definitions/Shapes.js";
|
|
2
|
+
/**
|
|
3
|
+
* A general schema definition for a property. This is propagated to all bindings (when they support these properties).
|
|
4
|
+
*/
|
|
5
|
+
export interface IPropertySchema {
|
|
6
|
+
/**
|
|
7
|
+
* The enum values for the property.
|
|
8
|
+
* They are always encoded as strings. The actual type is defined in the `dataType` property.
|
|
9
|
+
*/
|
|
10
|
+
enum?: string[];
|
|
11
|
+
/**
|
|
12
|
+
* The default value for the property.
|
|
13
|
+
* This is always encoded as a string. The actual type is defined in the `dataType` property.
|
|
14
|
+
*/
|
|
15
|
+
defaultValue?: string;
|
|
16
|
+
/**
|
|
17
|
+
* The example values for the property.
|
|
18
|
+
* They are always encoded as strings. The actual type is defined in the `dataType` property.
|
|
19
|
+
*/
|
|
20
|
+
examples?: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Binding for web API schema types (RAML, OAS)
|
|
24
|
+
*
|
|
25
|
+
* Data type translation (type to dataType)
|
|
26
|
+
*
|
|
27
|
+
* - `string` -> `string` with appropriate format
|
|
28
|
+
* - `number` -> `number` data type with format `float`, `double`, or none format for OAS
|
|
29
|
+
* - `integer` -> `integer` data type with `int32`, `int64`, or none format for OAS
|
|
30
|
+
* - `nil` -> `nullable` property on OAS or `nil` type in RAML
|
|
31
|
+
* - `boolean` -> `boolean` (both the same)
|
|
32
|
+
* - `date` ->
|
|
33
|
+
* - `any` -> `any` in RAML, `{}` shorthand in OAS
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
*
|
|
37
|
+
* The `binary` type
|
|
38
|
+
*
|
|
39
|
+
* OAS
|
|
40
|
+
*
|
|
41
|
+
* `http://www.w3.org/2001/XMLSchema#byte` For a file
|
|
42
|
+
* `http://www.w3.org/2001/XMLSchema#base64Binary` for base 64
|
|
43
|
+
*
|
|
44
|
+
* RAML
|
|
45
|
+
*
|
|
46
|
+
* Has it's own AMF shape: FileShape.
|
|
47
|
+
*
|
|
48
|
+
* The `data` type
|
|
49
|
+
*
|
|
50
|
+
* OAS
|
|
51
|
+
*
|
|
52
|
+
* `http://www.w3.org/2001/XMLSchema#date` for a `date`
|
|
53
|
+
* `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` and `time`.
|
|
54
|
+
* Note, OAS has no concept of `time` do we add `time` as the `format which is a custom thing.
|
|
55
|
+
*
|
|
56
|
+
* RAML
|
|
57
|
+
*
|
|
58
|
+
* `http://www.w3.org/2001/XMLSchema#date` for a `date` (raml's date-only)
|
|
59
|
+
* `http://a.ml/vocabularies/shapes#dateTimeOnly` for a `time` (raml's time-only)
|
|
60
|
+
* `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` (raml's datetime) + format
|
|
61
|
+
*
|
|
62
|
+
* Note, we won't support RAML's `datetime-only`.
|
|
63
|
+
*/
|
|
64
|
+
export interface IPropertyWebBindings {
|
|
65
|
+
/**
|
|
66
|
+
* When set it overrides the `name` of the property.
|
|
67
|
+
*/
|
|
68
|
+
name?: string;
|
|
69
|
+
/**
|
|
70
|
+
* The data type of the property consistent with AMF's data types.
|
|
71
|
+
*/
|
|
72
|
+
dataType?: string;
|
|
73
|
+
/**
|
|
74
|
+
* The XML encoding instructions.
|
|
75
|
+
*/
|
|
76
|
+
xml?: IXmlSerializer;
|
|
77
|
+
/**
|
|
78
|
+
* Only valid for the `file` property type.
|
|
79
|
+
* The list of file mime types.
|
|
80
|
+
*/
|
|
81
|
+
fileTypes?: string[];
|
|
82
|
+
/**
|
|
83
|
+
* The patter to use wit a string scalar
|
|
84
|
+
*/
|
|
85
|
+
pattern?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Minimum length of a string scalar or a file type.
|
|
88
|
+
*/
|
|
89
|
+
minLength?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Maximum length of a string scalar or a file type.
|
|
92
|
+
*/
|
|
93
|
+
maxLength?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Minimum value for a number scalar.
|
|
96
|
+
*/
|
|
97
|
+
minimum?: number;
|
|
98
|
+
/**
|
|
99
|
+
* Maximum value for a number scalar.
|
|
100
|
+
*/
|
|
101
|
+
maximum?: number;
|
|
102
|
+
/**
|
|
103
|
+
* The multiplier value for a number scalar.
|
|
104
|
+
*/
|
|
105
|
+
multipleOf?: number;
|
|
106
|
+
/**
|
|
107
|
+
* When `false`: value ≥ minimum.
|
|
108
|
+
* When `true`: value > minimum.
|
|
109
|
+
*/
|
|
110
|
+
exclusiveMinimum?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* When `false`: value ≤ maximum.
|
|
113
|
+
* When `true`: value < minimum.
|
|
114
|
+
*/
|
|
115
|
+
exclusiveMaximum?: boolean;
|
|
116
|
+
format?: 'float' | 'double' | 'int32' | 'int64' | 'date' | 'date-time' | 'password' | 'binary' | 'byte' | 'email' | 'uuid' | 'uri' | 'hostname' | 'ipv4' | 'ipv6' | string | 'rfc3339' | 'rfc2616';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Binding to the protocol buffer.
|
|
120
|
+
*
|
|
121
|
+
* Data type translation (type to dataType)
|
|
122
|
+
*
|
|
123
|
+
* - `string` -> `string`
|
|
124
|
+
* - `number` -> `double`, `float`
|
|
125
|
+
* - `integer` -> `int32`, `int64`, `uint32`, `uint64`, `sint32`, `sint64`, `fixed32`, `fixed64`, `sfixed32`, `sfixed64`
|
|
126
|
+
* - `nil` -> No translation.
|
|
127
|
+
* - `boolean` -> `boolean`
|
|
128
|
+
* - `date` -> No translation, we allow string or number (date string or a timestamp with a combination with format but this is not standard for ProtoBuf)
|
|
129
|
+
* - `any` -> No translation, the user has to pick any of the data formats.
|
|
130
|
+
* - `binary` -> `bytes`
|
|
131
|
+
*/
|
|
132
|
+
export interface IPropertyProtobufBindings {
|
|
133
|
+
/**
|
|
134
|
+
* The field number in a protocol buffer message
|
|
135
|
+
*/
|
|
136
|
+
field?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Whether this property (field) is reserved
|
|
139
|
+
*/
|
|
140
|
+
reserved?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* The data type of the property consistent with AMF's data types.
|
|
143
|
+
*/
|
|
144
|
+
dataType?: string;
|
|
145
|
+
}
|
|
146
|
+
export interface IPropertyBindings {
|
|
147
|
+
/**
|
|
148
|
+
* The type of the bindings
|
|
149
|
+
*
|
|
150
|
+
* - Protocol buffers: `protobuf`
|
|
151
|
+
* - RAML or OAS - `web`
|
|
152
|
+
*/
|
|
153
|
+
type: 'protobuf' | 'web';
|
|
154
|
+
/**
|
|
155
|
+
* The definition of the bindings.
|
|
156
|
+
* The bindings tells how to translated the DataProperty to a specific format.
|
|
157
|
+
* For example, it allows to define the `dataType` and `format` for RAML / OAS (via the AMF shapes)
|
|
158
|
+
* or the field number for protocol buffer.
|
|
159
|
+
*/
|
|
160
|
+
schema: IPropertyProtobufBindings | IPropertyWebBindings;
|
|
161
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../../src/models/data/Bindings.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
import { IAssociationShape, IPropertyShape } from '../../amf/definitions/Shapes.js';
|
|
1
2
|
import { IThing, Thing } from "../Thing.js";
|
|
2
|
-
import {
|
|
3
|
-
import { DataEntity } from './DataEntity.js';
|
|
3
|
+
import { DataEntity, IDataEntity } from './DataEntity.js';
|
|
4
4
|
import { DataNamespace } from './DataNamespace.js';
|
|
5
5
|
export declare const Kind = "Core#DataAssociation";
|
|
6
|
+
/**
|
|
7
|
+
* Describes an association between entities. An association is another property of an entity. The `name` is the name of the
|
|
8
|
+
* property and the value is the associated target or targets.
|
|
9
|
+
*
|
|
10
|
+
* An association can have multiple targets to allow describing the model as `allOf`, `anyOf` and `oneOf` schemas.
|
|
11
|
+
* When the association has only one target, then generated schema cannot have union types.
|
|
12
|
+
*
|
|
13
|
+
* Depending on the schema translation an association can be embedded as a sub-object in the generated schema
|
|
14
|
+
* or can be references via a primary key.
|
|
15
|
+
*/
|
|
6
16
|
export interface IDataAssociation {
|
|
7
17
|
kind: typeof Kind;
|
|
8
18
|
/**
|
|
9
|
-
* The key of the
|
|
19
|
+
* The key of the association.
|
|
10
20
|
*/
|
|
11
21
|
key: string;
|
|
12
22
|
/**
|
|
@@ -22,21 +32,52 @@ export interface IDataAssociation {
|
|
|
22
32
|
*/
|
|
23
33
|
multiple?: boolean;
|
|
24
34
|
/**
|
|
25
|
-
*
|
|
35
|
+
* Whether the attribute is hidden in the schema (not a part of it).
|
|
36
|
+
* The hidden attribute should only appear in the adapted attribute.
|
|
37
|
+
* Has no effect when added to the "main" attribute.
|
|
38
|
+
*/
|
|
39
|
+
hidden?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The list of keys associated with the entity through this association.
|
|
26
42
|
* An association without a target is considered invalid and discarded when processing the values.
|
|
27
43
|
*/
|
|
28
|
-
|
|
44
|
+
targets?: string[];
|
|
29
45
|
/**
|
|
30
46
|
* The schema allowing to translate the model into a specific format (like JSON, RAML, XML, etc.)
|
|
47
|
+
*
|
|
48
|
+
* When this is defined then it is used as the schema. When this is not defined it uses
|
|
49
|
+
* referenced entities schemas. Note, changes in the referenced entities may not be propagated
|
|
50
|
+
* to schemas altered by the user.
|
|
51
|
+
*
|
|
52
|
+
* Note, schema can only occur on an adapted property. Has no effect on the "main"
|
|
53
|
+
* property.
|
|
31
54
|
*/
|
|
32
|
-
schema?:
|
|
55
|
+
schema?: IAssociationShape;
|
|
56
|
+
/**
|
|
57
|
+
* The key of the association that is adapted by this association.
|
|
58
|
+
* Adapted associations can manipulate the shape of the schema for the association.
|
|
59
|
+
*
|
|
60
|
+
* Each value defined on the adapted association changes the original value defined on
|
|
61
|
+
* the association.
|
|
62
|
+
*/
|
|
63
|
+
adapts?: string;
|
|
33
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Describes an association between entities. An association is another property of an entity. The `name` is the name of the
|
|
67
|
+
* property and the value is the associated target or targets.
|
|
68
|
+
*
|
|
69
|
+
* An association can have multiple targets to allow describing the model as `allOf`, `anyOf` and `oneOf` schemas.
|
|
70
|
+
* When the association has only one target, then generated schema cannot have union types.
|
|
71
|
+
*
|
|
72
|
+
* Depending on the schema translation an association can be embedded as a sub-object in the generated schema
|
|
73
|
+
* or can be references via a primary key.
|
|
74
|
+
*/
|
|
34
75
|
export declare class DataAssociation {
|
|
35
|
-
|
|
76
|
+
root: DataNamespace;
|
|
36
77
|
kind: string;
|
|
37
78
|
key: string;
|
|
38
79
|
/**
|
|
39
|
-
* The description of the data
|
|
80
|
+
* The description of the data association.
|
|
40
81
|
*/
|
|
41
82
|
info: Thing;
|
|
42
83
|
/**
|
|
@@ -48,18 +89,53 @@ export declare class DataAssociation {
|
|
|
48
89
|
*/
|
|
49
90
|
multiple?: boolean;
|
|
50
91
|
/**
|
|
51
|
-
*
|
|
92
|
+
* Whether the attribute is hidden in the schema (not a part of it).
|
|
93
|
+
* The hidden attribute should only appear in the adapted attribute.
|
|
94
|
+
* Has no effect when added to the "main" attribute.
|
|
95
|
+
*/
|
|
96
|
+
hidden?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* The list of keys associated with the entity through this association.
|
|
52
99
|
* An association without a target is considered invalid and discarded when processing the values.
|
|
53
100
|
*/
|
|
54
|
-
|
|
101
|
+
targets: string[];
|
|
55
102
|
/**
|
|
56
103
|
* The schema allowing to translate the model into a specific format (like JSON, RAML, XML, etc.)
|
|
57
104
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
105
|
+
* When this is defined then it is used as the schema. When this is not defined it uses
|
|
106
|
+
* referenced entities schemas. Note, changes in the referenced entities may not be propagated
|
|
107
|
+
* to schemas altered by the user.
|
|
108
|
+
*
|
|
109
|
+
* Note, schema can only occur on an adapted property. Has no effect on the "main"
|
|
110
|
+
* property.
|
|
111
|
+
*/
|
|
112
|
+
schema?: IAssociationShape;
|
|
113
|
+
/**
|
|
114
|
+
* The key of the association that is adapted by this association.
|
|
115
|
+
* Adapted associations can manipulate the shape of the schema for the association.
|
|
116
|
+
*
|
|
117
|
+
* Each value defined on the adapted association changes the original value defined on
|
|
118
|
+
* the association.
|
|
119
|
+
*/
|
|
120
|
+
adapts?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Returns true when the association has 0 or 1 targets.
|
|
123
|
+
*/
|
|
124
|
+
get isSingle(): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Creates an instance of DataAssociation from a target entity key.
|
|
127
|
+
* Note, this entity will have no name. The default name is used instead.
|
|
128
|
+
*
|
|
129
|
+
* @param root The namespace root.
|
|
130
|
+
* @param target The target entity key.
|
|
60
131
|
*/
|
|
61
|
-
schema?: IDataAssociationSchema;
|
|
62
132
|
static fromTarget(root: DataNamespace, target: string): DataAssociation;
|
|
133
|
+
/**
|
|
134
|
+
* Creates an instance of DataAssociation from a name, without defining a target.
|
|
135
|
+
*
|
|
136
|
+
* @param root The namespace root.
|
|
137
|
+
* @param name The name of the association.
|
|
138
|
+
*/
|
|
63
139
|
static fromName(root: DataNamespace, name: string): DataAssociation;
|
|
64
140
|
/**
|
|
65
141
|
* @param input The data association definition to restore.
|
|
@@ -68,9 +144,54 @@ export declare class DataAssociation {
|
|
|
68
144
|
new(init: IDataAssociation): void;
|
|
69
145
|
static isDataAssociation(input: unknown): boolean;
|
|
70
146
|
toJSON(): IDataAssociation;
|
|
71
|
-
|
|
147
|
+
/**
|
|
148
|
+
* @returns The list of DataEntity definitions for the current targets.
|
|
149
|
+
*/
|
|
150
|
+
getTargets(): DataEntity[];
|
|
72
151
|
/**
|
|
73
152
|
* Removes self from the parent entity and the namespace definition.
|
|
74
153
|
*/
|
|
75
154
|
remove(): void;
|
|
155
|
+
/**
|
|
156
|
+
* Adds a target to the targets list from an entity.
|
|
157
|
+
* @param entity The instance or schema of an entity.
|
|
158
|
+
*/
|
|
159
|
+
addTarget(entity: DataEntity | IDataEntity): void;
|
|
160
|
+
/**
|
|
161
|
+
* Adds the target to the targets list with an entity key..
|
|
162
|
+
* @param key The key of the entity to add.
|
|
163
|
+
*/
|
|
164
|
+
addTarget(key: string): void;
|
|
165
|
+
/**
|
|
166
|
+
* Removes a target entity from the targets list.
|
|
167
|
+
*
|
|
168
|
+
* @param entity The instance or schema of the entity to remove.
|
|
169
|
+
*/
|
|
170
|
+
removeTarget(entity: DataEntity | IDataEntity): void;
|
|
171
|
+
/**
|
|
172
|
+
* Removes a target entity from the targets list.
|
|
173
|
+
*
|
|
174
|
+
* @param key The key of the target entity to remove.
|
|
175
|
+
*/
|
|
176
|
+
removeTarget(key: string): void;
|
|
177
|
+
/**
|
|
178
|
+
* Creates a Property Shape of AMF.
|
|
179
|
+
* The property itself is auto-generated. If the `schema` is defined then it is used
|
|
180
|
+
* as the `range` of the property. Otherwise basic shape is generated for the range.
|
|
181
|
+
*
|
|
182
|
+
* This is a preferred way of reading the AMF shape as this synchronizes changed
|
|
183
|
+
* data properties with the shape definition.
|
|
184
|
+
*
|
|
185
|
+
* @returns AMF property shape definition.
|
|
186
|
+
*/
|
|
187
|
+
toApiShape(): IPropertyShape;
|
|
188
|
+
/**
|
|
189
|
+
* @returns The adapted association, if any
|
|
190
|
+
*/
|
|
191
|
+
readAdapted(): DataAssociation | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* Creates new adapted association and associates it with this association.
|
|
194
|
+
* @returns The instance of the created association.
|
|
195
|
+
*/
|
|
196
|
+
createAdapted(): DataAssociation;
|
|
76
197
|
}
|