@cubicweb/client 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -203,5 +203,3 @@ const entity = schema.getEntity("InvalidEntityType");
203
203
  // TS will be happy and your entity will have the type 'ValidEntityType'.
204
204
  const entity = schema.getEntity("ValidEntityType");
205
205
  ```
206
-
207
-
@@ -1,6 +1,7 @@
1
1
  import { EntityRawSchemaArray } from "../raw/Entities";
2
2
  import { Cardinality, RelationDefinitionRawSchema, RelationDefinitionRawSchemaArray } from "../raw/RelationDefinitions";
3
3
  import { Schema } from "./Schema";
4
+ import { EntitySchema } from "./EntitySchema";
4
5
  /**
5
6
  * Returns the given schema using loose typing.
6
7
  * Can be useful when working with generic schemas
@@ -27,4 +28,6 @@ export type RelationDefinitionMatcher<E extends EntityRawSchemaArray> = Partial<
27
28
  * and TypeScript will give compile errors.
28
29
  */
29
30
  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
+ export declare function hasAttributeWithName(entitySchema: EntitySchema, attributeNameSearched: string): boolean;
32
+ export declare function isAttributeRichString(entitySchema: EntitySchema, attributeNameSearched: string): boolean;
30
33
  //# sourceMappingURL=Utils.d.ts.map
@@ -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;AAElC;;;;;;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"}
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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cardinalityRequired = exports.getLooseSchema = void 0;
3
+ exports.isAttributeRichString = exports.hasAttributeWithName = exports.cardinalityRequired = exports.getLooseSchema = void 0;
4
4
  /**
5
5
  * Returns the given schema using loose typing.
6
6
  * Can be useful when working with generic schemas
@@ -22,4 +22,17 @@ function cardinalityRequired(cardinality) {
22
22
  return cardinality === "1" || cardinality === "+";
23
23
  }
24
24
  exports.cardinalityRequired = cardinalityRequired;
25
+ function hasAttributeWithName(entitySchema, attributeNameSearched) {
26
+ for (const entityAttribute of entitySchema.attributes) {
27
+ if (entityAttribute.type == attributeNameSearched) {
28
+ return true;
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ exports.hasAttributeWithName = hasAttributeWithName;
34
+ function isAttributeRichString(entitySchema, attributeNameSearched) {
35
+ return hasAttributeWithName(entitySchema, attributeNameSearched + "_format");
36
+ }
37
+ exports.isAttributeRichString = isAttributeRichString;
25
38
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/schema/classes/Utils.ts"],"names":[],"mappings":";;;AAQA;;;;;;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"}
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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubicweb/client",
3
3
  "description": "Official JS client for CubicWeb API",
4
4
  "author": "Logilab",
5
- "version": "1.8.0",
5
+ "version": "1.9.0",
6
6
  "license": "LGPL-3.0-or-later",
7
7
  "main": "lib/index.js",
8
8
  "types": "lib/index.d.ts",
@@ -5,6 +5,7 @@ import {
5
5
  RelationDefinitionRawSchemaArray,
6
6
  } from "../raw/RelationDefinitions";
7
7
  import { Schema } from "./Schema";
8
+ import { EntitySchema } from "./EntitySchema";
8
9
 
9
10
  /**
10
11
  * Returns the given schema using loose typing.
@@ -50,3 +51,22 @@ export type MatchedRelationDefinition<
50
51
  R extends RelationDefinitionRawSchemaArray<EntityRawSchemaArray>,
51
52
  M extends RelationDefinitionMatcher<E>
52
53
  > = R[number] extends infer RDef ? (RDef extends M ? RDef : never) : never;
54
+
55
+ export function hasAttributeWithName(
56
+ entitySchema: EntitySchema,
57
+ attributeNameSearched: string
58
+ ): boolean {
59
+ for (const entityAttribute of entitySchema.attributes) {
60
+ if (entityAttribute.type == attributeNameSearched) {
61
+ return true;
62
+ }
63
+ }
64
+ return false;
65
+ }
66
+
67
+ export function isAttributeRichString(
68
+ entitySchema: EntitySchema,
69
+ attributeNameSearched: string
70
+ ): boolean {
71
+ return hasAttributeWithName(entitySchema, attributeNameSearched + "_format");
72
+ }