@cubicweb/client 3.0.0-alpha.8 → 3.0.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 +58 -34
- package/lib/Authenticator.d.ts +8 -0
- package/lib/Authenticator.d.ts.map +1 -0
- package/lib/Authenticator.js +2 -0
- package/lib/Authenticator.js.map +1 -0
- package/lib/api/Api.d.ts +56 -23
- package/lib/api/Api.d.ts.map +1 -1
- package/lib/api/Api.js +141 -140
- package/lib/api/Api.js.map +1 -1
- package/lib/api/Client.d.ts +26 -10
- package/lib/api/Client.d.ts.map +1 -1
- package/lib/api/Client.js +41 -58
- package/lib/api/Client.js.map +1 -1
- package/lib/api/ResultSet.d.ts +52 -0
- package/lib/api/ResultSet.d.ts.map +1 -0
- package/lib/api/ResultSet.js +64 -0
- package/lib/api/ResultSet.js.map +1 -0
- package/lib/api/authenticators/CookieAuthenticator.d.ts +10 -0
- package/lib/api/authenticators/CookieAuthenticator.d.ts.map +1 -0
- package/lib/api/authenticators/CookieAuthenticator.js +11 -0
- package/lib/api/authenticators/CookieAuthenticator.js.map +1 -0
- package/lib/api/authenticators/SignedRequestAuthenticator.d.ts +32 -0
- package/lib/api/authenticators/SignedRequestAuthenticator.d.ts.map +1 -0
- package/lib/api/authenticators/SignedRequestAuthenticator.js +89 -0
- package/lib/api/authenticators/SignedRequestAuthenticator.js.map +1 -0
- package/lib/api/binary/RQLBinary.d.ts +6 -0
- package/lib/api/binary/RQLBinary.d.ts.map +1 -0
- package/lib/api/binary/RQLBinary.js +10 -0
- package/lib/api/binary/RQLBinary.js.map +1 -0
- package/lib/api/query/RQLQuery.d.ts +40 -0
- package/lib/api/query/RQLQuery.d.ts.map +1 -0
- package/lib/api/query/RQLQuery.js +48 -0
- package/lib/api/query/RQLQuery.js.map +1 -0
- package/lib/api/query/references.d.ts +41 -0
- package/lib/api/query/references.d.ts.map +1 -0
- package/lib/api/query/references.js +50 -0
- package/lib/api/query/references.js.map +1 -0
- package/lib/api/transaction/Transaction.d.ts +25 -0
- package/lib/api/transaction/Transaction.d.ts.map +1 -0
- package/lib/api/transaction/Transaction.js +28 -0
- package/lib/api/transaction/Transaction.js.map +1 -0
- package/lib/api/transaction/TransactionResult.d.ts +41 -0
- package/lib/api/transaction/TransactionResult.d.ts.map +1 -0
- package/lib/api/transaction/TransactionResult.js +45 -0
- package/lib/api/transaction/TransactionResult.js.map +1 -0
- package/lib/encodeFormData.d.ts +5 -0
- package/lib/encodeFormData.d.ts.map +1 -0
- package/lib/encodeFormData.js +94 -0
- package/lib/encodeFormData.js.map +1 -0
- package/lib/{Errors.d.ts → errors.d.ts} +7 -4
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +19 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +19 -13
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +17 -34
- package/lib/index.js.map +1 -1
- package/lib/schema/classes/EntitySchema.d.ts +5 -5
- package/lib/schema/classes/EntitySchema.d.ts.map +1 -1
- package/lib/schema/classes/EntitySchema.js +3 -5
- package/lib/schema/classes/EntitySchema.js.map +1 -1
- package/lib/schema/classes/RelationDefinitionSchema.d.ts +6 -6
- package/lib/schema/classes/RelationDefinitionSchema.d.ts.map +1 -1
- package/lib/schema/classes/RelationDefinitionSchema.js +8 -10
- package/lib/schema/classes/RelationDefinitionSchema.js.map +1 -1
- package/lib/schema/classes/Schema.d.ts +7 -7
- package/lib/schema/classes/Schema.d.ts.map +1 -1
- package/lib/schema/classes/Schema.js +8 -11
- package/lib/schema/classes/Schema.js.map +1 -1
- package/lib/schema/classes/Utils.d.ts +10 -10
- package/lib/schema/classes/Utils.d.ts.map +1 -1
- package/lib/schema/classes/Utils.js +19 -35
- package/lib/schema/classes/Utils.js.map +1 -1
- package/lib/schema/raw/Constraints.d.ts +27 -0
- package/lib/schema/raw/Constraints.d.ts.map +1 -1
- package/lib/schema/raw/Constraints.js +1 -2
- package/lib/schema/raw/Entities.js +1 -2
- package/lib/schema/raw/RelationDefinitions.d.ts +3 -3
- package/lib/schema/raw/RelationDefinitions.d.ts.map +1 -1
- package/lib/schema/raw/RelationDefinitions.js +1 -2
- package/lib/schema/raw/Schema.d.ts +2 -2
- package/lib/schema/raw/Schema.d.ts.map +1 -1
- package/lib/schema/raw/Schema.js +1 -2
- package/lib/schema/raw/Utils.d.ts +1 -1
- package/lib/schema/raw/Utils.d.ts.map +1 -1
- package/lib/schema/raw/Utils.js +1 -2
- package/lib/utils.d.ts +39 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +58 -0
- package/lib/utils.js.map +1 -0
- package/package.json +15 -5
- package/src/Authenticator.ts +8 -0
- package/src/api/Api.ts +148 -122
- package/src/api/Client.ts +31 -18
- package/src/api/ResultSet.ts +95 -0
- package/src/api/authenticators/CookieAuthenticator.ts +17 -0
- package/src/api/authenticators/SignedRequestAuthenticator.ts +133 -0
- package/src/api/binary/RQLBinary.ts +9 -0
- package/src/api/query/RQLQuery.ts +51 -0
- package/src/api/query/references.ts +43 -0
- package/src/api/transaction/Transaction.ts +31 -0
- package/src/api/transaction/TransactionResult.ts +68 -0
- package/src/encodeFormData.ts +126 -0
- package/src/{Errors.ts → errors.ts} +6 -7
- package/src/index.ts +24 -17
- package/src/schema/classes/EntitySchema.ts +8 -5
- package/src/schema/classes/RelationDefinitionSchema.ts +7 -7
- package/src/schema/classes/Schema.ts +10 -7
- package/src/schema/classes/Utils.ts +4 -4
- package/src/schema/raw/Constraints.ts +28 -0
- package/src/schema/raw/RelationDefinitions.ts +3 -3
- package/src/schema/raw/Schema.ts +2 -2
- package/src/schema/raw/Utils.ts +1 -1
- package/src/utils.ts +91 -0
- package/lib/Errors.d.ts.map +0 -1
- package/lib/Errors.js +0 -25
- package/lib/Errors.js.map +0 -1
- package/lib/api/Transaction.d.ts +0 -46
- package/lib/api/Transaction.d.ts.map +0 -1
- package/lib/api/Transaction.js +0 -75
- package/lib/api/Transaction.js.map +0 -1
- package/src/api/Transaction.ts +0 -94
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class representing a reference to a {@link ResultSetRow} in the result of a {@link RQLQuery}.
|
|
3
|
+
*
|
|
4
|
+
* Use this to resolve a {@link ResultSetRow} of the referenced {@link RQLQuery}
|
|
5
|
+
* from a {@link TransactionResult}.
|
|
6
|
+
*
|
|
7
|
+
* @category Api
|
|
8
|
+
*/
|
|
9
|
+
export class RQLQueryRowRef {
|
|
10
|
+
queryUUID;
|
|
11
|
+
row;
|
|
12
|
+
constructor(queryUUID, row) {
|
|
13
|
+
this.queryUUID = queryUUID;
|
|
14
|
+
this.row = row;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Retrieve a reference to the given column in this row.
|
|
18
|
+
*
|
|
19
|
+
* @param c The column to get a reference for
|
|
20
|
+
* @returns A reference to the given column in the current row
|
|
21
|
+
*
|
|
22
|
+
* @category Api
|
|
23
|
+
*/
|
|
24
|
+
column(c) {
|
|
25
|
+
return new RQLQueryCellRef(this.queryUUID, this.row, c);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Class representing a reference to a {@link ResultSetCell} in the result of a {@link RQLQuery}.
|
|
30
|
+
*
|
|
31
|
+
* Use this to resolve a {@link ResultSetCell} of the referenced {@link RQLQuery}
|
|
32
|
+
* from a {@link TransactionResult}.
|
|
33
|
+
*
|
|
34
|
+
* This reference can also be used in parameters of other {@link RQLQuery}.
|
|
35
|
+
* If both {@link RQLQuery} are used in the same {@link RQLQuery},
|
|
36
|
+
* then the resolved value from the first query will be used in the second.
|
|
37
|
+
*
|
|
38
|
+
* @category Api
|
|
39
|
+
*/
|
|
40
|
+
export class RQLQueryCellRef {
|
|
41
|
+
queryUUID;
|
|
42
|
+
row;
|
|
43
|
+
column;
|
|
44
|
+
constructor(queryUUID, row, column) {
|
|
45
|
+
this.queryUUID = queryUUID;
|
|
46
|
+
this.row = row;
|
|
47
|
+
this.column = column;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/api/query/references.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACG;IAAmC;IAA/D,YAA4B,SAAiB,EAAkB,GAAW;QAA9C,cAAS,GAAT,SAAS,CAAQ;QAAkB,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE9E;;;;;;;OAOG;IACH,MAAM,CAAC,CAAkB;QACvB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,eAAe;IAER;IACA;IACA;IAHlB,YACkB,SAAiB,EACjB,GAAW,EACX,MAAuB;QAFvB,cAAS,GAAT,SAAS,CAAQ;QACjB,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAiB;IACtC,CAAC;CACL"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RQLQuery } from "../query/RQLQuery.js";
|
|
2
|
+
/**
|
|
3
|
+
* Class representing a set of {@link RQLQuery} executed one after the other in a single HTTP request.
|
|
4
|
+
*
|
|
5
|
+
* These {@link RQLQuery} can be linked together by using a {@link RQLQueryCellRef}
|
|
6
|
+
* of one {@link RQLQuery} in the parameters of a subsequent {@link RQLQuery}.
|
|
7
|
+
*
|
|
8
|
+
* Binary files are global to the transaction and can be referenced using a {@link RQLQueryBinaryRef}
|
|
9
|
+
* in the parameters of a {@link RQLQuery}.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Transaction {
|
|
12
|
+
private _queries;
|
|
13
|
+
/**
|
|
14
|
+
* Adds the given queries to the transaction.
|
|
15
|
+
*
|
|
16
|
+
* Each {@link RQLQuery} will be executed one after the other.
|
|
17
|
+
* These {@link RQLQuery} can be linked together by using a {@link RQLQueryCellRef}
|
|
18
|
+
* of one {@link RQLQuery} in the parameters of a subsequent {@link RQLQuery}.
|
|
19
|
+
*
|
|
20
|
+
* @param queries New queries to add to the transaction
|
|
21
|
+
*/
|
|
22
|
+
push(...queries: RQLQuery[]): void;
|
|
23
|
+
get queries(): ReadonlyArray<RQLQuery>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=Transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/api/transaction/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAuB;IAEvC;;;;;;;;OAQG;IACH,IAAI,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIlC,IAAI,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,CAErC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class representing a set of {@link RQLQuery} executed one after the other in a single HTTP request.
|
|
3
|
+
*
|
|
4
|
+
* These {@link RQLQuery} can be linked together by using a {@link RQLQueryCellRef}
|
|
5
|
+
* of one {@link RQLQuery} in the parameters of a subsequent {@link RQLQuery}.
|
|
6
|
+
*
|
|
7
|
+
* Binary files are global to the transaction and can be referenced using a {@link RQLQueryBinaryRef}
|
|
8
|
+
* in the parameters of a {@link RQLQuery}.
|
|
9
|
+
*/
|
|
10
|
+
export class Transaction {
|
|
11
|
+
_queries = [];
|
|
12
|
+
/**
|
|
13
|
+
* Adds the given queries to the transaction.
|
|
14
|
+
*
|
|
15
|
+
* Each {@link RQLQuery} will be executed one after the other.
|
|
16
|
+
* These {@link RQLQuery} can be linked together by using a {@link RQLQueryCellRef}
|
|
17
|
+
* of one {@link RQLQuery} in the parameters of a subsequent {@link RQLQuery}.
|
|
18
|
+
*
|
|
19
|
+
* @param queries New queries to add to the transaction
|
|
20
|
+
*/
|
|
21
|
+
push(...queries) {
|
|
22
|
+
this._queries.push(...queries);
|
|
23
|
+
}
|
|
24
|
+
get queries() {
|
|
25
|
+
return this._queries;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/api/transaction/Transaction.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAW;IACd,QAAQ,GAAoB,EAAE,CAAC;IAEvC;;;;;;;;OAQG;IACH,IAAI,CAAC,GAAG,OAAmB;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { RawResultSet, ResultSet, ResultSetCell, ResultSetRow } from "../ResultSet.js";
|
|
2
|
+
import { RQLQuery } from "../query/RQLQuery.js";
|
|
3
|
+
import { RQLQueryCellRef, RQLQueryRowRef } from "../query/references.js";
|
|
4
|
+
import { Transaction } from "./Transaction.js";
|
|
5
|
+
/**
|
|
6
|
+
* Interface representing the json returned by the API when executing
|
|
7
|
+
* a Transaction
|
|
8
|
+
*
|
|
9
|
+
* @category Api
|
|
10
|
+
*/
|
|
11
|
+
export interface RawTransactionResult {
|
|
12
|
+
readonly result_sets: RawResultSet[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Class representing the result of a transaction.
|
|
16
|
+
*
|
|
17
|
+
* Retrieving the values is done using query references.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* Retrieving the first value in a result set
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* const transaction = new Transaction()
|
|
25
|
+
* const query = new RQLQuery("Any X WHERE X name 'test'", {})
|
|
26
|
+
* transaction.push(query)
|
|
27
|
+
* const result = client.executeTransaction(transaction)
|
|
28
|
+
* const eid = result.resolve(query.cellRef(0, 0))
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @category Api
|
|
32
|
+
*/
|
|
33
|
+
export declare class TransactionResult {
|
|
34
|
+
private transaction;
|
|
35
|
+
private rawResultSets;
|
|
36
|
+
constructor(transaction: Transaction, rawTransactionResult: RawTransactionResult);
|
|
37
|
+
getResultSet(query: RQLQuery): ResultSet;
|
|
38
|
+
getRow(ref: RQLQueryRowRef): ResultSetRow;
|
|
39
|
+
getCell(ref: RQLQueryCellRef): ResultSetCell;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=TransactionResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionResult.d.ts","sourceRoot":"","sources":["../../../src/api/transaction/TransactionResult.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,WAAW;IAHrB,OAAO,CAAC,aAAa,CAAiB;gBAG5B,WAAW,EAAE,WAAW,EAChC,oBAAoB,EAAE,oBAAoB;IAK5C,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS;IAMxC,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,YAAY;IAMzC,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa;CAK7C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getQueryIndexInTransaction } from "../../utils.js";
|
|
2
|
+
import { ResultSet, } from "../ResultSet.js";
|
|
3
|
+
/**
|
|
4
|
+
* Class representing the result of a transaction.
|
|
5
|
+
*
|
|
6
|
+
* Retrieving the values is done using query references.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
*
|
|
10
|
+
* Retrieving the first value in a result set
|
|
11
|
+
*
|
|
12
|
+
* ```tsx
|
|
13
|
+
* const transaction = new Transaction()
|
|
14
|
+
* const query = new RQLQuery("Any X WHERE X name 'test'", {})
|
|
15
|
+
* transaction.push(query)
|
|
16
|
+
* const result = client.executeTransaction(transaction)
|
|
17
|
+
* const eid = result.resolve(query.cellRef(0, 0))
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Api
|
|
21
|
+
*/
|
|
22
|
+
export class TransactionResult {
|
|
23
|
+
transaction;
|
|
24
|
+
rawResultSets;
|
|
25
|
+
constructor(transaction, rawTransactionResult) {
|
|
26
|
+
this.transaction = transaction;
|
|
27
|
+
this.rawResultSets = rawTransactionResult.result_sets;
|
|
28
|
+
}
|
|
29
|
+
getResultSet(query) {
|
|
30
|
+
const index = getQueryIndexInTransaction(this.transaction, query.queryUUID);
|
|
31
|
+
const resultSet = new ResultSet(this.rawResultSets[index]);
|
|
32
|
+
return resultSet;
|
|
33
|
+
}
|
|
34
|
+
getRow(ref) {
|
|
35
|
+
const index = getQueryIndexInTransaction(this.transaction, ref.queryUUID);
|
|
36
|
+
const resultSet = new ResultSet(this.rawResultSets[index]);
|
|
37
|
+
return resultSet.getRow(ref.row);
|
|
38
|
+
}
|
|
39
|
+
getCell(ref) {
|
|
40
|
+
const index = getQueryIndexInTransaction(this.transaction, ref.queryUUID);
|
|
41
|
+
const resultSet = new ResultSet(this.rawResultSets[index]);
|
|
42
|
+
return resultSet.getCell(ref.row, ref.column);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=TransactionResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionResult.js","sourceRoot":"","sources":["../../../src/api/transaction/TransactionResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAEL,SAAS,GAGV,MAAM,iBAAiB,CAAC;AAezB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,iBAAiB;IAIlB;IAHF,aAAa,CAAiB;IAEtC,YACU,WAAwB,EAChC,oBAA0C;QADlC,gBAAW,GAAX,WAAW,CAAa;QAGhC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC;IACxD,CAAC;IAED,YAAY,CAAC,KAAe;QAC1B,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAmB;QACxB,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,GAAoB;QAC1B,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encodeFormData.d.ts","sourceRoot":"","sources":["../src/encodeFormData.ts"],"names":[],"mappings":"AAsFA,wBAAsB,cAAc,CAAC,IAAI,EAAE,QAAQ;;;GAuClD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Adapted from https://github.com/axios/axios/blob/c6cce43cd94489f655f4488c5a50ecaf781c94f2/lib/helpers/formDataToStream.js#L92
|
|
2
|
+
// See https://andreubotella.github.io/multipart-form-data/ for spec and algorithm description
|
|
3
|
+
const ALPHA = "abcdefghijklmnopqrstuvwxyz";
|
|
4
|
+
const BOUNDARY_ALPHABET = ALPHA + ALPHA.toUpperCase() + "0123456789" + "-_";
|
|
5
|
+
const textEncoder = new TextEncoder();
|
|
6
|
+
const CRLF = "\r\n";
|
|
7
|
+
const CRLF_BYTES = textEncoder.encode(CRLF);
|
|
8
|
+
const CRLF_BYTES_COUNT = 2;
|
|
9
|
+
class FormDataPart {
|
|
10
|
+
headers;
|
|
11
|
+
contentLength;
|
|
12
|
+
size;
|
|
13
|
+
name;
|
|
14
|
+
value;
|
|
15
|
+
constructor(name, value) {
|
|
16
|
+
const { escapeName } = FormDataPart;
|
|
17
|
+
let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!(typeof value === "string") && value.name
|
|
18
|
+
? `; filename="${escapeName(value.name)}"`
|
|
19
|
+
: ""}${CRLF}`;
|
|
20
|
+
let bytesOrFile;
|
|
21
|
+
if (typeof value === "string") {
|
|
22
|
+
bytesOrFile = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
|
|
23
|
+
this.contentLength = bytesOrFile.byteLength;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
bytesOrFile = value;
|
|
27
|
+
headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`;
|
|
28
|
+
this.contentLength = bytesOrFile.size;
|
|
29
|
+
}
|
|
30
|
+
this.headers = textEncoder.encode(headers + CRLF);
|
|
31
|
+
this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
|
|
32
|
+
this.name = name;
|
|
33
|
+
this.value = bytesOrFile;
|
|
34
|
+
}
|
|
35
|
+
async *encode() {
|
|
36
|
+
yield this.headers;
|
|
37
|
+
const { value } = this;
|
|
38
|
+
if (value instanceof Uint8Array) {
|
|
39
|
+
yield value;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
yield new Uint8Array(await value.arrayBuffer());
|
|
43
|
+
}
|
|
44
|
+
yield CRLF_BYTES;
|
|
45
|
+
}
|
|
46
|
+
static escapeName(name) {
|
|
47
|
+
return String(name).replace(/[\r\n"]/g, (match) => ({
|
|
48
|
+
"\r": "%0D",
|
|
49
|
+
"\n": "%0A",
|
|
50
|
+
'"': "%22",
|
|
51
|
+
}[match]));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function generateBoundary() {
|
|
55
|
+
let str = "";
|
|
56
|
+
const { length } = BOUNDARY_ALPHABET;
|
|
57
|
+
let size = 25;
|
|
58
|
+
while (size--) {
|
|
59
|
+
str += BOUNDARY_ALPHABET[(Math.random() * length) | 0];
|
|
60
|
+
}
|
|
61
|
+
return str;
|
|
62
|
+
}
|
|
63
|
+
export async function encodeFormData(body) {
|
|
64
|
+
const tag = "form-data-boundary";
|
|
65
|
+
const boundary = tag + "-" + generateBoundary();
|
|
66
|
+
const boundaryBytes = textEncoder.encode("--" + boundary + CRLF);
|
|
67
|
+
const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF + CRLF);
|
|
68
|
+
let contentLength = footerBytes.byteLength;
|
|
69
|
+
const parts = Array.from(body.entries()).map(([name, value]) => {
|
|
70
|
+
const part = new FormDataPart(name, value);
|
|
71
|
+
contentLength += part.size;
|
|
72
|
+
return part;
|
|
73
|
+
});
|
|
74
|
+
contentLength += boundaryBytes.byteLength * parts.length;
|
|
75
|
+
const computedHeaders = new Headers({
|
|
76
|
+
"Content-Type": `multipart/form-data; boundary=${boundary}`,
|
|
77
|
+
});
|
|
78
|
+
if (Number.isFinite(contentLength)) {
|
|
79
|
+
computedHeaders.append("Content-Length", contentLength.toString());
|
|
80
|
+
}
|
|
81
|
+
const fullContent = new Uint8Array(contentLength);
|
|
82
|
+
let offset = 0;
|
|
83
|
+
for (const part of parts) {
|
|
84
|
+
fullContent.set(boundaryBytes, offset);
|
|
85
|
+
offset += boundaryBytes.length;
|
|
86
|
+
for await (const arr of part.encode()) {
|
|
87
|
+
fullContent.set(arr, offset);
|
|
88
|
+
offset += arr.length;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
fullContent.set(footerBytes, offset);
|
|
92
|
+
return { body: fullContent, headers: computedHeaders };
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=encodeFormData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encodeFormData.js","sourceRoot":"","sources":["../src/encodeFormData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* There was an error processing the CubicWeb schema.
|
|
3
|
+
*/
|
|
1
4
|
export declare class InconsistentSchemaError extends Error {
|
|
2
5
|
constructor(message: string);
|
|
3
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* There was an error while validating the data sent to the server.
|
|
9
|
+
*/
|
|
4
10
|
export declare class ValidationError extends Error {
|
|
5
11
|
constructor(message: string);
|
|
6
12
|
}
|
|
7
|
-
|
|
8
|
-
constructor();
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=Errors.d.ts.map
|
|
13
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B"}
|
package/lib/errors.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* There was an error processing the CubicWeb schema.
|
|
3
|
+
*/
|
|
4
|
+
export class InconsistentSchemaError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(`Inconsistent schema: ${message}`);
|
|
7
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* There was an error while validating the data sent to the server.
|
|
12
|
+
*/
|
|
13
|
+
export class ValidationError extends Error {
|
|
14
|
+
constructor(message) {
|
|
15
|
+
super(message);
|
|
16
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
export * from "./schema/raw/Constraints";
|
|
2
|
-
export * from "./schema/raw/Entities";
|
|
3
|
-
export * from "./schema/raw/RelationDefinitions";
|
|
4
|
-
export * from "./schema/raw/Schema";
|
|
5
|
-
export * from "./schema/raw/Utils";
|
|
6
|
-
export * from "./schema/classes/EntitySchema";
|
|
7
|
-
export * from "./schema/classes/RelationDefinitionSchema";
|
|
8
|
-
export * from "./schema/classes/Schema";
|
|
9
|
-
export * from "./schema/classes/Utils";
|
|
10
|
-
export * from "./
|
|
11
|
-
export {
|
|
12
|
-
export
|
|
13
|
-
export {
|
|
1
|
+
export * from "./schema/raw/Constraints.js";
|
|
2
|
+
export * from "./schema/raw/Entities.js";
|
|
3
|
+
export * from "./schema/raw/RelationDefinitions.js";
|
|
4
|
+
export * from "./schema/raw/Schema.js";
|
|
5
|
+
export * from "./schema/raw/Utils.js";
|
|
6
|
+
export * from "./schema/classes/EntitySchema.js";
|
|
7
|
+
export * from "./schema/classes/RelationDefinitionSchema.js";
|
|
8
|
+
export * from "./schema/classes/Schema.js";
|
|
9
|
+
export * from "./schema/classes/Utils.js";
|
|
10
|
+
export * from "./errors.js";
|
|
11
|
+
export { RQLQueryParamValue, RQLQueryParams, ApiErrorResponse, CurrentUser, } from "./api/Api.js";
|
|
12
|
+
export { ResultSet, ResultSetRow, ResultSetCell } from "./api/ResultSet.js";
|
|
13
|
+
export { default as Client, ClientOptions } from "./api/Client.js";
|
|
14
|
+
export { Transaction } from "./api/transaction/Transaction.js";
|
|
15
|
+
export { TransactionResult } from "./api/transaction/TransactionResult.js";
|
|
16
|
+
export { RQLQuery } from "./api/query/RQLQuery.js";
|
|
17
|
+
export { RQLBinary } from "./api/binary/RQLBinary.js";
|
|
18
|
+
export { RQLQueryRowRef, RQLQueryCellRef } from "./api/query/references.js";
|
|
19
|
+
export { Authenticator } from "./Authenticator.js";
|
|
14
20
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AACzC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,37 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.Client = void 0;
|
|
21
1
|
// Raw Schema
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
2
|
+
export * from "./schema/raw/Constraints.js";
|
|
3
|
+
export * from "./schema/raw/Entities.js";
|
|
4
|
+
export * from "./schema/raw/RelationDefinitions.js";
|
|
5
|
+
export * from "./schema/raw/Schema.js";
|
|
6
|
+
export * from "./schema/raw/Utils.js";
|
|
27
7
|
// Schema Abstraction class
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
export * from "./schema/classes/EntitySchema.js";
|
|
9
|
+
export * from "./schema/classes/RelationDefinitionSchema.js";
|
|
10
|
+
export * from "./schema/classes/Schema.js";
|
|
11
|
+
export * from "./schema/classes/Utils.js";
|
|
12
|
+
export * from "./errors.js";
|
|
13
|
+
export { ResultSet, ResultSetRow } from "./api/ResultSet.js";
|
|
14
|
+
export { default as Client } from "./api/Client.js";
|
|
15
|
+
export { Transaction } from "./api/transaction/Transaction.js";
|
|
16
|
+
export { TransactionResult } from "./api/transaction/TransactionResult.js";
|
|
17
|
+
export { RQLQuery } from "./api/query/RQLQuery.js";
|
|
18
|
+
export { RQLBinary } from "./api/binary/RQLBinary.js";
|
|
19
|
+
export { RQLQueryRowRef, RQLQueryCellRef } from "./api/query/references.js";
|
|
37
20
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,aAAa,CAAC;AAS5B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EntityRawSchemaArray } from "../raw/Entities";
|
|
2
|
-
import { RelationDefinitionRawSchemaArray } from "../raw/RelationDefinitions";
|
|
3
|
-
import { RelationDefinitionSchema } from "./RelationDefinitionSchema";
|
|
4
|
-
import { Schema } from "./Schema";
|
|
5
|
-
import { MatchedRelationDefinition, RelationDefinitionMatcher } from "./Utils";
|
|
1
|
+
import { EntityRawSchemaArray } from "../raw/Entities.js";
|
|
2
|
+
import { RelationDefinitionRawSchemaArray } from "../raw/RelationDefinitions.js";
|
|
3
|
+
import { RelationDefinitionSchema } from "./RelationDefinitionSchema.js";
|
|
4
|
+
import { Schema } from "./Schema.js";
|
|
5
|
+
import { MatchedRelationDefinition, RelationDefinitionMatcher } from "./Utils.js";
|
|
6
6
|
/**
|
|
7
7
|
* Wrapper around raw entity schemas from the Schema.
|
|
8
8
|
* You should never have to create this object yourself.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EntitySchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB;;;;;;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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntitySchema = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Wrapper around raw entity schemas from the Schema.
|
|
6
3
|
* You should never have to create this object yourself.
|
|
@@ -8,7 +5,9 @@ exports.EntitySchema = void 0;
|
|
|
8
5
|
*
|
|
9
6
|
* @category Schema
|
|
10
7
|
*/
|
|
11
|
-
class EntitySchema {
|
|
8
|
+
export class EntitySchema {
|
|
9
|
+
schema;
|
|
10
|
+
entityRawSchema;
|
|
12
11
|
/**
|
|
13
12
|
* Wrapper around raw entity schemas from the Schema.
|
|
14
13
|
* You should never have to create this object yourself.
|
|
@@ -71,5 +70,4 @@ class EntitySchema {
|
|
|
71
70
|
return this.schema.matchRelationDefinitions(matcher);
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
|
-
exports.EntitySchema = EntitySchema;
|
|
75
73
|
//# sourceMappingURL=EntitySchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySchema.js","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntitySchema.js","sourceRoot":"","sources":["../../../src/schema/classes/EntitySchema.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAcb;IACA;IAVV;;;;;;;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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EntityRawSchemaArray } from "../raw/Entities";
|
|
2
|
-
import { RelationDefinitionRawSchemaArray, Cardinality } from "../raw/RelationDefinitions";
|
|
3
|
-
import { IsLooseSchema, EntityRawSchemaByType } from "../raw/Utils";
|
|
4
|
-
import { EntitySchema } from "./EntitySchema";
|
|
5
|
-
import { Schema } from "./Schema";
|
|
6
|
-
import { EntityRole } from "./Utils";
|
|
1
|
+
import { EntityRawSchemaArray } from "../raw/Entities.js";
|
|
2
|
+
import { RelationDefinitionRawSchemaArray, Cardinality } from "../raw/RelationDefinitions.js";
|
|
3
|
+
import { IsLooseSchema, EntityRawSchemaByType } from "../raw/Utils.js";
|
|
4
|
+
import { EntitySchema } from "./EntitySchema.js";
|
|
5
|
+
import { Schema } from "./Schema.js";
|
|
6
|
+
import { EntityRole } from "./Utils.js";
|
|
7
7
|
/**
|
|
8
8
|
* Wrapper around raw relation definition schemas from the Schema.
|
|
9
9
|
* You should never have to create this object yourself.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationDefinitionSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RelationDefinitionSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,gCAAgC,EAChC,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AAE/D;;;;;;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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.RelationDefinitionSchema = void 0;
|
|
4
|
-
const Errors_1 = require("../../Errors");
|
|
5
|
-
const Utils_1 = require("./Utils");
|
|
1
|
+
import { InconsistentSchemaError } from "../../errors.js";
|
|
2
|
+
import { isCardinalityRequired } from "./Utils.js";
|
|
6
3
|
/**
|
|
7
4
|
* Wrapper around raw relation definition schemas from the Schema.
|
|
8
5
|
* You should never have to create this object yourself.
|
|
@@ -10,7 +7,9 @@ const Utils_1 = require("./Utils");
|
|
|
10
7
|
*
|
|
11
8
|
* @category Schema
|
|
12
9
|
*/
|
|
13
|
-
class RelationDefinitionSchema {
|
|
10
|
+
export class RelationDefinitionSchema {
|
|
11
|
+
schema;
|
|
12
|
+
relDef;
|
|
14
13
|
/**
|
|
15
14
|
* Wrapper around raw relation definition schemas from the Schema.
|
|
16
15
|
* You should never have to create this object yourself.
|
|
@@ -82,7 +81,7 @@ class RelationDefinitionSchema {
|
|
|
82
81
|
get subject() {
|
|
83
82
|
const subjectSchema = this.schema.getEntity(this.relDef.subject);
|
|
84
83
|
if (subjectSchema === null) {
|
|
85
|
-
throw new
|
|
84
|
+
throw new InconsistentSchemaError(`entity type ${this.relDef.subject} used as subject of relation ${this.type} is not declared`);
|
|
86
85
|
}
|
|
87
86
|
// @ts-ignore: Cannot be null as we checked for this above
|
|
88
87
|
return subjectSchema;
|
|
@@ -95,7 +94,7 @@ class RelationDefinitionSchema {
|
|
|
95
94
|
get object() {
|
|
96
95
|
const objectSchema = this.schema.getEntity(this.relDef.object);
|
|
97
96
|
if (objectSchema === null) {
|
|
98
|
-
throw new
|
|
97
|
+
throw new InconsistentSchemaError(`entity type ${this.relDef.object} used as object of relation ${this.type} is not declared`);
|
|
99
98
|
}
|
|
100
99
|
// @ts-ignore: Cannot be null as we checked for this above
|
|
101
100
|
return objectSchema;
|
|
@@ -107,8 +106,7 @@ class RelationDefinitionSchema {
|
|
|
107
106
|
* @returns
|
|
108
107
|
*/
|
|
109
108
|
isRequired(role) {
|
|
110
|
-
return
|
|
109
|
+
return isCardinalityRequired(this.cardinality[role]);
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
|
-
exports.RelationDefinitionSchema = RelationDefinitionSchema;
|
|
114
112
|
//# sourceMappingURL=RelationDefinitionSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationDefinitionSchema.js","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RelationDefinitionSchema.js","sourceRoot":"","sources":["../../../src/schema/classes/RelationDefinitionSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAS1D,OAAO,EAAc,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IAaf;IAA8B;IARlD;;;;;;;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,CAAC;YAC3B,MAAM,IAAI,uBAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,gCAAgC,IAAI,CAAC,IAAI,kBAAkB,CAC9F,CAAC;QACJ,CAAC;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,CAAC;YAC1B,MAAM,IAAI,uBAAuB,CAC/B,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,+BAA+B,IAAI,CAAC,IAAI,kBAAkB,CAC5F,CAAC;QACJ,CAAC;QACD,0DAA0D;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAgB;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF"}
|