@nmshd/content 2.7.1 → 2.7.3

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.
@@ -1,13 +1,31 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
1
2
  import { AbstractAttributeQuery, AbstractAttributeQueryJSON, IAbstractAttributeQuery } from "./AbstractAttributeQuery";
3
+ import { AttributeValues } from "./AttributeValueTypes";
4
+ export interface IQLQueryCreationHintsJSON {
5
+ valueType: AttributeValues.Identity.TypeName;
6
+ tags?: string[];
7
+ }
8
+ export interface IIQLQueryCreationHints extends ISerializable {
9
+ valueType: AttributeValues.Identity.TypeName;
10
+ tags?: string[];
11
+ }
12
+ export declare class IQLQueryCreationHints extends Serializable implements IIQLQueryCreationHints {
13
+ valueType: AttributeValues.Identity.TypeName;
14
+ tags?: string[];
15
+ static from(value: IIQLQueryCreationHints | Omit<IQLQueryCreationHintsJSON, "@type">): IQLQueryCreationHints;
16
+ }
2
17
  export interface IQLQueryJSON extends AbstractAttributeQueryJSON {
3
18
  "@type": "IQLQuery";
4
19
  queryString: string;
20
+ attributeCreationHints?: IQLQueryCreationHintsJSON;
5
21
  }
6
22
  export interface IIQLQuery extends IAbstractAttributeQuery {
7
23
  queryString: string;
24
+ attributeCreationHints?: IIQLQueryCreationHints;
8
25
  }
9
26
  export declare class IQLQuery extends AbstractAttributeQuery implements IIQLQuery {
10
27
  queryString: string;
28
+ attributeCreationHints?: IQLQueryCreationHints;
11
29
  static from(value: IIQLQuery | Omit<IQLQueryJSON, "@type">): IQLQuery;
12
30
  toJSON(verbose?: boolean | undefined, serializeAsString?: boolean | undefined): IQLQueryJSON;
13
31
  }
@@ -32,10 +32,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
32
32
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.IQLQuery = void 0;
35
+ exports.IQLQuery = exports.IQLQueryCreationHints = void 0;
36
36
  const ts_serval_1 = require("@js-soft/ts-serval");
37
37
  const Iql = __importStar(require("@nmshd/iql"));
38
38
  const AbstractAttributeQuery_1 = require("./AbstractAttributeQuery");
39
+ const AttributeValueTypes_1 = require("./AttributeValueTypes");
40
+ const IdentityAttribute_1 = require("./IdentityAttribute");
41
+ let IQLQueryCreationHints = class IQLQueryCreationHints extends ts_serval_1.Serializable {
42
+ static from(value) {
43
+ return this.fromAny(value);
44
+ }
45
+ };
46
+ exports.IQLQueryCreationHints = IQLQueryCreationHints;
47
+ __decorate([
48
+ (0, ts_serval_1.serialize)(),
49
+ (0, ts_serval_1.validate)({ customValidator: IdentityAttribute_1.IdentityAttribute.validateTypeName }),
50
+ __metadata("design:type", String)
51
+ ], IQLQueryCreationHints.prototype, "valueType", void 0);
52
+ __decorate([
53
+ (0, ts_serval_1.serialize)({ type: String }),
54
+ (0, ts_serval_1.validate)({ nullable: true, customValidator: IdentityAttribute_1.IdentityAttribute.validateTags }),
55
+ __metadata("design:type", Array)
56
+ ], IQLQueryCreationHints.prototype, "tags", void 0);
57
+ exports.IQLQueryCreationHints = IQLQueryCreationHints = __decorate([
58
+ (0, ts_serval_1.type)("IQLQueryCreationHints")
59
+ ], IQLQueryCreationHints);
39
60
  let IQLQuery = class IQLQuery extends AbstractAttributeQuery_1.AbstractAttributeQuery {
40
61
  static from(value) {
41
62
  return this.fromAny(value);
@@ -58,6 +79,11 @@ __decorate([
58
79
  }),
59
80
  __metadata("design:type", String)
60
81
  ], IQLQuery.prototype, "queryString", void 0);
82
+ __decorate([
83
+ (0, ts_serval_1.serialize)(),
84
+ (0, ts_serval_1.validate)({ nullable: true }),
85
+ __metadata("design:type", IQLQueryCreationHints)
86
+ ], IQLQuery.prototype, "attributeCreationHints", void 0);
61
87
  exports.IQLQuery = IQLQuery = __decorate([
62
88
  (0, ts_serval_1.type)("IQLQuery")
63
89
  ], IQLQuery);
