@cubicweb/client 2.1.1 → 3.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +28 -16
  2. package/lib/Errors.js +3 -9
  3. package/lib/Errors.js.map +1 -1
  4. package/lib/api/Api.d.ts +35 -15
  5. package/lib/api/Api.d.ts.map +1 -1
  6. package/lib/api/Api.js +152 -133
  7. package/lib/api/Api.js.map +1 -1
  8. package/lib/api/Client.d.ts +20 -9
  9. package/lib/api/Client.d.ts.map +1 -1
  10. package/lib/api/Client.js +40 -49
  11. package/lib/api/Client.js.map +1 -1
  12. package/lib/api/Transaction.d.ts +33 -20
  13. package/lib/api/Transaction.d.ts.map +1 -1
  14. package/lib/api/Transaction.js +50 -46
  15. package/lib/api/Transaction.js.map +1 -1
  16. package/lib/index.d.ts +13 -13
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +12 -33
  19. package/lib/index.js.map +1 -1
  20. package/lib/schema/classes/EntitySchema.d.ts +21 -27
  21. package/lib/schema/classes/EntitySchema.d.ts.map +1 -1
  22. package/lib/schema/classes/EntitySchema.js +20 -30
  23. package/lib/schema/classes/EntitySchema.js.map +1 -1
  24. package/lib/schema/classes/RelationDefinitionSchema.d.ts +13 -15
  25. package/lib/schema/classes/RelationDefinitionSchema.d.ts.map +1 -1
  26. package/lib/schema/classes/RelationDefinitionSchema.js +14 -30
  27. package/lib/schema/classes/RelationDefinitionSchema.js.map +1 -1
  28. package/lib/schema/classes/Schema.d.ts +9 -7
  29. package/lib/schema/classes/Schema.d.ts.map +1 -1
  30. package/lib/schema/classes/Schema.js +10 -11
  31. package/lib/schema/classes/Schema.js.map +1 -1
  32. package/lib/schema/classes/Utils.d.ts +139 -5
  33. package/lib/schema/classes/Utils.d.ts.map +1 -1
  34. package/lib/schema/classes/Utils.js +157 -11
  35. package/lib/schema/classes/Utils.js.map +1 -1
  36. package/lib/schema/raw/Constraints.d.ts +17 -9
  37. package/lib/schema/raw/Constraints.d.ts.map +1 -1
  38. package/lib/schema/raw/Constraints.js +1 -2
  39. package/lib/schema/raw/Entities.d.ts +4 -0
  40. package/lib/schema/raw/Entities.d.ts.map +1 -1
  41. package/lib/schema/raw/Entities.js +1 -2
  42. package/lib/schema/raw/RelationDefinitions.d.ts +17 -4
  43. package/lib/schema/raw/RelationDefinitions.d.ts.map +1 -1
  44. package/lib/schema/raw/RelationDefinitions.js +1 -2
  45. package/lib/schema/raw/Schema.d.ts +4 -2
  46. package/lib/schema/raw/Schema.d.ts.map +1 -1
  47. package/lib/schema/raw/Schema.js +1 -2
  48. package/lib/schema/raw/Utils.d.ts +7 -1
  49. package/lib/schema/raw/Utils.d.ts.map +1 -1
  50. package/lib/schema/raw/Utils.js +1 -2
  51. package/package.json +6 -9
  52. package/src/api/Api.ts +110 -57
  53. package/src/api/Client.ts +36 -19
  54. package/src/api/Transaction.ts +56 -37
  55. package/src/index.ts +13 -13
  56. package/src/schema/classes/EntitySchema.ts +43 -46
  57. package/src/schema/classes/RelationDefinitionSchema.ts +16 -31
  58. package/src/schema/classes/Schema.ts +12 -7
  59. package/src/schema/classes/Utils.ts +182 -5
  60. package/src/schema/raw/Constraints.ts +20 -8
  61. package/src/schema/raw/Entities.ts +4 -0
  62. package/src/schema/raw/RelationDefinitions.ts +17 -4
  63. package/src/schema/raw/Schema.ts +4 -2
  64. package/src/schema/raw/Utils.ts +7 -1
