@api-client/core 0.6.13 → 0.6.14

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.
@@ -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;AAwBjC,MAAM,OAAO,KAAK;IAChB,IAAI,GAAG,IAAI,CAAC;IACZ;;OAEG;IACH,IAAI,CAAU;IACd;;OAEG;IACH,WAAW,CAAU;IACrB;;OAEG;IACH,OAAO,CAAU;IAEjB;;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,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,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,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"}
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"}
@@ -47,6 +47,10 @@ export interface IDataEntity {
47
47
  * with inconsistent definition of a schema because the last read property wins.
48
48
  */
49
49
  parents?: string[];
50
+ /**
51
+ * Whether this entity is deprecated.
52
+ */
53
+ deprecated?: boolean;
50
54
  }
51
55
  /**
52
56
  * Data entity is the smallest description of a data in the system
@@ -88,6 +92,10 @@ export declare class DataEntity {
88
92
  * with inconsistent definition of a schema because the last read property wins.
89
93
  */
90
94
  parents: string[];
95
+ /**
96
+ * Whether this entity is deprecated.
97
+ */
98
+ deprecated?: boolean;
91
99
  static fromName(root: DataNamespace, name: string): DataEntity;
92
100
  /**
93
101
  * @param input The data entity definition to restore.
@@ -192,4 +200,18 @@ export declare class DataEntity {
192
200
  * Creates breadcrumbs from this entity to the root namespace.
193
201
  */
194
202
  breadcrumbs(): IBreadcrumb[];
203
+ /**
204
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
205
+ *
206
+ * Note, it does nothing when the tag is already defined.
207
+ *
208
+ * @param tag The tag to add.
209
+ */
210
+ addTag(tag: string): void;
211
+ /**
212
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
213
+ *
214
+ * @param tag The tag to remove.
215
+ */
216
+ removeTag(tag: string): void;
195
217
  }
@@ -43,6 +43,10 @@ export class DataEntity {
43
43
  * with inconsistent definition of a schema because the last read property wins.
44
44
  */
45
45
  parents = [];
46
+ /**
47
+ * Whether this entity is deprecated.
48
+ */
49
+ deprecated;
46
50
  static fromName(root, name) {
47
51
  const entity = new DataEntity(root);
48
52
  entity.info = Thing.fromName(name);
@@ -73,7 +77,7 @@ export class DataEntity {
73
77
  if (!DataEntity.isDataEntity(init)) {
74
78
  throw new Error(`Not a data entity.`);
75
79
  }
76
- const { info, key = v4(), kind = Kind, tags, taxonomy, parents, properties, associations } = init;
80
+ const { info, key = v4(), kind = Kind, tags, taxonomy, parents, properties, associations, deprecated } = init;
77
81
  this.kind = kind;
78
82
  this.key = key;
79
83
  if (info) {
@@ -118,6 +122,12 @@ export class DataEntity {
118
122
  }
119
123
  });
120
124
  }
125
+ if (typeof deprecated === 'boolean') {
126
+ this.deprecated = deprecated;
127
+ }
128
+ else {
129
+ this.deprecated = undefined;
130
+ }
121
131
  }
122
132
  static isDataEntity(input) {
123
133
  const typed = input;
@@ -147,6 +157,9 @@ export class DataEntity {
147
157
  if (Array.isArray(this.associations) && this.associations.length) {
148
158
  result.associations = this.associations.map(i => i.key);
149
159
  }
160
+ if (typeof this.deprecated === 'boolean') {
161
+ result.deprecated = this.deprecated;
162
+ }
150
163
  return result;
151
164
  }
152
165
  _readAssociation(key) {
@@ -411,5 +424,43 @@ export class DataEntity {
411
424
  });
412
425
  return result.reverse();
413
426
  }