@@ -1 +1 @@
1
- {"version":3,"file":"IQLQuery.js","sourceRoot":"","sources":["../../src/attributes/IQLQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA8D;AAC9D,gDAAiC;AACjC,qEAAsH;AAY/G,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,+CAAsB;IAazC,MAAM,CAAC,IAAI,CAAC,KAA8C;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEe,MAAM,CAAC,OAA6B,EAAE,iBAAuC;QACzF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAiB,CAAA;IACnE,CAAC;CACJ,CAAA;AApBY,4BAAQ;AAWV;IAVN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC;QACN,GAAG,EAAE,IAAI;QACT,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC9B,OAAO,CAAC,MAAM,CAAC,OAAO;gBAClB,CAAC,CAAC,yCAAyC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC/E,CAAC,CAAC,SAAS,CAAA;QACnB,CAAC;KACJ,CAAC;;6CACwB;mBAXjB,QAAQ;IADpB,IAAA,gBAAI,EAAC,UAAU,CAAC;GACJ,QAAQ,CAoBpB"}
1
+ {"version":3,"file":"IQLQuery.js","sourceRoot":"","sources":["../../src/attributes/IQLQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2F;AAC3F,gDAAiC;AACjC,qEAAsH;AACtH,+DAAuD;AACvD,2DAAuD;AAahD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,wBAAY;IAS5C,MAAM,CAAC,IAAI,CACd,KAAwE;QAExE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAdY,sDAAqB;AAGvB;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAE,qCAAiB,CAAC,gBAAgB,EAAE,CAAC;;wDACf;AAI5C;IAFN,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,qCAAiB,CAAC,YAAY,EAAE,CAAC;;mDACxD;gCAPb,qBAAqB;IADjC,IAAA,gBAAI,EAAC,uBAAuB,CAAC;GACjB,qBAAqB,CAcjC;AAcM,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,+CAAsB;IAiBzC,MAAM,CAAC,IAAI,CAAC,KAA8C;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEe,MAAM,CAAC,OAA6B,EAAE,iBAAuC;QACzF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAiB,CAAA;IACnE,CAAC;CACJ,CAAA;AAxBY,4BAAQ;AAWV;IAVN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC;QACN,GAAG,EAAE,IAAI;QACT,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC9B,OAAO,CAAC,MAAM,CAAC,OAAO;gBAClB,CAAC,CAAC,yCAAyC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC/E,CAAC,CAAC,SAAS,CAAA;QACnB,CAAC;KACJ,CAAC;;6CACwB;AAInB;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACG,qBAAqB;wDAAA;mBAf5C,QAAQ;IADpB,IAAA,gBAAI,EAAC,UAAU,CAAC;GACJ,QAAQ,CAwBpB"}
@@ -14,5 +14,6 @@ export declare class IdentityAttribute<TValueClass extends AttributeValues.Ident
14
14
  tags?: string[];
15
15
  static from<TValueClass extends AttributeValues.Identity.Class = AttributeValues.Identity.Class, TValueInterface extends AttributeValues.Identity.Interface = AttributeValues.Identity.Interface, TValueJSONInterface extends AttributeValues.Identity.Json = AttributeValues.Identity.Json>(value: IIdentityAttribute<TValueInterface> | Omit<IdentityAttributeJSON<TValueJSONInterface>, "@type">): IdentityAttribute<TValueClass>;
16
16
  toJSON(verbose?: boolean | undefined, serializeAsString?: boolean | undefined): IdentityAttributeJSON;
17
- private static validateTags;
17
+ static validateTags(tags: string[]): string | undefined;
18
+ static validateTypeName(typeName: string | AttributeValues.Identity.TypeName): string | undefined;
18
19
  }
@@ -29,6 +29,12 @@ let IdentityAttribute = class IdentityAttribute extends AbstractAttribute_1.Abst
29
29
  }
30
30
  return undefined;
31
31
  }
32
+ static validateTypeName(typeName) {
33
+ if (!AttributeValueTypes_1.AttributeValues.Identity.TYPE_NAMES.includes(typeName)) {
34
+ return `must be one of: ${AttributeValueTypes_1.AttributeValues.Identity.TYPE_NAMES_STRINGIFIED}`;
35
+ }
36
+ return undefined;
37
+ }
32
38
  };
33
39
  exports.IdentityAttribute = IdentityAttribute;
