@decaf-ts/for-couchdb 0.3.0 → 0.3.2
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/LICENSE.md +646 -144
- package/README.md +371 -1
- package/dist/for-couchdb.cjs +907 -326
- package/dist/for-couchdb.esm.cjs +910 -329
- package/lib/adapter.cjs +249 -41
- package/lib/adapter.d.ts +243 -17
- package/lib/constants.cjs +30 -2
- package/lib/constants.d.ts +28 -0
- package/lib/errors.cjs +19 -2
- package/lib/errors.d.ts +17 -0
- package/lib/esm/adapter.d.ts +243 -17
- package/lib/esm/adapter.js +249 -41
- package/lib/esm/constants.d.ts +28 -0
- package/lib/esm/constants.js +30 -2
- package/lib/esm/errors.d.ts +17 -0
- package/lib/esm/errors.js +19 -2
- package/lib/esm/index.d.ts +6 -13
- package/lib/esm/index.js +7 -14
- package/lib/esm/indexes/generator.d.ts +47 -0
- package/lib/esm/indexes/generator.js +58 -1
- package/lib/esm/interfaces/CouchDBRepository.d.ts +10 -0
- package/lib/esm/interfaces/CouchDBRepository.js +1 -1
- package/lib/esm/model/CouchDBSequence.d.ts +15 -9
- package/lib/esm/model/CouchDBSequence.js +12 -1
- package/lib/esm/query/Paginator.d.ts +117 -4
- package/lib/esm/query/Paginator.js +128 -23
- package/lib/esm/query/Statement.d.ts +141 -8
- package/lib/esm/query/Statement.js +256 -28
- package/lib/esm/query/constants.d.ts +43 -0
- package/lib/esm/query/constants.js +44 -1
- package/lib/esm/query/index.d.ts +4 -1
- package/lib/esm/query/index.js +5 -2
- package/lib/esm/query/translate.d.ts +31 -0
- package/lib/esm/query/translate.js +32 -1
- package/lib/esm/sequences/Sequence.d.ts +0 -2
- package/lib/esm/sequences/Sequence.js +5 -9
- package/lib/esm/types.d.ts +55 -12
- package/lib/esm/types.js +1 -1
- package/lib/esm/utils.d.ts +105 -0
- package/lib/esm/utils.js +106 -1
- package/lib/index.cjs +7 -14
- package/lib/index.d.ts +6 -13
- package/lib/indexes/generator.cjs +58 -1
- package/lib/indexes/generator.d.ts +47 -0
- package/lib/interfaces/CouchDBRepository.cjs +1 -1
- package/lib/interfaces/CouchDBRepository.d.ts +10 -0
- package/lib/model/CouchDBSequence.cjs +12 -1
- package/lib/model/CouchDBSequence.d.ts +15 -9
- package/lib/query/Paginator.cjs +126 -21
- package/lib/query/Paginator.d.ts +117 -4
- package/lib/query/Statement.cjs +255 -27
- package/lib/query/Statement.d.ts +141 -8
- package/lib/query/constants.cjs +45 -2
- package/lib/query/constants.d.ts +43 -0
- package/lib/query/index.cjs +5 -2
- package/lib/query/index.d.ts +4 -1
- package/lib/query/translate.cjs +32 -1
- package/lib/query/translate.d.ts +31 -0
- package/lib/sequences/Sequence.cjs +5 -9
- package/lib/sequences/Sequence.d.ts +0 -2
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +55 -12
- package/lib/utils.cjs +106 -1
- package/lib/utils.d.ts +105 -0
- package/package.json +2 -2
- package/lib/esm/query/FromClause.d.ts +0 -7
- package/lib/esm/query/FromClause.js +0 -20
- package/lib/esm/query/InsertClause.d.ts +0 -7
- package/lib/esm/query/InsertClause.js +0 -13
- package/lib/esm/query/SelectClause.d.ts +0 -7
- package/lib/esm/query/SelectClause.js +0 -16
- package/lib/esm/query/ValuesClause.d.ts +0 -7
- package/lib/esm/query/ValuesClause.js +0 -12
- package/lib/esm/query/WhereClause.d.ts +0 -7
- package/lib/esm/query/WhereClause.js +0 -57
- package/lib/esm/query/factory.d.ts +0 -25
- package/lib/esm/query/factory.js +0 -117
- package/lib/esm/sequences/utils.d.ts +0 -1
- package/lib/esm/sequences/utils.js +0 -16
- package/lib/query/FromClause.cjs +0 -24
- package/lib/query/FromClause.d.ts +0 -7
- package/lib/query/InsertClause.cjs +0 -17
- package/lib/query/InsertClause.d.ts +0 -7
- package/lib/query/SelectClause.cjs +0 -20
- package/lib/query/SelectClause.d.ts +0 -7
- package/lib/query/ValuesClause.cjs +0 -16
- package/lib/query/ValuesClause.d.ts +0 -7
- package/lib/query/WhereClause.cjs +0 -61
- package/lib/query/WhereClause.d.ts +0 -7
- package/lib/query/factory.cjs +0 -121
- package/lib/query/factory.d.ts +0 -25
- package/lib/sequences/utils.cjs +0 -19
- package/lib/sequences/utils.d.ts +0 -1
package/lib/utils.d.ts
CHANGED
|
@@ -1,7 +1,112 @@
|
|
|
1
1
|
import { OrderDirection } from "@decaf-ts/core";
|
|
2
2
|
import { CreateIndexRequest } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @description Re-authenticates a connection to CouchDB
|
|
5
|
+
* @summary Refreshes the authentication for a CouchDB connection using the provided credentials
|
|
6
|
+
* @param {any} con - The CouchDB connection object
|
|
7
|
+
* @param {string} user - The username for authentication
|
|
8
|
+
* @param {string} pass - The password for authentication
|
|
9
|
+
* @return {Promise<any>} A promise that resolves to the authentication result
|
|
10
|
+
* @function reAuth
|
|
11
|
+
* @memberOf module:for-couchdb
|
|
12
|
+
*/
|
|
3
13
|
export declare function reAuth(con: any, user: string, pass: string): Promise<any>;
|
|
14
|
+
/**
|
|
15
|
+
* @description Wraps a CouchDB database connection with automatic re-authentication
|
|
16
|
+
* @summary Creates a proxy around a CouchDB database connection that automatically re-authenticates before each operation
|
|
17
|
+
* @param {any} con - The CouchDB connection object
|
|
18
|
+
* @param {string} dbName - The name of the database to use
|
|
19
|
+
* @param {string} user - The username for authentication
|
|
20
|
+
* @param {string} pass - The password for authentication
|
|
21
|
+
* @return {any} The wrapped database connection object
|
|
22
|
+
* @function wrapDocumentScope
|
|
23
|
+
* @memberOf module:for-couchdb
|
|
24
|
+
* @mermaid
|
|
25
|
+
* sequenceDiagram
|
|
26
|
+
* participant Client
|
|
27
|
+
* participant wrapDocumentScope
|
|
28
|
+
* participant DB
|
|
29
|
+
* participant reAuth
|
|
30
|
+
*
|
|
31
|
+
* Client->>wrapDocumentScope: con, dbName, user, pass
|
|
32
|
+
* wrapDocumentScope->>DB: con.use(dbName)
|
|
33
|
+
* Note over wrapDocumentScope: Wrap DB methods with re-auth
|
|
34
|
+
*
|
|
35
|
+
* loop For each method (insert, get, put, destroy, find)
|
|
36
|
+
* wrapDocumentScope->>wrapDocumentScope: Store original method
|
|
37
|
+
* wrapDocumentScope->>wrapDocumentScope: Define new method with re-auth
|
|
38
|
+
* end
|
|
39
|
+
*
|
|
40
|
+
* wrapDocumentScope->>wrapDocumentScope: Add NATIVE property with con value
|
|
41
|
+
* wrapDocumentScope-->>Client: Return wrapped DB
|
|
42
|
+
*
|
|
43
|
+
* Note over Client: Later when client uses DB methods
|
|
44
|
+
* Client->>DB: Any wrapped method call
|
|
45
|
+
* DB->>reAuth: Authenticate before operation
|
|
46
|
+
* reAuth-->>DB: Authentication complete
|
|
47
|
+
* DB->>DB: Call original method
|
|
48
|
+
* DB-->>Client: Return result
|
|
49
|
+
*/
|
|
4
50
|
export declare function wrapDocumentScope(con: any, dbName: string, user: string, pass: string): any;
|
|
51
|
+
/**
|
|
52
|
+
* @description Tests if an attribute name is reserved in CouchDB
|
|
53
|
+
* @summary Checks if an attribute name starts with an underscore, which indicates it's a reserved attribute in CouchDB
|
|
54
|
+
* @param {string} attr - The attribute name to test
|
|
55
|
+
* @return {RegExpMatchArray|null} The match result or null if no match
|
|
56
|
+
* @function testReservedAttributes
|
|
57
|
+
* @memberOf module:for-couchdb
|
|
58
|
+
*/
|
|
5
59
|
export declare function testReservedAttributes(attr: string): RegExpMatchArray | null;
|
|
60
|
+
/**
|
|
61
|
+
* @description Generates a name for a CouchDB index
|
|
62
|
+
* @summary Creates a standardized name for a CouchDB index based on the table, attribute, compositions, and order
|
|
63
|
+
* @param {string} attribute - The primary attribute for the index
|
|
64
|
+
* @param {string} tableName - The name of the table
|
|
65
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
66
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
67
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
68
|
+
* @return {string} The generated index name
|
|
69
|
+
* @function generateIndexName
|
|
70
|
+
* @memberOf module:for-couchdb
|
|
71
|
+
*/
|
|
6
72
|
export declare function generateIndexName(attribute: string, tableName: string, compositions?: string[], order?: OrderDirection, separator?: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* @description Generates a CouchDB index configuration
|
|
75
|
+
* @summary Creates a complete CreateIndexRequest object for defining a CouchDB index based on specified parameters
|
|
76
|
+
* @param {string} attribute - The primary attribute for the index
|
|
77
|
+
* @param {string} tableName - The name of the table
|
|
78
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
79
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
80
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
81
|
+
* @return {CreateIndexRequest} The complete index configuration object
|
|
82
|
+
* @function generateIndexDoc
|
|
83
|
+
* @memberOf module:for-couchdb
|
|
84
|
+
* @mermaid
|
|
85
|
+
* sequenceDiagram
|
|
86
|
+
* participant Caller
|
|
87
|
+
* participant generateIndexDoc
|
|
88
|
+
* participant generateIndexName
|
|
89
|
+
*
|
|
90
|
+
* Caller->>generateIndexDoc: attribute, tableName, compositions, order, separator
|
|
91
|
+
*
|
|
92
|
+
* Note over generateIndexDoc: Create partial filter selector
|
|
93
|
+
* generateIndexDoc->>generateIndexDoc: Set up filter for tableName
|
|
94
|
+
*
|
|
95
|
+
* alt order is specified
|
|
96
|
+
* Note over generateIndexDoc: Create ordered fields array
|
|
97
|
+
* generateIndexDoc->>generateIndexDoc: Create orderProp for attribute
|
|
98
|
+
* generateIndexDoc->>generateIndexDoc: Map compositions to ordered props
|
|
99
|
+
* generateIndexDoc->>generateIndexDoc: Create sortedTable for table field
|
|
100
|
+
* generateIndexDoc->>generateIndexDoc: Combine all ordered fields
|
|
101
|
+
* else
|
|
102
|
+
* Note over generateIndexDoc: Create simple fields array
|
|
103
|
+
* generateIndexDoc->>generateIndexDoc: Use attribute, compositions, and table as strings
|
|
104
|
+
* end
|
|
105
|
+
*
|
|
106
|
+
* generateIndexDoc->>generateIndexName: Generate index name
|
|
107
|
+
* generateIndexName-->>generateIndexDoc: Return name
|
|
108
|
+
*
|
|
109
|
+
* Note over generateIndexDoc: Create final index request
|
|
110
|
+
* generateIndexDoc-->>Caller: Return CreateIndexRequest
|
|
111
|
+
*/
|
|
7
112
|
export declare function generateIndexDoc(attribute: string, tableName: string, compositions?: string[], order?: OrderDirection, separator?: string): CreateIndexRequest;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/for-couchdb",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "template for ts projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"ts"
|
|
74
74
|
],
|
|
75
75
|
"author": "Tiago Venceslau",
|
|
76
|
-
"license": "
|
|
76
|
+
"license": "AGPL-3.0-or-later",
|
|
77
77
|
"bugs": {
|
|
78
78
|
"url": "https://github.com/decaf-ts/for-couchdb/issues"
|
|
79
79
|
},
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { FromClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBFromClause<M extends Model> extends FromClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<FromClause<MangoQuery, M>>);
|
|
6
|
-
build(previous: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { FromClause } from "@decaf-ts/core";
|
|
2
|
-
import { CouchDBKeys } from "../constants";
|
|
3
|
-
import { Repository } from "@decaf-ts/core";
|
|
4
|
-
// noinspection JSAnnotator
|
|
5
|
-
export class CouchDBFromClause extends FromClause {
|
|
6
|
-
constructor(clause) {
|
|
7
|
-
super(clause);
|
|
8
|
-
}
|
|
9
|
-
build(previous) {
|
|
10
|
-
const selectors = {};
|
|
11
|
-
selectors[CouchDBKeys.TABLE] = {};
|
|
12
|
-
selectors[CouchDBKeys.TABLE] =
|
|
13
|
-
typeof this.selector === "string"
|
|
14
|
-
? this.selector
|
|
15
|
-
: Repository.table(this.selector);
|
|
16
|
-
previous.selector = selectors;
|
|
17
|
-
return previous;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbUNsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyeS9Gcm9tQ2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QywyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLGlCQUFtQyxTQUFRLFVBR3ZEO0lBQ0MsWUFBWSxNQUEyQztRQUNyRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDZixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBMEIsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyb21DbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCwgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLy8gbm9pbnNwZWN0aW9uIEpTQW5ub3RhdG9yXG5leHBvcnQgY2xhc3MgQ291Y2hEQkZyb21DbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEZyb21DbGF1c2U8XG4gIE1hbmdvUXVlcnksXG4gIE1cbj4ge1xuICBjb25zdHJ1Y3RvcihjbGF1c2U6IE1vZGVsQXJnPEZyb21DbGF1c2U8TWFuZ29RdWVyeSwgTT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIGJ1aWxkKHByZXZpb3VzOiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgY29uc3Qgc2VsZWN0b3JzOiBhbnkgPSB7fTtcbiAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID0ge307XG4gICAgc2VsZWN0b3JzW0NvdWNoREJLZXlzLlRBQkxFXSA9XG4gICAgICB0eXBlb2YgdGhpcy5zZWxlY3RvciA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IHRoaXMuc2VsZWN0b3JcbiAgICAgICAgOiBSZXBvc2l0b3J5LnRhYmxlKHRoaXMuc2VsZWN0b3IgYXMgQ29uc3RydWN0b3I8TT4pO1xuICAgIHByZXZpb3VzLnNlbGVjdG9yID0gc2VsZWN0b3JzO1xuICAgIHJldHVybiBwcmV2aW91cztcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InsertClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBInsertClause<M extends Model> extends InsertClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<InsertClause<MangoQuery, M>>);
|
|
6
|
-
build(query: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { InsertClause } from "@decaf-ts/core";
|
|
2
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
3
|
-
// noinspection JSAnnotator
|
|
4
|
-
export class CouchDBInsertClause extends InsertClause {
|
|
5
|
-
constructor(clause) {
|
|
6
|
-
super(clause);
|
|
7
|
-
}
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
-
build(query) {
|
|
10
|
-
throw new InternalError("Not supported");
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zZXJ0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJ5L0luc2VydENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3hELDJCQUEyQjtBQUMzQixNQUFNLE9BQU8sbUJBQXFDLFNBQVEsWUFHekQ7SUFDQyxZQUFZLE1BQTZDO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELEtBQUssQ0FBQyxLQUFpQjtRQUNyQixNQUFNLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydENsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vLyBub2luc3BlY3Rpb24gSlNBbm5vdGF0b3JcbmV4cG9ydCBjbGFzcyBDb3VjaERCSW5zZXJ0Q2xhdXNlPE0gZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBJbnNlcnRDbGF1c2U8XG4gIE1hbmdvUXVlcnksXG4gIE1cbj4ge1xuICBjb25zdHJ1Y3RvcihjbGF1c2U6IE1vZGVsQXJnPEluc2VydENsYXVzZTxNYW5nb1F1ZXJ5LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBidWlsZChxdWVyeTogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm90IHN1cHBvcnRlZFwiKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SelectClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBSelectClause<M extends Model> extends SelectClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<SelectClause<MangoQuery, M>>);
|
|
6
|
-
build(query: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Const, SelectClause } from "@decaf-ts/core";
|
|
2
|
-
export class CouchDBSelectClause extends SelectClause {
|
|
3
|
-
constructor(clause) {
|
|
4
|
-
super(clause);
|
|
5
|
-
}
|
|
6
|
-
build(query) {
|
|
7
|
-
if (!this.selector || this.selector === Const.FULL_RECORD)
|
|
8
|
-
return query;
|
|
9
|
-
query.fields =
|
|
10
|
-
typeof this.selector === "string"
|
|
11
|
-
? [this.selector]
|
|
12
|
-
: this.selector;
|
|
13
|
-
return query;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJ5L1NlbGVjdENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJELE1BQU0sT0FBTyxtQkFBcUMsU0FBUSxZQUd6RDtJQUNDLFlBQVksTUFBNkM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hFLEtBQUssQ0FBQyxNQUFNO1lBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFrQixDQUFDO2dCQUMzQixDQUFDLENBQUUsSUFBSSxDQUFDLFFBQXFCLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdCwgU2VsZWN0Q2xhdXNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3VjaERCU2VsZWN0Q2xhdXNlPE0gZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBTZWxlY3RDbGF1c2U8XG4gIE1hbmdvUXVlcnksXG4gIE1cbj4ge1xuICBjb25zdHJ1Y3RvcihjbGF1c2U6IE1vZGVsQXJnPFNlbGVjdENsYXVzZTxNYW5nb1F1ZXJ5LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocXVlcnk6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0b3IgfHwgdGhpcy5zZWxlY3RvciA9PT0gQ29uc3QuRlVMTF9SRUNPUkQpIHJldHVybiBxdWVyeTtcbiAgICBxdWVyeS5maWVsZHMgPVxuICAgICAgdHlwZW9mIHRoaXMuc2VsZWN0b3IgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBbdGhpcy5zZWxlY3RvciBhcyBzdHJpbmddXG4gICAgICAgIDogKHRoaXMuc2VsZWN0b3IgYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBxdWVyeTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ValuesClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBValuesClause<M extends Model> extends ValuesClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<ValuesClause<MangoQuery, M>>);
|
|
6
|
-
build(previous: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ValuesClause } from "@decaf-ts/core";
|
|
2
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
3
|
-
export class CouchDBValuesClause extends ValuesClause {
|
|
4
|
-
constructor(clause) {
|
|
5
|
-
super(clause);
|
|
6
|
-
}
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
-
build(previous) {
|
|
9
|
-
throw new InternalError("Not implemented");
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVzQ2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJ5L1ZhbHVlc0NsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3hELE1BQU0sT0FBTyxtQkFBcUMsU0FBUSxZQUd6RDtJQUNDLFlBQVksTUFBNkM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsS0FBSyxDQUFDLFFBQW9CO1FBQ3hCLE1BQU0sSUFBSSxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWx1ZXNDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIENvdWNoREJWYWx1ZXNDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFZhbHVlc0NsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8VmFsdWVzQ2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGJ1aWxkKHByZXZpb3VzOiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { WhereClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBWhereClause extends WhereClause<MangoQuery> {
|
|
5
|
-
constructor(clause: ModelArg<WhereClause<MangoQuery>>);
|
|
6
|
-
build(query: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Condition, WhereClause } from "@decaf-ts/core";
|
|
2
|
-
import { CouchDBGroupOperator } from "./constants";
|
|
3
|
-
import { sf } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import { CouchDBKeys } from "../constants";
|
|
5
|
-
export class CouchDBWhereClause extends WhereClause {
|
|
6
|
-
constructor(clause) {
|
|
7
|
-
super(clause);
|
|
8
|
-
}
|
|
9
|
-
build(query) {
|
|
10
|
-
const condition = this.adapter.parseCondition(Condition.and(this.condition, Condition.attribute(CouchDBKeys.TABLE).eq(query.selector[CouchDBKeys.TABLE]))).selector;
|
|
11
|
-
const selectorKeys = Object.keys(condition);
|
|
12
|
-
if (selectorKeys.length === 1 &&
|
|
13
|
-
Object.values(CouchDBGroupOperator).indexOf(selectorKeys[0]) !== -1)
|
|
14
|
-
switch (selectorKeys[0]) {
|
|
15
|
-
case CouchDBGroupOperator.AND:
|
|
16
|
-
condition[CouchDBGroupOperator.AND] = [
|
|
17
|
-
...Object.values(condition[CouchDBGroupOperator.AND]).reduce((accum, val) => {
|
|
18
|
-
const keys = Object.keys(val);
|
|
19
|
-
if (keys.length !== 1)
|
|
20
|
-
throw new Error("Too many keys in query selector. should be one");
|
|
21
|
-
const k = keys[0];
|
|
22
|
-
if (k === CouchDBGroupOperator.AND)
|
|
23
|
-
accum.push(...val[k]);
|
|
24
|
-
else
|
|
25
|
-
accum.push(val);
|
|
26
|
-
return accum;
|
|
27
|
-
}, []),
|
|
28
|
-
];
|
|
29
|
-
query.selector = condition;
|
|
30
|
-
break;
|
|
31
|
-
case CouchDBGroupOperator.OR: {
|
|
32
|
-
const s = {};
|
|
33
|
-
s[CouchDBGroupOperator.AND] = [
|
|
34
|
-
condition,
|
|
35
|
-
...Object.entries(query.selector).map(([key, val]) => {
|
|
36
|
-
const result = {};
|
|
37
|
-
result[key] = val;
|
|
38
|
-
return result;
|
|
39
|
-
}),
|
|
40
|
-
];
|
|
41
|
-
query.selector = s;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
default:
|
|
45
|
-
throw new Error("This should be impossible");
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
Object.entries(condition).forEach(([key, val]) => {
|
|
49
|
-
if (query.selector[key])
|
|
50
|
-
console.warn(sf("A {0} query param is about to be overridden: {1} by {2}", key, query.selector[key], val));
|
|
51
|
-
query.selector[key] = val;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
return query;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hlcmVDbGF1c2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlcnkvV2hlcmVDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHM0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXVCO0lBQzdELFlBQVksTUFBeUM7UUFDbkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUI7UUFDckIsTUFBTSxTQUFTLEdBQWtCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUMxRCxTQUFTLENBQUMsR0FBRyxDQUNYLElBQUksQ0FBQyxTQUFzQixFQUMzQixTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQ3ZDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUNsQyxDQUNGLENBQ0YsQ0FBQyxRQUFRLENBQUM7UUFFWCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBb0IsQ0FBQztRQUMvRCxJQUNFLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuRSxRQUFRLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4QixLQUFLLG9CQUFvQixDQUFDLEdBQUc7b0JBQzNCLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRzt3QkFDcEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNkLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQWtCLENBQ3JELENBQUMsTUFBTSxDQUFDLENBQUMsS0FBc0IsRUFBRSxHQUFRLEVBQUUsRUFBRTs0QkFDNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7Z0NBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0RBQWdELENBQ2pELENBQUM7NEJBQ0osTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNsQixJQUFJLENBQUMsS0FBSyxvQkFBb0IsQ0FBQyxHQUFHO2dDQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUksR0FBRyxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUM7O2dDQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNyQixPQUFPLEtBQUssQ0FBQzt3QkFDZixDQUFDLEVBQUUsRUFBRSxDQUFDO3FCQUNQLENBQUM7b0JBQ0YsS0FBSyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7b0JBQzNCLE1BQU07Z0JBQ1IsS0FBSyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUM3QixNQUFNLENBQUMsR0FBcUIsRUFBRSxDQUFDO29CQUMvQixDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUc7d0JBQzVCLFNBQVM7d0JBQ1QsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFOzRCQUNuRCxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDOzRCQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDOzRCQUNsQixPQUFPLE1BQU0sQ0FBQzt3QkFDaEIsQ0FBQyxDQUFDO3FCQUNILENBQUM7b0JBQ0YsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRDtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDakQsQ0FBQzthQUNFLENBQUM7WUFDSixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9DLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7b0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsRUFBRSxDQUNBLHlEQUF5RCxFQUN6RCxHQUFHLEVBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQXNCLEVBQ3hDLEdBQXdCLENBQ3pCLENBQ0YsQ0FBQztnQkFDSixLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmRpdGlvbiwgV2hlcmVDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ291Y2hEQkdyb3VwT3BlcmF0b3IgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHNmIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBNYW5nb09wZXJhdG9yLCBNYW5nb1F1ZXJ5LCBNYW5nb1NlbGVjdG9yIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3VjaERCV2hlcmVDbGF1c2UgZXh0ZW5kcyBXaGVyZUNsYXVzZTxNYW5nb1F1ZXJ5PiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8V2hlcmVDbGF1c2U8TWFuZ29RdWVyeT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIGJ1aWxkKHF1ZXJ5OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgY29uc3QgY29uZGl0aW9uOiBNYW5nb1NlbGVjdG9yID0gdGhpcy5hZGFwdGVyLnBhcnNlQ29uZGl0aW9uKFxuICAgICAgQ29uZGl0aW9uLmFuZChcbiAgICAgICAgdGhpcy5jb25kaXRpb24gYXMgQ29uZGl0aW9uLFxuICAgICAgICBDb25kaXRpb24uYXR0cmlidXRlKENvdWNoREJLZXlzLlRBQkxFKS5lcShcbiAgICAgICAgICBxdWVyeS5zZWxlY3RvcltDb3VjaERCS2V5cy5UQUJMRV1cbiAgICAgICAgKVxuICAgICAgKVxuICAgICkuc2VsZWN0b3I7XG5cbiAgICBjb25zdCBzZWxlY3RvcktleXMgPSBPYmplY3Qua2V5cyhjb25kaXRpb24pIGFzIE1hbmdvT3BlcmF0b3JbXTtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RvcktleXMubGVuZ3RoID09PSAxICYmXG4gICAgICBPYmplY3QudmFsdWVzKENvdWNoREJHcm91cE9wZXJhdG9yKS5pbmRleE9mKHNlbGVjdG9yS2V5c1swXSkgIT09IC0xXG4gICAgKVxuICAgICAgc3dpdGNoIChzZWxlY3RvcktleXNbMF0pIHtcbiAgICAgICAgY2FzZSBDb3VjaERCR3JvdXBPcGVyYXRvci5BTkQ6XG4gICAgICAgICAgY29uZGl0aW9uW0NvdWNoREJHcm91cE9wZXJhdG9yLkFORF0gPSBbXG4gICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKFxuICAgICAgICAgICAgICBjb25kaXRpb25bQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EXSBhcyBNYW5nb1NlbGVjdG9yXG4gICAgICAgICAgICApLnJlZHVjZSgoYWNjdW06IE1hbmdvU2VsZWN0b3JbXSwgdmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICBcIlRvbyBtYW55IGtleXMgaW4gcXVlcnkgc2VsZWN0b3IuIHNob3VsZCBiZSBvbmVcIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXlzWzBdO1xuICAgICAgICAgICAgICBpZiAoayA9PT0gQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EKVxuICAgICAgICAgICAgICAgIGFjY3VtLnB1c2goLi4uKHZhbFtrXSBhcyBhbnlbXSkpO1xuICAgICAgICAgICAgICBlbHNlIGFjY3VtLnB1c2godmFsKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgfSwgW10pLFxuICAgICAgICAgIF07XG4gICAgICAgICAgcXVlcnkuc2VsZWN0b3IgPSBjb25kaXRpb247XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQ291Y2hEQkdyb3VwT3BlcmF0b3IuT1I6IHtcbiAgICAgICAgICBjb25zdCBzOiBSZWNvcmQ8YW55LCBhbnk+ID0ge307XG4gICAgICAgICAgc1tDb3VjaERCR3JvdXBPcGVyYXRvci5BTkRdID0gW1xuICAgICAgICAgICAgY29uZGl0aW9uLFxuICAgICAgICAgICAgLi4uT2JqZWN0LmVudHJpZXMocXVlcnkuc2VsZWN0b3IpLm1hcCgoW2tleSwgdmFsXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxhbnksIGFueT4gPSB7fTtcbiAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yID0gcztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgc2hvdWxkIGJlIGltcG9zc2libGVcIik7XG4gICAgICB9XG4gICAgZWxzZSB7XG4gICAgICBPYmplY3QuZW50cmllcyhjb25kaXRpb24pLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKHF1ZXJ5LnNlbGVjdG9yW2tleV0pXG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgc2YoXG4gICAgICAgICAgICAgIFwiQSB7MH0gcXVlcnkgcGFyYW0gaXMgYWJvdXQgdG8gYmUgb3ZlcnJpZGRlbjogezF9IGJ5IHsyfVwiLFxuICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yW2tleV0gYXMgdW5rbm93biBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgIHZhbCBhcyB1bmtub3duIGFzIHN0cmluZ1xuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIHF1ZXJ5LnNlbGVjdG9yW2tleV0gPSB2YWw7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ClauseFactory, Condition, FromClause, FromSelector, GroupBySelector, LimitSelector, OffsetSelector, OrderBySelector, SelectSelector, Statement } from "@decaf-ts/core";
|
|
2
|
-
import { LimitClause } from "@decaf-ts/core";
|
|
3
|
-
import { SelectClause } from "@decaf-ts/core";
|
|
4
|
-
import { WhereClause } from "@decaf-ts/core";
|
|
5
|
-
import { OffsetClause } from "@decaf-ts/core";
|
|
6
|
-
import { OrderByClause } from "@decaf-ts/core";
|
|
7
|
-
import { GroupByClause } from "@decaf-ts/core";
|
|
8
|
-
import { ValuesClause } from "@decaf-ts/core";
|
|
9
|
-
import { InsertClause } from "@decaf-ts/core";
|
|
10
|
-
import { Model } from "@decaf-ts/decorator-validation";
|
|
11
|
-
import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
12
|
-
import { CouchDBAdapter } from "../adapter";
|
|
13
|
-
import { MangoQuery } from "../types";
|
|
14
|
-
export declare class Factory<Y, F extends RepositoryFlags, C extends Context<F>> extends ClauseFactory<Y, MangoQuery, CouchDBAdapter<Y, F, C>> {
|
|
15
|
-
constructor(adapter: CouchDBAdapter<Y, F, C>);
|
|
16
|
-
from<M extends Model>(statement: Statement<MangoQuery>, selector: FromSelector<M>): FromClause<MangoQuery, M>;
|
|
17
|
-
groupBy(statement: Statement<MangoQuery>, selector: GroupBySelector): GroupByClause<MangoQuery>;
|
|
18
|
-
insert<M extends Model>(): InsertClause<MangoQuery, M>;
|
|
19
|
-
limit(statement: Statement<MangoQuery>, selector: LimitSelector): LimitClause<MangoQuery>;
|
|
20
|
-
offset(statement: Statement<MangoQuery>, selector: OffsetSelector): OffsetClause<MangoQuery>;
|
|
21
|
-
orderBy(statement: Statement<MangoQuery>, selector: OrderBySelector[]): OrderByClause<MangoQuery>;
|
|
22
|
-
select<M extends Model>(selector: SelectSelector | undefined): SelectClause<MangoQuery, M>;
|
|
23
|
-
values<M extends Model>(statement: Statement<MangoQuery>, values: M[]): ValuesClause<MangoQuery, M>;
|
|
24
|
-
where(statement: Statement<MangoQuery>, condition: Condition): WhereClause<MangoQuery>;
|
|
25
|
-
}
|
package/lib/esm/query/factory.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { ClauseFactory, QueryError, } from "@decaf-ts/core";
|
|
2
|
-
import { LimitClause } from "@decaf-ts/core";
|
|
3
|
-
import { OffsetClause } from "@decaf-ts/core";
|
|
4
|
-
import { OrderByClause } from "@decaf-ts/core";
|
|
5
|
-
import { GroupByClause } from "@decaf-ts/core";
|
|
6
|
-
import { CouchDBFromClause } from "./FromClause";
|
|
7
|
-
import { InternalError, } from "@decaf-ts/db-decorators";
|
|
8
|
-
import { CouchDBInsertClause } from "./InsertClause";
|
|
9
|
-
import { CouchDBStatement } from "./Statement";
|
|
10
|
-
import { CouchDBWhereClause } from "./WhereClause";
|
|
11
|
-
import { CouchDBSelectClause } from "./SelectClause";
|
|
12
|
-
import { CouchDBValuesClause } from "./ValuesClause";
|
|
13
|
-
import { CouchDBOperator } from "./constants";
|
|
14
|
-
export class Factory extends ClauseFactory {
|
|
15
|
-
constructor(adapter) {
|
|
16
|
-
super(adapter);
|
|
17
|
-
}
|
|
18
|
-
from(statement, selector) {
|
|
19
|
-
return new CouchDBFromClause({ statement: statement, selector: selector });
|
|
20
|
-
}
|
|
21
|
-
groupBy(statement, selector) {
|
|
22
|
-
return new (class extends GroupByClause {
|
|
23
|
-
constructor(clause) {
|
|
24
|
-
super(clause);
|
|
25
|
-
}
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
-
build(query) {
|
|
28
|
-
throw new InternalError("Not implemented");
|
|
29
|
-
}
|
|
30
|
-
})({
|
|
31
|
-
statement: statement,
|
|
32
|
-
selector: selector,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
insert() {
|
|
36
|
-
return new CouchDBInsertClause({
|
|
37
|
-
statement: new CouchDBStatement(this.adapter),
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
limit(statement, selector) {
|
|
41
|
-
return new (class extends LimitClause {
|
|
42
|
-
constructor(clause) {
|
|
43
|
-
super(clause);
|
|
44
|
-
}
|
|
45
|
-
build(query) {
|
|
46
|
-
query.limit = this.selector;
|
|
47
|
-
return query;
|
|
48
|
-
}
|
|
49
|
-
})({
|
|
50
|
-
statement: statement,
|
|
51
|
-
selector: selector,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
offset(statement, selector) {
|
|
55
|
-
return new (class extends OffsetClause {
|
|
56
|
-
constructor(clause) {
|
|
57
|
-
super(clause);
|
|
58
|
-
}
|
|
59
|
-
build(query) {
|
|
60
|
-
const skip = parseInt(this.selector);
|
|
61
|
-
if (isNaN(skip))
|
|
62
|
-
throw new QueryError("Failed to parse offset");
|
|
63
|
-
query.skip = skip;
|
|
64
|
-
return query;
|
|
65
|
-
}
|
|
66
|
-
})({
|
|
67
|
-
statement: statement,
|
|
68
|
-
selector: selector,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
orderBy(statement, selector) {
|
|
72
|
-
return new (class extends OrderByClause {
|
|
73
|
-
constructor(clause) {
|
|
74
|
-
super(clause);
|
|
75
|
-
}
|
|
76
|
-
build(query) {
|
|
77
|
-
query.sort = query.sort || [];
|
|
78
|
-
query.selector = query.selector || {};
|
|
79
|
-
this.selector.forEach((s) => {
|
|
80
|
-
const [selector, value] = s;
|
|
81
|
-
const rec = {};
|
|
82
|
-
rec[selector] = value;
|
|
83
|
-
query.sort.push(rec);
|
|
84
|
-
if (!query.selector[selector]) {
|
|
85
|
-
query.selector[selector] = {};
|
|
86
|
-
query.selector[selector][CouchDBOperator.BIGGER] = null;
|
|
87
|
-
}
|
|
88
|
-
// query.fields = query.fields || [];
|
|
89
|
-
// query.fields = [...new Set([...query.fields, selector]).keys()]
|
|
90
|
-
});
|
|
91
|
-
return query;
|
|
92
|
-
}
|
|
93
|
-
})({
|
|
94
|
-
statement: statement,
|
|
95
|
-
selector: selector,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
select(selector) {
|
|
99
|
-
return new CouchDBSelectClause({
|
|
100
|
-
statement: new CouchDBStatement(this.adapter),
|
|
101
|
-
selector: selector,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
values(statement, values) {
|
|
105
|
-
return new CouchDBValuesClause({
|
|
106
|
-
statement: statement,
|
|
107
|
-
values: values,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
where(statement, condition) {
|
|
111
|
-
return new CouchDBWhereClause({
|
|
112
|
-
statement: statement,
|
|
113
|
-
condition: condition,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyeS9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBUWIsVUFBVSxHQUdYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBRUwsYUFBYSxHQUVkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTlDLE1BQU0sT0FBTyxPQUlYLFNBQVEsYUFBcUQ7SUFDN0QsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksQ0FDRixTQUFnQyxFQUNoQyxRQUF5QjtRQUV6QixPQUFPLElBQUksaUJBQWlCLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxPQUFPLENBQ0wsU0FBZ0MsRUFDaEMsUUFBeUI7UUFFekIsT0FBTyxJQUFJLENBQUMsS0FBTSxTQUFRLGFBQXlCO1lBQ2pELFlBQVksTUFBMkM7Z0JBQ3JELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQixDQUFDO1lBRUQsNkRBQTZEO1lBQzdELEtBQUssQ0FBQyxLQUFpQjtnQkFDckIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdDLENBQUM7U0FDRixDQUFDLENBQUM7WUFDRCxTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQ0gsU0FBZ0MsRUFDaEMsUUFBdUI7UUFFdkIsT0FBTyxJQUFJLENBQUMsS0FBTSxTQUFRLFdBQXVCO1lBQy9DLFlBQVksTUFBeUM7Z0JBQ25ELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQixDQUFDO1lBRUQsS0FBSyxDQUFDLEtBQWlCO2dCQUNyQixLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFrQixDQUFDO2dCQUN0QyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDLENBQUM7WUFDRCxTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUNKLFNBQWdDLEVBQ2hDLFFBQXdCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLEtBQU0sU0FBUSxZQUF3QjtZQUNoRCxZQUFZLE1BQTBDO2dCQUNwRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUVELEtBQUssQ0FBQyxLQUFpQjtnQkFDckIsTUFBTSxJQUFJLEdBQVcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUE2QixDQUFDLENBQUM7Z0JBQ2xFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztvQkFBRSxNQUFNLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ2hFLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDLENBQUM7WUFDRCxTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUNMLFNBQWdDLEVBQ2hDLFFBQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLEtBQU0sU0FBUSxhQUF5QjtZQUNqRCxZQUFZLE1BQTJDO2dCQUNyRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUVELEtBQUssQ0FBQyxLQUFpQjtnQkFDckIsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFLLEVBQW9CLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxRQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzNCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7b0JBQ3BCLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3JCLEtBQUssQ0FBQyxJQUFjLENBQUMsSUFBSSxDQUFDLEdBQVUsQ0FBQyxDQUFDO29CQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUM5QixLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQW1CLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFtQixDQUN6QyxlQUFlLENBQUMsTUFBTSxDQUN2QixHQUFHLElBQUksQ0FBQztvQkFDWCxDQUFDO29CQUNELHFDQUFxQztvQkFDckMsa0VBQWtFO2dCQUNwRSxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDLENBQUM7WUFDRCxTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUNKLFFBQW9DO1FBRXBDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQ0osU0FBZ0MsRUFDaEMsTUFBVztRQUVYLE9BQU8sSUFBSSxtQkFBbUIsQ0FBSTtZQUNoQyxTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQ0gsU0FBZ0MsRUFDaEMsU0FBb0I7UUFFcEIsT0FBTyxJQUFJLGtCQUFrQixDQUFDO1lBQzVCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENsYXVzZUZhY3RvcnksXG4gIENvbmRpdGlvbixcbiAgRnJvbUNsYXVzZSxcbiAgRnJvbVNlbGVjdG9yLFxuICBHcm91cEJ5U2VsZWN0b3IsXG4gIExpbWl0U2VsZWN0b3IsXG4gIE9mZnNldFNlbGVjdG9yLFxuICBPcmRlckJ5U2VsZWN0b3IsXG4gIFF1ZXJ5RXJyb3IsXG4gIFNlbGVjdFNlbGVjdG9yLFxuICBTdGF0ZW1lbnQsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTGltaXRDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IFNlbGVjdENsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgV2hlcmVDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE9mZnNldENsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgT3JkZXJCeUNsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgR3JvdXBCeUNsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgVmFsdWVzQ2xhdXNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBJbnNlcnRDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJGcm9tQ2xhdXNlIH0gZnJvbSBcIi4vRnJvbUNsYXVzZVwiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ29udGV4dCxcbiAgSW50ZXJuYWxFcnJvcixcbiAgUmVwb3NpdG9yeUZsYWdzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvdWNoREJJbnNlcnRDbGF1c2UgfSBmcm9tIFwiLi9JbnNlcnRDbGF1c2VcIjtcbmltcG9ydCB7IENvdWNoREJTdGF0ZW1lbnQgfSBmcm9tIFwiLi9TdGF0ZW1lbnRcIjtcbmltcG9ydCB7IENvdWNoREJXaGVyZUNsYXVzZSB9IGZyb20gXCIuL1doZXJlQ2xhdXNlXCI7XG5pbXBvcnQgeyBDb3VjaERCU2VsZWN0Q2xhdXNlIH0gZnJvbSBcIi4vU2VsZWN0Q2xhdXNlXCI7XG5pbXBvcnQgeyBDb3VjaERCVmFsdWVzQ2xhdXNlIH0gZnJvbSBcIi4vVmFsdWVzQ2xhdXNlXCI7XG5pbXBvcnQgeyBDb3VjaERCT3BlcmF0b3IgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IENvdWNoREJBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnksIE1hbmdvU2VsZWN0b3IgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIEZhY3Rvcnk8XG4gIFksXG4gIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MsXG4gIEMgZXh0ZW5kcyBDb250ZXh0PEY+LFxuPiBleHRlbmRzIENsYXVzZUZhY3Rvcnk8WSwgTWFuZ29RdWVyeSwgQ291Y2hEQkFkYXB0ZXI8WSwgRiwgQz4+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQ291Y2hEQkFkYXB0ZXI8WSwgRiwgQz4pIHtcbiAgICBzdXBlcihhZGFwdGVyKTtcbiAgfVxuXG4gIGZyb208TSBleHRlbmRzIE1vZGVsPihcbiAgICBzdGF0ZW1lbnQ6IFN0YXRlbWVudDxNYW5nb1F1ZXJ5PixcbiAgICBzZWxlY3RvcjogRnJvbVNlbGVjdG9yPE0+XG4gICk6IEZyb21DbGF1c2U8TWFuZ29RdWVyeSwgTT4ge1xuICAgIHJldHVybiBuZXcgQ291Y2hEQkZyb21DbGF1c2UoeyBzdGF0ZW1lbnQ6IHN0YXRlbWVudCwgc2VsZWN0b3I6IHNlbGVjdG9yIH0pO1xuICB9XG5cbiAgZ3JvdXBCeShcbiAgICBzdGF0ZW1lbnQ6IFN0YXRlbWVudDxNYW5nb1F1ZXJ5PixcbiAgICBzZWxlY3RvcjogR3JvdXBCeVNlbGVjdG9yXG4gICk6IEdyb3VwQnlDbGF1c2U8TWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgR3JvdXBCeUNsYXVzZTxNYW5nb1F1ZXJ5PiB7XG4gICAgICBjb25zdHJ1Y3RvcihjbGF1c2U6IE1vZGVsQXJnPEdyb3VwQnlDbGF1c2U8TWFuZ29RdWVyeT4+KSB7XG4gICAgICAgIHN1cGVyKGNsYXVzZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIGJ1aWxkKHF1ZXJ5OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICAgICAgfVxuICAgIH0pKHtcbiAgICAgIHN0YXRlbWVudDogc3RhdGVtZW50LFxuICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yLFxuICAgIH0pO1xuICB9XG5cbiAgaW5zZXJ0PE0gZXh0ZW5kcyBNb2RlbD4oKTogSW5zZXJ0Q2xhdXNlPE1hbmdvUXVlcnksIE0+IHtcbiAgICByZXR1cm4gbmV3IENvdWNoREJJbnNlcnRDbGF1c2Uoe1xuICAgICAgc3RhdGVtZW50OiBuZXcgQ291Y2hEQlN0YXRlbWVudCh0aGlzLmFkYXB0ZXIpLFxuICAgIH0pO1xuICB9XG5cbiAgbGltaXQoXG4gICAgc3RhdGVtZW50OiBTdGF0ZW1lbnQ8TWFuZ29RdWVyeT4sXG4gICAgc2VsZWN0b3I6IExpbWl0U2VsZWN0b3JcbiAgKTogTGltaXRDbGF1c2U8TWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgTGltaXRDbGF1c2U8TWFuZ29RdWVyeT4ge1xuICAgICAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxMaW1pdENsYXVzZTxNYW5nb1F1ZXJ5Pj4pIHtcbiAgICAgICAgc3VwZXIoY2xhdXNlKTtcbiAgICAgIH1cblxuICAgICAgYnVpbGQocXVlcnk6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICAgICAgcXVlcnkubGltaXQgPSB0aGlzLnNlbGVjdG9yIGFzIG51bWJlcjtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgfVxuICAgIH0pKHtcbiAgICAgIHN0YXRlbWVudDogc3RhdGVtZW50LFxuICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yLFxuICAgIH0pO1xuICB9XG5cbiAgb2Zmc2V0KFxuICAgIHN0YXRlbWVudDogU3RhdGVtZW50PE1hbmdvUXVlcnk+LFxuICAgIHNlbGVjdG9yOiBPZmZzZXRTZWxlY3RvclxuICApOiBPZmZzZXRDbGF1c2U8TWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgT2Zmc2V0Q2xhdXNlPE1hbmdvUXVlcnk+IHtcbiAgICAgIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8T2Zmc2V0Q2xhdXNlPE1hbmdvUXVlcnk+Pikge1xuICAgICAgICBzdXBlcihjbGF1c2UpO1xuICAgICAgfVxuXG4gICAgICBidWlsZChxdWVyeTogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgICAgICBjb25zdCBza2lwOiBudW1iZXIgPSBwYXJzZUludCh0aGlzLnNlbGVjdG9yIGFzIHVua25vd24gYXMgc3RyaW5nKTtcbiAgICAgICAgaWYgKGlzTmFOKHNraXApKSB0aHJvdyBuZXcgUXVlcnlFcnJvcihcIkZhaWxlZCB0byBwYXJzZSBvZmZzZXRcIik7XG4gICAgICAgIHF1ZXJ5LnNraXAgPSBza2lwO1xuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgc3RhdGVtZW50OiBzdGF0ZW1lbnQsXG4gICAgICBzZWxlY3Rvcjogc2VsZWN0b3IsXG4gICAgfSk7XG4gIH1cblxuICBvcmRlckJ5KFxuICAgIHN0YXRlbWVudDogU3RhdGVtZW50PE1hbmdvUXVlcnk+LFxuICAgIHNlbGVjdG9yOiBPcmRlckJ5U2VsZWN0b3JbXVxuICApOiBPcmRlckJ5Q2xhdXNlPE1hbmdvUXVlcnk+IHtcbiAgICByZXR1cm4gbmV3IChjbGFzcyBleHRlbmRzIE9yZGVyQnlDbGF1c2U8TWFuZ29RdWVyeT4ge1xuICAgICAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxPcmRlckJ5Q2xhdXNlPE1hbmdvUXVlcnk+Pikge1xuICAgICAgICBzdXBlcihjbGF1c2UpO1xuICAgICAgfVxuXG4gICAgICBidWlsZChxdWVyeTogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgICAgICBxdWVyeS5zb3J0ID0gcXVlcnkuc29ydCB8fCBbXTtcbiAgICAgICAgcXVlcnkuc2VsZWN0b3IgPSBxdWVyeS5zZWxlY3RvciB8fCAoe30gYXMgTWFuZ29TZWxlY3Rvcik7XG4gICAgICAgIHRoaXMuc2VsZWN0b3IhLmZvckVhY2goKHMpID0+IHtcbiAgICAgICAgICBjb25zdCBbc2VsZWN0b3IsIHZhbHVlXSA9IHM7XG4gICAgICAgICAgY29uc3QgcmVjOiBhbnkgPSB7fTtcbiAgICAgICAgICByZWNbc2VsZWN0b3JdID0gdmFsdWU7XG4gICAgICAgICAgKHF1ZXJ5LnNvcnQgYXMgYW55W10pLnB1c2gocmVjIGFzIGFueSk7XG4gICAgICAgICAgaWYgKCFxdWVyeS5zZWxlY3RvcltzZWxlY3Rvcl0pIHtcbiAgICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yW3NlbGVjdG9yXSA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICAgICAgICAocXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdIGFzIE1hbmdvU2VsZWN0b3IpW1xuICAgICAgICAgICAgICBDb3VjaERCT3BlcmF0b3IuQklHR0VSXG4gICAgICAgICAgICBdID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcXVlcnkuZmllbGRzID0gcXVlcnkuZmllbGRzIHx8IFtdO1xuICAgICAgICAgIC8vIHF1ZXJ5LmZpZWxkcyA9IFsuLi5uZXcgU2V0KFsuLi5xdWVyeS5maWVsZHMsIHNlbGVjdG9yXSkua2V5cygpXVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgfVxuICAgIH0pKHtcbiAgICAgIHN0YXRlbWVudDogc3RhdGVtZW50LFxuICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yLFxuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0PE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yIHwgdW5kZWZpbmVkXG4gICk6IFNlbGVjdENsYXVzZTxNYW5nb1F1ZXJ5LCBNPiB7XG4gICAgcmV0dXJuIG5ldyBDb3VjaERCU2VsZWN0Q2xhdXNlKHtcbiAgICAgIHN0YXRlbWVudDogbmV3IENvdWNoREJTdGF0ZW1lbnQodGhpcy5hZGFwdGVyKSxcbiAgICAgIHNlbGVjdG9yOiBzZWxlY3RvcixcbiAgICB9KTtcbiAgfVxuXG4gIHZhbHVlczxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIHN0YXRlbWVudDogU3RhdGVtZW50PE1hbmdvUXVlcnk+LFxuICAgIHZhbHVlczogTVtdXG4gICk6IFZhbHVlc0NsYXVzZTxNYW5nb1F1ZXJ5LCBNPiB7XG4gICAgcmV0dXJuIG5ldyBDb3VjaERCVmFsdWVzQ2xhdXNlPE0+KHtcbiAgICAgIHN0YXRlbWVudDogc3RhdGVtZW50LFxuICAgICAgdmFsdWVzOiB2YWx1ZXMsXG4gICAgfSk7XG4gIH1cblxuICB3aGVyZShcbiAgICBzdGF0ZW1lbnQ6IFN0YXRlbWVudDxNYW5nb1F1ZXJ5PixcbiAgICBjb25kaXRpb246IENvbmRpdGlvblxuICApOiBXaGVyZUNsYXVzZTxNYW5nb1F1ZXJ5PiB7XG4gICAgcmV0dXJuIG5ldyBDb3VjaERCV2hlcmVDbGF1c2Uoe1xuICAgICAgc3RhdGVtZW50OiBzdGF0ZW1lbnQsXG4gICAgICBjb25kaXRpb246IGNvbmRpdGlvbixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function parseSequenceValue(type: "Number" | "BigInt" | undefined, value: string | number | bigint): string | number | bigint;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
-
export function parseSequenceValue(type, value) {
|
|
3
|
-
switch (type) {
|
|
4
|
-
case "Number":
|
|
5
|
-
return typeof value === "string"
|
|
6
|
-
? parseInt(value)
|
|
7
|
-
: typeof value === "number"
|
|
8
|
-
? value
|
|
9
|
-
: BigInt(value);
|
|
10
|
-
case "BigInt":
|
|
11
|
-
return BigInt(value);
|
|
12
|
-
default:
|
|
13
|
-
throw new InternalError("Should never happen");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VxdWVuY2VzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLElBQXFDLEVBQ3JDLEtBQStCO0lBRS9CLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLFFBQVE7WUFDWCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUNqQixDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUTtvQkFDekIsQ0FBQyxDQUFDLEtBQUs7b0JBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixLQUFLLFFBQVE7WUFDWCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QjtZQUNFLE1BQU0sSUFBSSxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU2VxdWVuY2VWYWx1ZShcbiAgdHlwZTogXCJOdW1iZXJcIiB8IFwiQmlnSW50XCIgfCB1bmRlZmluZWQsXG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnRcbik6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgXCJOdW1iZXJcIjpcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBwYXJzZUludCh2YWx1ZSlcbiAgICAgICAgOiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgOiBCaWdJbnQodmFsdWUpO1xuICAgIGNhc2UgXCJCaWdJbnRcIjpcbiAgICAgIHJldHVybiBCaWdJbnQodmFsdWUpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIlNob3VsZCBuZXZlciBoYXBwZW5cIik7XG4gIH1cbn1cbiJdfQ==
|
package/lib/query/FromClause.cjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CouchDBFromClause = void 0;
|
|
4
|
-
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
const constants_1 = require("./../constants.cjs");
|
|
6
|
-
const core_2 = require("@decaf-ts/core");
|
|
7
|
-
// noinspection JSAnnotator
|
|
8
|
-
class CouchDBFromClause extends core_1.FromClause {
|
|
9
|
-
constructor(clause) {
|
|
10
|
-
super(clause);
|
|
11
|
-
}
|
|
12
|
-
build(previous) {
|
|
13
|
-
const selectors = {};
|
|
14
|
-
selectors[constants_1.CouchDBKeys.TABLE] = {};
|
|
15
|
-
selectors[constants_1.CouchDBKeys.TABLE] =
|
|
16
|
-
typeof this.selector === "string"
|
|
17
|
-
? this.selector
|
|
18
|
-
: core_2.Repository.table(this.selector);
|
|
19
|
-
previous.selector = selectors;
|
|
20
|
-
return previous;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.CouchDBFromClause = CouchDBFromClause;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbUNsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyeS9Gcm9tQ2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUE0QztBQUU1QyxrREFBMkM7QUFDM0MseUNBQTRDO0FBRzVDLDJCQUEyQjtBQUMzQixNQUFhLGlCQUFtQyxTQUFRLGlCQUd2RDtJQUNDLFlBQVksTUFBMkM7UUFDckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBb0I7UUFDeEIsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBQzFCLFNBQVMsQ0FBQyx1QkFBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxTQUFTLENBQUMsdUJBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDZixDQUFDLENBQUMsaUJBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQTBCLENBQUMsQ0FBQztRQUN4RCxRQUFRLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFsQkQsOENBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJvbUNsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsLCBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vLyBub2luc3BlY3Rpb24gSlNBbm5vdGF0b3JcbmV4cG9ydCBjbGFzcyBDb3VjaERCRnJvbUNsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgRnJvbUNsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8RnJvbUNsYXVzZTxNYW5nb1F1ZXJ5LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocHJldmlvdXM6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICBjb25zdCBzZWxlY3RvcnM6IGFueSA9IHt9O1xuICAgIHNlbGVjdG9yc1tDb3VjaERCS2V5cy5UQUJMRV0gPSB7fTtcbiAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID1cbiAgICAgIHR5cGVvZiB0aGlzLnNlbGVjdG9yID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gdGhpcy5zZWxlY3RvclxuICAgICAgICA6IFJlcG9zaXRvcnkudGFibGUodGhpcy5zZWxlY3RvciBhcyBDb25zdHJ1Y3RvcjxNPik7XG4gICAgcHJldmlvdXMuc2VsZWN0b3IgPSBzZWxlY3RvcnM7XG4gICAgcmV0dXJuIHByZXZpb3VzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { FromClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBFromClause<M extends Model> extends FromClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<FromClause<MangoQuery, M>>);
|
|
6
|
-
build(previous: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CouchDBInsertClause = void 0;
|
|
4
|
-
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
|
-
// noinspection JSAnnotator
|
|
7
|
-
class CouchDBInsertClause extends core_1.InsertClause {
|
|
8
|
-
constructor(clause) {
|
|
9
|
-
super(clause);
|
|
10
|
-
}
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
|
-
build(query) {
|
|
13
|
-
throw new db_decorators_1.InternalError("Not supported");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.CouchDBInsertClause = CouchDBInsertClause;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zZXJ0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L0luc2VydENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBOEM7QUFFOUMsMkRBQXdEO0FBR3hELDJCQUEyQjtBQUMzQixNQUFhLG1CQUFxQyxTQUFRLG1CQUd6RDtJQUNDLFlBQVksTUFBNkM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQVpELGtEQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0Q2xhdXNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8vIG5vaW5zcGVjdGlvbiBKU0Fubm90YXRvclxuZXhwb3J0IGNsYXNzIENvdWNoREJJbnNlcnRDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEluc2VydENsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8SW5zZXJ0Q2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGJ1aWxkKHF1ZXJ5OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJOb3Qgc3VwcG9ydGVkXCIpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InsertClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBInsertClause<M extends Model> extends InsertClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<InsertClause<MangoQuery, M>>);
|
|
6
|
-
build(query: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CouchDBSelectClause = void 0;
|
|
4
|
-
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
class CouchDBSelectClause extends core_1.SelectClause {
|
|
6
|
-
constructor(clause) {
|
|
7
|
-
super(clause);
|
|
8
|
-
}
|
|
9
|
-
build(query) {
|
|
10
|
-
if (!this.selector || this.selector === core_1.Const.FULL_RECORD)
|
|
11
|
-
return query;
|
|
12
|
-
query.fields =
|
|
13
|
-
typeof this.selector === "string"
|
|
14
|
-
? [this.selector]
|
|
15
|
-
: this.selector;
|
|
16
|
-
return query;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.CouchDBSelectClause = CouchDBSelectClause;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0Q2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1NlbGVjdENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBcUQ7QUFJckQsTUFBYSxtQkFBcUMsU0FBUSxtQkFHekQ7SUFDQyxZQUFZLE1BQTZDO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4RSxLQUFLLENBQUMsTUFBTTtZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBa0IsQ0FBQztnQkFDM0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFxQixDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBaEJELGtEQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0LCBTZWxlY3RDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIENvdWNoREJTZWxlY3RDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFNlbGVjdENsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8U2VsZWN0Q2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICBidWlsZChxdWVyeTogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIGlmICghdGhpcy5zZWxlY3RvciB8fCB0aGlzLnNlbGVjdG9yID09PSBDb25zdC5GVUxMX1JFQ09SRCkgcmV0dXJuIHF1ZXJ5O1xuICAgIHF1ZXJ5LmZpZWxkcyA9XG4gICAgICB0eXBlb2YgdGhpcy5zZWxlY3RvciA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IFt0aGlzLnNlbGVjdG9yIGFzIHN0cmluZ11cbiAgICAgICAgOiAodGhpcy5zZWxlY3RvciBhcyBzdHJpbmdbXSk7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SelectClause } from "@decaf-ts/core";
|
|
2
|
-
import { ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "../types";
|
|
4
|
-
export declare class CouchDBSelectClause<M extends Model> extends SelectClause<MangoQuery, M> {
|
|
5
|
-
constructor(clause: ModelArg<SelectClause<MangoQuery, M>>);
|
|
6
|
-
build(query: MangoQuery): MangoQuery;
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CouchDBValuesClause = void 0;
|
|
4
|
-
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
|
-
class CouchDBValuesClause extends core_1.ValuesClause {
|
|
7
|
-
constructor(clause) {
|
|
8
|
-
super(clause);
|
|
9
|
-
}
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
-
build(previous) {
|
|
12
|
-
throw new db_decorators_1.InternalError("Not implemented");
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.CouchDBValuesClause = CouchDBValuesClause;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVzQ2xhdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1ZhbHVlc0NsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBOEM7QUFFOUMsMkRBQXdEO0FBR3hELE1BQWEsbUJBQXFDLFNBQVEsbUJBR3pEO0lBQ0MsWUFBWSxNQUE2QztRQUN2RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsUUFBb0I7UUFDeEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFaRCxrREFZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlc0NsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ291Y2hEQlZhbHVlc0NsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgVmFsdWVzQ2xhdXNlPFxuICBNYW5nb1F1ZXJ5LFxuICBNXG4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxWYWx1ZXNDbGF1c2U8TWFuZ29RdWVyeSwgTT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgYnVpbGQocHJldmlvdXM6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxufVxuIl19
|