@cubicweb/client 2.1.1 → 3.0.0-alpha.5

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.
Files changed (52) hide show
  1. package/README.md +28 -16
  2. package/lib/api/Api.d.ts +25 -10
  3. package/lib/api/Api.d.ts.map +1 -1
  4. package/lib/api/Api.js +69 -43
  5. package/lib/api/Api.js.map +1 -1
  6. package/lib/api/Client.d.ts +11 -6
  7. package/lib/api/Client.d.ts.map +1 -1
  8. package/lib/api/Client.js +20 -11
  9. package/lib/api/Client.js.map +1 -1
  10. package/lib/api/Transaction.d.ts +6 -9
  11. package/lib/api/Transaction.d.ts.map +1 -1
  12. package/lib/api/Transaction.js +11 -21
  13. package/lib/api/Transaction.js.map +1 -1
  14. package/lib/schema/classes/EntitySchema.d.ts +16 -22
  15. package/lib/schema/classes/EntitySchema.d.ts.map +1 -1
  16. package/lib/schema/classes/EntitySchema.js +17 -25
  17. package/lib/schema/classes/EntitySchema.js.map +1 -1
  18. package/lib/schema/classes/RelationDefinitionSchema.d.ts +8 -10
  19. package/lib/schema/classes/RelationDefinitionSchema.d.ts.map +1 -1
  20. package/lib/schema/classes/RelationDefinitionSchema.js +7 -21
  21. package/lib/schema/classes/RelationDefinitionSchema.js.map +1 -1
  22. package/lib/schema/classes/Schema.d.ts +2 -0
  23. package/lib/schema/classes/Schema.d.ts.map +1 -1
  24. package/lib/schema/classes/Schema.js +2 -0
  25. package/lib/schema/classes/Schema.js.map +1 -1
  26. package/lib/schema/classes/Utils.d.ts +135 -1
  27. package/lib/schema/classes/Utils.d.ts.map +1 -1
  28. package/lib/schema/classes/Utils.js +165 -3
  29. package/lib/schema/classes/Utils.js.map +1 -1
  30. package/lib/schema/raw/Constraints.d.ts +13 -5
  31. package/lib/schema/raw/Constraints.d.ts.map +1 -1
  32. package/lib/schema/raw/Entities.d.ts +4 -0
  33. package/lib/schema/raw/Entities.d.ts.map +1 -1
  34. package/lib/schema/raw/RelationDefinitions.d.ts +15 -2
  35. package/lib/schema/raw/RelationDefinitions.d.ts.map +1 -1
  36. package/lib/schema/raw/Schema.d.ts +2 -0
  37. package/lib/schema/raw/Schema.d.ts.map +1 -1
  38. package/lib/schema/raw/Utils.d.ts +6 -0
  39. package/lib/schema/raw/Utils.d.ts.map +1 -1
  40. package/package.json +4 -8
  41. package/src/api/Api.ts +79 -38
  42. package/src/api/Client.ts +24 -20
  43. package/src/api/Transaction.ts +16 -12
  44. package/src/schema/classes/EntitySchema.ts +35 -41
  45. package/src/schema/classes/RelationDefinitionSchema.ts +10 -25
  46. package/src/schema/classes/Schema.ts +2 -0
  47. package/src/schema/classes/Utils.ts +178 -1
  48. package/src/schema/raw/Constraints.ts +13 -5
  49. package/src/schema/raw/Entities.ts +4 -0
  50. package/src/schema/raw/RelationDefinitions.ts +15 -2
  51. package/src/schema/raw/Schema.ts +2 -0
  52. package/src/schema/raw/Utils.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EntitySchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;GAIG;AACH,qBAAa,YAAY,CACvB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,EACnF,UAAU,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAWtC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,eAAe;IAVzB;;;;;;;OAOG;gBAEO,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,eAAe,EAAE,UAAU;IAGrC;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAE7B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,UAAU,CAAC,aAAa,CAAC,CAE3C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,CAE/B;IAED;;;;OAIG;IACH,IAAI,0BAA0B,IAAI,wBAAwB,CACxD,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;QAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAC9C,CACF,EAAE,CAKF;IAED;;;;OAIG;IACH,IAAI,0BAA0B,IAAI,wBAAwB,CACxD,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;QAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAC7C,CACF,EAAE,CAKF;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,wBAAwB,CACzB,CAAC,EACD,CAAC,EACD,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CACjE,EAAE;IAIH;;;OAGG;IACH,IAAI,UAAU,IAAI,wBAAwB,CACxC,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;QAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAC7C,CACF,EAAE,CAKF;CACF"}