34
40
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityAttribute.js","sourceRoot":"","sources":["../../src/attributes/IdentityAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,2DAAkG;AAClG,+DAAuD;AAkBhD,IAAM,iBAAiB,GAAvB,MAAM,iBACT,SAAQ,qCAAiB;IAWlB,MAAM,CAAC,IAAI,CAKd,KAAsG;QAEtG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAmC,CAAA;IAChE,CAAC;IAEe,MAAM,CAClB,OAA6B,EAC7B,iBAAuC;QAEvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAA0B,CAAA;IAC5E,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAAc;QACtC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;YAClB,OAAO,mCAAmC,CAAA;SAC7C;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;YACtC,OAAO,gDAAgD,CAAA;SAC1D;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;CACJ,CAAA;AAxCY,8CAAiB;AAMnB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,qCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3D,IAAA,oBAAQ,GAAE;;gDACc;AAIlB;IAFN,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC;;+CACxD;4BAVb,iBAAiB;IAD7B,IAAA,gBAAI,EAAC,mBAAmB,CAAC;GACb,iBAAiB,CAwC7B"}
1
+ {"version":3,"file":"IdentityAttribute.js","sourceRoot":"","sources":["../../src/attributes/IdentityAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,2DAAkG;AAClG,+DAAuD;AAkBhD,IAAM,iBAAiB,GAAvB,MAAM,iBACT,SAAQ,qCAAiB;IAWlB,MAAM,CAAC,IAAI,CAKd,KAAsG;QAEtG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAmC,CAAA;IAChE,CAAC;IAEe,MAAM,CAClB,OAA6B,EAC7B,iBAAuC;QAEvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAA0B,CAAA;IAC5E,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,IAAc;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;YAClB,OAAO,mCAAmC,CAAA;SAC7C;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;YACtC,OAAO,gDAAgD,CAAA;SAC1D;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,QAAoD;QAC/E,IAAI,CAAC,qCAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAA6C,CAAC,EAAE;YAC9F,OAAO,mBAAmB,qCAAe,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAA;SAC9E;QACD,OAAO,SAAS,CAAA;IACpB,CAAC;CACJ,CAAA;AA/CY,8CAAiB;AAMnB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,qCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3D,IAAA,oBAAQ,GAAE;;gDACc;AAIlB;IAFN,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC;;+CACxD;4BAVb,iBAAiB;IAD7B,IAAA,gBAAI,EAAC,mBAAmB,CAAC;GACb,iBAAiB,CA+C7B"}
@@ -5,11 +5,11 @@ const ts_serval_1 = require("@js-soft/ts-serval");
5
5
  const crypto_1 = require("@nmshd/crypto");
6
6
  const transport_1 = require("@nmshd/transport");
7
7
  exports.buildInformation = {
8
- version: "2.7.1",
9
- build: "146",
10
- date: "2023-09-21T08:44:47+00:00",
11
- commit: "39152f5b09bbb05a5a23348814c81ad599470a1e",
12
- dependencies: {"@js-soft/logging-abstractions":"^1.0.0","@nmshd/iql":"^0.0.3","easy-tsnameof":"^3.0.6","mocha-param":"^2.0.1"},
8
+ version: "2.7.3",
9
+ build: "148",
10
+ date: "2023-09-25T09:11:08+00:00",
11
+ commit: "553c5c724a23459e85c5610217f9904a988d6d97",
12
+ dependencies: {"@js-soft/logging-abstractions":"^1.0.0","@nmshd/iql":"^0.0.4","easy-tsnameof":"^3.0.6","mocha-param":"^2.0.1"},
13
13
  libraries: {
14
14
  serval: ts_serval_1.buildInformation,
15
15
  crypto: crypto_1.buildInformation,
@@ -329,10 +329,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
329
329
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
330
330
  };
331
331
  Object.defineProperty(exports, "__esModule", ({ value: true }));
332
- exports.IQLQuery = void 0;
332
+ exports.IQLQuery = exports.IQLQueryCreationHints = void 0;
333
333
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
334
334
  const Iql = __importStar(__webpack_require__(/*! @nmshd/iql */ "./node_modules/@nmshd/iql/dist/src/index.js"));
335
335
  const AbstractAttributeQuery_1 = __webpack_require__(/*! ./AbstractAttributeQuery */ "./dist/attributes/AbstractAttributeQuery.js");
336
+ const AttributeValueTypes_1 = __webpack_require__(/*! ./AttributeValueTypes */ "./dist/attributes/AttributeValueTypes.js");
337
+ const IdentityAttribute_1 = __webpack_require__(/*! ./IdentityAttribute */ "./dist/attributes/IdentityAttribute.js");
338
+ let IQLQueryCreationHints = class IQLQueryCreationHints extends ts_serval_1.Serializable {
339
+ static from(value) {
340
+ return this.fromAny(value);
341
+ }
342
+ };
343
+ exports.IQLQueryCreationHints = IQLQueryCreationHints;
344
+ __decorate([
345
+ (0, ts_serval_1.serialize)(),
346
+ (0, ts_serval_1.validate)({ customValidator: IdentityAttribute_1.IdentityAttribute.validateTypeName }),
347
+ __metadata("design:type", String)
348
+ ], IQLQueryCreationHints.prototype, "valueType", void 0);
349
+ __decorate([
350
+ (0, ts_serval_1.serialize)({ type: String }),
351
+ (0, ts_serval_1.validate)({ nullable: true, customValidator: IdentityAttribute_1.IdentityAttribute.validateTags }),
352
+ __metadata("design:type", Array)
353
+ ], IQLQueryCreationHints.prototype, "tags", void 0);
354
+ exports.IQLQueryCreationHints = IQLQueryCreationHints = __decorate([
355
+ (0, ts_serval_1.type)("IQLQueryCreationHints")
356
+ ], IQLQueryCreationHints);
336
357
  let IQLQuery = class IQLQuery extends AbstractAttributeQuery_1.AbstractAttributeQuery {
337
358
  static from(value) {
338
359
  return this.fromAny(value);
@@ -355,6 +376,11 @@ __decorate([
355
376
  }),
356
377
  __metadata("design:type", String)
357
378
  ], IQLQuery.prototype, "queryString", void 0);
379
+ __decorate([
380
+ (0, ts_serval_1.serialize)(),
381
+ (0, ts_serval_1.validate)({ nullable: true }),
382
+ __metadata("design:type", IQLQueryCreationHints)
383
+ ], IQLQuery.prototype, "attributeCreationHints", void 0);
358
384
  exports.IQLQuery = IQLQuery = __decorate([
359
385
  (0, ts_serval_1.type)("IQLQuery")
360
386
  ], IQLQuery);
@@ -399,6 +425,12 @@ let IdentityAttribute = class IdentityAttribute extends AbstractAttribute_1.Abst
399
425
  }
400
426
  return undefined;
401
427
  }