427
+ /**
428
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
429
+ *
430
+ * Note, it does nothing when the tag is already defined.
431
+ *
432
+ * @param tag The tag to add.
433
+ */
434
+ addTag(tag) {
435
+ if (!tag) {
436
+ return;
437
+ }
438
+ const lower = tag.toLowerCase();
439
+ const { tags } = this;
440
+ if (tags.some(t => t.toLowerCase() === lower)) {
441
+ return;
442
+ }
443
+ tags.push(tag);
444
+ const { definitions } = this.root;
445
+ if (!definitions.tags.some(t => t.toLowerCase() === lower)) {
446
+ definitions.tags.push(tag);
447
+ }
448
+ }
449
+ /**
450
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
451
+ *
452
+ * @param tag The tag to remove.
453
+ */
454
+ removeTag(tag) {
455
+ if (!tag) {
456
+ return;
457
+ }
458
+ const lower = tag.toLowerCase();
459
+ const { tags } = this;
460
+ const index = tags.findIndex(t => t.toLowerCase() === lower);
461
+ if (index >= 0) {
462
+ tags.splice(index, 1);
463
+ }
464
+ }
414
465
  }
415
466
  //# sourceMappingURL=DataEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataEntity.js","sourceRoot":"","sources":["../../../../src/models/data/DataEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataEntity.js","sourceRoot":"","sources":["../../../../src/models/data/DataEntity.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ interface IDataDefinitions {
11
11
  properties?: IDataProperty[];
12
12
  associations?: IDataAssociation[];
13
13
  namespaces?: IDataNamespace[];
14
+ tags?: string[];
14
15
  }