1
+ {"version":3,"file":"EntitySchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;GAMG;AACH,qBAAa,YAAY,CACvB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,EACnF,UAAU,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAWtC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,eAAe;IAVzB;;;;;;;OAOG;gBAEO,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,eAAe,EAAE,UAAU;IAGrC;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAE7B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,UAAU,CAAC,aAAa,CAAC,CAE3C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,CAE/B;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,wBAAwB,CACxC,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;QAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAC7C,CACF,EAAE,CAKF;IAED,IAAI,mBAAmB,IAAI;QACzB,OAAO,EAAE,wBAAwB,CAC/B,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;YAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAC9C,CACF,EAAE,CAAC;QACJ,MAAM,EAAE,wBAAwB,CAC9B,CAAC,EACD,CAAC,EACD,yBAAyB,CACvB,CAAC,EACD,CAAC,EACD;YAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAC7C,CACF,EAAE,CAAC;KACL,CAWA;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,wBAAwB,CACzB,CAAC,EACD,CAAC,EACD,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CACjE,EAAE;CAGJ"}
@@ -5,6 +5,8 @@ exports.EntitySchema = void 0;
5
5
  * Wrapper around raw entity schemas from the Schema.
6
6
  * You should never have to create this object yourself.
7
7
  * Instead, retrieve these objects from the methods in the `Schema` class.
8
+ *
9
+ * @category Schema
8
10
  */