428
+ static validateTypeName(typeName) {
429
+ if (!AttributeValueTypes_1.AttributeValues.Identity.TYPE_NAMES.includes(typeName)) {
430
+ return `must be one of: ${AttributeValueTypes_1.AttributeValues.Identity.TYPE_NAMES_STRINGIFIED}`;
431
+ }
432
+ return undefined;
433
+ }
402
434
  };
403
435
  exports.IdentityAttribute = IdentityAttribute;
404
436
  __decorate([
@@ -7125,11 +7157,11 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
7125
7157
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
7126
7158
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
7127
7159
  exports.buildInformation = {
7128
- version: "2.7.1",
7129
- build: "146",
7130
- date: "2023-09-21T08:44:47+00:00",
7131
- commit: "39152f5b09bbb05a5a23348814c81ad599470a1e",
7132
- dependencies: {"@js-soft/logging-abstractions":"^1.0.0","@nmshd/iql":"^0.0.3","easy-tsnameof":"^3.0.6","mocha-param":"^2.0.1"},
7160
+ version: "2.7.3",
7161
+ build: "148",
7162
+ date: "2023-09-25T09:11:08+00:00",
7163
+ commit: "553c5c724a23459e85c5610217f9904a988d6d97",
7164
+ dependencies: {"@js-soft/logging-abstractions":"^1.0.0","@nmshd/iql":"^0.0.4","easy-tsnameof":"^3.0.6","mocha-param":"^2.0.1"},
7133
7165
  libraries: {
7134
7166
  serval: ts_serval_1.buildInformation,
7135
7167
  crypto: crypto_1.buildInformation,
@@ -9109,8 +9141,18 @@ function peg$parse(input, options) {
9109
9141
  };
9110
9142
  var peg$f9 = function (op) {
9111
9143
  switch (op) {
9144
+ /* The ?-op checks whether a particular field is defined or not. Empty
9145
+ * arrays and dicts are treated as undefined. */
9112
9146
  case "?":
9113
- return (fieldVal) => { return fieldVal != undefined; };
9147
+ return (fieldVal) => {
9148
+ if (Array.isArray(fieldVal)) {
9149
+ return fieldVal.length > 0;
9150
+ }
9151
+ if (fieldVal.constructor.name === "Object") {
9152
+ return Object.keys(fieldVal).length > 0;
9153
+ }
9154
+ return (fieldVal !== undefined && fieldVal !== null);
9155
+ };
9114
9156
  }
9115
9157
  };
9116
9158
  var peg$f10 = function (val) {