15
16
  interface DataDefinitions {
16
17
  models: DataModel[];
@@ -18,6 +19,11 @@ interface DataDefinitions {
18
19
  properties: DataProperty[];
19
20
  associations: DataAssociation[];
20
21
  namespaces: DataNamespace[];
22
+ /**
23
+ * Common for the entire root namespace tags.
24
+ * These are kept separately so the UI can generate autocomplete for tags.
25
+ */
26
+ tags: string[];
21
27
  }
22
28
  interface IDataNamespaceParent {
23
29
  kind: typeof Kind;
@@ -207,6 +207,7 @@ export class DataNamespace extends DataNamespaceParent {
207
207
  entities: [],
208
208
  properties: [],
209
209
  namespaces: [],
210
+ tags: [],
210
211
  };
211
212
  }
212
213
  constructor(input, root) {
@@ -283,6 +284,12 @@ export class DataNamespace extends DataNamespaceParent {
283
284
  else {
284
285
  this.definitions.namespaces = [];
285
286
  }
287
+ if (Array.isArray(definitions.tags)) {
288
+ this.definitions.tags = [...definitions.tags];
289
+ }
290
+ else {
291
+ this.definitions.tags = [];
292
+ }
286
293
  }
287
294
  toJSON() {
288
295
  const result = {
@@ -292,7 +299,7 @@ export class DataNamespace extends DataNamespaceParent {
292
299
  items: this.items.map(i => i.toJSON()),
293
300
  definitions: {},
294
301
  };
295
- const { associations, entities, models, namespaces, properties } = this.definitions;
302
+ const { associations, entities, models, namespaces, properties, tags } = this.definitions;
296
303
  if (Array.isArray(associations) && associations.length) {
297
304
  result.definitions.associations = associations.map(i => i.toJSON());
298
305
  }
@@ -308,6 +315,9 @@ export class DataNamespace extends DataNamespaceParent {
308
315
  if (Array.isArray(properties) && properties.length) {
309
316
  result.definitions.properties = properties.map(i => i.toJSON());
310
317
  }
318
+ if (Array.isArray(tags) && tags.length) {
319
+ result.definitions.tags = [...tags];
320
+ }
311
321
  return result;
312
322
  }
313
323
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DataNamespace.js","sourceRoot":"","sources":["../../../../src/models/data/DataNamespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataNamespace.js","sourceRoot":"","sources":["../../../../src/models/data/DataNamespace.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,10 @@ export interface IDataProperty {
63
63
  * Whether this property describes an indexed property of the entity.
64
64
  */
65
65
  index?: boolean;
66
+ /**
67
+ * Whether this property is deprecated.
68
+ */
69
+ deprecated?: boolean;
66
70
  /**
67
71
  * Optional general purpose tags for the UI.
68
72
  */
@@ -115,8 +119,14 @@ export declare class DataProperty {
115
119
  * Whether this property describes an indexed property of the entity.
116
120
  */
117
121
  index?: boolean;
122
+ /**
123
+ * Whether this property is deprecated.
124
+ */
125
+ deprecated?: boolean;
118
126
  /**
119
127
  * Optional general purpose tags for the UI.
128
+ *
129
+ * Note to implementations, use the `addTag()` method as it propagates the "tag" value in the namespace.
120
130
  */
121
131
  tags: string[];
122
132
  /**
@@ -156,4 +166,18 @@ export declare class DataProperty {
156
166
  * Removes self from the parent entity and the namespace definition.
157
167
  */
158
168
  remove(): void;
169
+ /**
170
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
171
+ *
172
+ * Note, it does nothing when the tag is already defined.
173
+ *
174
+ * @param tag The tag to add.
175
+ */
176
+ addTag(tag: string): void;
177
+ /**
178
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
179
+ *
180
+ * @param tag The tag to remove.
181
+ */
182
+ removeTag(tag: string): void;
159
183
  }
@@ -41,8 +41,14 @@ export class DataProperty {
41
41
  * Whether this property describes an indexed property of the entity.
42
42
  */
43
43
  index;
44
+ /**
45
+ * Whether this property is deprecated.
46
+ */
47
+ deprecated;
44
48
  /**
45
49
  * Optional general purpose tags for the UI.
50
+ *
51
+ * Note to implementations, use the `addTag()` method as it propagates the "tag" value in the namespace.
46
52
  */
47
53
  tags = [];
48
54
  /**
@@ -107,7 +113,7 @@ export class DataProperty {
107
113
  if (!DataProperty.isDataProperty(init)) {
108
114
  throw new Error(`Not a data property.`);
109
115
  }
110
- const { info, key = v4(), kind = Kind, multiple, required, type = DataPropertyList.string, index, primary, tags, taxonomy, schemas } = init;
116
+ const { info, key = v4(), kind = Kind, multiple, required, type = DataPropertyList.string, index, primary, tags, taxonomy, schemas, deprecated } = init;
111
117
  this.kind = kind;
112
118
  this.key = key;
113
119
  this.type = type;
@@ -135,6 +141,12 @@ export class DataProperty {
135
141
  else {
136
142
  this.index = undefined;
137
143
  }
144
+ if (typeof deprecated === 'boolean') {
145
+ this.deprecated = deprecated;
146
+ }
147
+ else {
148
+ this.deprecated = undefined;
149
+ }
138
150
  if (typeof primary === 'boolean') {
139
151
  this.primary = primary;
140
152
  }
@@ -177,6 +189,9 @@ export class DataProperty {
177
189
  if (typeof this.index === 'boolean') {
178
190
  result.index = this.index;
179
191
  }
192
+ if (typeof this.deprecated === 'boolean') {
193
+ result.deprecated = this.deprecated;
194
+ }
180
195
  if (typeof this.primary === 'boolean') {
181
196
  result.primary = this.primary;
182
197
  }
@@ -212,5 +227,43 @@ export class DataProperty {
212
227
  this.root.definitions.properties.splice(defIndex, 1);
213
228
  }
214
229
  }
230
+ /**
231
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
232
+ *
233
+ * Note, it does nothing when the tag is already defined.
234
+ *
235
+ * @param tag The tag to add.
236
+ */
237
+ addTag(tag) {
238
+ if (!tag) {
239
+ return;
240
+ }
241
+ const lower = tag.toLowerCase();
242
+ const { tags } = this;
243
+ if (tags.some(t => t.toLowerCase() === lower)) {
244
+ return;
245
+ }
246
+ tags.push(tag);
247
+ const { definitions } = this.root;
248
+ if (!definitions.tags.some(t => t.toLowerCase() === lower)) {
249
+ definitions.tags.push(tag);
250
+ }
251
+ }
252
+ /**
253
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
254
+ *
255
+ * @param tag The tag to remove.
256
+ */
257
+ removeTag(tag) {
258
+ if (!tag) {
259
+ return;
260
+ }
261
+ const lower = tag.toLowerCase();
262
+ const { tags } = this;
263
+ const index = tags.findIndex(t => t.toLowerCase() === lower);
264
+ if (index >= 0) {
265
+ tags.splice(index, 1);
266
+ }
267
+ }
215
268
  }
216
269
  //# sourceMappingURL=DataProperty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataProperty.js","sourceRoot":"","sources":["../../../../src/models/data/DataProperty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataProperty.js","sourceRoot":"","sources":["../../../../src/models/data/DataProperty.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
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.6.13",
4
+ "version": "0.6.14",
5
5
  "license": "Apache-2.0",
6
6
  "main": "build/index.js",
7
7
  "module": "build/index.js",
@@ -12,6 +12,11 @@ export declare interface IThing {
12
12
  * The name of the thing.
13
13
  */
14
14
  name?: string;
15
+ /**
16
+ * Optional value to overwrite the `name` in the UI.
17
+ * The primary descriptive field is the `name`. The display name is only used in the presentation of the data.
18
+ */
19
+ displayName?: string;
15
20
  /**
16
21
  * The description of the thing.
17
22
  */
@@ -28,6 +33,11 @@ export class Thing {
28
33
  * The name of the thing.
29
34
  */
30
35
  name?: string;
36
+ /**
37
+ * Optional value to overwrite the `name` in the UI.
38
+ * The primary descriptive field is the `name`. The display name is only used in the presentation of the data.
39
+ */
40
+ displayName?: string;
31
41
  /**
32
42
  * The description of the thing.
33
43
  */
@@ -37,6 +47,16 @@ export class Thing {
37
47
  */
38
48
  version?: string;
39
49
 
50
+ /**
51
+ * Returns one in this order:
52
+ * - displayName
53
+ * - name
54
+ * - 'Unnamed object'
55
+ */
56
+ get renderLabel(): string {
57
+ return this.displayName || this.name || 'Unnamed object';
58
+ }
59
+
40
60
  /**
41
61
  * Creates a basic description from a name.
42
62
  */
@@ -74,9 +94,10 @@ export class Thing {
74
94
  if (!Thing.isThing(init)) {
75
95
  throw new Error(`Not a thing.`);
76
96
  }
77
- const { description, name, version } = init;
97
+ const { description, name, version, displayName } = init;
78
98
  this.kind = Kind;
79
99
  this.name = name;
100
+ this.displayName = displayName;
80
101
  this.description = description;
81
102
  this.version = version;
82
103
  }
@@ -99,6 +120,9 @@ export class Thing {
99
120
  if (typeof this.name === 'string') {
100
121
  result.name = this.name;
101
122
  }
123
+ if (typeof this.displayName === 'string') {
124
+ result.displayName = this.displayName;
125
+ }
102
126
  if (this.description) {
103
127
  result.description = this.description;
104
128
  }
@@ -55,6 +55,11 @@ export interface IDataEntity {
55
55
  * with inconsistent definition of a schema because the last read property wins.
56
56
  */
57
57
  parents?: string[];
58
+
59
+ /**
60
+ * Whether this entity is deprecated.
61
+ */
62
+ deprecated?: boolean;
58
63
  }
59
64
 
60
65
  /**
@@ -104,6 +109,11 @@ export class DataEntity {
104
109
  */
105
110
  parents: string[] = [];
106
111
 
112
+ /**
113
+ * Whether this entity is deprecated.
114
+ */
115
+ deprecated?: boolean;
116
+
107
117
  static fromName(root: DataNamespace, name: string): DataEntity {
108
118
  const entity = new DataEntity(root);
109
119
  entity.info = Thing.fromName(name);
@@ -133,7 +143,7 @@ export class DataEntity {
133
143
  if (!DataEntity.isDataEntity(init)) {
134
144
  throw new Error(`Not a data entity.`);
135
145
  }
136
- const { info, key = v4(), kind = Kind, tags, taxonomy, parents, properties, associations } = init;
146
+ const { info, key = v4(), kind = Kind, tags, taxonomy, parents, properties, associations, deprecated } = init;
137
147
  this.kind = kind;
138
148
  this.key = key;
139
149
  if (info) {
@@ -177,6 +187,12 @@ export class DataEntity {
177
187
  }
178
188
  });
179
189
  }
190
+
191
+ if (typeof deprecated === 'boolean') {
192
+ this.deprecated = deprecated;
193
+ } else {
194
+ this.deprecated = undefined;
195
+ }
180
196
  }
181
197
 
182
198
  static isDataEntity(input: unknown): boolean {
@@ -208,6 +224,9 @@ export class DataEntity {
208
224
  if (Array.isArray(this.associations) && this.associations.length) {
209
225
  result.associations = this.associations.map(i => i.key);
210
226
  }
227
+ if (typeof this.deprecated === 'boolean') {
228
+ result.deprecated = this.deprecated;
229
+ }
211
230
  return result;
212
231
  }
213
232
 
@@ -493,4 +512,44 @@ export class DataEntity {
493
512
  });
494
513
  return result.reverse();
495
514
  }
515
+
516
+ /**
517
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
518
+ *
519
+ * Note, it does nothing when the tag is already defined.
520
+ *
521
+ * @param tag The tag to add.
522
+ */
523
+ addTag(tag: string): void {
524
+ if (!tag) {
525
+ return;
526
+ }
527
+ const lower = tag.toLowerCase();
528
+ const { tags } = this;
529
+ if (tags.some(t => t.toLowerCase() === lower)) {
530
+ return;
531
+ }
532
+ tags.push(tag);
533
+ const { definitions } = this.root;
534
+ if (!definitions.tags.some(t => t.toLowerCase() === lower)) {
535
+ definitions.tags.push(tag);
536
+ }
537
+ }
538
+
539
+ /**
540
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
541
+ *
542
+ * @param tag The tag to remove.
543
+ */
544
+ removeTag(tag: string): void {
545
+ if (!tag) {
546
+ return;
547
+ }
548
+ const lower = tag.toLowerCase();
549
+ const { tags } = this;
550
+ const index = tags.findIndex(t => t.toLowerCase() === lower);
551
+ if (index >= 0) {
552
+ tags.splice(index, 1);
553
+ }
554
+ }
496
555
  }
@@ -14,6 +14,7 @@ interface IDataDefinitions {
14
14
  properties?: IDataProperty[];
15
15
  associations?: IDataAssociation[];
16
16
  namespaces?: IDataNamespace[];
17
+ tags?: string[];
17
18
  }
18
19
 
19
20
  interface DataDefinitions {
@@ -22,6 +23,11 @@ interface DataDefinitions {
22
23
  properties: DataProperty[];
23
24
  associations: DataAssociation[];
24
25
  namespaces: DataNamespace[];
26
+ /**
27
+ * Common for the entire root namespace tags.
28
+ * These are kept separately so the UI can generate autocomplete for tags.
29
+ */
30
+ tags: string[];
25
31
  }
26
32
 
27
33
  interface IDataNamespaceParent {
@@ -289,6 +295,7 @@ export class DataNamespace extends DataNamespaceParent {
289
295
  entities: [],
290
296
  properties: [],
291
297
  namespaces: [],
298
+ tags: [],
292
299
  };
293
300
  }
294
301
 
@@ -359,6 +366,11 @@ export class DataNamespace extends DataNamespaceParent {
359
366
  } else {
360
367
  this.definitions.namespaces = [];
361
368
  }
369
+ if (Array.isArray(definitions.tags)) {
370
+ this.definitions.tags = [...definitions.tags];
371
+ } else {
372
+ this.definitions.tags = [];
373
+ }
362
374
  }
363
375
 
364
376
  toJSON(): IDataNamespace {
@@ -369,7 +381,7 @@ export class DataNamespace extends DataNamespaceParent {
369
381
  items: this.items.map(i => i.toJSON()),
370
382
  definitions: {},
371
383
  };
372
- const { associations, entities, models, namespaces, properties } = this.definitions;
384
+ const { associations, entities, models, namespaces, properties, tags } = this.definitions;
373
385
  if (Array.isArray(associations) && associations.length) {
374
386
  result.definitions.associations = associations.map(i => i.toJSON());
375
387
  }
@@ -385,6 +397,9 @@ export class DataNamespace extends DataNamespaceParent {
385
397
  if (Array.isArray(properties) && properties.length) {
386
398
  result.definitions.properties = properties.map(i => i.toJSON());
387
399
  }
400
+ if (Array.isArray(tags) && tags.length) {
401
+ result.definitions.tags = [...tags];
402
+ }
388
403
  return result;
389
404
  }
390
405
 
@@ -72,6 +72,10 @@ export interface IDataProperty {
72
72
  * Whether this property describes an indexed property of the entity.
73
73
  */
74
74
  index?: boolean;
75
+ /**
76
+ * Whether this property is deprecated.
77
+ */
78
+ deprecated?: boolean;
75
79
  /**
76
80
  * Optional general purpose tags for the UI.
77
81
  */
@@ -132,8 +136,15 @@ export class DataProperty {
132
136
  */
133
137
  index?: boolean;
134
138
 
139
+ /**
140
+ * Whether this property is deprecated.
141
+ */
142
+ deprecated?: boolean;
143
+
135
144
  /**
136
145
  * Optional general purpose tags for the UI.
146
+ *
147
+ * Note to implementations, use the `addTag()` method as it propagates the "tag" value in the namespace.
137
148
  */
138
149
  tags: string[] = [];
139
150
 
@@ -203,7 +214,7 @@ export class DataProperty {
203
214
  if (!DataProperty.isDataProperty(init)) {
204
215
  throw new Error(`Not a data property.`);
205
216
  }
206
- const { info, key = v4(), kind = Kind, multiple, required, type = DataPropertyList.string, index, primary, tags, taxonomy, schemas } = init;
217
+ const { info, key = v4(), kind = Kind, multiple, required, type = DataPropertyList.string, index, primary, tags, taxonomy, schemas, deprecated } = init;
207
218
  this.kind = kind;
208
219
  this.key = key;
209
220
  this.type = type;
@@ -227,6 +238,11 @@ export class DataProperty {
227
238
  } else {
228
239
  this.index = undefined;
229
240
  }
241
+ if (typeof deprecated === 'boolean') {
242
+ this.deprecated = deprecated;
243
+ } else {
244
+ this.deprecated = undefined;
245
+ }
230
246
  if (typeof primary === 'boolean') {
231
247
  this.primary = primary;
232
248
  } else {
@@ -267,6 +283,9 @@ export class DataProperty {
267
283
  if (typeof this.index === 'boolean') {
268
284
  result.index = this.index;
269
285
  }
286
+ if (typeof this.deprecated === 'boolean') {
287
+ result.deprecated = this.deprecated;
288
+ }
270
289
  if (typeof this.primary === 'boolean') {
271
290
  result.primary = this.primary;
272
291
  }
@@ -303,4 +322,44 @@ export class DataProperty {
303
322
  this.root.definitions.properties.splice(defIndex, 1);
304
323
  }
305
324
  }
325
+
326
+ /**
327
+ * Adds a new tag to the property. It also populates the root namespace's tags when tag is new.
328
+ *
329
+ * Note, it does nothing when the tag is already defined.
330
+ *
331
+ * @param tag The tag to add.
332
+ */
333
+ addTag(tag: string): void {
334
+ if (!tag) {
335
+ return;
336
+ }
337
+ const lower = tag.toLowerCase();
338
+ const { tags } = this;
339
+ if (tags.some(t => t.toLowerCase() === lower)) {
340
+ return;
341
+ }
342
+ tags.push(tag);
343
+ const { definitions } = this.root;
344
+ if (!definitions.tags.some(t => t.toLowerCase() === lower)) {
345
+ definitions.tags.push(tag);
346
+ }
347
+ }
348
+
349
+ /**
350
+ * Removes a tag from the property. Unlike the `addTag()` this won't remove a `tag` from the root namespace.
351
+ *
352
+ * @param tag The tag to remove.
353
+ */
354
+ removeTag(tag: string): void {
355
+ if (!tag) {
356
+ return;
357
+ }
358
+ const lower = tag.toLowerCase();
359
+ const { tags } = this;
360
+ const index = tags.findIndex(t => t.toLowerCase() === lower);
361
+ if (index >= 0) {
362
+ tags.splice(index, 1);
363
+ }
364
+ }
306
365
  }