@@ -1,28 +1,176 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAttributeRichString = exports.hasAttributeWithName = exports.cardinalityRequired = exports.getLooseSchema = void 0;
1
+ // This prefix is often applied to relation types as convention
2
+ // indicating a relation is viewed from the object's point of view
3
+ // We do not export it and instead encourage users to use the utility functions
4
+ const REVERSE_INDICATOR = "reverse_";
4
5
  /**
5
6
  * Returns the given schema using loose typing.
6
7
  * Can be useful when working with generic schemas
7
8
  *
8
9
  * @param schema The schema to create a loose type for
9
10
  * @returns A loosely typed schema
11
+ *
12
+ * @category Utils
10
13
  */
11
- const getLooseSchema = (schema) => {
14
+ export const getLooseSchema = (schema) => {
12
15
  return schema;
13
16
  };
14
- exports.getLooseSchema = getLooseSchema;
15
17
  /**
16
18
  * Checks if the given cardinality requires at least one entity to be present
17
19
  *
18
20
  * @param cardinality The cardinality to check
19
21
  * @returns True if the cardinality is 1 or +
22
+ *
23
+ * @category Utils
20
24
  */
21
- function cardinalityRequired(cardinality) {
25
+ export function isCardinalityRequired(cardinality) {
22
26
  return cardinality === "1" || cardinality === "+";
23
27
  }
24
- exports.cardinalityRequired = cardinalityRequired;
25
- function hasAttributeWithName(entitySchema, attributeNameSearched) {
28
+ /**
29
+ * Checks if the cardinality allows multiple entities to be present
30
+ *
31
+ * @param cardinality The cardinility to check
32
+ * @returns True if the cardinality is `*` or `+`
33
+ *
34
+ * @category Utils
35
+ */
36
+ export const isCardinalityMultiple = (cardinality) => {
37
+ return cardinality === "*" || cardinality === "+";
38
+ };
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 const isCardinalityOptional = (cardinality) => {
48
+ return cardinality === "?" || cardinality === "*";
49
+ };
50
+ /**
51
+ * Reverses the given role name
52
+ *
53
+ * @param role The role to reverse
54
+ * @returns "object" if the given role was "subject", "subject" otherwise
55
+ *
56
+ * @category Utils
57
+ */
58
+ export function getOppositeRelationRole(role) {
59
+ return role === "subject" ? "object" : "subject";
60
+ }
61
+ /**
62
+ * Checks if the given relation type is reversed.
63
+ *
64
+ * A reversed relation means the relation is considered from the object entity
65
+ * point of view.
66
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
67
+ *
68
+ * @param relationType The relation type to check
69
+ * @returns True if the relation type starts with the reverse indicator
70
+ *
71
+ * @category Utils
72
+ */
73
+ export const isRelationTypeReversed = (relationType) => {
74
+ return relationType.startsWith(REVERSE_INDICATOR);
75
+ };
76
+ /**
77
+ * Gets the entity role in the given relation type by
78
+ * checking for the reverse indicator
79
+ *
80
+ * A reversed relation means the relation is considered from the object entity
81
+ * point of view.
82
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
83
+ *
84
+ * @param relationType The relation type to check
85
+ * @returns "subject" if the relation is not reversed, "object" otherwise
86
+ *
87
+ * @category Utils
88
+ */
89
+ export const getRoleFromRelationType = (relationType) => {
90
+ return isRelationTypeReversed(relationType) ? "object" : "subject";
91
+ };
92
+ /**
93
+ * Adds the reverse indicator from the relation type if it is not already present.
94
+ *
95
+ * A reversed relation means the relation is considered from the object entity
96
+ * point of view.
97
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
98
+ *
99
+ * @param relationType The relation type to transform
100
+ * @returns The relation type with the reverse indicator added or removed
101
+ *
102
+ * @category Utils
103
+ */
104
+ export const getReverseRelationType = (relationType) => {
105
+ if (!isRelationTypeReversed(relationType)) {
106
+ return `${REVERSE_INDICATOR}${relationType}`;
107
+ }
108
+ else {
109
+ return relationType;
110
+ }
111
+ };
112
+ /**
113
+ * Clears the reverse indicator from the relation type if it is present.
114
+ *
115
+ * A reversed relation means the relation is considered from the object entity
116
+ * point of view.
117
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
118
+ *
119
+ * @param relationType The relation type to transform
120
+ * @returns The relation type with the reverse indicator added or removed
121
+ *
122
+ * @category Utils
123
+ */
124
+ export const getRawRelationType = (relationType) => {
125
+ if (isRelationTypeReversed(relationType)) {
126
+ return relationType.replace(REVERSE_INDICATOR, "");
127
+ }
128
+ else {
129
+ return relationType;
130
+ }
131
+ };
132
+ /**
133
+ * Returns the relation type with the reverse indicator added if necessary.
134
+ *
135
+ * A reversed relation means the relation is considered from the object entity
136
+ * point of view.
137
+ * The reverse indicator is a prefix added as a convention in CubicWeb.
138
+ *
139
+ * @param relationType The relation type to transform
140
+ * @param role The entity role in the relation
141
+ * @returns A relation type with the reverse indicator if necessary
142
+ *
143
+ * @category Utils
144
+ */
145
+ export const getRelationType = (relationType, role) => {
146
+ return role === "subject"
147
+ ? relationType
148
+ : getReverseRelationType(relationType);
149
+ };
150
+ /**
151
+ * Finds the relation matching the provided source, relation typ and target
152
+ *
153
+ * @param entitySchema The entity schema the relation is from
154
+ * @param sourceType The entity type acting as source for the relation
155
+ * @param relationType The type of the relation to use. Can have the reverse indicator to decide the role of the source/target entities
156
+ * @param targetType The entity type acting as target for the relation
157
+ * @returns The relation definition matching the triplet source relation target
158
+ *
159
+ * @category Utils
160
+ */
161
+ export const getRelationDefinition = (entitySchema, sourceType, relationType, targetType) => {
162
+ const role = getRoleFromRelationType(relationType);
163
+ const match = entitySchema.matchRelationDefinitions({
164
+ [role]: sourceType,
165
+ type: getRawRelationType(relationType),
166
+ [getOppositeRelationRole(role)]: targetType,
167
+ });
168
+ if (match.length > 0) {
169
+ return match[0];
170
+ }
171
+ return undefined;
172
+ };
173
+ export function hasAttributeWithName(entitySchema, attributeNameSearched) {
26
174
  for (const entityAttribute of entitySchema.attributes) {
27
175
  if (entityAttribute.type == attributeNameSearched) {
28
176
  return true;
@@ -30,9 +178,7 @@ function hasAttributeWithName(entitySchema, attributeNameSearched) {
30
178
  }
31
179
  return false;
32
180
  }
33
- exports.hasAttributeWithName = hasAttributeWithName;
34
- function isAttributeRichString(entitySchema, attributeNameSearched) {
181
+ export function isAttributeRichString(entitySchema, attributeNameSearched) {
35
182
  return hasAttributeWithName(entitySchema, attributeNameSearched + "_format");
36
183
  }
37
- exports.isAttributeRichString = isAttributeRichString;
38
184
  //# sourceMappingURL=Utils.js.map
@@ -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":"AASA,+DAA+D;AAC/D,kEAAkE;AAClE,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,UAAU,CAAC;AASrC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAI5B,MAAoB,EACpB,EAAE;IACF,OAAO,MAA2B,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAwB;IAC5D,OAAO,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAwB,EAAW,EAAE;IACzE,OAAO,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAwB,EAAW,EAAE;IACzE,OAAO,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAgB;IACtD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAW,EAAE;IACtE,OAAO,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAc,EAAE;IAC1E,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACrE,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;QACzC,OAAO,GAAG,iBAAiB,GAAG,YAAY,EAAE,CAAC;KAC9C;SAAM;QACL,OAAO,YAAY,CAAC;KACrB;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACjE,IAAI,sBAAsB,CAAC,YAAY,CAAC,EAAE;QACxC,OAAO,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,YAAY,CAAC;KACrB;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,IAAgB,EAAE,EAAE;IACxE,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAA0B,EAC1B,UAAkB,EAClB,YAAoB,EACpB,UAAkB,EAClB,EAAE;IACF,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC;QAClD,CAAC,IAAI,CAAC,EAAE,UAAU;QAClB,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC;QACtC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU;KAC5C,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAyBF,MAAM,UAAU,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;AAED,MAAM,UAAU,qBAAqB,CACnC,YAA0B,EAC1B,qBAA6B;IAE7B,OAAO,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,CAAC,CAAC;AAC/E,CAAC"}
@@ -6,7 +6,7 @@ type ConstraintBase<T extends string, V extends Record<string, unknown> | null>
6
6
  value: V;
7
7
  };
8
8
  /**
9
- * THe type of a constraint message when one is present.
9
+ * The type of a constraint message when one is present.
10
10
  */
11
11
  type ConstraintMessage = string | null;
12
12
  export type UniqueConstraint = ConstraintBase<"UniqueConstraint", {
@@ -26,6 +26,8 @@ export type RegexpConstraint = ConstraintBase<"RegexpConstraint", {
26
26
  * Reference to an attribute used in constraints.
27
27
  *
28
28
  * @property \_\_attribute\_\_ name of the attribute in the same entity
29
+ *
30
+ * @category Schema
29
31
  */
30
32
  export interface Attribute {
31
33
  __attribute__: string;
@@ -41,6 +43,8 @@ export interface TimeDelta {
41
43
  * @property \_\_today\_\_ always true
42
44
  * @property offset delta to current date at the time of the check
43
45
  * @property type name of the Python class used to do the comparison
46
+ *
47
+ * @category Schema
44
48
  */
45
49
  export interface Today {
46
50
  __today__: true;
@@ -52,27 +56,27 @@ export interface Today {
52
56
  *
53
57
  * @property \_\_now\_\_ always true
54
58
  * @property offset delta to current date at the time of the check
59
+ *
60
+ * @category Schema
55
61
  */
56
62
  export interface Now {
57
63
  __now__: true;
58
- offset: TimeDelta;
64
+ offset: TimeDelta | null;
59
65
  }
60
66
  /**
61
67
  * All the possible operators inside a constraint.
62
- */
63
- export type ConstraintOperator = ">" | ">=" | "<" | "<=";
64
- /**
65
- * @property value.boundary boudary value to compare the attribut
66
68
  *
69
+ * @category Schema
67
70
  */
71
+ export type ConstraintOperator = ">" | ">=" | "<" | "<=";
68
72
  export type BoundaryConstraint = ConstraintBase<"BoundaryConstraint", {
69
- boundary: Attribute | Today | Now | number | null;
73
+ boundary: Attribute | Today | Now | number | string | null;
70
74
  op: ConstraintOperator;
71
75
  msg: ConstraintMessage;
72
76
  }>;
73
77
  export type IntervalBoundConstraint = ConstraintBase<"IntervalBoundConstraint", {
74
- minvalue: number | null;
75
- maxvalue: number | null;
78
+ minvalue: number | string | null;
79
+ maxvalue: number | string | null;
76
80
  msg: ConstraintMessage;
77
81
  }>;
78
82
  export type StaticVocabularyConstraint = ConstraintBase<"StaticVocabularyConstraint", {
@@ -94,10 +98,14 @@ export type RQLConstraint = ConstraintBase<"RQLConstraint", {
94
98
  }>;
95
99
  /**
96
100
  * Type representing all possible constraints for attributes.
101
+ *
102
+ * @category Schema
97
103
  */
98
104
  export type AttributeConstraint = Readonly<UniqueConstraint | SizeConstraint | RegexpConstraint | BoundaryConstraint | IntervalBoundConstraint | StaticVocabularyConstraint | FormatConstraint | RQLConstraint>;
99
105
  /**
100
106
  * Type representing all possible constraints for relations.
107
+ *
108
+ * @category Schema
101
109
  */
102
110
  export type RelationConstraint = Readonly<RQLVocabularyConstraint | RQLConstraint>;
103
111
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Constraints.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Constraints.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Constraints.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Constraints.js.map
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Type representing an entity schema.
3
+ *
4
+ * @category Schema
3
5
  */
4
6
  export type EntityRawSchema = {
5
7
  type: string;
@@ -8,6 +10,8 @@ export type EntityRawSchema = {
8
10
  };
9
11
  /**
10
12
  * Type representing a list of entity schemas.
13
+ *
14
+ * @category Schema
11
15
  */
12
16
  export type EntityRawSchemaArray = ReadonlyArray<EntityRawSchema>;
13
17
  //# sourceMappingURL=Entities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Entities.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Entities.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"Entities.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Entities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Entities.js.map
@@ -1,11 +1,16 @@
1
- import { AttributeConstraint, RelationConstraint } from "./Constraints";
2
- import { EntityRawSchema, EntityRawSchemaArray } from "./Entities";
1
+ import { EntityRole } from "../classes/Utils.js";
2
+ import { AttributeConstraint, RelationConstraint } from "./Constraints.js";
3
+ import { EntityRawSchema, EntityRawSchemaArray } from "./Entities.js";
3
4
  /**
4
5
  * Type representing all the possible cardinalities in CubicWeb.
6
+ *
7
+ * @category Schema
5
8
  */
6
9
  export type Cardinality = "*" | "1" | "?" | "+";
7
10
  /**
8
11
  * Type representing a cardinality pair as used in relation definitions.
12
+ *
13
+ * @category Schema
9
14
  */
10
15
  export type CardinalityPair = `${Cardinality}${Cardinality}`;
11
16
  /**
@@ -73,6 +78,8 @@ interface CustomBuildObj<T extends string> extends BuildObjBase<T> {
73
78
  export type BuildObj = Readonly<StringBuildObj | PasswordBuildObj | BytesBuildObj | IntBuildObj | BigIntBuildObj | FloatBuildObj | BooleanBuildObj | DecimalBuildObj | DateBuildObj | TimeBuildObj | DatetimeBuildObj | TZTimeBuildObj | TZDatetimeBuildObj | IntervalBuildObj | CustomBuildObj<string>>;
74
79
  /**
75
80
  * Type representing the possible options for an attribute.
81
+ *
82
+ * @category Schema
76
83
  */
77
84
  export type AttributeOptions = {
78
85
  indexed?: boolean;
@@ -81,18 +88,22 @@ export type AttributeOptions = {
81
88
  };
82
89
  /**
83
90
  * Type representing the possible options for a relation definition.
91
+ *
92
+ * @category Schema
84
93
  */
85
94
  export type RelationOptions = {
86
95
  symmetric?: boolean;
87
96
  inlined?: boolean;
88
- fulltext_container?: "subject" | "object";
89
- composite?: "subject" | "object";
97
+ fulltext_container?: EntityRole;
98
+ composite?: EntityRole;
90
99
  };
91
100
  /**
92
101
  * Type representing a relation definition schema.
93
102
  * It can represent both attributes and relations depending on the value of Final.
94
103
  *
95
104
  * It can infer default values type depending on the object type if the relation is final.
105
+ *
106
+ * @category Schema
96
107
  */
97
108
  export type RelationDefinitionRawSchema<ESchemas extends EntityRawSchemaArray, Final extends boolean = boolean> = Readonly<{
98
109
  type: string;
@@ -111,6 +122,8 @@ export type RelationDefinitionRawSchema<ESchemas extends EntityRawSchemaArray, F
111
122
  })>;
112
123
  /**
113
124
  * Type representing a list of relation definitions.
125
+ *
126
+ * @category Schema
114
127
  */
115
128
  export type RelationDefinitionRawSchemaArray<ESchemas extends EntityRawSchemaArray> = ReadonlyArray<RelationDefinitionRawSchema<ESchemas, boolean>>;
116
129
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"RelationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/RelationDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAE7D;;;;GAIG;AACH,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IACpC,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,UAAU,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,gBAAiB,SAAQ,YAAY,CAAC,UAAU,CAAC;IACzD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,aAAc,SAAQ,YAAY,CAAC,OAAO,CAAC;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,WAAY,SAAQ,YAAY,CAAC,KAAK,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,aAAc,SAAQ,YAAY,CAAC,OAAO,CAAC;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,eAAgB,SAAQ,YAAY,CAAC,SAAS,CAAC;IACvD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,eAAgB,SAAQ,YAAY,CAAC,SAAS,CAAC;IACvD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,YAAa,SAAQ,YAAY,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,YAAa,SAAQ,YAAY,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,gBAAiB,SAAQ,YAAY,CAAC,UAAU,CAAC;IACzD,OAAO,EAAE,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;CACxC;AAED,UAAU,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,kBAAmB,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,gBAAiB,SAAQ,YAAY,CAAC,UAAU,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAC3B,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,WAAW,GACX,cAAc,GACd,aAAa,GACb,eAAe,GACf,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,CAAC,MAAM,CAAC,CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC1C,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,CACrC,QAAQ,SAAS,oBAAoB,EACrC,KAAK,SAAS,OAAO,GAAG,OAAO,IAC7B,QAAQ,CACV;IACE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CACnC,GAAG,CAAC,KAAK,SAAS,IAAI,GACnB,QAAQ,GAAG;IACT,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC;CAC3B,GACD;IACE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC,CACP,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,CAC1C,QAAQ,SAAS,oBAAoB,IACnC,aAAa,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"RelationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/RelationDefinitions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=RelationDefinitions.js.map
@@ -1,10 +1,12 @@
1
- import { EntityRawSchemaArray } from "./Entities";
2
- import { RelationDefinitionRawSchemaArray } from "./RelationDefinitions";
1
+ import { EntityRawSchemaArray } from "./Entities.js";
2
+ import { RelationDefinitionRawSchemaArray } from "./RelationDefinitions.js";
3
3
  /**
4
4
  * The full raw JSON schema type as returned by the API.
5
5
  * You can export this schema from your CubicWeb instance using the command:
6
6
  *
7
7
  * `cubicweb-ctl export-schema -f typescript <YOUR_INSTANCE_NAME>`
8
+ *
9
+ * @category Schema
8
10
  */
9
11
  export type RawSchema<E extends EntityRawSchemaArray = EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<E> = RelationDefinitionRawSchemaArray<E>> = {
10
12
  entities: E;
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,IACjF;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,qBAAqB,EAAE,CAAC,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrD,CAAC,SAAS,gCAAgC,CAAC,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,IACjF;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,qBAAqB,EAAE,CAAC,CAAC;CAC1B,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Schema.js.map
@@ -1,20 +1,26 @@
1
- import { EntityRawSchemaArray } from "./Entities";
1
+ import { EntityRawSchemaArray } from "./Entities.js";
2
2
  /**
3
3
  * Type used to check if a schema is loosely typed.
4
4
  * Use this to create conditional types.
5
5
  *
6
6
  * In the given EntityRawSchemaArray, if the entities type is a string, the schema is loosely typed.
7
7
  * If the schema is strongly typed, the entities type would be a word (which is stricter than string).
8
+ *
9
+ * @category Schema
8
10
  */
9
11
  export type IsLooseSchema<E extends EntityRawSchemaArray> = string extends E[number]["type"] ? true : false;
10
12
  /**
11
13
  * Checks if the given entity type is present in the EntityRawSchemaArray.
12
14
  * Use this to create conditional types.
15
+ *
16
+ * @category Schema
13
17
  */
14
18
  export type IsETypeInStrictSchema<E extends EntityRawSchemaArray, EType extends string> = EType extends E[number]["type"] ? true : false;
15
19
  /**
16
20
  * Type representing the entity's raw schema matching this type.
17
21
  * This type only works for EntityRawSchemaArray with literals as "type" property.
22
+ *
23
+ * @category Schema
18
24
  */
19
25
  export type EntityRawSchemaByType<E extends EntityRawSchemaArray, T extends string> = E[number] extends infer ESchema ? ESchema extends {
20
26
  type: T;
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,oBAAoB,IACtD,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,oBAAoB,EAC9B,KAAK,SAAS,MAAM,IAClB,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,MAAM,IACd,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,OAAO,GAC/B,OAAO,SAAS;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GACzB,OAAO,GACP,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/schema/raw/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,oBAAoB,IACtD,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,oBAAoB,EAC9B,KAAK,SAAS,MAAM,IAClB,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,MAAM,IACd,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,OAAO,GAC/B,OAAO,SAAS;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GACzB,OAAO,GACP,KAAK,GACP,KAAK,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Utils.js.map
package/package.json CHANGED
@@ -2,13 +2,11 @@
2
2
  "name": "@cubicweb/client",
3
3
  "description": "Official JS client for CubicWeb API",
4
4
  "author": "Logilab",
5
- "version": "2.1.1",
5
+ "version": "3.0.0-alpha.11",
6
6
  "license": "LGPL-3.0-or-later",
7
- "main": "lib/index.js",
8
- "types": "lib/index.d.ts",
9
7
  "scripts": {
10
- "build": "tsc --project tsconfig.build.json",
11
- "docs": "typedoc"
8
+ "build": "run -T tsc --project tsconfig.build.json",
9
+ "docs": "run -T typedoc"
12
10
  },
13
11
  "repository": {
14
12
  "type": "hg",
@@ -24,8 +22,7 @@
24
22
  "src/**",
25
23
  "!**/__tests__/**"
26
24
  ],
27
- "devDependencies": {
28
- "typedoc": "^0.23.24",
29
- "typescript": "^4.9.4"
30
- }
25
+ "type": "module",
26
+ "exports": "./lib/index.js",
27
+ "types": "./lib/index.d.ts"
31
28
  }