@decaf-ts/for-typeorm 0.0.6
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 +21 -0
- package/README.md +93 -0
- package/dist/for-typeorm.cjs +2553 -0
- package/dist/for-typeorm.esm.cjs +2538 -0
- package/lib/TypeORMAdapter.cjs +1129 -0
- package/lib/TypeORMAdapter.d.ts +221 -0
- package/lib/TypeORMDispatch.cjs +134 -0
- package/lib/TypeORMDispatch.d.ts +87 -0
- package/lib/TypeORMEventSubscriber.cjs +96 -0
- package/lib/TypeORMEventSubscriber.d.ts +56 -0
- package/lib/TypeORMRepository.cjs +209 -0
- package/lib/TypeORMRepository.d.ts +125 -0
- package/lib/constants.cjs +43 -0
- package/lib/constants.d.ts +39 -0
- package/lib/errors.cjs +28 -0
- package/lib/errors.d.ts +21 -0
- package/lib/esm/TypeORMAdapter.d.ts +221 -0
- package/lib/esm/TypeORMAdapter.js +1124 -0
- package/lib/esm/TypeORMDispatch.d.ts +87 -0
- package/lib/esm/TypeORMDispatch.js +130 -0
- package/lib/esm/TypeORMEventSubscriber.d.ts +56 -0
- package/lib/esm/TypeORMEventSubscriber.js +93 -0
- package/lib/esm/TypeORMRepository.d.ts +125 -0
- package/lib/esm/TypeORMRepository.js +206 -0
- package/lib/esm/constants.d.ts +39 -0
- package/lib/esm/constants.js +40 -0
- package/lib/esm/errors.d.ts +21 -0
- package/lib/esm/errors.js +24 -0
- package/lib/esm/index.d.ts +22 -0
- package/lib/esm/index.js +25 -0
- package/lib/esm/indexes/generator.d.ts +50 -0
- package/lib/esm/indexes/generator.js +95 -0
- package/lib/esm/indexes/index.d.ts +1 -0
- package/lib/esm/indexes/index.js +2 -0
- package/lib/esm/overrides/Column.d.ts +74 -0
- package/lib/esm/overrides/Column.js +70 -0
- package/lib/esm/overrides/CreateDateColumn.d.ts +2 -0
- package/lib/esm/overrides/CreateDateColumn.js +9 -0
- package/lib/esm/overrides/Entity.d.ts +11 -0
- package/lib/esm/overrides/Entity.js +28 -0
- package/lib/esm/overrides/PrimaryColumn.d.ts +20 -0
- package/lib/esm/overrides/PrimaryColumn.js +53 -0
- package/lib/esm/overrides/PrimaryGeneratedColumn.d.ts +24 -0
- package/lib/esm/overrides/PrimaryGeneratedColumn.js +51 -0
- package/lib/esm/overrides/UpdateDateColumn.d.ts +2 -0
- package/lib/esm/overrides/UpdateDateColumn.js +9 -0
- package/lib/esm/overrides/utils.d.ts +2 -0
- package/lib/esm/overrides/utils.js +29 -0
- package/lib/esm/query/Paginator.d.ts +86 -0
- package/lib/esm/query/Paginator.js +124 -0
- package/lib/esm/query/Statement.d.ts +131 -0
- package/lib/esm/query/Statement.js +242 -0
- package/lib/esm/query/constants.d.ts +52 -0
- package/lib/esm/query/constants.js +74 -0
- package/lib/esm/query/index.d.ts +4 -0
- package/lib/esm/query/index.js +5 -0
- package/lib/esm/query/translate.d.ts +34 -0
- package/lib/esm/query/translate.js +42 -0
- package/lib/esm/raw/postgres.d.ts +36 -0
- package/lib/esm/raw/postgres.js +2 -0
- package/lib/esm/sequences/Sequence.d.ts +67 -0
- package/lib/esm/sequences/Sequence.js +117 -0
- package/lib/esm/sequences/index.d.ts +1 -0
- package/lib/esm/sequences/index.js +2 -0
- package/lib/esm/types.d.ts +67 -0
- package/lib/esm/types.js +28 -0
- package/lib/esm/utils.d.ts +16 -0
- package/lib/esm/utils.js +29 -0
- package/lib/index.cjs +42 -0
- package/lib/index.d.ts +22 -0
- package/lib/indexes/generator.cjs +98 -0
- package/lib/indexes/generator.d.ts +50 -0
- package/lib/indexes/index.cjs +18 -0
- package/lib/indexes/index.d.ts +1 -0
- package/lib/overrides/Column.cjs +73 -0
- package/lib/overrides/Column.d.ts +74 -0
- package/lib/overrides/CreateDateColumn.cjs +12 -0
- package/lib/overrides/CreateDateColumn.d.ts +2 -0
- package/lib/overrides/Entity.cjs +31 -0
- package/lib/overrides/Entity.d.ts +11 -0
- package/lib/overrides/PrimaryColumn.cjs +56 -0
- package/lib/overrides/PrimaryColumn.d.ts +20 -0
- package/lib/overrides/PrimaryGeneratedColumn.cjs +54 -0
- package/lib/overrides/PrimaryGeneratedColumn.d.ts +24 -0
- package/lib/overrides/UpdateDateColumn.cjs +12 -0
- package/lib/overrides/UpdateDateColumn.d.ts +2 -0
- package/lib/overrides/utils.cjs +32 -0
- package/lib/overrides/utils.d.ts +2 -0
- package/lib/query/Paginator.cjs +128 -0
- package/lib/query/Paginator.d.ts +86 -0
- package/lib/query/Statement.cjs +246 -0
- package/lib/query/Statement.d.ts +131 -0
- package/lib/query/constants.cjs +77 -0
- package/lib/query/constants.d.ts +52 -0
- package/lib/query/index.cjs +21 -0
- package/lib/query/index.d.ts +4 -0
- package/lib/query/translate.cjs +45 -0
- package/lib/query/translate.d.ts +34 -0
- package/lib/raw/postgres.cjs +3 -0
- package/lib/raw/postgres.d.ts +36 -0
- package/lib/sequences/Sequence.cjs +121 -0
- package/lib/sequences/Sequence.d.ts +67 -0
- package/lib/sequences/index.cjs +18 -0
- package/lib/sequences/index.d.ts +1 -0
- package/lib/types.cjs +31 -0
- package/lib/types.d.ts +67 -0
- package/lib/utils.cjs +32 -0
- package/lib/utils.d.ts +16 -0
- package/package.json +128 -0
package/lib/types.cjs
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLOperator = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @description SQL operators available for building TypeORM queries.
|
|
6
|
+
* @summary Enumeration of common SQL operators intended for use within TypeORM query construction and translation layers.
|
|
7
|
+
* @enum {string}
|
|
8
|
+
* @memberOf module:for-typeorm
|
|
9
|
+
*/
|
|
10
|
+
var SQLOperator;
|
|
11
|
+
(function (SQLOperator) {
|
|
12
|
+
SQLOperator["EQUAL"] = "=";
|
|
13
|
+
SQLOperator["NOT_EQUAL"] = "<>";
|
|
14
|
+
SQLOperator["LESS_THAN"] = "<";
|
|
15
|
+
SQLOperator["LESS_THAN_OR_EQUAL"] = "<=";
|
|
16
|
+
SQLOperator["GREATER_THAN"] = ">";
|
|
17
|
+
SQLOperator["GREATER_THAN_OR_EQUAL"] = ">=";
|
|
18
|
+
SQLOperator["IN"] = "IN";
|
|
19
|
+
SQLOperator["NOT_IN"] = "NOT IN";
|
|
20
|
+
SQLOperator["LIKE"] = "LIKE";
|
|
21
|
+
SQLOperator["ILIKE"] = "ILIKE";
|
|
22
|
+
SQLOperator["BETWEEN"] = "BETWEEN";
|
|
23
|
+
SQLOperator["IS_NULL"] = "IS NULL";
|
|
24
|
+
SQLOperator["IS_NOT_NULL"] = "IS NOT NULL";
|
|
25
|
+
SQLOperator["EXISTS"] = "EXISTS";
|
|
26
|
+
SQLOperator["NOT_EXISTS"] = "NOT EXISTS";
|
|
27
|
+
SQLOperator["ANY"] = "ANY";
|
|
28
|
+
SQLOperator["ALL"] = "ALL";
|
|
29
|
+
SQLOperator["SOME"] = "SOME";
|
|
30
|
+
})(SQLOperator || (exports.SQLOperator = SQLOperator = {}));
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUE7Ozs7O0dBS0c7QUFDSCxJQUFZLFdBbUJYO0FBbkJELFdBQVksV0FBVztJQUNyQiwwQkFBVyxDQUFBO0lBQ1gsK0JBQWdCLENBQUE7SUFDaEIsOEJBQWUsQ0FBQTtJQUNmLHdDQUF5QixDQUFBO0lBQ3pCLGlDQUFrQixDQUFBO0lBQ2xCLDJDQUE0QixDQUFBO0lBQzVCLHdCQUFTLENBQUE7SUFDVCxnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0lBQ2IsOEJBQWUsQ0FBQTtJQUNmLGtDQUFtQixDQUFBO0lBQ25CLGtDQUFtQixDQUFBO0lBQ25CLDBDQUEyQixDQUFBO0lBQzNCLGdDQUFpQixDQUFBO0lBQ2pCLHdDQUF5QixDQUFBO0lBQ3pCLDBCQUFXLENBQUE7SUFDWCwwQkFBVyxDQUFBO0lBQ1gsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFuQlcsV0FBVywyQkFBWCxXQUFXLFFBbUJ0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgU2VsZWN0UXVlcnlCdWlsZGVyIH0gZnJvbSBcInR5cGVvcm1cIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTUUwgb3BlcmF0b3JzIGF2YWlsYWJsZSBmb3IgYnVpbGRpbmcgVHlwZU9STSBxdWVyaWVzLlxuICogQHN1bW1hcnkgRW51bWVyYXRpb24gb2YgY29tbW9uIFNRTCBvcGVyYXRvcnMgaW50ZW5kZWQgZm9yIHVzZSB3aXRoaW4gVHlwZU9STSBxdWVyeSBjb25zdHJ1Y3Rpb24gYW5kIHRyYW5zbGF0aW9uIGxheWVycy5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci10eXBlb3JtXG4gKi9cbmV4cG9ydCBlbnVtIFNRTE9wZXJhdG9yIHtcbiAgRVFVQUwgPSBcIj1cIixcbiAgTk9UX0VRVUFMID0gXCI8PlwiLFxuICBMRVNTX1RIQU4gPSBcIjxcIixcbiAgTEVTU19USEFOX09SX0VRVUFMID0gXCI8PVwiLFxuICBHUkVBVEVSX1RIQU4gPSBcIj5cIixcbiAgR1JFQVRFUl9USEFOX09SX0VRVUFMID0gXCI+PVwiLFxuICBJTiA9IFwiSU5cIixcbiAgTk9UX0lOID0gXCJOT1QgSU5cIixcbiAgTElLRSA9IFwiTElLRVwiLFxuICBJTElLRSA9IFwiSUxJS0VcIixcbiAgQkVUV0VFTiA9IFwiQkVUV0VFTlwiLFxuICBJU19OVUxMID0gXCJJUyBOVUxMXCIsXG4gIElTX05PVF9OVUxMID0gXCJJUyBOT1QgTlVMTFwiLFxuICBFWElTVFMgPSBcIkVYSVNUU1wiLFxuICBOT1RfRVhJU1RTID0gXCJOT1QgRVhJU1RTXCIsXG4gIEFOWSA9IFwiQU5ZXCIsXG4gIEFMTCA9IFwiQUxMXCIsXG4gIFNPTUUgPSBcIlNPTUVcIixcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUXVlcnkgY29udGFpbmVyIHVzZWQgYnkgdGhlIFR5cGVPUk0gYWRhcHRlci5cbiAqIEBzdW1tYXJ5IFJlcHJlc2VudHMgZWl0aGVyIGEgcmF3IFNRTCBzdHJpbmcgb3IgYSBUeXBlT1JNIFNlbGVjdFF1ZXJ5QnVpbGRlciBhbG9uZyB3aXRoIG9wdGlvbmFsIGJvdW5kIHZhbHVlcyB0byBiZSBleGVjdXRlZCBieSB0aGUgYWRhcHRlci5cbiAqIEB0ZW1wbGF0ZSBNIFRoZSBNb2RlbCB0eXBlIGZvciB3aGljaCB0aGUgU2VsZWN0UXVlcnlCdWlsZGVyIGlzIHBhcmFtZXRlcml6ZWQuXG4gKiBAdGVtcGxhdGUgVCBUaGUgdW5kZXJseWluZyBxdWVyeSB0eXBlLCBlaXRoZXIgYSBzdHJpbmcgb3IgYSBTZWxlY3RRdWVyeUJ1aWxkZXI8TT4uXG4gKiBAaW50ZXJmYWNlIFR5cGVPUk1RdWVyeVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItdHlwZW9ybVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVPUk1RdWVyeTxcbiAgTSBleHRlbmRzIE1vZGVsID0gTW9kZWwsXG4gIFQgZXh0ZW5kcyBzdHJpbmcgfCBTZWxlY3RRdWVyeUJ1aWxkZXI8TT4gPSBzdHJpbmcsXG4+IHtcbiAgcXVlcnk6IFQ7XG4gIHZhbHVlcz86IGFueVtdO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmF0aW9uIGZsYWdzIGZvciBUeXBlT1JNIG9wZXJhdGlvbnMuXG4gKiBAc3VtbWFyeSBFeHRlbmRlZCByZXBvc2l0b3J5IGZsYWdzIGluY2x1ZGluZyBjb25uZWN0aW9uL3VzZXIgY29udGV4dCB0aGF0IGNhbiBiZSBsZXZlcmFnZWQgYnkgdGhlIFR5cGVPUk0gYWRhcHRlci5cbiAqIEBpbnRlcmZhY2UgVHlwZU9STUZsYWdzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci10eXBlb3JtXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU9STUZsYWdzIGV4dGVuZHMgUmVwb3NpdG9yeUZsYWdzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVc2VyIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uIGZvciBQb3N0Z3JlcyBkYXRhYmFzZSBjb25uZWN0aW9uc1xuICAgKi9cbiAgdXNlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTcGVjaWZpY2F0aW9uIGZvciBhIHRhYmxlIGNyZWF0aW9uL2NoYW5nZSBzdGF0ZW1lbnQgdXNlZCBieSB0aGUgVHlwZU9STSBhZGFwdGVyLlxuICogQHN1bW1hcnkgRXh0ZW5kcyBhIFR5cGVPUk1RdWVyeSB3aXRoIHRhYmxlIG1ldGFkYXRhIHN1Y2ggYXMgcHJpbWFyeSBrZXkgZmxhZywgY29uc3RyYWludHMsIGFuZCBmb3JlaWduIGtleXMuXG4gKiBAdHlwZWRlZiBUeXBlT1JNVGFibGVTcGVjXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHByaW1hcnlLZXkgSW5kaWNhdGVzIGlmIHRoZSB0YXJnZXQgY29sdW1uIGlzIHBhcnQgb2YgdGhlIHByaW1hcnkga2V5LlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gY29uc3RyYWludHMgQSBsaXN0IG9mIHJhdyBTUUwgY29uc3RyYWludHMgdG8gYXBwbHkgdG8gdGhlIHRhYmxlL2NvbHVtbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGZvcmVpZ25LZXlzIEEgbGlzdCBvZiBmb3JlaWduIGtleSBjb25zdHJhaW50IGRlZmluaXRpb25zLlxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItdHlwZW9ybVxuICovXG5leHBvcnQgdHlwZSBUeXBlT1JNVGFibGVTcGVjID0gVHlwZU9STVF1ZXJ5ICYge1xuICBwcmltYXJ5S2V5OiBib29sZWFuO1xuICBjb25zdHJhaW50czogc3RyaW5nW107XG4gIGZvcmVpZ25LZXlzOiBzdHJpbmdbXTtcbn07XG4iXX0=
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
2
|
+
import { SelectQueryBuilder } from "typeorm";
|
|
3
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
|
+
/**
|
|
5
|
+
* @description SQL operators available for building TypeORM queries.
|
|
6
|
+
* @summary Enumeration of common SQL operators intended for use within TypeORM query construction and translation layers.
|
|
7
|
+
* @enum {string}
|
|
8
|
+
* @memberOf module:for-typeorm
|
|
9
|
+
*/
|
|
10
|
+
export declare enum SQLOperator {
|
|
11
|
+
EQUAL = "=",
|
|
12
|
+
NOT_EQUAL = "<>",
|
|
13
|
+
LESS_THAN = "<",
|
|
14
|
+
LESS_THAN_OR_EQUAL = "<=",
|
|
15
|
+
GREATER_THAN = ">",
|
|
16
|
+
GREATER_THAN_OR_EQUAL = ">=",
|
|
17
|
+
IN = "IN",
|
|
18
|
+
NOT_IN = "NOT IN",
|
|
19
|
+
LIKE = "LIKE",
|
|
20
|
+
ILIKE = "ILIKE",
|
|
21
|
+
BETWEEN = "BETWEEN",
|
|
22
|
+
IS_NULL = "IS NULL",
|
|
23
|
+
IS_NOT_NULL = "IS NOT NULL",
|
|
24
|
+
EXISTS = "EXISTS",
|
|
25
|
+
NOT_EXISTS = "NOT EXISTS",
|
|
26
|
+
ANY = "ANY",
|
|
27
|
+
ALL = "ALL",
|
|
28
|
+
SOME = "SOME"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @description Query container used by the TypeORM adapter.
|
|
32
|
+
* @summary Represents either a raw SQL string or a TypeORM SelectQueryBuilder along with optional bound values to be executed by the adapter.
|
|
33
|
+
* @template M The Model type for which the SelectQueryBuilder is parameterized.
|
|
34
|
+
* @template T The underlying query type, either a string or a SelectQueryBuilder<M>.
|
|
35
|
+
* @interface TypeORMQuery
|
|
36
|
+
* @memberOf module:for-typeorm
|
|
37
|
+
*/
|
|
38
|
+
export interface TypeORMQuery<M extends Model = Model, T extends string | SelectQueryBuilder<M> = string> {
|
|
39
|
+
query: T;
|
|
40
|
+
values?: any[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @description Configuration flags for TypeORM operations.
|
|
44
|
+
* @summary Extended repository flags including connection/user context that can be leveraged by the TypeORM adapter.
|
|
45
|
+
* @interface TypeORMFlags
|
|
46
|
+
* @memberOf module:for-typeorm
|
|
47
|
+
*/
|
|
48
|
+
export interface TypeORMFlags extends RepositoryFlags {
|
|
49
|
+
/**
|
|
50
|
+
* @description User authentication information for Postgres database connections
|
|
51
|
+
*/
|
|
52
|
+
user: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Specification for a table creation/change statement used by the TypeORM adapter.
|
|
56
|
+
* @summary Extends a TypeORMQuery with table metadata such as primary key flag, constraints, and foreign keys.
|
|
57
|
+
* @typedef TypeORMTableSpec
|
|
58
|
+
* @property {boolean} primaryKey Indicates if the target column is part of the primary key.
|
|
59
|
+
* @property {string[]} constraints A list of raw SQL constraints to apply to the table/column.
|
|
60
|
+
* @property {string[]} foreignKeys A list of foreign key constraint definitions.
|
|
61
|
+
* @memberOf module:for-typeorm
|
|
62
|
+
*/
|
|
63
|
+
export type TypeORMTableSpec = TypeORMQuery & {
|
|
64
|
+
primaryKey: boolean;
|
|
65
|
+
constraints: string[];
|
|
66
|
+
foreignKeys: string[];
|
|
67
|
+
};
|
package/lib/utils.cjs
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertJsRegexToPostgres = convertJsRegexToPostgres;
|
|
4
|
+
/**
|
|
5
|
+
* @description Converts a JavaScript RegExp pattern to a PostgreSQL POSIX pattern string.
|
|
6
|
+
* @summary Accepts either a RegExp object or a string representation (/pattern/flags) and returns the raw pattern compatible with PostgreSQL's ~ and ~* operators.
|
|
7
|
+
* @param {RegExp|string} jsRegex JavaScript RegExp object or pattern string.
|
|
8
|
+
* @return {string} PostgreSQL-compatible regex pattern string.
|
|
9
|
+
* @function convertJsRegexToPostgres
|
|
10
|
+
* @mermaid
|
|
11
|
+
* sequenceDiagram
|
|
12
|
+
* participant App
|
|
13
|
+
* participant Utils as convertJsRegexToPostgres
|
|
14
|
+
* App->>Utils: convertJsRegexToPostgres(RegExp("foo.*","i"))
|
|
15
|
+
* Utils->>Utils: Parse string or use RegExp.source
|
|
16
|
+
* Utils-->>App: "foo.*"
|
|
17
|
+
* @memberOf module:for-typeorm
|
|
18
|
+
*/
|
|
19
|
+
function convertJsRegexToPostgres(jsRegex) {
|
|
20
|
+
const rxp = new RegExp(/^\/(.+)\/(\w+)$/g);
|
|
21
|
+
if (typeof jsRegex === "string") {
|
|
22
|
+
const match = rxp.exec(jsRegex);
|
|
23
|
+
if (match) {
|
|
24
|
+
const [, p] = match;
|
|
25
|
+
jsRegex = p;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const regex = typeof jsRegex === "string" ? new RegExp(jsRegex) : jsRegex;
|
|
29
|
+
const pattern = regex.source;
|
|
30
|
+
return pattern;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSw0REFjQztBQTdCRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLE9BQXdCO0lBQy9ELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0MsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTFFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFFN0IsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBSZWdFeHAgcGF0dGVybiB0byBhIFBvc3RncmVTUUwgUE9TSVggcGF0dGVybiBzdHJpbmcuXG4gKiBAc3VtbWFyeSBBY2NlcHRzIGVpdGhlciBhIFJlZ0V4cCBvYmplY3Qgb3IgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gKC9wYXR0ZXJuL2ZsYWdzKSBhbmQgcmV0dXJucyB0aGUgcmF3IHBhdHRlcm4gY29tcGF0aWJsZSB3aXRoIFBvc3RncmVTUUwncyB+IGFuZCB+KiBvcGVyYXRvcnMuXG4gKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IGpzUmVnZXggSmF2YVNjcmlwdCBSZWdFeHAgb2JqZWN0IG9yIHBhdHRlcm4gc3RyaW5nLlxuICogQHJldHVybiB7c3RyaW5nfSBQb3N0Z3JlU1FMLWNvbXBhdGlibGUgcmVnZXggcGF0dGVybiBzdHJpbmcuXG4gKiBAZnVuY3Rpb24gY29udmVydEpzUmVnZXhUb1Bvc3RncmVzXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IEFwcFxuICogICBwYXJ0aWNpcGFudCBVdGlscyBhcyBjb252ZXJ0SnNSZWdleFRvUG9zdGdyZXNcbiAqICAgQXBwLT4+VXRpbHM6IGNvbnZlcnRKc1JlZ2V4VG9Qb3N0Z3JlcyhSZWdFeHAoXCJmb28uKlwiLFwiaVwiKSlcbiAqICAgVXRpbHMtPj5VdGlsczogUGFyc2Ugc3RyaW5nIG9yIHVzZSBSZWdFeHAuc291cmNlXG4gKiAgIFV0aWxzLS0+PkFwcDogXCJmb28uKlwiXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci10eXBlb3JtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SnNSZWdleFRvUG9zdGdyZXMoanNSZWdleDogUmVnRXhwIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcnhwID0gbmV3IFJlZ0V4cCgvXlxcLyguKylcXC8oXFx3KykkL2cpO1xuICBpZiAodHlwZW9mIGpzUmVnZXggPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCBtYXRjaCA9IHJ4cC5leGVjKGpzUmVnZXgpO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgY29uc3QgWywgcF0gPSBtYXRjaDtcbiAgICAgIGpzUmVnZXggPSBwO1xuICAgIH1cbiAgfVxuICBjb25zdCByZWdleCA9IHR5cGVvZiBqc1JlZ2V4ID09PSBcInN0cmluZ1wiID8gbmV3IFJlZ0V4cChqc1JlZ2V4KSA6IGpzUmVnZXg7XG5cbiAgY29uc3QgcGF0dGVybiA9IHJlZ2V4LnNvdXJjZTtcblxuICByZXR1cm4gcGF0dGVybjtcbn1cbiJdfQ==
|
package/lib/utils.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Converts a JavaScript RegExp pattern to a PostgreSQL POSIX pattern string.
|
|
3
|
+
* @summary Accepts either a RegExp object or a string representation (/pattern/flags) and returns the raw pattern compatible with PostgreSQL's ~ and ~* operators.
|
|
4
|
+
* @param {RegExp|string} jsRegex JavaScript RegExp object or pattern string.
|
|
5
|
+
* @return {string} PostgreSQL-compatible regex pattern string.
|
|
6
|
+
* @function convertJsRegexToPostgres
|
|
7
|
+
* @mermaid
|
|
8
|
+
* sequenceDiagram
|
|
9
|
+
* participant App
|
|
10
|
+
* participant Utils as convertJsRegexToPostgres
|
|
11
|
+
* App->>Utils: convertJsRegexToPostgres(RegExp("foo.*","i"))
|
|
12
|
+
* Utils->>Utils: Parse string or use RegExp.source
|
|
13
|
+
* Utils-->>App: "foo.*"
|
|
14
|
+
* @memberOf module:for-typeorm
|
|
15
|
+
*/
|
|
16
|
+
export declare function convertJsRegexToPostgres(jsRegex: RegExp | string): string;
|
package/package.json
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@decaf-ts/for-typeorm",
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "decaf typeorm wrapper",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
"require": "./lib/index.cjs",
|
|
8
|
+
"import": "./lib/esm/index.js"
|
|
9
|
+
},
|
|
10
|
+
"types": "lib/index.d.ts",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"do-install": "TOKEN=$(cat .token) npm install",
|
|
13
|
+
"update-dependencies": "PREFIX=\"decaf-ts\"; npm ls | grep \"$PREFIX\" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update @\"$PREFIX\"/package",
|
|
14
|
+
"update-scripts": "npx update-scripts",
|
|
15
|
+
"on-first-run": "npx update-scripts --boot",
|
|
16
|
+
"set-git-auth": "git config url.\"https://api:$(cat .token)@github.com/\".insteadOf \"https://github.com/\" && git config url.\"https://ssh:$(cat .token)@github.com/\".insteadOf \"ssh://git@github.com/\" && git config url.\"https://git:$(cat .token)@github.com/\".insteadOf \"git@github.com:\"",
|
|
17
|
+
"flash-forward": "npx npm-check-updates -u && npm run do-install",
|
|
18
|
+
"reset": "rm -rf * && git checkout . && git pull && npm run do-install",
|
|
19
|
+
"build": "npx build-scripts --dev",
|
|
20
|
+
"build:prod": "npx build-scripts --prod",
|
|
21
|
+
"test": "jest --runInBand --coverage --detectOpenHandles",
|
|
22
|
+
"test:unit": "jest --testPathPattern=\"/tests/unit\" --passWithNoTests --detectOpenHandles",
|
|
23
|
+
"test:integration": "jest --testPathPattern=\"/tests/(integration)\" --passWithNoTests --detectOpenHandles --runInBand",
|
|
24
|
+
"test:all": "jest --testPathPattern=\"/tests\" --passWithNoTests --runInBand",
|
|
25
|
+
"test:circular": "dpdm -T --no-warning --no-tree ./src/index.ts",
|
|
26
|
+
"coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.ts",
|
|
27
|
+
"lint": "eslint .",
|
|
28
|
+
"lint-fix": "eslint --fix .",
|
|
29
|
+
"prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
|
30
|
+
"release": "./bin/tag-release.sh",
|
|
31
|
+
"clean-publish": "npx clean-publish",
|
|
32
|
+
"drawings": "for FILE in workdocs/drawings/*.drawio; do echo \"converting $FILE to image...\" && docker run --rm -v $(pwd):/data rlespinasse/drawio-export --format png $FILE; done && cp -rf workdocs/drawings/export/* workdocs/resources/",
|
|
33
|
+
"uml": "cd workdocs/uml && for FILE in ./*.puml; do docker run --rm -v $(pwd):/work -w /work miy4/plantuml -DPLANTUML_LIMIT_SIZE=8192 -tpng $FILE; done && cd ../.. && cp -fr workdocs/uml/*.png workdocs/resources/",
|
|
34
|
+
"docs": "npx rimraf ./docs && mkdir docs && npx build-scripts --docs",
|
|
35
|
+
"publish-docs": "docker run -it --rm --user $(id -u):$(id -g) -v \"$(pwd)/workdocs/confluence:/content\" -e ATLASSIAN_API_TOKEN=$(cat .confluence-token) ghcr.io/markdown-confluence/publish:latest",
|
|
36
|
+
"docker:login": "docker login ghcr.io -u $(cat .dockeruser) -p $(cat .dockertoken)",
|
|
37
|
+
"docker:build": "npm run docker:build-base",
|
|
38
|
+
"docker:build-base": "DOCKER_BUILDKIT=1 docker build --secret id=TOKEN,src=$PWD/.npmtoken -t ghcr.io/decaf-ts/for-postgres:base-$(cat package.json | jq -r '.version') -t ghcr.io/decaf-ts/for-postgres:base-${VERSION:-latest} -f ./Dockerfile .",
|
|
39
|
+
"docker:publish": "npm run docker:publish-base",
|
|
40
|
+
"docker:publish-base": "docker push ghcr.io/decaf-ts/for-postgres:base-$(cat package.json | jq -r '.version') && docker push ghcr.io/decaf-ts/for-postgres:base-${VERSION:-latest}"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/decaf-ts/for-typeorm.git"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=20.0.0",
|
|
48
|
+
"npm": ">=10.0.0"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"lib",
|
|
52
|
+
"dist"
|
|
53
|
+
],
|
|
54
|
+
"keywords": [
|
|
55
|
+
"plantuml",
|
|
56
|
+
"mermaid",
|
|
57
|
+
"uml",
|
|
58
|
+
"drawio",
|
|
59
|
+
"mddocs",
|
|
60
|
+
"md",
|
|
61
|
+
"jsdoc",
|
|
62
|
+
"doc",
|
|
63
|
+
"docs",
|
|
64
|
+
"documentation",
|
|
65
|
+
"test",
|
|
66
|
+
"reports",
|
|
67
|
+
"confluence",
|
|
68
|
+
"ci/cd",
|
|
69
|
+
"ci",
|
|
70
|
+
"cd",
|
|
71
|
+
"template",
|
|
72
|
+
"typescript",
|
|
73
|
+
"ts"
|
|
74
|
+
],
|
|
75
|
+
"author": "Tiago Venceslau",
|
|
76
|
+
"bugs": {
|
|
77
|
+
"url": "https://github.com/decaf-ts/for-typeorm/issues"
|
|
78
|
+
},
|
|
79
|
+
"homepage": "https://github.com/decaf-ts/for-typeorm#readme",
|
|
80
|
+
"devDependencies": {
|
|
81
|
+
"@decaf-ts/utils": "latest",
|
|
82
|
+
"@eslint/js": "^9.25.1",
|
|
83
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
84
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
85
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
86
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
87
|
+
"@stylistic/eslint-plugin": "^4.2.0",
|
|
88
|
+
"@types/jest": "^29.5.14",
|
|
89
|
+
"@types/pg": "^8.15.4",
|
|
90
|
+
"clean-publish": "^5.1.0",
|
|
91
|
+
"dpdm": "^3.14.0",
|
|
92
|
+
"eslint": "^9.25.1",
|
|
93
|
+
"eslint-config-prettier": "^10.1.2",
|
|
94
|
+
"eslint-plugin-prettier": "^5.2.6",
|
|
95
|
+
"globals": "^16.0.0",
|
|
96
|
+
"jest": "^29.7.0",
|
|
97
|
+
"jest-html-reporters": "^3.1.7",
|
|
98
|
+
"jest-junit": "^16.0.0",
|
|
99
|
+
"jsdoc": "^4.0.4",
|
|
100
|
+
"jsdoc-mermaid": "^1.0.0",
|
|
101
|
+
"markdown-include": "^0.4.3",
|
|
102
|
+
"minimist": "^1.2.8",
|
|
103
|
+
"nano": "^10.1.4",
|
|
104
|
+
"nodemon": "^3.1.9",
|
|
105
|
+
"npm-check-updates": "^18.0.0",
|
|
106
|
+
"prettier": "3.5.3",
|
|
107
|
+
"rimraf": "^6.0.1",
|
|
108
|
+
"rollup": "^4.40.0",
|
|
109
|
+
"ts-jest": "^29.3.2",
|
|
110
|
+
"ts-loader": "^9.5.2",
|
|
111
|
+
"ts-node": "^10.9.2",
|
|
112
|
+
"typescript": "^5.8.3",
|
|
113
|
+
"typescript-eslint": "^8.31.0"
|
|
114
|
+
},
|
|
115
|
+
"peerDependencies": {
|
|
116
|
+
"@decaf-ts/core": "latest",
|
|
117
|
+
"@decaf-ts/db-decorators": "latest",
|
|
118
|
+
"@decaf-ts/decorator-validation": "latest",
|
|
119
|
+
"@decaf-ts/injectable-decorators": "latest",
|
|
120
|
+
"@decaf-ts/logging": "latest",
|
|
121
|
+
"@decaf-ts/reflection": "latest",
|
|
122
|
+
"pg": "^8.16.3",
|
|
123
|
+
"reflect-metadata": "^0.2.2"
|
|
124
|
+
},
|
|
125
|
+
"dependencies": {
|
|
126
|
+
"typeorm": "^0.3.25"
|
|
127
|
+
}
|
|
128
|
+
}
|