9
11
  class EntitySchema {
10
12
  /**
@@ -38,26 +40,26 @@ class EntitySchema {
38
40
  return this.entityRawSchema.final;
39
41
  }
40
42
  /**
41
- * Gets the list of relation definitions schemas with this entity as subject.
42
- * In case a relation definition schema has this entity as both object and subject,
43
- * there will be dupicates when used along with `objectRelationsDefinitions`.
43
+ * Gets the list of attribute schemas (relation definition schemas with final at false)
44
+ * for this entity schema.
44
45
  */
45
- get subjectRelationDefinitions() {
46
+ get attributes() {
46
47
  return this.schema.matchRelationDefinitions({
48
+ final: true,
47
49
  subject: this.type,
48
- final: false,
49
50
  });
50
51
  }
51
- /**
52
- * Gets the list of relation definitions schemas with this entity as object.
53
- * In case a relation definition schema has this entity as both object and subject,
54
- * there will be dupicates when used along with `subjectRelationDefinitions`.
55
- */
56
- get objectRelationsDefinitions() {
57
- return this.schema.matchRelationDefinitions({
58
- object: this.type,
59
- final: false,
60
- });
52
+ get relationDefinitions() {
53
+ return {
54
+ subject: this.schema.matchRelationDefinitions({
55
+ subject: this.type,
56
+ final: false,
57
+ }),
58
+ object: this.schema.matchRelationDefinitions({
59
+ object: this.type,
60
+ final: false,
61
+ }),
62
+ };
61
63
  }
62
64
  /**
63
65
  * Finds relations in the Schema matching the partial relation given.
@@ -68,16 +70,6 @@ class EntitySchema {
68
70
  matchRelationDefinitions(matcher) {
69
71
  return this.schema.matchRelationDefinitions(matcher);
70
72
  }
71
- /**
72
- * Gets the list of attribute schemas (relation definition schemas with final at false)
73
- * for this entity schema.
74
- */
75
- get attributes() {
76
- return this.schema.matchRelationDefinitions({
77
- final: true,
78
- subject: this.type,
79
- });
80
- }
81
73
  }
82
74
  exports.EntitySchema = EntitySchema;
83
75
  //# sourceMappingURL=EntitySchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntitySchema.js","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":";;;AAMA;;;;GAIG;AACH,MAAa,YAAY;IAKvB;;;;;;;OAOG;IACH,YACU,MAAoB,EACpB,eAA2B;QAD3B,WAAM,GAAN,MAAM,CAAc;QACpB,oBAAe,GAAf,eAAe,CAAY;IAClC,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,IAAI,0BAA0B;QAS5B,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,0BAA0B;QAS5B,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CACtB,OAAU;QAMV,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QASZ,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAjHD,oCAiHC"}
1
+ {"version":3,"file":"EntitySchema.js","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":";;;AAMA;;;;;;GAMG;AACH,MAAa,YAAY;IAKvB;;;;;;;OAOG;IACH,YACU,MAAoB,EACpB,eAA2B;QAD3B,WAAM,GAAN,MAAM,CAAc;QACpB,oBAAe,GAAf,eAAe,CAAY;IAClC,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QASZ,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;YAC1C,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB;QAoBrB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,KAAK,EAAE,KAAK;aACb,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC3C,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,KAAK,EAAE,KAAK;aACb,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CACtB,OAAU;QAMV,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAzGD,oCAyGC"}
@@ -3,10 +3,13 @@ import { RelationDefinitionRawSchemaArray, Cardinality } from "../raw/RelationDe
3
3
  import { IsLooseSchema, EntityRawSchemaByType } from "../raw/Utils";
4
4
  import { EntitySchema } from "./EntitySchema";
5
5
  import { Schema } from "./Schema";
6
+ import { EntityRole } from "./Utils";
6
7
  /**
7
8
  * Wrapper around raw relation definition schemas from the Schema.
8
9
  * You should never have to create this object yourself.
9
10
  * Instead, retrieve these objects from the methods in the `Schema` class.
11
+ *
12
+ * @category Schema
10
13
  */
11
14
  export declare class RelationDefinitionSchema<E extends EntityRawSchemaArray = EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<E> = RelationDefinitionRawSchemaArray<E>, RDef extends R[number] = R[number]> {
12
15
  private schema;
@@ -55,15 +58,10 @@ export declare class RelationDefinitionSchema<E extends EntityRawSchemaArray = E
55
58
  /**
56
59
  * The cardinality of this relation definition schema.
57
60
  */
58
- get cardinality(): RDef["cardinality"];
59
- /**
60
- * The cardinality of this relation definition schema's subject.
61
- */
62
- get subjectCardinality(): Cardinality;
63
- /**
64
- * The cardinality of this relation definition schema's object.
65
- */
66
- get objectCardinality(): Cardinality;
61
+ get cardinality(): {
62
+ subject: Cardinality;
63
+ object: Cardinality;
64
+ };
67
65
  /**
68
66
  * Gets the entity associated to this relation definition schema's subject.
69
67
  *
@@ -82,6 +80,6 @@ export declare class RelationDefinitionSchema<E extends EntityRawSchemaArray = E
82
80
  * @param role The point of view to use
83
81
  * @returns
84
82
  */
85
- isRequired(role: "subject" | "object"): boolean;
83
+ isRequired(role: EntityRole): boolean;
86
84
  }
87
85
  //# sourceMappingURL=RelationDefinitionSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RelationDefinitionSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,gCAAgC,EAChC,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;GAIG;AACH,qBAAa,wBAAwB,CACnC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,EACnF,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAUtB,OAAO,CAAC,MAAM;IAAgB,OAAO,CAAC,MAAM;IARxD;;;;;;;OAOG;gBACiB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAU,MAAM,EAAE,IAAI;IAE9D;;OAEG;IACH,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,CAErC;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAEzB;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAE7B;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,CAErC;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,IAAI,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,SAAS,CAM/D;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,CAErC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,WAAW,CAEpC;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,WAAW,CAEnC;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GACxC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAShE;IAED;;;;OAIG;IACH,IAAI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAS/D;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ;CAStC"}
1
+ {"version":3,"file":"RelationDefinitionSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,gCAAgC,EAChC,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAyB,MAAM,SAAS,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,wBAAwB,CACnC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,EACnF,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAUtB,OAAO,CAAC,MAAM;IAAgB,OAAO,CAAC,MAAM;IARxD;;;;;;;OAOG;gBACiB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAU,MAAM,EAAE,IAAI;IAE9D;;OAEG;IACH,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,CAErC;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAEzB;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAE7B;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,CAErC;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,IAAI,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,SAAS,CAM/D;IAED;;OAEG;IACH,IAAI,WAAW,IAAI;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAK/D;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GACxC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAShE;IAED;;;;OAIG;IACH,IAAI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAS/D;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU;CAG5B"}
@@ -7,6 +7,8 @@ const Utils_1 = require("./Utils");
7
7
  * Wrapper around raw relation definition schemas from the Schema.
8
8
  * You should never have to create this object yourself.
9
9
  * Instead, retrieve these objects from the methods in the `Schema` class.
10
+ *
11
+ * @category Schema
10
12
  */
11
13
  class RelationDefinitionSchema {
12
14
  /**
@@ -67,19 +69,10 @@ class RelationDefinitionSchema {
67
69
  * The cardinality of this relation definition schema.
68
70
  */
69
71
  get cardinality() {
70
- return this.relDef.cardinality;
71
- }
72
- /**
73
- * The cardinality of this relation definition schema's subject.
74
- */
75
- get subjectCardinality() {
76
- return this.relDef.cardinality[0];
77
- }
78
- /**
79
- * The cardinality of this relation definition schema's object.
80
- */
81
- get objectCardinality() {
82
- return this.relDef.cardinality[1];
72
+ return {
73
+ subject: this.relDef.cardinality[0],
74
+ object: this.relDef.cardinality[1],
75
+ };
83
76
  }
84
77
  /**
85
78
  * Gets the entity associated to this relation definition schema's subject.
@@ -114,14 +107,7 @@ class RelationDefinitionSchema {
114
107
  * @returns
115
108
  */
116
109
  isRequired(role) {
117
- let cardinality;
118
- if (role === "subject") {
119
- cardinality = this.subjectCardinality;
120
- }
121
- else {
122
- cardinality = this.objectCardinality;
123
- }
124
- return (0, Utils_1.cardinalityRequired)(cardinality);
110
+ return (0, Utils_1.isCardinalityRequired)(this.cardinality[role]);
125
111
  }
126
112
  }
127
113
  exports.RelationDefinitionSchema = RelationDefinitionSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationDefinitionSchema.js","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AASvD,mCAA8C;AAE9C;;;;GAIG;AACH,MAAa,wBAAwB;IAKnC;;;;;;;OAOG;IACH,YAAoB,MAAoB,EAAU,MAAY;QAA1C,WAAM,GAAN,MAAM,CAAc;QAAU,WAAM,GAAN,MAAM,CAAM;IAAG,CAAC;IAElE;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QAGT,OAAO,CACL,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAgB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAgB,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QAGT,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,gCAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,gCAAgC,IAAI,CAAC,IAAI,kBAAkB,CAC9F,CAAC;SACH;QACD,0DAA0D;QAC1D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QAGR,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,YAAY,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,gCAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,+BAA+B,IAAI,CAAC,IAAI,kBAAkB,CAC5F,CAAC;SACH;QACD,0DAA0D;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAA0B;QACnC,IAAI,WAAwB,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACvC;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACtC;QACD,OAAO,IAAA,2BAAmB,EAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AA3ID,4DA2IC"}
1
+ {"version":3,"file":"RelationDefinitionSchema.js","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AASvD,mCAA4D;AAE5D;;;;;;GAMG;AACH,MAAa,wBAAwB;IAKnC;;;;;;;OAOG;IACH,YAAoB,MAAoB,EAAU,MAAY;QAA1C,WAAM,GAAN,MAAM,CAAc;QAAU,WAAM,GAAN,MAAM,CAAM;IAAG,CAAC;IAElE;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QAGT,OAAO,CACL,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAgB;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAgB;SAClD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QAGT,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,gCAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,gCAAgC,IAAI,CAAC,IAAI,kBAAkB,CAC9F,CAAC;SACH;QACD,0DAA0D;QAC1D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QAGR,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,YAAY,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,gCAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,+BAA+B,IAAI,CAAC,IAAI,kBAAkB,CAC5F,CAAC;SACH;QACD,0DAA0D;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAgB;QACzB,OAAO,IAAA,6BAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AA1HD,4DA0HC"}
@@ -10,6 +10,8 @@ declare const rawSchemaKey: unique symbol;
10
10
  * Wrapper around the raw JSON Schema.
11
11
  * It is recommended to use this class instead of the raw JSON Schema
12
12
  * as it is more robust to schema changes and provides utility functions.
13
+ *
14
+ * @category Schema
13
15
  */
14
16
  export declare class Schema<E extends EntityRawSchemaArray = EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<E> = RelationDefinitionRawSchemaArray<E>> {
15
17
  [rawSchemaKey]: RawSchema<E, R>;
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAEL,gCAAgC,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE/E,QAAA,MAAM,YAAY,EAAE,OAAO,MAA2C,CAAC;AAEvE;;;;GAIG;AACH,qBAAa,MAAM,CACjB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAEnF,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhC;;;;;;OAMG;gBACS,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAItC;;OAEG;IACH,IAAI,QAAQ,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAI9C;IAED;;;OAGG;IACH,IAAI,oBAAoB,IAAI,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAItE;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,EAC5B,UAAU,EAAE,KAAK,GAChB,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GAC5B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GACpC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,GAC5C,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GACnD,IAAI;IAiBR;;;;;;OAMG;IACH,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,wBAAwB,CACzB,CAAC,EACD,CAAC,EACD,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAChE,EAAE;CAmBJ"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAEL,gCAAgC,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE/E,QAAA,MAAM,YAAY,EAAE,OAAO,MAA2C,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,MAAM,CACjB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAEnF,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhC;;;;;;OAMG;gBACS,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAItC;;OAEG;IACH,IAAI,QAAQ,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAI9C;IAED;;;OAGG;IACH,IAAI,oBAAoB,IAAI,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAItE;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,EAC5B,UAAU,EAAE,KAAK,GAChB,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GAC5B,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GACpC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,GAC5C,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GACnD,IAAI;IAiBR;;;;;;OAMG;IACH,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,wBAAwB,CACzB,CAAC,EACD,CAAC,EACD,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAChE,EAAE;CAmBJ"}
@@ -8,6 +8,8 @@ const rawSchemaKey = Symbol("Indexer of the rawSchema");
8
8
  * Wrapper around the raw JSON Schema.
9
9
  * It is recommended to use this class instead of the raw JSON Schema
10
10
  * as it is more robust to schema changes and provides utility functions.
11
+ *
12
+ * @category Schema
11
13
  */
12
14
  class Schema {
13
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/schema/classes/Schema.ts"],"names":[],"mappings":";;;AAWA,iDAA8C;AAC9C,yEAAsE;AAGtE,MAAM,YAAY,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAa,MAAM;IAMjB;;;;;;OAMG;IACH,YAAY,SAA0B;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,2BAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,GAAG,CACjD,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,mDAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,UAAiB;QAMjB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CACxD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CACzC,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,eAAe,EAAE;YACpB,qEAAqE;YACrE,qDAAqD;YACrD,0CAA0C;YAC1C,OAAO,IAAI,CAAC;SACb;QACD,wBAAwB;QACxB,OAAO,IAAI,2BAAY,CACrB,IAAI,EACJ,eAAkD,CACnD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CACtB,OAAU;QAMV,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAChE,CAAC,MAAM,EAAE,EAAE;YACT,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAC3B,OAAO,CACoC,EAAE;gBAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChC,OAAO,KAAK,CAAC;iBACd;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAKA,CAAC;QACJ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mDAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;CACF;AAnGD,wBAmGC"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/schema/classes/Schema.ts"],"names":[],"mappings":";;;AAWA,iDAA8C;AAC9C,yEAAsE;AAGtE,MAAM,YAAY,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAa,MAAM;IAMjB;;;;;;OAMG;IACH,YAAY,SAA0B;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,2BAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,GAAG,CACjD,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,mDAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,UAAiB;QAMjB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CACxD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CACzC,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,eAAe,EAAE;YACpB,qEAAqE;YACrE,qDAAqD;YACrD,0CAA0C;YAC1C,OAAO,IAAI,CAAC;SACb;QACD,wBAAwB;QACxB,OAAO,IAAI,2BAAY,CACrB,IAAI,EACJ,eAAkD,CACnD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CACtB,OAAU;QAMV,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAChE,CAAC,MAAM,EAAE,EAAE;YACT,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAC3B,OAAO,CACoC,EAAE;gBAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChC,OAAO,KAAK,CAAC;iBACd;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAKA,CAAC;QACJ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mDAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;CACF;AAnGD,wBAmGC"}
@@ -2,12 +2,20 @@ import { EntityRawSchemaArray } from "../raw/Entities";
2
2
  import { Cardinality, RelationDefinitionRawSchema, RelationDefinitionRawSchemaArray } from "../raw/RelationDefinitions";
3
3
  import { Schema } from "./Schema";
4
4
  import { EntitySchema } from "./EntitySchema";
5
+ /**
6
+ * An entity role in a relation.
7
+ *
8
+ * @category Utils
9
+ */
10
+ export type EntityRole = "subject" | "object";
5
11
  /**
6
12
  * Returns the given schema using loose typing.
7
13
  * Can be useful when working with generic schemas
8
14
  *
9
15
  * @param schema The schema to create a loose type for
10
16
  * @returns A loosely typed schema
17
+ *
18
+ * @category Utils
11
19
  */
12
20
  export declare const getLooseSchema: <E extends EntityRawSchemaArray = EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<E> = RelationDefinitionRawSchemaArray<E>>(schema: Schema<E, R>) => Schema<EntityRawSchemaArray, RelationDefinitionRawSchemaArray<EntityRawSchemaArray>>;
13
21
  /**
@@ -15,10 +23,134 @@ export declare const getLooseSchema: <E extends EntityRawSchemaArray = EntityRaw
15
23
  *
16
24
  * @param cardinality The cardinality to check
17
25
  * @returns True if the cardinality is 1 or +
26
+ *
27
+ * @category Utils
28
+ */
29
+ export declare function isCardinalityRequired(cardinality: Cardinality): boolean;
30
+ /**
31
+ * Checks if the cardinality allows multiple entities to be present
32
+ *
33
+ * @param cardinality The cardinility to check
34
+ * @returns True if the cardinality is `*` or `+`
35
+ *
36
+ * @category Utils
37
+ */
38
+ export declare const isCardinalityMultiple: (cardinality: Cardinality) => boolean;
39
+ /**
40
+ * Checks if the cardinality allows entities to be absent
41
+ *
42
+ * @param cardinality The cardinility to check
43
+ * @returns True if the cardinality is `?` or `*`
44
+ *
45
+ * @category Utils
46
+ */
47
+ export declare const isCardinalityOptional: (cardinality: Cardinality) => boolean;
48
+ /**
49
+ * Reverses the given role name
50
+ *
51
+ * @param role The role to reverse
52
+ * @returns "object" if the given role was "subject", "subject" otherwise
53
+ *
54
+ * @category Utils
55
+ */
56
+ export declare function getOppositeRelationRole(role: EntityRole): EntityRole;
57
+ /**
58
+ * Checks if the given relation type is reversed.
59
+ *
60
+ * A reversed relation means the relation is considered from the object entity
61
+ * point of view.
62
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
63
+ *
64
+ * @param relationType The relation type to check
65
+ * @returns True if the relation type starts with the reverse indicator
66
+ *
67
+ * @category Utils
68
+ */
69
+ export declare const isRelationTypeReversed: (relationType: string) => boolean;
70
+ /**
71
+ * Gets the entity role in the given relation type by
72
+ * checking for the reverse indicator
73
+ *
74
+ * A reversed relation means the relation is considered from the object entity
75
+ * point of view.
76
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
77
+ *
78
+ * @param relationType The relation type to check
79
+ * @returns "subject" if the relation is not reversed, "object" otherwise
80
+ *
81
+ * @category Utils
82
+ */
83
+ export declare const getRoleFromRelationType: (relationType: string) => EntityRole;
84
+ /**
85
+ * Adds the reverse indicator from the relation type if it is not already present.
86
+ *
87
+ * A reversed relation means the relation is considered from the object entity
88
+ * point of view.
89
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
90
+ *
91
+ * @param relationType The relation type to transform
92
+ * @returns The relation type with the reverse indicator added or removed
93
+ *
94
+ * @category Utils
95
+ */
96
+ export declare const getReverseRelationType: (relationType: string) => string;
97
+ /**
98
+ * Clears the reverse indicator from the relation type if it is present.
99
+ *
100
+ * A reversed relation means the relation is considered from the object entity
101
+ * point of view.
102
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
103
+ *
104
+ * @param relationType The relation type to transform
105
+ * @returns The relation type with the reverse indicator added or removed
106
+ *
107
+ * @category Utils
108
+ */
109
+ export declare const getRawRelationType: (relationType: string) => string;
110
+ /**
111
+ * Returns the relation type with the reverse indicator added if necessary.
112
+ *
113
+ * A reversed relation means the relation is considered from the object entity
114
+ * point of view.
115
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
116
+ *
117
+ * @param relationType The relation type to transform
118
+ * @param role The entity role in the relation
119
+ * @returns A relation type with the reverse indicator if necessary
120
+ *
121
+ * @category Utils
18
122
  */
19
- export declare function cardinalityRequired(cardinality: Cardinality): boolean;
123
+ export declare const getRelationType: (relationType: string, role: EntityRole) => string;
124
+ /**
125
+ * Finds the relation matching the provided source, relation typ and target
126
+ *
127
+ * @param entitySchema The entity schema the relation is from
128
+ * @param sourceType The entity type acting as source for the relation
129
+ * @param relationType The type of the relation to use. Can have the reverse indicator to decide the role of the source/target entities
130
+ * @param targetType The entity type acting as target for the relation
131
+ * @returns The relation definition matching the triplet source relation target
132
+ *
133
+ * @category Utils
134
+ */
135
+ export declare const getRelationDefinition: (entitySchema: EntitySchema, sourceType: string, relationType: string, targetType: string) => import("./RelationDefinitionSchema").RelationDefinitionSchema<EntityRawSchemaArray, RelationDefinitionRawSchemaArray<EntityRawSchemaArray>, Readonly<{
136
+ type: string;
137
+ description: string;
138
+ cardinality: "**" | "*1" | "*?" | "*+" | "1*" | "11" | "1?" | "1+" | "?*" | "?1" | "??" | "?+" | "+*" | "+1" | "+?" | "++";
139
+ subject: string;
140
+ } & ((import("../raw/RelationDefinitions").BuildObj & {
141
+ final: true;
142
+ constraints: import("../..").AttributeConstraint[];
143
+ options: import("../raw/RelationDefinitions").AttributeOptions;
144
+ }) | {
145
+ object: string;
146
+ final: false;
147
+ constraints: import("../..").RelationConstraint[];
148
+ options: import("../raw/RelationDefinitions").RelationOptions;
149
+ })>> | undefined;
20
150
  /**
21
151
  * Partial raw relation definition schema type.
152
+ *
153
+ * @category Utils
22
154
  */
23
155
  export type RelationDefinitionMatcher<E extends EntityRawSchemaArray> = Partial<RelationDefinitionRawSchema<E>>;
24
156
  /**
@@ -26,6 +158,8 @@ export type RelationDefinitionMatcher<E extends EntityRawSchemaArray> = Partial<
26
158
  * If it finds a relation definition matching the partial one given, it will return its type.
27
159
  * If it cannot find any relation definition matching, it will return the `never` type
28
160
  * and TypeScript will give compile errors.
161
+ *
162
+ * @category Utils
29
163
  */
30
164
  export type MatchedRelationDefinition<E extends EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<EntityRawSchemaArray>, M extends RelationDefinitionMatcher<E>> = R[number] extends infer RDef ? (RDef extends M ? RDef : never) : never;
31
165
  export declare function hasAttributeWithName(entitySchema: EntitySchema, attributeNameSearched: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,4PAO1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,oBAAoB,IAAI,OAAO,CAC7E,2BAA2B,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,gCAAgC,CAAC,oBAAoB,CAAC,EAChE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,IACpC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAE3E,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAOT;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAET"}
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,4PAO1B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEvE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,WAAW,KAAG,OAEhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,WAAW,KAAG,OAEhE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAEpE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,KAAG,OAE7D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,KAAG,UAE9D,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,KAAG,MAM7D,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,iBAAkB,MAAM,KAAG,MAMzD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,iBAAkB,MAAM,QAAQ,UAAU,WAIrE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,iBAClB,YAAY,cACd,MAAM,gBACJ,MAAM,cACR,MAAM;;;;;;;;;;;;;;gBAYnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,oBAAoB,IAAI,OAAO,CAC7E,2BAA2B,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,gCAAgC,CAAC,oBAAoB,CAAC,EAChE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,IACpC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAE3E,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAOT;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAET"}
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAttributeRichString = exports.hasAttributeWithName = exports.cardinalityRequired = exports.getLooseSchema = void 0;
3
+ exports.isAttributeRichString = exports.hasAttributeWithName = exports.getRelationDefinition = exports.getRelationType = exports.getRawRelationType = exports.getReverseRelationType = exports.getRoleFromRelationType = exports.isRelationTypeReversed = exports.getOppositeRelationRole = exports.isCardinalityOptional = exports.isCardinalityMultiple = exports.isCardinalityRequired = exports.getLooseSchema = void 0;
4
+ // This prefix is often applied to relation types as convention
5
+ // indicating a relation is viewed from the object's point of view
6
+ // We do not export it and instead encourage users to use the utility functions
7
+ const REVERSE_INDICATOR = "reverse_";
4
8
  /**
5
9
  * Returns the given schema using loose typing.
6
10
  * Can be useful when working with generic schemas
7
11
  *
8
12
  * @param schema The schema to create a loose type for
9
13
  * @returns A loosely typed schema
14
+ *
15
+ * @category Utils
10
16
  */
11
17
  const getLooseSchema = (schema) => {
12
18
  return schema;
@@ -17,11 +23,167 @@ exports.getLooseSchema = getLooseSchema;
17
23
  *
18
24
  * @param cardinality The cardinality to check
19
25
  * @returns True if the cardinality is 1 or +
26
+ *
27
+ * @category Utils
20
28
  */
21
- function cardinalityRequired(cardinality) {
29
+ function isCardinalityRequired(cardinality) {
22
30
  return cardinality === "1" || cardinality === "+";
23
31
  }
24
- exports.cardinalityRequired = cardinalityRequired;
32
+ exports.isCardinalityRequired = isCardinalityRequired;
33
+ /**
34
+ * Checks if the cardinality allows multiple entities to be present
35
+ *
36
+ * @param cardinality The cardinility to check
37
+ * @returns True if the cardinality is `*` or `+`
38
+ *
39
+ * @category Utils
40
+ */
41
+ const isCardinalityMultiple = (cardinality) => {
42
+ return cardinality === "*" || cardinality === "+";
43
+ };
44
+ exports.isCardinalityMultiple = isCardinalityMultiple;
45
+ /**
46
+ * Checks if the cardinality allows entities to be absent
47
+ *
48
+ * @param cardinality The cardinility to check
49
+ * @returns True if the cardinality is `?` or `*`
50
+ *
51
+ * @category Utils
52
+ */
53
+ const isCardinalityOptional = (cardinality) => {
54
+ return cardinality === "?" || cardinality === "*";
55
+ };
56
+ exports.isCardinalityOptional = isCardinalityOptional;
57
+ /**
58
+ * Reverses the given role name
59
+ *
60
+ * @param role The role to reverse
61
+ * @returns "object" if the given role was "subject", "subject" otherwise
62
+ *
63
+ * @category Utils
64
+ */
65
+ function getOppositeRelationRole(role) {
66
+ return role === "subject" ? "object" : "subject";
67
+ }
68
+ exports.getOppositeRelationRole = getOppositeRelationRole;
69
+ /**
70
+ * Checks if the given relation type is reversed.
71
+ *
72
+ * A reversed relation means the relation is considered from the object entity
73
+ * point of view.
74
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
75
+ *
76
+ * @param relationType The relation type to check
77
+ * @returns True if the relation type starts with the reverse indicator
78
+ *
79
+ * @category Utils
80
+ */
81
+ const isRelationTypeReversed = (relationType) => {
82
+ return relationType.startsWith(REVERSE_INDICATOR);
83
+ };
84
+ exports.isRelationTypeReversed = isRelationTypeReversed;
85
+ /**
86
+ * Gets the entity role in the given relation type by
87
+ * checking for the reverse indicator
88
+ *
89
+ * A reversed relation means the relation is considered from the object entity
90
+ * point of view.
91
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
92
+ *
93
+ * @param relationType The relation type to check
94
+ * @returns "subject" if the relation is not reversed, "object" otherwise
95
+ *
96
+ * @category Utils
97
+ */
98
+ const getRoleFromRelationType = (relationType) => {
99
+ return (0, exports.isRelationTypeReversed)(relationType) ? "object" : "subject";
100
+ };
101
+ exports.getRoleFromRelationType = getRoleFromRelationType;
102
+ /**
103
+ * Adds the reverse indicator from the relation type if it is not already present.
104
+ *
105
+ * A reversed relation means the relation is considered from the object entity
106
+ * point of view.
107
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
108
+ *
109
+ * @param relationType The relation type to transform
110
+ * @returns The relation type with the reverse indicator added or removed
111
+ *
112
+ * @category Utils
113
+ */
114
+ const getReverseRelationType = (relationType) => {
115
+ if (!(0, exports.isRelationTypeReversed)(relationType)) {
116
+ return `${REVERSE_INDICATOR}${relationType}`;
117
+ }
118
+ else {
119
+ return relationType;
120
+ }
121
+ };
122
+ exports.getReverseRelationType = getReverseRelationType;
123
+ /**
124
+ * Clears the reverse indicator from the relation type if it is present.
125
+ *
126
+ * A reversed relation means the relation is considered from the object entity
127
+ * point of view.
128
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
129
+ *
130
+ * @param relationType The relation type to transform
131
+ * @returns The relation type with the reverse indicator added or removed
132
+ *
133
+ * @category Utils
134
+ */
135
+ const getRawRelationType = (relationType) => {
136
+ if ((0, exports.isRelationTypeReversed)(relationType)) {
137
+ return relationType.replace(REVERSE_INDICATOR, "");
138
+ }
139
+ else {
140
+ return relationType;
141
+ }
142
+ };
143
+ exports.getRawRelationType = getRawRelationType;
144
+ /**
145
+ * Returns the relation type with the reverse indicator added if necessary.
146
+ *
147
+ * A reversed relation means the relation is considered from the object entity
148
+ * point of view.
149
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
150
+ *
151
+ * @param relationType The relation type to transform
152
+ * @param role The entity role in the relation
153
+ * @returns A relation type with the reverse indicator if necessary
154
+ *
155
+ * @category Utils
156
+ */
157
+ const getRelationType = (relationType, role) => {
158
+ return role === "subject"
159
+ ? relationType
160
+ : (0, exports.getReverseRelationType)(relationType);
161
+ };
162
+ exports.getRelationType = getRelationType;
163
+ /**
164
+ * Finds the relation matching the provided source, relation typ and target
165
+ *
166
+ * @param entitySchema The entity schema the relation is from
167
+ * @param sourceType The entity type acting as source for the relation
168
+ * @param relationType The type of the relation to use. Can have the reverse indicator to decide the role of the source/target entities
169
+ * @param targetType The entity type acting as target for the relation
170
+ * @returns The relation definition matching the triplet source relation target
171
+ *
172
+ * @category Utils
173
+ */
174
+ const getRelationDefinition = (entitySchema, sourceType, relationType, targetType) => {
175
+ const role = (0, exports.getRoleFromRelationType)(relationType);
176
+ const match = entitySchema.matchRelationDefinitions({
177
+ [role]: sourceType,
178
+ type: (0, exports.getRawRelationType)(relationType),
179
+ [getOppositeRelationRole(role)]: targetType,
180
+ });
181
+ if (match.length > 0) {
182
+ return match[0];
183
+ }
184
+ return undefined;
185
+ };
186
+ exports.getRelationDefinition = getRelationDefinition;
25
187
  function hasAttributeWithName(entitySchema, attributeNameSearched) {
26
188
  for (const entityAttribute of entitySchema.attributes) {
27
189
  if (entityAttribute.type == attributeNameSearched) {
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/schema/classes/Utils.ts"],"names":[],"mappings":";;;AASA;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAI5B,MAAoB,EACpB,EAAE;IACF,OAAO,MAA2B,CAAC;AACrC,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB;AAEF;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,WAAwB;IAC1D,OAAO,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,CAAC;AACpD,CAAC;AAFD,kDAEC;AAqBD,SAAgB,oBAAoB,CAClC,YAA0B,EAC1B,qBAA6B;IAE7B,KAAK,MAAM,eAAe,IAAI,YAAY,CAAC,UAAU,EAAE;QACrD,IAAI,eAAe,CAAC,IAAI,IAAI,qBAAqB,EAAE;YACjD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,oDAUC;AAED,SAAgB,qBAAqB,CACnC,YAA0B,EAC1B,qBAA6B;IAE7B,OAAO,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,CAAC,CAAC;AAC/E,CAAC;AALD,sDAKC"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/schema/classes/Utils.ts"],"names":[],"mappings":"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"}