velocious 1.0.157 → 1.0.158
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/build/src/configuration-types.d.ts +7 -0
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +3 -1
- package/build/src/configuration.d.ts +6 -1
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +12 -2
- package/build/src/database/drivers/base-column.d.ts +8 -0
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +20 -1
- package/build/src/database/drivers/base.d.ts +4 -0
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +5 -1
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +6 -7
- package/build/src/database/drivers/mysql/column.d.ts +1 -0
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +12 -6
- package/build/src/database/drivers/pgsql/column.d.ts +1 -0
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +7 -1
- package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/table.js +3 -2
- package/build/src/database/query/alter-table-base.d.ts.map +1 -1
- package/build/src/database/query/alter-table-base.js +11 -1
- package/build/src/database/query/create-table-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.js +9 -1
- package/build/src/database/query/where-model-class-hash.d.ts +12 -3
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +57 -11
- package/build/src/database/record/index.d.ts +10 -0
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +52 -10
- package/build/src/database/table-data/table-column.d.ts +23 -0
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +32 -2
- package/build/src/testing/test.d.ts +5 -0
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +32 -6
- package/build/src/utils/timezone-context.d.ts +20 -0
- package/build/src/utils/timezone-context.d.ts.map +1 -0
- package/build/src/utils/timezone-context.js +53 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,8 @@ export default class VelociousDatabaseDriversPgsqlTable extends BaseTable {
|
|
|
17
17
|
const result = await this.driver.query(`
|
|
18
18
|
SELECT
|
|
19
19
|
columns.*,
|
|
20
|
-
CASE WHEN key_column_usage.column_name IS NOT NULL THEN 1 ELSE 0 END AS is_primary_key
|
|
20
|
+
CASE WHEN key_column_usage.column_name IS NOT NULL THEN 1 ELSE 0 END AS is_primary_key,
|
|
21
|
+
col_description((columns.table_schema || '.' || columns.table_name)::regclass, columns.ordinal_position) AS column_comment
|
|
21
22
|
|
|
22
23
|
FROM
|
|
23
24
|
information_schema.columns AS columns
|
|
@@ -104,4 +105,4 @@ export default class VelociousDatabaseDriversPgsqlTable extends BaseTable {
|
|
|
104
105
|
return this.data.table_name;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvZHJpdmVycy9wZ3NxbC90YWJsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDeEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFBO0FBRXpDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0NBQW1DLFNBQVEsU0FBUztJQUN2RTs7O09BR0c7SUFDSCxZQUFZLE1BQU0sRUFBRSxJQUFJO1FBQ3RCLEtBQUssRUFBRSxDQUFBO1FBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBdUJYLElBQUksQ0FBQyxPQUFPLEVBQUU7S0FDekMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWxCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRXJDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdEIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEdBQUcsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBb0JVLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzNELENBQUE7UUFFRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFBO1FBRXRCLEtBQUssTUFBTSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7WUFFaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRWpDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7OzZCQVl4QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNyRCxDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFFbEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFFckQsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2VUYWJsZSBmcm9tIFwiLi4vYmFzZS10YWJsZS5qc1wiXG5pbXBvcnQgQ29sdW1uIGZyb20gXCIuL2NvbHVtbi5qc1wiXG5pbXBvcnQgQ29sdW1uc0luZGV4IGZyb20gXCIuL2NvbHVtbnMtaW5kZXguanNcIlxuaW1wb3J0IEZvcmVpZ25LZXkgZnJvbSBcIi4vZm9yZWlnbi1rZXkuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZURyaXZlcnNQZ3NxbFRhYmxlIGV4dGVuZHMgQmFzZVRhYmxlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vYmFzZS5qc1wiKS5kZWZhdWx0fSBkcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gZGF0YSAtIERhdGEgcGF5bG9hZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRyaXZlciwgZGF0YSkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmRhdGEgPSBkYXRhXG4gICAgdGhpcy5kcml2ZXIgPSBkcml2ZXJcbiAgfVxuXG4gIGFzeW5jIGdldENvbHVtbnMoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kcml2ZXIucXVlcnkoYFxuICAgICAgU0VMRUNUXG4gICAgICAgIGNvbHVtbnMuKixcbiAgICAgICAgQ0FTRSBXSEVOIGtleV9jb2x1bW5fdXNhZ2UuY29sdW1uX25hbWUgSVMgTk9UIE5VTEwgVEhFTiAxIEVMU0UgMCBFTkQgQVMgaXNfcHJpbWFyeV9rZXksXG4gICAgICAgIGNvbF9kZXNjcmlwdGlvbigoY29sdW1ucy50YWJsZV9zY2hlbWEgfHwgJy4nIHx8IGNvbHVtbnMudGFibGVfbmFtZSk6OnJlZ2NsYXNzLCBjb2x1bW5zLm9yZGluYWxfcG9zaXRpb24pIEFTIGNvbHVtbl9jb21tZW50XG5cbiAgICAgIEZST01cbiAgICAgICAgaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgQVMgY29sdW1uc1xuXG4gICAgICBMRUZUIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlX2NvbnN0cmFpbnRzIEFTIHRhYmxlX2NvbnN0cmFpbnRzIE9OXG4gICAgICAgIHRhYmxlX2NvbnN0cmFpbnRzLnRhYmxlX25hbWUgPSBjb2x1bW5zLnRhYmxlX25hbWUgQU5EXG4gICAgICAgIHRhYmxlX2NvbnN0cmFpbnRzLnRhYmxlX3NjaGVtYSA9IGNvbHVtbnMudGFibGVfc2NoZW1hIEFORFxuICAgICAgICB0YWJsZV9jb25zdHJhaW50cy5jb25zdHJhaW50X3R5cGUgPSAnUFJJTUFSWSBLRVknXG5cbiAgICAgIExFRlQgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEua2V5X2NvbHVtbl91c2FnZSBBUyBrZXlfY29sdW1uX3VzYWdlIE9OXG4gICAgICAgIGtleV9jb2x1bW5fdXNhZ2UuY29uc3RyYWludF9uYW1lID0gdGFibGVfY29uc3RyYWludHMuY29uc3RyYWludF9uYW1lIEFORFxuICAgICAgICBrZXlfY29sdW1uX3VzYWdlLnRhYmxlX3NjaGVtYSA9IHRhYmxlX2NvbnN0cmFpbnRzLnRhYmxlX3NjaGVtYSBBTkRcbiAgICAgICAga2V5X2NvbHVtbl91c2FnZS50YWJsZV9uYW1lID0gY29sdW1ucy50YWJsZV9uYW1lIEFORFxuICAgICAgICBrZXlfY29sdW1uX3VzYWdlLmNvbHVtbl9uYW1lID0gY29sdW1ucy5jb2x1bW5fbmFtZVxuXG4gICAgICBXSEVSRVxuICAgICAgICBjb2x1bW5zLnRhYmxlX2NhdGFsb2cgPSBDVVJSRU5UX0RBVEFCQVNFKCkgQU5EXG4gICAgICAgIGNvbHVtbnMudGFibGVfc2NoZW1hID0gJ3B1YmxpYycgQU5EXG4gICAgICAgIGNvbHVtbnMudGFibGVfbmFtZSA9ICcke3RoaXMuZ2V0TmFtZSgpfSdcbiAgICBgKVxuICAgIGNvbnN0IGNvbHVtbnMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBkYXRhIG9mIHJlc3VsdCkge1xuICAgICAgY29uc3QgY29sdW1uID0gbmV3IENvbHVtbih0aGlzLCBkYXRhKVxuXG4gICAgICBjb2x1bW5zLnB1c2goY29sdW1uKVxuICAgIH1cblxuICAgIHJldHVybiBjb2x1bW5zXG4gIH1cblxuICBhc3luYyBnZXRGb3JlaWduS2V5cygpIHtcbiAgICBjb25zdCBzcWwgPSBgXG4gICAgICBTRUxFQ1RcbiAgICAgICAgdGMuY29uc3RyYWludF9uYW1lLFxuICAgICAgICB0Yy50YWJsZV9uYW1lLFxuICAgICAgICBrY3UuY29sdW1uX25hbWUsXG4gICAgICAgIGNjdS50YWJsZV9uYW1lIEFTIGZvcmVpZ25fdGFibGVfbmFtZSxcbiAgICAgICAgY2N1LmNvbHVtbl9uYW1lIEFTIGZvcmVpZ25fY29sdW1uX25hbWVcblxuICAgICAgRlJPTVxuICAgICAgICBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVfY29uc3RyYWludHMgQVMgdGNcblxuICAgICAgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEua2V5X2NvbHVtbl91c2FnZSBBUyBrY3UgT05cbiAgICAgICAgdGMuY29uc3RyYWludF9uYW1lID0ga2N1LmNvbnN0cmFpbnRfbmFtZVxuXG4gICAgICBKT0lOIGluZm9ybWF0aW9uX3NjaGVtYS5jb25zdHJhaW50X2NvbHVtbl91c2FnZSBBUyBjY3VcbiAgICAgICAgT04gY2N1LmNvbnN0cmFpbnRfbmFtZSA9IHRjLmNvbnN0cmFpbnRfbmFtZVxuXG4gICAgICBXSEVSRVxuICAgICAgICBjb25zdHJhaW50X3R5cGUgPSAnRk9SRUlHTiBLRVknIEFORFxuICAgICAgICB0Yy50YWJsZV9jYXRhbG9nID0gQ1VSUkVOVF9EQVRBQkFTRSgpIEFORFxuICAgICAgICB0Yy50YWJsZV9uYW1lID0gJHt0aGlzLmdldERyaXZlcigpLnF1b3RlKHRoaXMuZ2V0TmFtZSgpKX1cbiAgICBgXG5cbiAgICBjb25zdCBmb3JlaWduS2V5Um93cyA9IGF3YWl0IHRoaXMuZ2V0RHJpdmVyKCkucXVlcnkoc3FsKVxuICAgIGNvbnN0IGZvcmVpZ25LZXlzID0gW11cblxuICAgIGZvciAoY29uc3QgZm9yZWlnbktleVJvdyBvZiBmb3JlaWduS2V5Um93cykge1xuICAgICAgY29uc3QgZm9yZWlnbktleSA9IG5ldyBGb3JlaWduS2V5KGZvcmVpZ25LZXlSb3cpXG5cbiAgICAgIGZvcmVpZ25LZXlzLnB1c2goZm9yZWlnbktleSlcbiAgICB9XG5cbiAgICByZXR1cm4gZm9yZWlnbktleXNcbiAgfVxuXG4gIGFzeW5jIGdldEluZGV4ZXMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG5cbiAgICBjb25zdCBpbmRleGVzUm93cyA9IGF3YWl0IHRoaXMuZ2V0RHJpdmVyKCkucXVlcnkoYFxuICAgICAgU0VMRUNUXG4gICAgICAgIHBnX2F0dHJpYnV0ZS5hdHRuYW1lIEFTIGNvbHVtbl9uYW1lLFxuICAgICAgICBwZ19pbmRleC5pbmRleHJlbGlkOjpyZWdjbGFzcyBhcyBpbmRleF9uYW1lLFxuICAgICAgICBwZ19jbGFzcy5yZWxuYW1lc3BhY2U6OnJlZ25hbWVzcGFjZSBhcyBzY2hlbWFfbmFtZSxcbiAgICAgICAgcGdfY2xhc3MucmVsbmFtZSBhcyB0YWJsZV9uYW1lLFxuICAgICAgICBwZ19pbmRleC5pbmRpc3ByaW1hcnkgYXMgaXNfcHJpbWFyeV9rZXksXG4gICAgICAgIHBnX2luZGV4LmluZGlzdW5pcXVlIGFzIGlzX3VuaXF1ZVxuICAgICAgRlJPTSBwZ19pbmRleFxuICAgICAgSk9JTiBwZ19jbGFzcyBPTiBwZ19jbGFzcy5vaWQgPSBwZ19pbmRleC5pbmRyZWxpZFxuICAgICAgSk9JTiBwZ19hdHRyaWJ1dGUgT04gcGdfYXR0cmlidXRlLmF0dHJlbGlkID0gcGdfY2xhc3Mub2lkIEFORCBwZ19hdHRyaWJ1dGUuYXR0bnVtID0gQU5ZKHBnX2luZGV4LmluZGtleSlcbiAgICAgIFdIRVJFXG4gICAgICAgIHBnX2NsYXNzLnJlbG5hbWUgPSAke29wdGlvbnMucXVvdGUodGhpcy5nZXROYW1lKCkpfVxuICAgIGApXG5cbiAgICBjb25zdCBpbmRleGVzID0gW11cblxuICAgIGZvciAoY29uc3QgaW5kZXhSb3cgb2YgaW5kZXhlc1Jvd3MpIHtcbiAgICAgIGNvbnN0IGNvbHVtbnNJbmRleCA9IG5ldyBDb2x1bW5zSW5kZXgodGhpcywgaW5kZXhSb3cpXG5cbiAgICAgIGluZGV4ZXMucHVzaChjb2x1bW5zSW5kZXgpXG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGV4ZXNcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSB0YWJsZSBuYW1lLiAqL1xuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEudGFibGVfbmFtZVxuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;
|
|
1
|
+
{"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;CAyD7B;sBAzEqB,WAAW;sBAEX,wBAAwB"}
|
|
@@ -50,7 +50,17 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
|
|
|
50
50
|
columnsCount++;
|
|
51
51
|
}
|
|
52
52
|
sqls.push(sql);
|
|
53
|
+
if (databaseType == "pgsql") {
|
|
54
|
+
for (const column of tableData.getColumns()) {
|
|
55
|
+
if (!column.isNewColumn() || column.getDropColumn())
|
|
56
|
+
continue;
|
|
57
|
+
const notes = column.getNotesForDatabase(databaseType);
|
|
58
|
+
if (!notes)
|
|
59
|
+
continue;
|
|
60
|
+
sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(column.getActualName())} IS ${options.quote(notes)}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
53
63
|
return sqls;
|
|
54
64
|
}
|
|
55
65
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXItdGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS9hbHRlci10YWJsZS1iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDMUQsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQ0FBcUMsU0FBUSxTQUFTO0lBQ3pFOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0RixLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDL0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2YsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFakMsSUFBSSxHQUFHLEdBQUcsZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUE7UUFDdkUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXBCLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxZQUFZLEdBQUcsQ0FBQztnQkFBRSxHQUFHLElBQUksSUFBSSxDQUFBO1lBRWpDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsSUFBSSxNQUFNLENBQUE7Z0JBQ2IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsR0FBRyxJQUFJLGlCQUFpQixPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtZQUN4SCxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ2xDLEdBQUcsSUFBSSxlQUFlLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxZQUFZLElBQUksT0FBTyxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDdkQsR0FBRyxJQUFJLGVBQWUsQ0FBQTtnQkFDeEIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxTQUFTLENBQUE7Z0JBQ2xCLENBQUM7Z0JBRUQsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQ3ZFLENBQUM7WUFHRCxZQUFZLEVBQUUsQ0FBQTtRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVkLElBQUksWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzVCLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtvQkFBRSxTQUFRO2dCQUU3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBRXRELElBQUksQ0FBQyxLQUFLO29CQUFFLFNBQVE7Z0JBRXBCLElBQUksQ0FBQyxJQUFJLENBQ1AscUJBQXFCLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pKLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVF1ZXJ5QWx0ZXJUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VGFibGVEYXRhfSBhcmdzLnRhYmxlRGF0YSAtIFRhYmxlIGRhdGEuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZHJpdmVyLCB0YWJsZURhdGEsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoISh0YWJsZURhdGEgaW5zdGFuY2VvZiBUYWJsZURhdGEpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHRhYmxlIGRhdGEgd2FzIGdpdmVuXCIpXG5cbiAgICBzdXBlcih7ZHJpdmVyfSlcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TUUxzKCkge1xuICAgIGNvbnN0IGRhdGFiYXNlVHlwZSA9IHRoaXMuZ2V0RHJpdmVyKCkuZ2V0VHlwZSgpXG4gICAgY29uc3Qgc3FscyA9IFtdXG4gICAgY29uc3Qge3RhYmxlRGF0YX0gPSB0aGlzXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG5cbiAgICBsZXQgc3FsID0gYEFMVEVSIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0YWJsZURhdGEuZ2V0TmFtZSgpKX0gYFxuICAgIGxldCBjb2x1bW5zQ291bnQgPSAwXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBpZiAoY29sdW1uc0NvdW50ID4gMCkgc3FsICs9IFwiLCBcIlxuXG4gICAgICBpZiAoY29sdW1uLmlzTmV3Q29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IFwiQUREIFwiXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IGZhbHNlfSlcbiAgICAgIH0gZWxzZSBpZiAoY29sdW1uLmdldE5ld05hbWUoKSkge1xuICAgICAgICBzcWwgKz0gYFJFTkFNRSBDT0xVTU4gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmFtZSgpKX0gVE8gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmV3TmFtZSgpKX1gXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXREcm9wQ29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IGBEUk9QIENPTFVNTiAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiIHx8IGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgICBzcWwgKz0gXCJBTFRFUiBDT0xVTU4gXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcWwgKz0gXCJNT0RJRlkgXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IHRydWV9KVxuICAgICAgfVxuXG5cbiAgICAgIGNvbHVtbnNDb3VudCsrXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmlzTmV3Q29sdW1uKCkgfHwgY29sdW1uLmdldERyb3BDb2x1bW4oKSkgY29udGludWVcblxuICAgICAgICBjb25zdCBub3RlcyA9IGNvbHVtbi5nZXROb3Rlc0ZvckRhdGFiYXNlKGRhdGFiYXNlVHlwZSlcblxuICAgICAgICBpZiAoIW5vdGVzKSBjb250aW51ZVxuXG4gICAgICAgIHNxbHMucHVzaChcbiAgICAgICAgICBgQ09NTUVOVCBPTiBDT0xVTU4gJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKHRhYmxlRGF0YS5nZXROYW1lKCkpfS4ke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXRBY3R1YWxOYW1lKCkpfSBJUyAke29wdGlvbnMucXVvdGUobm90ZXMpfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxzXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-table-base.js"],"names":[],"mappings":"AAQA;IACE;;;;;;OAMG;IACH,oEALG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACrB,WAAW,GAA1B,OAAO;QACQ,kBAAkB,GAAjC,OAAO;QACS,SAAS,EAAzB,SAAS;KACnB,EAQA;IAHC,qBAA8B;IAC9B,4BAA4C;IAC5C,qBAA0B;IAG5B;;OAEG;IACH,SAFa,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"create-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-table-base.js"],"names":[],"mappings":"AAQA;IACE;;;;;;OAMG;IACH,oEALG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACrB,WAAW,GAA1B,OAAO;QACQ,kBAAkB,GAAjC,OAAO;QACS,SAAS,EAAzB,SAAS;KACnB,EAQA;IAHC,qBAA8B;IAC9B,4BAA4C;IAC5C,qBAA0B;IAG5B;;OAEG;IACH,SAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAyJ7B;CACF;sBAjLqB,WAAW;sBAEX,wBAAwB"}
|
|
@@ -93,6 +93,14 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
|
|
|
93
93
|
sql += " END";
|
|
94
94
|
}
|
|
95
95
|
sqls.push(sql);
|
|
96
|
+
if (databaseType == "pgsql") {
|
|
97
|
+
for (const column of tableData.getColumns()) {
|
|
98
|
+
const notes = column.getNotesForDatabase(databaseType);
|
|
99
|
+
if (!notes)
|
|
100
|
+
continue;
|
|
101
|
+
sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(column.getActualName())} IS ${options.quote(notes)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
96
104
|
if (!this.indexInCreateTable) {
|
|
97
105
|
for (const index of tableData.getIndexes()) {
|
|
98
106
|
const createIndexArgs = {
|
|
@@ -134,4 +142,4 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
|
|
|
134
142
|
return sqls;
|
|
135
143
|
}
|
|
136
144
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnkvY3JlYXRlLXRhYmxlLWJhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRCxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5QyxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQTtBQUV2RCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFNBQVM7SUFDMUU7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBQztRQUNyRSxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksU0FBUyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1FBRXRGLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ2xFLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUVaLElBQUksWUFBWSxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMzQyxHQUFHLElBQUksMkRBQTJELE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFBO1FBQ2xJLENBQUM7UUFFRCxHQUFHLElBQUksY0FBYyxDQUFBO1FBRXJCLElBQUksWUFBWSxJQUFJLE9BQU8sSUFBSSxXQUFXO1lBQUUsR0FBRyxJQUFJLGdCQUFnQixDQUFBO1FBRW5FLEdBQUcsSUFBSSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQTtRQUUxRCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUE7UUFFbkIsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QyxXQUFXLEVBQUUsQ0FBQTtZQUViLElBQUksV0FBVyxHQUFHLENBQUM7Z0JBQUUsR0FBRyxJQUFJLElBQUksQ0FBQTtZQUVoQyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUN0RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUMzQyxHQUFHLElBQUksR0FBRyxDQUFBO2dCQUVWLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7b0JBQ3RCLEdBQUcsSUFBSSxTQUFTLENBQUE7Z0JBQ2xCLENBQUM7Z0JBRUQsR0FBRyxJQUFJLFFBQVEsQ0FBQTtnQkFFZixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO29CQUNwQixHQUFHLElBQUksSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUE7Z0JBQ3RELENBQUM7Z0JBRUQsR0FBRyxJQUFJLElBQUksQ0FBQTtnQkFFWCxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO29CQUNqRCxJQUFJLFdBQVcsR0FBRyxDQUFDO3dCQUFFLEdBQUcsSUFBSSxJQUFJLENBQUE7b0JBRWhDLElBQUksTUFBTSxZQUFZLFdBQVcsRUFBRSxDQUFDO3dCQUNsQyxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtvQkFDN0MsQ0FBQzt5QkFBTSxJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO3dCQUNyQyxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkMsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQTtvQkFDMUQsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQTtnQkFFRixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELHlEQUF5RDtZQUN6RCxLQUFLLE1BQU0sTUFBTSxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtvQkFBRSxTQUFRO2dCQUVoQyxJQUFJLFNBQVMsR0FBRyxXQUFXLENBQUE7Z0JBRTNCLElBQUksWUFBWSxJQUFJLFFBQVE7b0JBQUUsR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUE7Z0JBRTlELFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBRTdCLEdBQUcsSUFBSSxHQUFHLENBQUE7Z0JBRVYsTUFBTSxFQUFDLE1BQU0sRUFBRSxHQUFHLGFBQWEsRUFBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtnQkFFeEQsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUU1QixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLEdBQUcsSUFBSSxTQUFTLENBQUE7Z0JBQ2xCLENBQUM7Z0JBRUQsR0FBRyxJQUFJLFVBQVUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUE7WUFDckcsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLElBQUksR0FBRyxDQUFBO1FBRVYsSUFBSSxZQUFZLElBQUksT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzNDLEdBQUcsSUFBSSxNQUFNLENBQUE7UUFDZixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVkLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLGVBQWUsR0FBRztvQkFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUU7b0JBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUN4QixXQUFXLEVBQUUsSUFBSTtvQkFDakIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLFNBQVMsRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUM5QixNQUFNLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRTtpQkFDMUIsQ0FBQTtnQkFDRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUUzRSxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztZQUVELHlEQUF5RDtZQUN6RCxLQUFLLE1BQU0sTUFBTSxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtvQkFBRSxTQUFRO2dCQUVoQyxNQUFNLEVBQUMsTUFBTSxFQUFFLEdBQUcsYUFBYSxFQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFBO2dCQUV4RCxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBRTVCLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQTtnQkFFM0IsSUFBSSxZQUFZLElBQUksUUFBUTtvQkFBRSxTQUFTLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQTtnQkFFcEUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFFN0IsTUFBTSxlQUFlLEdBQUc7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3hCLElBQUksRUFBRSxTQUFTO29CQUNmLFNBQVMsRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUM5QixNQUFNO2lCQUNQLENBQUE7Z0JBQ0QsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtnQkFFM0UsS0FBSyxNQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDM0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IENyZWF0ZUluZGV4QmFzZSBmcm9tIFwiLi9jcmVhdGUtaW5kZXgtYmFzZS5qc1wiXG5pbXBvcnQgUXVlcnlCYXNlIGZyb20gXCIuL2Jhc2UuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQgVGFibGVEYXRhIGZyb20gXCIuLi90YWJsZS1kYXRhL2luZGV4LmpzXCJcbmltcG9ydCBUYWJsZUNvbHVtbiBmcm9tIFwiLi4vdGFibGUtZGF0YS90YWJsZS1jb2x1bW4uanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVF1ZXJ5Q3JlYXRlVGFibGVCYXNlIGV4dGVuZHMgUXVlcnlCYXNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MuZHJpdmVyIC0gRGF0YWJhc2UgZHJpdmVyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmlmTm90RXhpc3RzXSAtIFdoZXRoZXIgaWYgbm90IGV4aXN0cy5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5pbmRleEluQ3JlYXRlVGFibGVdIC0gV2hldGhlciBpbmRleCBpbiBjcmVhdGUgdGFibGUuXG4gICAqIEBwYXJhbSB7VGFibGVEYXRhfSBhcmdzLnRhYmxlRGF0YSAtIFRhYmxlIGRhdGEuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZHJpdmVyLCBpZk5vdEV4aXN0cywgaW5kZXhJbkNyZWF0ZVRhYmxlID0gdHJ1ZSwgdGFibGVEYXRhfSkge1xuICAgIGlmICghKHRhYmxlRGF0YSBpbnN0YW5jZW9mIFRhYmxlRGF0YSkpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdGFibGUgZGF0YSB3YXMgZ2l2ZW5cIilcblxuICAgIHN1cGVyKHtkcml2ZXJ9KVxuICAgIHRoaXMuaWZOb3RFeGlzdHMgPSBpZk5vdEV4aXN0c1xuICAgIHRoaXMuaW5kZXhJbkNyZWF0ZVRhYmxlID0gaW5kZXhJbkNyZWF0ZVRhYmxlXG4gICAgdGhpcy50YWJsZURhdGEgPSB0YWJsZURhdGFcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXT59IC0gUmVzb2x2ZXMgd2l0aCBTUUwgc3RhdGVtZW50cy5cbiAgICovXG4gIGFzeW5jIHRvU3FsKCkge1xuICAgIGNvbnN0IGRhdGFiYXNlVHlwZSA9IHRoaXMuZ2V0RGF0YWJhc2VUeXBlKClcbiAgICBjb25zdCBkcml2ZXIgPSB0aGlzLmdldERyaXZlcigpXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG4gICAgY29uc3Qge3RhYmxlRGF0YX0gPSB0aGlzXG4gICAgY29uc3Qgc3FscyA9IFtdXG4gICAgY29uc3QgaWZOb3RFeGlzdHMgPSB0aGlzLmlmTm90RXhpc3RzIHx8IHRhYmxlRGF0YS5nZXRJZk5vdEV4aXN0cygpXG4gICAgbGV0IHNxbCA9IFwiXCJcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiICYmIGlmTm90RXhpc3RzKSB7XG4gICAgICBzcWwgKz0gYElGIE5PVCBFWElTVFMoU0VMRUNUICogRlJPTSBbc3lzb2JqZWN0c10gV0hFUkUgW25hbWVdID0gJHtvcHRpb25zLnF1b3RlKHRhYmxlRGF0YS5nZXROYW1lKCkpfSBBTkQgW3h0eXBlXSA9ICdVJykgQkVHSU4gYFxuICAgIH1cblxuICAgIHNxbCArPSBcIkNSRUFURSBUQUJMRVwiXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlICE9IFwibXNzcWxcIiAmJiBpZk5vdEV4aXN0cykgc3FsICs9IFwiIElGIE5PVCBFWElTVFNcIlxuXG4gICAgc3FsICs9IGAgJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKHRhYmxlRGF0YS5nZXROYW1lKCkpfSAoYFxuXG4gICAgbGV0IGNvbHVtbkNvdW50ID0gMFxuXG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgY29sdW1uQ291bnQrK1xuXG4gICAgICBpZiAoY29sdW1uQ291bnQgPiAxKSBzcWwgKz0gXCIsIFwiXG5cbiAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXIsIGZvckFsdGVyVGFibGU6IGZhbHNlfSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbmRleEluQ3JlYXRlVGFibGUpIHtcbiAgICAgIGZvciAoY29uc3QgaW5kZXggb2YgdGFibGVEYXRhLmdldEluZGV4ZXMoKSkge1xuICAgICAgICBzcWwgKz0gXCIsXCJcblxuICAgICAgICBpZiAoaW5kZXguZ2V0VW5pcXVlKCkpIHtcbiAgICAgICAgICBzcWwgKz0gXCIgVU5JUVVFXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBcIiBJTkRFWFwiXG5cbiAgICAgICAgaWYgKGluZGV4LmdldE5hbWUoKSkge1xuICAgICAgICAgIHNxbCArPSBgICR7b3B0aW9ucy5xdW90ZUluZGV4TmFtZShpbmRleC5nZXROYW1lKCkpfWBcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBcIiAoXCJcblxuICAgICAgICBpbmRleC5nZXRDb2x1bW5zKCkuZm9yRWFjaCgoY29sdW1uLCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgIGlmIChjb2x1bW5JbmRleCA+IDApIHNxbCArPSBcIiwgXCJcblxuICAgICAgICAgIGlmIChjb2x1bW4gaW5zdGFuY2VvZiBUYWJsZUNvbHVtbikge1xuICAgICAgICAgICAgc3FsICs9IGRyaXZlci5xdW90ZUNvbHVtbihjb2x1bW4uZ2V0TmFtZSgpKVxuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbHVtbiA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBzcWwgKz0gZHJpdmVyLnF1b3RlQ29sdW1uKGNvbHVtbilcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbHVtbiB0eXBlOiAke3R5cGVvZiBjb2x1bW59YClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgc3FsICs9IFwiKVwiXG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBpbmRleGVzIGZvciBhbGwgY29sdW1ucyB3aXRoIHRoZSBpbmRleCBhcmd1bWVudFxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgICBpZiAoIWNvbHVtbi5nZXRJbmRleCgpKSBjb250aW51ZVxuXG4gICAgICAgIGxldCBpbmRleE5hbWUgPSBgaW5kZXhfb25fYFxuXG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJzcWxpdGVcIikgc3FsICs9IGAke3RhYmxlRGF0YS5nZXROYW1lKCl9X2BcblxuICAgICAgICBpbmRleE5hbWUgKz0gY29sdW1uLmdldE5hbWUoKVxuXG4gICAgICAgIHNxbCArPSBcIixcIlxuXG4gICAgICAgIGNvbnN0IHt1bmlxdWUsIC4uLnJlc3RJbmRleEFyZ3N9ID0gY29sdW1uLmdldEluZGV4QXJncygpXG5cbiAgICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0SW5kZXhBcmdzKVxuXG4gICAgICAgIGlmICh1bmlxdWUpIHtcbiAgICAgICAgICBzcWwgKz0gXCIgVU5JUVVFXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBgIElOREVYICR7b3B0aW9ucy5xdW90ZUluZGV4TmFtZShpbmRleE5hbWUpfSAoJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmFtZSgpKX0pYFxuICAgICAgfVxuICAgIH1cblxuICAgIHNxbCArPSBcIilcIlxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIgJiYgaWZOb3RFeGlzdHMpIHtcbiAgICAgIHNxbCArPSBcIiBFTkRcIlxuICAgIH1cblxuICAgIHNxbHMucHVzaChzcWwpXG5cbiAgICBpZiAoIXRoaXMuaW5kZXhJbkNyZWF0ZVRhYmxlKSB7XG4gICAgICBmb3IgKGNvbnN0IGluZGV4IG9mIHRhYmxlRGF0YS5nZXRJbmRleGVzKCkpIHtcbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhBcmdzID0ge1xuICAgICAgICAgIGNvbHVtbnM6IGluZGV4LmdldENvbHVtbnMoKSxcbiAgICAgICAgICBkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksXG4gICAgICAgICAgaWZOb3RFeGlzdHM6IHRydWUsXG4gICAgICAgICAgbmFtZTogaW5kZXguZ2V0TmFtZSgpLFxuICAgICAgICAgIHRhYmxlTmFtZTogdGFibGVEYXRhLmdldE5hbWUoKSxcbiAgICAgICAgICB1bmlxdWU6IGluZGV4LmdldFVuaXF1ZSgpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZShjcmVhdGVJbmRleEFyZ3MpLnRvU1FMcygpXG5cbiAgICAgICAgZm9yIChjb25zdCBjcmVhdGVJbmRleFNRTCBvZiBjcmVhdGVJbmRleFNRTHMpIHtcbiAgICAgICAgICBzcWxzLnB1c2goY3JlYXRlSW5kZXhTUUwpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGluZGV4ZXMgZm9yIGFsbCBjb2x1bW5zIHdpdGggdGhlIGluZGV4IGFyZ3VtZW50XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmdldEluZGV4KCkpIGNvbnRpbnVlXG5cbiAgICAgICAgY29uc3Qge3VuaXF1ZSwgLi4ucmVzdEluZGV4QXJnc30gPSBjb2x1bW4uZ2V0SW5kZXhBcmdzKClcblxuICAgICAgICByZXN0QXJnc0Vycm9yKHJlc3RJbmRleEFyZ3MpXG5cbiAgICAgICAgbGV0IGluZGV4TmFtZSA9IGBpbmRleF9vbl9gXG5cbiAgICAgICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSBpbmRleE5hbWUgKz0gYCR7dGFibGVEYXRhLmdldE5hbWUoKX1fYFxuXG4gICAgICAgIGluZGV4TmFtZSArPSBjb2x1bW4uZ2V0TmFtZSgpXG5cbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhBcmdzID0ge1xuICAgICAgICAgIGNvbHVtbnM6IFtjb2x1bW4uZ2V0TmFtZSgpXSxcbiAgICAgICAgICBkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksXG4gICAgICAgICAgbmFtZTogaW5kZXhOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZTogdGFibGVEYXRhLmdldE5hbWUoKSxcbiAgICAgICAgICB1bmlxdWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjcmVhdGVJbmRleFNRTHMgPSBhd2FpdCBuZXcgQ3JlYXRlSW5kZXhCYXNlKGNyZWF0ZUluZGV4QXJncykudG9TUUxzKClcblxuICAgICAgICBmb3IgKGNvbnN0IGNyZWF0ZUluZGV4U1FMIG9mIGNyZWF0ZUluZGV4U1FMcykge1xuICAgICAgICAgIHNxbHMucHVzaChjcmVhdGVJbmRleFNRTClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxzXG4gIH1cbn1cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnkvY3JlYXRlLXRhYmxlLWJhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRCxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5QyxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQTtBQUV2RCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFNBQVM7SUFDMUU7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBQztRQUNyRSxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksU0FBUyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1FBRXRGLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFB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TUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUU7b0JBQzlCLE1BQU07aUJBQ1AsQ0FBQTtnQkFDRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUUzRSxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ3JlYXRlSW5kZXhCYXNlIGZyb20gXCIuL2NyZWF0ZS1pbmRleC1iYXNlLmpzXCJcbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuaW1wb3J0IFRhYmxlQ29sdW1uIGZyb20gXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlDcmVhdGVUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuaWZOb3RFeGlzdHNdIC0gV2hldGhlciBpZiBub3QgZXhpc3RzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmluZGV4SW5DcmVhdGVUYWJsZV0gLSBXaGV0aGVyIGluZGV4IGluIGNyZWF0ZSB0YWJsZS5cbiAgICogQHBhcmFtIHtUYWJsZURhdGF9IGFyZ3MudGFibGVEYXRhIC0gVGFibGUgZGF0YS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtkcml2ZXIsIGlmTm90RXhpc3RzLCBpbmRleEluQ3JlYXRlVGFibGUgPSB0cnVlLCB0YWJsZURhdGF9KSB7XG4gICAgaWYgKCEodGFibGVEYXRhIGluc3RhbmNlb2YgVGFibGVEYXRhKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB0YWJsZSBkYXRhIHdhcyBnaXZlblwiKVxuXG4gICAgc3VwZXIoe2RyaXZlcn0pXG4gICAgdGhpcy5pZk5vdEV4aXN0cyA9IGlmTm90RXhpc3RzXG4gICAgdGhpcy5pbmRleEluQ3JlYXRlVGFibGUgPSBpbmRleEluQ3JlYXRlVGFibGVcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TcWwoKSB7XG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gdGhpcy5nZXREYXRhYmFzZVR5cGUoKVxuICAgIGNvbnN0IGRyaXZlciA9IHRoaXMuZ2V0RHJpdmVyKClcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKClcbiAgICBjb25zdCB7dGFibGVEYXRhfSA9IHRoaXNcbiAgICBjb25zdCBzcWxzID0gW11cbiAgICBjb25zdCBpZk5vdEV4aXN0cyA9IHRoaXMuaWZOb3RFeGlzdHMgfHwgdGFibGVEYXRhLmdldElmTm90RXhpc3RzKClcbiAgICBsZXQgc3FsID0gXCJcIlxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIgJiYgaWZOb3RFeGlzdHMpIHtcbiAgICAgIHNxbCArPSBgSUYgTk9UIEVYSVNUUyhTRUxFQ1QgKiBGUk9NIFtzeXNvYmplY3RzXSBXSEVSRSBbbmFtZV0gPSAke29wdGlvbnMucXVvdGUodGFibGVEYXRhLmdldE5hbWUoKSl9IEFORCBbeHR5cGVdID0gJ1UnKSBCRUdJTiBgXG4gICAgfVxuXG4gICAgc3FsICs9IFwiQ1JFQVRFIFRBQkxFXCJcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgIT0gXCJtc3NxbFwiICYmIGlmTm90RXhpc3RzKSBzcWwgKz0gXCIgSUYgTk9UIEVYSVNUU1wiXG5cbiAgICBzcWwgKz0gYCAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9IChgXG5cbiAgICBsZXQgY29sdW1uQ291bnQgPSAwXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBjb2x1bW5Db3VudCsrXG5cbiAgICAgIGlmIChjb2x1bW5Db3VudCA+IDEpIHNxbCArPSBcIiwgXCJcblxuICAgICAgc3FsICs9IGNvbHVtbi5nZXRTUUwoe2RyaXZlciwgZm9yQWx0ZXJUYWJsZTogZmFsc2V9KVxuICAgIH1cblxuICAgIGlmICh0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuXG4gICAgICAgIGlmIChpbmRleC5nZXRVbmlxdWUoKSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIElOREVYXCJcblxuICAgICAgICBpZiAoaW5kZXguZ2V0TmFtZSgpKSB7XG4gICAgICAgICAgc3FsICs9IGAgJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4LmdldE5hbWUoKSl9YFxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIChcIlxuXG4gICAgICAgIGluZGV4LmdldENvbHVtbnMoKS5mb3JFYWNoKChjb2x1bW4sIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGNvbHVtbkluZGV4ID4gMCkgc3FsICs9IFwiLCBcIlxuXG4gICAgICAgICAgaWYgKGNvbHVtbiBpbnN0YW5jZW9mIFRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICBzcWwgKz0gZHJpdmVyLnF1b3RlQ29sdW1uKGNvbHVtbi5nZXROYW1lKCkpXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29sdW1uID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHNxbCArPSBkcml2ZXIucXVvdGVDb2x1bW4oY29sdW1uKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZW9mIGNvbHVtbn1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBzcWwgKz0gXCIpXCJcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGluZGV4ZXMgZm9yIGFsbCBjb2x1bW5zIHdpdGggdGhlIGluZGV4IGFyZ3VtZW50XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmdldEluZGV4KCkpIGNvbnRpbnVlXG5cbiAgICAgICAgbGV0IGluZGV4TmFtZSA9IGBpbmRleF9vbl9gXG5cbiAgICAgICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSBzcWwgKz0gYCR7dGFibGVEYXRhLmdldE5hbWUoKX1fYFxuXG4gICAgICAgIGluZGV4TmFtZSArPSBjb2x1bW4uZ2V0TmFtZSgpXG5cbiAgICAgICAgc3FsICs9IFwiLFwiXG5cbiAgICAgICAgY29uc3Qge3VuaXF1ZSwgLi4ucmVzdEluZGV4QXJnc30gPSBjb2x1bW4uZ2V0SW5kZXhBcmdzKClcblxuICAgICAgICByZXN0QXJnc0Vycm9yKHJlc3RJbmRleEFyZ3MpXG5cbiAgICAgICAgaWYgKHVuaXF1ZSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGAgSU5ERVggJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4TmFtZSl9ICgke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfSlgXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3FsICs9IFwiKVwiXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwibXNzcWxcIiAmJiBpZk5vdEV4aXN0cykge1xuICAgICAgc3FsICs9IFwiIEVORFwiXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGNvbnN0IG5vdGVzID0gY29sdW1uLmdldE5vdGVzRm9yRGF0YWJhc2UoZGF0YWJhc2VUeXBlKVxuXG4gICAgICAgIGlmICghbm90ZXMpIGNvbnRpbnVlXG5cbiAgICAgICAgc3Fscy5wdXNoKFxuICAgICAgICAgIGBDT01NRU5UIE9OIENPTFVNTiAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9LiR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoY29sdW1uLmdldEFjdHVhbE5hbWUoKSl9IElTICR7b3B0aW9ucy5xdW90ZShub3Rlcyl9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBpbmRleC5nZXRDb2x1bW5zKCksXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIGlmTm90RXhpc3RzOiB0cnVlLFxuICAgICAgICAgIG5hbWU6IGluZGV4LmdldE5hbWUoKSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlOiBpbmRleC5nZXRVbmlxdWUoKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4U1FMcyA9IGF3YWl0IG5ldyBDcmVhdGVJbmRleEJhc2UoY3JlYXRlSW5kZXhBcmdzKS50b1NRTHMoKVxuXG4gICAgICAgIGZvciAoY29uc3QgY3JlYXRlSW5kZXhTUUwgb2YgY3JlYXRlSW5kZXhTUUxzKSB7XG4gICAgICAgICAgc3Fscy5wdXNoKGNyZWF0ZUluZGV4U1FMKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBpbmRleGVzIGZvciBhbGwgY29sdW1ucyB3aXRoIHRoZSBpbmRleCBhcmd1bWVudFxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgICBpZiAoIWNvbHVtbi5nZXRJbmRleCgpKSBjb250aW51ZVxuXG4gICAgICAgIGNvbnN0IHt1bmlxdWUsIC4uLnJlc3RJbmRleEFyZ3N9ID0gY29sdW1uLmdldEluZGV4QXJncygpXG5cbiAgICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0SW5kZXhBcmdzKVxuXG4gICAgICAgIGxldCBpbmRleE5hbWUgPSBgaW5kZXhfb25fYFxuXG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJzcWxpdGVcIikgaW5kZXhOYW1lICs9IGAke3RhYmxlRGF0YS5nZXROYW1lKCl9X2BcblxuICAgICAgICBpbmRleE5hbWUgKz0gY29sdW1uLmdldE5hbWUoKVxuXG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBbY29sdW1uLmdldE5hbWUoKV0sXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIG5hbWU6IGluZGV4TmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZShjcmVhdGVJbmRleEFyZ3MpLnRvU1FMcygpXG5cbiAgICAgICAgZm9yIChjb25zdCBjcmVhdGVJbmRleFNRTCBvZiBjcmVhdGVJbmRleFNRTHMpIHtcbiAgICAgICAgICBzcWxzLnB1c2goY3JlYXRlSW5kZXhTUUwpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {{[key: string]: string | number | boolean | null | Array<string | number | boolean | null> | Record<string, any>}} WhereHash
|
|
3
|
-
*/
|
|
4
1
|
export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase {
|
|
5
2
|
/**
|
|
6
3
|
* @param {object} args - Options object.
|
|
@@ -46,6 +43,18 @@ export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase
|
|
|
46
43
|
columnName: string;
|
|
47
44
|
value: any;
|
|
48
45
|
}): any;
|
|
46
|
+
/**
|
|
47
|
+
* @param {object} args - Options object.
|
|
48
|
+
* @param {typeof import("../record/index.js").default} args.modelClass - Model class.
|
|
49
|
+
* @param {string} args.columnName - Column name.
|
|
50
|
+
* @param {any} args.value - Value to normalize.
|
|
51
|
+
* @returns {any} - Normalized value.
|
|
52
|
+
*/
|
|
53
|
+
_normalizeValueForColumnType({ modelClass, columnName, value }: {
|
|
54
|
+
modelClass: typeof import("../record/index.js").default;
|
|
55
|
+
columnName: string;
|
|
56
|
+
value: any;
|
|
57
|
+
}): any;
|
|
49
58
|
/**
|
|
50
59
|
* @param {WhereHash} hash - Hash.
|
|
51
60
|
* @param {typeof import("../record/index.js").default} modelClass - Model class.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-model-class-hash.d.ts","sourceRoot":"","sources":["../../../../src/database/query/where-model-class-hash.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"where-model-class-hash.d.ts","sourceRoot":"","sources":["../../../../src/database/query/where-model-class-hash.js"],"names":[],"mappings":"AAWA;IACE;;;;;;OAMG;IACH,2DALG;QAA2C,KAAK,EAAxC,OAAO,YAAY,EAAE,OAAO;QACZ,IAAI,EAApB,SAAS;QACyC,UAAU,EAA5D,cAAc,oBAAoB,EAAE,OAAO;QAC5B,gBAAgB,GAA/B,OAAO;KACjB,EAOA;IAJC,gBAAgB;IAChB,wDAA4B;IAC5B,0BAAwC;IAI1C;;OAEG;IACH,iBAFa,cAAc,oBAAoB,EAAE,OAAO,CAMvD;IAgBD;;;;OAIG;IACH,+BAJW,cAAc,oBAAoB,EAAE,OAAO,OAC3C,MAAM,GACJ,MAAM,GAAG,SAAS,CAS9B;IAED;;;;OAIG;IACH,6BAJW,cAAc,oBAAoB,EAAE,OAAO,oBAC3C,MAAM,GACJ,OAAO,iCAAiC,EAAE,OAAO,GAAG,SAAS,CAIzE;IAED;;;;;;OAMG;IACH,gEALG;QAA0D,UAAU,EAA5D,cAAc,oBAAoB,EAAE,OAAO;QAC9B,UAAU,EAAvB,MAAM;QACI,KAAK,EAAf,GAAG;KACX,GAAU,GAAG,CAqBf;IAED;;;;;;OAMG;IACH,gEALG;QAA0D,UAAU,EAA5D,cAAc,oBAAoB,EAAE,OAAO;QAC9B,UAAU,EAAvB,MAAM;QACI,KAAK,EAAf,GAAG;KACX,GAAU,GAAG,CAkCf;IAED;;;;;;OAMG;IACH,wBANW,SAAS,cACT,cAAc,oBAAoB,EAAE,OAAO,cAC3C,MAAM,UACN,MAAM,GACJ,MAAM,CA4ElB;CACF;wBA1NY;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC;sBAHxG,iBAAiB"}
|
|
@@ -4,6 +4,7 @@ import WhereBase from "./where-base.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* @typedef {{[key: string]: string | number | boolean | null | Array<string | number | boolean | null> | Record<string, any>}} WhereHash
|
|
6
6
|
*/
|
|
7
|
+
const NO_MATCH = Symbol("no-match");
|
|
7
8
|
export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase {
|
|
8
9
|
/**
|
|
9
10
|
* @param {object} args - Options object.
|
|
@@ -84,6 +85,41 @@ export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase
|
|
|
84
85
|
}
|
|
85
86
|
return normalize(value);
|
|
86
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* @param {object} args - Options object.
|
|
90
|
+
* @param {typeof import("../record/index.js").default} args.modelClass - Model class.
|
|
91
|
+
* @param {string} args.columnName - Column name.
|
|
92
|
+
* @param {any} args.value - Value to normalize.
|
|
93
|
+
* @returns {any} - Normalized value.
|
|
94
|
+
*/
|
|
95
|
+
_normalizeValueForColumnType({ modelClass, columnName, value }) {
|
|
96
|
+
const columnType = modelClass.getColumnTypeByName(columnName);
|
|
97
|
+
if (!columnType || typeof columnType != "string")
|
|
98
|
+
return value;
|
|
99
|
+
const normalizedType = columnType.toLowerCase();
|
|
100
|
+
const stringTypes = new Set(["char", "varchar", "nvarchar", "string", "enum", "json", "jsonb", "citext", "binary", "varbinary"]);
|
|
101
|
+
const isUuidType = normalizedType.includes("uuid");
|
|
102
|
+
const shouldCoerceToString = normalizedType.includes("uuid") ||
|
|
103
|
+
normalizedType.includes("text") ||
|
|
104
|
+
stringTypes.has(normalizedType);
|
|
105
|
+
const normalize = (entry) => {
|
|
106
|
+
if (isUuidType && typeof entry === "number")
|
|
107
|
+
return NO_MATCH;
|
|
108
|
+
if (!shouldCoerceToString || typeof entry !== "number")
|
|
109
|
+
return entry;
|
|
110
|
+
return String(entry);
|
|
111
|
+
};
|
|
112
|
+
if (Array.isArray(value)) {
|
|
113
|
+
const normalized = value.map((entry) => normalize(entry)).filter((entry) => entry !== NO_MATCH);
|
|
114
|
+
if (isUuidType && normalized.length === 0)
|
|
115
|
+
return NO_MATCH;
|
|
116
|
+
return normalized;
|
|
117
|
+
}
|
|
118
|
+
const normalized = normalize(value);
|
|
119
|
+
if (normalized === NO_MATCH)
|
|
120
|
+
return NO_MATCH;
|
|
121
|
+
return normalized;
|
|
122
|
+
}
|
|
87
123
|
/**
|
|
88
124
|
* @param {WhereHash} hash - Hash.
|
|
89
125
|
* @param {typeof import("../record/index.js").default} modelClass - Model class.
|
|
@@ -116,29 +152,39 @@ export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase
|
|
|
116
152
|
const columnName = this._resolveColumnName(modelClass, whereKey);
|
|
117
153
|
if (!columnName)
|
|
118
154
|
throw new Error(`Unknown attribute "${whereKey}" for ${modelClass.name}`);
|
|
155
|
+
const columnType = modelClass.getColumnTypeByName(columnName);
|
|
156
|
+
const normalizedValue = this._normalizeSqliteBooleanValue({
|
|
157
|
+
columnName,
|
|
158
|
+
modelClass,
|
|
159
|
+
value: whereValue
|
|
160
|
+
});
|
|
161
|
+
const typedValue = this._normalizeValueForColumnType({
|
|
162
|
+
columnName,
|
|
163
|
+
modelClass,
|
|
164
|
+
value: normalizedValue
|
|
165
|
+
});
|
|
166
|
+
if (typedValue === NO_MATCH) {
|
|
167
|
+
sql += "1=0";
|
|
168
|
+
index++;
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
119
171
|
let columnSql = `${options.quoteColumnName(columnName)}`;
|
|
120
172
|
if (tableName) {
|
|
121
173
|
columnSql = `${options.quoteTableName(tableName)}.${columnSql}`;
|
|
122
174
|
}
|
|
123
|
-
const columnType = modelClass.getColumnTypeByName(columnName);
|
|
124
175
|
const driverType = this.getQuery().driver.getType();
|
|
125
176
|
if (driverType == "mssql" && typeof whereValue === "string" && columnType?.toLowerCase() == "text") {
|
|
126
177
|
columnSql = `CAST(${columnSql} AS NVARCHAR(MAX))`;
|
|
127
178
|
}
|
|
128
179
|
sql += columnSql;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
modelClass,
|
|
132
|
-
value: whereValue
|
|
133
|
-
});
|
|
134
|
-
if (Array.isArray(normalizedValue)) {
|
|
135
|
-
sql += ` IN (${normalizedValue.map((value) => options.quote(value)).join(", ")})`;
|
|
180
|
+
if (Array.isArray(typedValue)) {
|
|
181
|
+
sql += ` IN (${typedValue.map((value) => options.quote(value)).join(", ")})`;
|
|
136
182
|
}
|
|
137
|
-
else if (
|
|
183
|
+
else if (typedValue === null) {
|
|
138
184
|
sql += " IS NULL";
|
|
139
185
|
}
|
|
140
186
|
else {
|
|
141
|
-
sql += ` = ${options.quote(
|
|
187
|
+
sql += ` = ${options.quote(typedValue)}`;
|
|
142
188
|
}
|
|
143
189
|
}
|
|
144
190
|
index++;
|
|
@@ -146,4 +192,4 @@ export default class VelociousDatabaseQueryWhereModelClassHash extends WhereBase
|
|
|
146
192
|
return sql;
|
|
147
193
|
}
|
|
148
194
|
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUtbW9kZWwtY2xhc3MtaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS93aGVyZS1tb2RlbC1jbGFzcy1oYXNoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFFdkM7O0dBRUc7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLHlDQUEwQyxTQUFRLFNBQVM7SUFDOUU7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFHLEtBQUssRUFBQztRQUM3RCxLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQTtRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBRTNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBRWIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUUxRixHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUks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Q0FBQyw0QkFBNEIsQ0FBQztvQkFDeEQsVUFBVTtvQkFDVixVQUFVO29CQUNWLEtBQUssRUFBRSxVQUFVO2lCQUNsQixDQUFDLENBQUE7Z0JBRUYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQ25DLEdBQUcsSUFBSSxRQUFRLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtnQkFDbkYsQ0FBQztxQkFBTSxJQUFJLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDcEMsR0FBRyxJQUFJLFVBQVUsQ0FBQTtnQkFDbkIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQTtnQkFDL0MsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLEVBQUUsQ0FBQTtRQUNULENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2lzUGxhaW5PYmplY3R9IGZyb20gXCJpcy1wbGFpbi1vYmplY3RcIlxuaW1wb3J0IFdoZXJlQmFzZSBmcm9tIFwiLi93aGVyZS1iYXNlLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7e1trZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw+IHwgUmVjb3JkPHN0cmluZywgYW55Pn19IFdoZXJlSGFzaFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlXaGVyZU1vZGVsQ2xhc3NIYXNoIGV4dGVuZHMgV2hlcmVCYXNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7V2hlcmVIYXNofSBhcmdzLmhhc2ggLSBIYXNoLlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MucXVhbGlmeUJhc2VUYWJsZV0gLSBXaGV0aGVyIHRvIHF1YWxpZnkgYmFzZSB0YWJsZSBjb2x1bW5zLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe3F1ZXJ5LCBoYXNoLCBtb2RlbENsYXNzLCBxdWFsaWZ5QmFzZVRhYmxlID0gZmFsc2V9KSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuaGFzaCA9IGhhc2hcbiAgICB0aGlzLm1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG4gICAgdGhpcy5xdWFsaWZ5QmFzZVRhYmxlID0gcXVhbGlmeUJhc2VUYWJsZVxuICAgIHRoaXMucXVlcnkgPSBxdWVyeVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IC0gVGhlIG1vZGVsIGNsYXNzLlxuICAgKi9cbiAgZ2V0TW9kZWxDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMubW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKFwibW9kZWxDbGFzcyBub3Qgc2V0XCIpXG5cbiAgICByZXR1cm4gdGhpcy5tb2RlbENsYXNzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBTUUwgc3RyaW5nLlxuICAgKi9cbiAgdG9TcWwoKSB7XG4gICAgbGV0IHNxbCA9IFwiKFwiXG5cbiAgICBjb25zdCBiYXNlVGFibGVOYW1lID0gdGhpcy5xdWFsaWZ5QmFzZVRhYmxlID8gdGhpcy5nZXRNb2RlbENsYXNzKCkudGFibGVOYW1lKCkgOiB1bmRlZmluZWRcblxuICAgIHNxbCArPSB0aGlzLl93aGVyZVNRTEZyb21IYXNoKHRoaXMuaGFzaCwgdGhpcy5nZXRNb2RlbENsYXNzKCksIGJhc2VUYWJsZU5hbWUpXG4gICAgc3FsICs9IFwiKVwiXG5cbiAgICByZXR1cm4gc3FsXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIEF0dHJpYnV0ZSBvciBjb2x1bW4gbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgcmVzb2x2ZWQgY29sdW1uIG5hbWUuXG4gICAqL1xuICBfcmVzb2x2ZUNvbHVtbk5hbWUobW9kZWxDbGFzcywga2V5KSB7XG4gICAgY29uc3QgYXR0cmlidXRlTWFwID0gbW9kZWxDbGFzcy5nZXRBdHRyaWJ1dGVOYW1lVG9Db2x1bW5OYW1lTWFwKClcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gYXR0cmlidXRlTWFwW2tleV1cblxuICAgIGlmIChjb2x1bW5OYW1lKSByZXR1cm4gY29sdW1uTmFtZVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGlvbnNoaXBOYW1lIC0gUmVsYXRpb25zaGlwIG5hbWUuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9yZWNvcmQvcmVsYXRpb25zaGlwcy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gVGhlIHJlbGF0aW9uc2hpcC5cbiAgICovXG4gIF9nZXRSZWxhdGlvbnNoaXAobW9kZWxDbGFzcywgcmVsYXRpb25zaGlwTmFtZSkge1xuICAgIHJldHVybiBtb2RlbENsYXNzLmdldFJlbGF0aW9uc2hpcHNNYXAoKVtyZWxhdGlvbnNoaXBOYW1lXVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLm1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuY29sdW1uTmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge2FueX0gYXJncy52YWx1ZSAtIFZhbHVlIHRvIG5vcm1hbGl6ZS5cbiAgICogQHJldHVybnMge2FueX0gLSBOb3JtYWxpemVkIHZhbHVlLlxuICAgKi9cbiAgX25vcm1hbGl6ZVNxbGl0ZUJvb2xlYW5WYWx1ZSh7bW9kZWxDbGFzcywgY29sdW1uTmFtZSwgdmFsdWV9KSB7XG4gICAgaWYgKG1vZGVsQ2xhc3MuZ2V0RGF0YWJhc2VUeXBlKCkgIT0gXCJzcWxpdGVcIikgcmV0dXJuIHZhbHVlXG5cbiAgICBjb25zdCBjb2x1bW5UeXBlID0gbW9kZWxDbGFzcy5nZXRDb2x1bW5UeXBlQnlOYW1lKGNvbHVtbk5hbWUpXG5cbiAgICBpZiAoIWNvbHVtblR5cGUgfHwgdHlwZW9mIGNvbHVtblR5cGUgIT0gXCJzdHJpbmdcIikgcmV0dXJuIHZhbHVlXG4gICAgaWYgKGNvbHVtblR5cGUudG9Mb3dlckNhc2UoKSAhPT0gXCJib29sZWFuXCIpIHJldHVybiB2YWx1ZVxuXG4gICAgY29uc3Qgbm9ybWFsaXplID0gKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoZW50cnkgPT09IHRydWUpIHJldHVybiAxXG4gICAgICBpZiAoZW50cnkgPT09IGZhbHNlKSByZXR1cm4gMFxuICAgICAgcmV0dXJuIGVudHJ5XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChlbnRyeSkgPT4gbm9ybWFsaXplKGVudHJ5KSlcbiAgICB9XG5cbiAgICByZXR1cm4gbm9ybWFsaXplKHZhbHVlKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7V2hlcmVIYXNofSBoYXNoIC0gSGFzaC5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFt0YWJsZU5hbWVdIC0gVGFibGUgbmFtZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gSW5kZXggdmFsdWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU1FMIHN0cmluZy5cbiAgICovXG4gIF93aGVyZVNRTEZyb21IYXNoKGhhc2gsIG1vZGVsQ2xhc3MsIHRhYmxlTmFtZSwgaW5kZXggPSAwKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG4gICAgbGV0IHNxbCA9IFwiXCJcblxuICAgIGZvciAoY29uc3Qgd2hlcmVLZXkgaW4gaGFzaCkge1xuICAgICAgY29uc3Qgd2hlcmVWYWx1ZSA9IGhhc2hbd2hlcmVLZXldXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHdoZXJlVmFsdWUpICYmIHdoZXJlVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGlmIChpbmRleCA+IDApIHNxbCArPSBcIiBBTkQgXCJcbiAgICAgICAgc3FsICs9IFwiMT0wXCJcbiAgICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh3aGVyZVZhbHVlKSkge1xuICAgICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB0aGlzLl9nZXRSZWxhdGlvbnNoaXAobW9kZWxDbGFzcywgd2hlcmVLZXkpXG5cbiAgICAgICAgaWYgKCFyZWxhdGlvbnNoaXApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcmVsYXRpb25zaGlwIFwiJHt3aGVyZUtleX1cIiBmb3IgJHttb2RlbENsYXNzLm5hbWV9YClcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhcmdldE1vZGVsQ2xhc3MgPSByZWxhdGlvbnNoaXAuZ2V0VGFyZ2V0TW9kZWxDbGFzcygpXG4gICAgICAgIGNvbnN0IG5lc3RlZEhhc2ggPSAvKiogQHR5cGUge1doZXJlSGFzaH0gKi8gKHdoZXJlVmFsdWUpXG5cbiAgICAgICAgc3FsICs9IHRoaXMuX3doZXJlU1FMRnJvbUhhc2gobmVzdGVkSGFzaCwgdGFyZ2V0TW9kZWxDbGFzcywgdGFyZ2V0TW9kZWxDbGFzcy50YWJsZU5hbWUoKSwgaW5kZXgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaW5kZXggPiAwKSBzcWwgKz0gXCIgQU5EIFwiXG5cbiAgICAgICAgY29uc3QgY29sdW1uTmFtZSA9IHRoaXMuX3Jlc29sdmVDb2x1bW5OYW1lKG1vZGVsQ2xhc3MsIHdoZXJlS2V5KVxuXG4gICAgICAgIGlmICghY29sdW1uTmFtZSkgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGF0dHJpYnV0ZSBcIiR7d2hlcmVLZXl9XCIgZm9yICR7bW9kZWxDbGFzcy5uYW1lfWApXG5cbiAgICAgICAgbGV0IGNvbHVtblNxbCA9IGAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbk5hbWUpfWBcblxuICAgICAgICBpZiAodGFibGVOYW1lKSB7XG4gICAgICAgICAgY29sdW1uU3FsID0gYCR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0YWJsZU5hbWUpfS4ke2NvbHVtblNxbH1gXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2x1bW5UeXBlID0gbW9kZWxDbGFzcy5nZXRDb2x1bW5UeXBlQnlOYW1lKGNvbHVtbk5hbWUpXG4gICAgICAgIGNvbnN0IGRyaXZlclR5cGUgPSB0aGlzLmdldFF1ZXJ5KCkuZHJpdmVyLmdldFR5cGUoKVxuXG4gICAgICAgIGlmIChkcml2ZXJUeXBlID09IFwibXNzcWxcIiAmJiB0eXBlb2Ygd2hlcmVWYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBjb2x1bW5UeXBlPy50b0xvd2VyQ2FzZSgpID09IFwidGV4dFwiKSB7XG4gICAgICAgICAgY29sdW1uU3FsID0gYENBU1QoJHtjb2x1bW5TcWx9IEFTIE5WQVJDSEFSKE1BWCkpYFxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGNvbHVtblNxbFxuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHRoaXMuX25vcm1hbGl6ZVNxbGl0ZUJvb2xlYW5WYWx1ZSh7XG4gICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICBtb2RlbENsYXNzLFxuICAgICAgICAgIHZhbHVlOiB3aGVyZVZhbHVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9ybWFsaXplZFZhbHVlKSkge1xuICAgICAgICAgIHNxbCArPSBgIElOICgke25vcm1hbGl6ZWRWYWx1ZS5tYXAoKHZhbHVlKSA9PiBvcHRpb25zLnF1b3RlKHZhbHVlKSkuam9pbihcIiwgXCIpfSlgXG4gICAgICAgIH0gZWxzZSBpZiAobm9ybWFsaXplZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgc3FsICs9IFwiIElTIE5VTExcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNxbCArPSBgID0gJHtvcHRpb25zLnF1b3RlKG5vcm1hbGl6ZWRWYWx1ZSl9YFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGluZGV4KytcbiAgICB9XG5cbiAgICByZXR1cm4gc3FsXG4gIH1cbn1cbiJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUtbW9kZWwtY2xhc3MtaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS93aGVyZS1tb2RlbC1jbGFzcy1oYXNoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFFdkM7O0dBRUc7QUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7QUFFbkMsTUFBTSxDQUFDLE9BQU8sT0FBTyx5Q0FBMEMsU0FBUSxTQUFTO0lBQzlFOzs7Ozs7T0FNRztJQUNILFlBQVksRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUM7UUFDN0QsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUE7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUUzRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUViLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENB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L0IsR0FBRyxJQUFJLFVBQVUsQ0FBQTtnQkFDbkIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQTtnQkFDMUMsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLEVBQUUsQ0FBQTtRQUNULENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2lzUGxhaW5PYmplY3R9IGZyb20gXCJpcy1wbGFpbi1vYmplY3RcIlxuaW1wb3J0IFdoZXJlQmFzZSBmcm9tIFwiLi93aGVyZS1iYXNlLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7e1trZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw+IHwgUmVjb3JkPHN0cmluZywgYW55Pn19IFdoZXJlSGFzaFxuICovXG5cbmNvbnN0IE5PX01BVENIID0gU3ltYm9sKFwibm8tbWF0Y2hcIilcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VRdWVyeVdoZXJlTW9kZWxDbGFzc0hhc2ggZXh0ZW5kcyBXaGVyZUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MucXVlcnkgLSBRdWVyeSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtXaGVyZUhhc2h9IGFyZ3MuaGFzaCAtIEhhc2guXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLm1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5xdWFsaWZ5QmFzZVRhYmxlXSAtIFdoZXRoZXIgdG8gcXVhbGlmeSBiYXNlIHRhYmxlIGNvbHVtbnMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cXVlcnksIGhhc2gsIG1vZGVsQ2xhc3MsIHF1YWxpZnlCYXNlVGFibGUgPSBmYWxzZX0pIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5oYXNoID0gaGFzaFxuICAgIHRoaXMubW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICB0aGlzLnF1YWxpZnlCYXNlVGFibGUgPSBxdWFsaWZ5QmFzZVRhYmxlXG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gLSBUaGUgbW9kZWwgY2xhc3MuXG4gICAqL1xuICBnZXRNb2RlbENsYXNzKCkge1xuICAgIGlmICghdGhpcy5tb2RlbENsYXNzKSB0aHJvdyBuZXcgRXJyb3IoXCJtb2RlbENsYXNzIG5vdCBzZXRcIilcblxuICAgIHJldHVybiB0aGlzLm1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFNRTCBzdHJpbmcuXG4gICAqL1xuICB0b1NxbCgpIHtcbiAgICBsZXQgc3FsID0gXCIoXCJcblxuICAgIGNvbnN0IGJhc2VUYWJsZU5hbWUgPSB0aGlzLnF1YWxpZnlCYXNlVGFibGUgPyB0aGlzLmdldE1vZGVsQ2xhc3MoKS50YWJsZU5hbWUoKSA6IHVuZGVmaW5lZFxuXG4gICAgc3FsICs9IHRoaXMuX3doZXJlU1FMRnJvbUhhc2godGhpcy5oYXNoLCB0aGlzLmdldE1vZGVsQ2xhc3MoKSwgYmFzZVRhYmxlTmFtZSlcbiAgICBzcWwgKz0gXCIpXCJcblxuICAgIHJldHVybiBzcWxcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWxDbGFzcyAtIE1vZGVsIGNsYXNzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gQXR0cmlidXRlIG9yIGNvbHVtbiBuYW1lLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFRoZSByZXNvbHZlZCBjb2x1bW4gbmFtZS5cbiAgICovXG4gIF9yZXNvbHZlQ29sdW1uTmFtZShtb2RlbENsYXNzLCBrZXkpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVNYXAgPSBtb2RlbENsYXNzLmdldEF0dHJpYnV0ZU5hbWVUb0NvbHVtbk5hbWVNYXAoKVxuICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBhdHRyaWJ1dGVNYXBba2V5XVxuXG4gICAgaWYgKGNvbHVtbk5hbWUpIHJldHVybiBjb2x1bW5OYW1lXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3MgLSBNb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aW9uc2hpcE5hbWUgLSBSZWxhdGlvbnNoaXAgbmFtZS5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL3JlY29yZC9yZWxhdGlvbnNoaXBzL2Jhc2UuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gLSBUaGUgcmVsYXRpb25zaGlwLlxuICAgKi9cbiAgX2dldFJlbGF0aW9uc2hpcChtb2RlbENsYXNzLCByZWxhdGlvbnNoaXBOYW1lKSB7XG4gICAgcmV0dXJuIG1vZGVsQ2xhc3MuZ2V0UmVsYXRpb25zaGlwc01hcCgpW3JlbGF0aW9uc2hpcE5hbWVdXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MubW9kZWxDbGFzcyAtIE1vZGVsIGNsYXNzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jb2x1bW5OYW1lIC0gQ29sdW1uIG5hbWUuXG4gICAqIEBwYXJhbSB7YW55fSBhcmdzLnZhbHVlIC0gVmFsdWUgdG8gbm9ybWFsaXplLlxuICAgKiBAcmV0dXJucyB7YW55fSAtIE5vcm1hbGl6ZWQgdmFsdWUuXG4gICAqL1xuICBfbm9ybWFsaXplU3FsaXRlQm9vbGVhblZhbHVlKHttb2RlbENsYXNzLCBjb2x1bW5OYW1lLCB2YWx1ZX0pIHtcbiAgICBpZiAobW9kZWxDbGFzcy5nZXREYXRhYmFzZVR5cGUoKSAhPSBcInNxbGl0ZVwiKSByZXR1cm4gdmFsdWVcblxuICAgIGNvbnN0IGNvbHVtblR5cGUgPSBtb2RlbENsYXNzLmdldENvbHVtblR5cGVCeU5hbWUoY29sdW1uTmFtZSlcblxuICAgIGlmICghY29sdW1uVHlwZSB8fCB0eXBlb2YgY29sdW1uVHlwZSAhPSBcInN0cmluZ1wiKSByZXR1cm4gdmFsdWVcbiAgICBpZiAoY29sdW1uVHlwZS50b0xvd2VyQ2FzZSgpICE9PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbHVlXG5cbiAgICBjb25zdCBub3JtYWxpemUgPSAoZW50cnkpID0+IHtcbiAgICAgIGlmIChlbnRyeSA9PT0gdHJ1ZSkgcmV0dXJuIDFcbiAgICAgIGlmIChlbnRyeSA9PT0gZmFsc2UpIHJldHVybiAwXG4gICAgICByZXR1cm4gZW50cnlcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGVudHJ5KSA9PiBub3JtYWxpemUoZW50cnkpKVxuICAgIH1cblxuICAgIHJldHVybiBub3JtYWxpemUodmFsdWUpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MubW9kZWxDbGFzcyAtIE1vZGVsIGNsYXNzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jb2x1bW5OYW1lIC0gQ29sdW1uIG5hbWUuXG4gICAqIEBwYXJhbSB7YW55fSBhcmdzLnZhbHVlIC0gVmFsdWUgdG8gbm9ybWFsaXplLlxuICAgKiBAcmV0dXJucyB7YW55fSAtIE5vcm1hbGl6ZWQgdmFsdWUuXG4gICAqL1xuICBfbm9ybWFsaXplVmFsdWVGb3JDb2x1bW5UeXBlKHttb2RlbENsYXNzLCBjb2x1bW5OYW1lLCB2YWx1ZX0pIHtcbiAgICBjb25zdCBjb2x1bW5UeXBlID0gbW9kZWxDbGFzcy5nZXRDb2x1bW5UeXBlQnlOYW1lKGNvbHVtbk5hbWUpXG5cbiAgICBpZiAoIWNvbHVtblR5cGUgfHwgdHlwZW9mIGNvbHVtblR5cGUgIT0gXCJzdHJpbmdcIikgcmV0dXJuIHZhbHVlXG5cbiAgICBjb25zdCBub3JtYWxpemVkVHlwZSA9IGNvbHVtblR5cGUudG9Mb3dlckNhc2UoKVxuICAgIGNvbnN0IHN0cmluZ1R5cGVzID0gbmV3IFNldChbXCJjaGFyXCIsIFwidmFyY2hhclwiLCBcIm52YXJjaGFyXCIsIFwic3RyaW5nXCIsIFwiZW51bVwiLCBcImpzb25cIiwgXCJqc29uYlwiLCBcImNpdGV4dFwiLCBcImJpbmFyeVwiLCBcInZhcmJpbmFyeVwiXSlcbiAgICBjb25zdCBpc1V1aWRUeXBlID0gbm9ybWFsaXplZFR5cGUuaW5jbHVkZXMoXCJ1dWlkXCIpXG4gICAgY29uc3Qgc2hvdWxkQ29lcmNlVG9TdHJpbmcgPSBub3JtYWxpemVkVHlwZS5pbmNsdWRlcyhcInV1aWRcIikgfHxcbiAgICAgIG5vcm1hbGl6ZWRUeXBlLmluY2x1ZGVzKFwidGV4dFwiKSB8fFxuICAgICAgc3RyaW5nVHlwZXMuaGFzKG5vcm1hbGl6ZWRUeXBlKVxuXG4gICAgY29uc3Qgbm9ybWFsaXplID0gKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoaXNVdWlkVHlwZSAmJiB0eXBlb2YgZW50cnkgPT09IFwibnVtYmVyXCIpIHJldHVybiBOT19NQVRDSFxuICAgICAgaWYgKCFzaG91bGRDb2VyY2VUb1N0cmluZyB8fCB0eXBlb2YgZW50cnkgIT09IFwibnVtYmVyXCIpIHJldHVybiBlbnRyeVxuXG4gICAgICByZXR1cm4gU3RyaW5nKGVudHJ5KVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IHZhbHVlLm1hcCgoZW50cnkpID0+IG5vcm1hbGl6ZShlbnRyeSkpLmZpbHRlcigoZW50cnkpID0+IGVudHJ5ICE9PSBOT19NQVRDSClcblxuICAgICAgaWYgKGlzVXVpZFR5cGUgJiYgbm9ybWFsaXplZC5sZW5ndGggPT09IDApIHJldHVybiBOT19NQVRDSFxuXG4gICAgICByZXR1cm4gbm9ybWFsaXplZFxuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemUodmFsdWUpXG5cbiAgICBpZiAobm9ybWFsaXplZCA9PT0gTk9fTUFUQ0gpIHJldHVybiBOT19NQVRDSFxuXG4gICAgcmV0dXJuIG5vcm1hbGl6ZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1doZXJlSGFzaH0gaGFzaCAtIEhhc2guXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFibGVOYW1lXSAtIFRhYmxlIG5hbWUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCAtIEluZGV4IHZhbHVlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFNRTCBzdHJpbmcuXG4gICAqL1xuICBfd2hlcmVTUUxGcm9tSGFzaChoYXNoLCBtb2RlbENsYXNzLCB0YWJsZU5hbWUsIGluZGV4ID0gMCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKVxuICAgIGxldCBzcWwgPSBcIlwiXG5cbiAgICBmb3IgKGNvbnN0IHdoZXJlS2V5IGluIGhhc2gpIHtcbiAgICAgIGNvbnN0IHdoZXJlVmFsdWUgPSBoYXNoW3doZXJlS2V5XVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh3aGVyZVZhbHVlKSAmJiB3aGVyZVZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpZiAoaW5kZXggPiAwKSBzcWwgKz0gXCIgQU5EIFwiXG4gICAgICAgIHNxbCArPSBcIjE9MFwiXG4gICAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qod2hlcmVWYWx1ZSkpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0gdGhpcy5fZ2V0UmVsYXRpb25zaGlwKG1vZGVsQ2xhc3MsIHdoZXJlS2V5KVxuXG4gICAgICAgIGlmICghcmVsYXRpb25zaGlwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlbGF0aW9uc2hpcCBcIiR7d2hlcmVLZXl9XCIgZm9yICR7bW9kZWxDbGFzcy5uYW1lfWApXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YXJnZXRNb2RlbENsYXNzID0gcmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKVxuICAgICAgICBjb25zdCBuZXN0ZWRIYXNoID0gLyoqIEB0eXBlIHtXaGVyZUhhc2h9ICovICh3aGVyZVZhbHVlKVxuXG4gICAgICAgIHNxbCArPSB0aGlzLl93aGVyZVNRTEZyb21IYXNoKG5lc3RlZEhhc2gsIHRhcmdldE1vZGVsQ2xhc3MsIHRhcmdldE1vZGVsQ2xhc3MudGFibGVOYW1lKCksIGluZGV4KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGluZGV4ID4gMCkgc3FsICs9IFwiIEFORCBcIlxuXG4gICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSB0aGlzLl9yZXNvbHZlQ29sdW1uTmFtZShtb2RlbENsYXNzLCB3aGVyZUtleSlcblxuICAgICAgICBpZiAoIWNvbHVtbk5hbWUpIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhdHRyaWJ1dGUgXCIke3doZXJlS2V5fVwiIGZvciAke21vZGVsQ2xhc3MubmFtZX1gKVxuXG4gICAgICAgIGNvbnN0IGNvbHVtblR5cGUgPSBtb2RlbENsYXNzLmdldENvbHVtblR5cGVCeU5hbWUoY29sdW1uTmFtZSlcblxuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB0aGlzLl9ub3JtYWxpemVTcWxpdGVCb29sZWFuVmFsdWUoe1xuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgbW9kZWxDbGFzcyxcbiAgICAgICAgICB2YWx1ZTogd2hlcmVWYWx1ZVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCB0eXBlZFZhbHVlID0gdGhpcy5fbm9ybWFsaXplVmFsdWVGb3JDb2x1bW5UeXBlKHtcbiAgICAgICAgICBjb2x1bW5OYW1lLFxuICAgICAgICAgIG1vZGVsQ2xhc3MsXG4gICAgICAgICAgdmFsdWU6IG5vcm1hbGl6ZWRWYWx1ZVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh0eXBlZFZhbHVlID09PSBOT19NQVRDSCkge1xuICAgICAgICAgIHNxbCArPSBcIjE9MFwiXG4gICAgICAgICAgaW5kZXgrK1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29sdW1uU3FsID0gYCR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoY29sdW1uTmFtZSl9YFxuXG4gICAgICAgIGlmICh0YWJsZU5hbWUpIHtcbiAgICAgICAgICBjb2x1bW5TcWwgPSBgJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKHRhYmxlTmFtZSl9LiR7Y29sdW1uU3FsfWBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRyaXZlclR5cGUgPSB0aGlzLmdldFF1ZXJ5KCkuZHJpdmVyLmdldFR5cGUoKVxuXG4gICAgICAgIGlmIChkcml2ZXJUeXBlID09IFwibXNzcWxcIiAmJiB0eXBlb2Ygd2hlcmVWYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBjb2x1bW5UeXBlPy50b0xvd2VyQ2FzZSgpID09IFwidGV4dFwiKSB7XG4gICAgICAgICAgY29sdW1uU3FsID0gYENBU1QoJHtjb2x1bW5TcWx9IEFTIE5WQVJDSEFSKE1BWCkpYFxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGNvbHVtblNxbFxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHR5cGVkVmFsdWUpKSB7XG4gICAgICAgICAgc3FsICs9IGAgSU4gKCR7dHlwZWRWYWx1ZS5tYXAoKHZhbHVlKSA9PiBvcHRpb25zLnF1b3RlKHZhbHVlKSkuam9pbihcIiwgXCIpfSlgXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZWRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHNxbCArPSBcIiBJUyBOVUxMXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcWwgKz0gYCA9ICR7b3B0aW9ucy5xdW90ZSh0eXBlZFZhbHVlKX1gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5kZXgrK1xuICAgIH1cblxuICAgIHJldHVybiBzcWxcbiAgfVxufVxuIl19
|
|
@@ -537,9 +537,19 @@ declare class VelociousDatabaseRecord {
|
|
|
537
537
|
* @returns {any} - The column.
|
|
538
538
|
*/
|
|
539
539
|
readColumn(attributeName: string): any;
|
|
540
|
+
/**
|
|
541
|
+
* @param {any} value - Value from database.
|
|
542
|
+
* @returns {any} - Normalized value.
|
|
543
|
+
*/
|
|
544
|
+
_normalizeDateValueForRead(value: any): any;
|
|
540
545
|
_belongsToChanges(): Record<string, any>;
|
|
541
546
|
/** @returns {Promise<void>} - Resolves when complete. */
|
|
542
547
|
_createNewRecord(): Promise<void>;
|
|
548
|
+
/**
|
|
549
|
+
* @param {Record<string, any>} data - Column-keyed data.
|
|
550
|
+
* @returns {void} - No return value.
|
|
551
|
+
*/
|
|
552
|
+
_normalizeDateValuesForWrite(data: Record<string, any>): void;
|
|
543
553
|
/** @returns {Promise<void>} - Resolves when complete. */
|
|
544
554
|
_updateRecordWithChanges(): Promise<void>;
|
|
545
555
|
/** @returns {number|string} - The id. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/record/index.js"],"names":[],"mappings":";wCAGa;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/record/index.js"],"names":[],"mappings":";wCAGa;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC;AAqB5C;IACE;;OAEG;IACH,YAFa,uBAAuB,CAMnC;IAED;;;OAGG;IACH,gBAHW,uBAAuB,GACrB,IAAI,CAIhB;IADC,gCAAmB;IAGrB,uFAAuF;IACvF,uBADc,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAKxD;IAED,2GAA2G;IAC3G,sCADY,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,QAGtD;IADC,+DAAyC;CAE5C;AAED;IACE,iEAOC;IAED,iEAOC;IAED,iDAOC;IAED,oFAOC;IAED,6FAOC;IAuBD,uFAEC;IAED;;;OAGG;IACH,mCAHW,MAAM,kBACN,cAAc,sBAAsB,EAAE,OAAO,QAIvD;IAED;;;OAGG;IACH,uCAHW,MAAM,GACJ,cAAc,sBAAsB,EAAE,OAAO,CAMzD;IAED;;;OAGG;IACH,6CAHW,MAAM,GACJ,OAAO,CAQnB;IAED;;;;;OAKG;IACH;;;OAGG;IACH,6CAHW,MAAM;;;;oBALH,MAAM;;;;gBACN,OAAO,uBAAuB;;;;eAC9B,MAAM;aA8GnB;IAED;;;OAGG;IACH,+CAHW,MAAM,GACJ,OAAO,yBAAyB,EAAE,OAAO,CAQrD;IAED;;OAEG;IACH,2BAFa,KAAK,CAAC,OAAO,yBAAyB,EAAE,OAAO,CAAC,CAI5D;IAED,wFAOC;IAED;;OAEG;IACH,+BAFa,KAAK,CAAC,MAAM,CAAC,CAIzB;IA4BD;;;;OAIG;IACH,mCAHW,MAAM,YACN,MAAM,QAIhB;IAED;;OAEG;IACH,qBAFa,OAAO,oBAAoB,EAAE,OAAO,CAShD;IAED;;;;;OAKG;IACH,cAL8C,EAAE,SAAnC,OAAQ,uBAAwB,yBAElC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAQrC;IAED;;OAEG;IACH,4BAFa,OAAO,wBAAwB,EAAE,OAAO,CAYpD;IASD;;;;;OAKG;IACH,iCAJW,MAAM,YACN,MAAM,GACJ,IAAI,CAIhB;IAED;;;;;OAKG;IACH,gCAJW,MAAM,YACN,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,yCAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;OAEG;IACH,0BAFa,MAAM,CAMlB;IAED;;;;OAIG;IACH,wDAHG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAChD,GAAU,OAAO,CAAC,IAAI,CAAC,CA8CzB;IAkBD;;OAEG;IACH,wBAFa,OAAO,CAMnB;IAED;;OAEG;IACH,oCAFa,IAAI,CAMhB;IAED,kDAgEC;IAED;;OAEG;IACH,gCAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,iDAHW,MAAM,GACJ,IAAI,CAIhB;IAqGD;;OAEG;IACH,qBAFa,OAAO,2BAA2B,EAAE,OAAO,EAAE,CAOzD;IAED,kGAAkG;IAClG,yBADc,MAAM,CAAC,MAAM,EAAE,OAAO,2BAA2B,EAAE,OAAO,CAAC,CAYxE;IAED;;;OAGG;IACH,iCAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAY9B;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;OAEG;IACH,yBAFa,KAAK,CAAC,MAAM,CAAC,CAQzB;IAED;;OAEG;IACH,oBAFa,OAAO,0BAA0B,EAAE,OAAO,CAMtD;IAED;;;;OAIG;IACH,+BAJW,KAAK,CAAC,MAAM,CAAC,QACb,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAClB,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;OAEG;IACH,yBAFa,OAAO,CAAC,MAAM,CAAC,CAmB3B;IAED;;;OAGG;IACH,iCAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;OAEG;IACH,qBAFa,MAAM,CAMlB;IAkKD;;OAEG;IACH,oBAFa,MAAM,CAMlB;IAED;;;OAGG;IACH,+BAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,6BAHW,MAAa,OAAO,CAAC,IAAI,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;OAGG;IACH,4BAHc,MAAM,EAAA,GACP,IAAI,CAchB;IAED;;OAEG;IACH,8BAFa,OAAO,uBAAuB,CAiB1C;IAED;;OAEG;IACH,mCAFa,MAAM,CAQlB;IAED;;OAEG;IACH,+BAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;OAIG;IACH,gCAHW,MAAM,cACN,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAmCvD;IAsFD;;;;OAIG;IACH,iBAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,aAEhC,eAAe,CAAC,EAAE,CAAC,CAY/B;IAED,iDAAiD;IACjD,0BADc,MAAM,CAKnB;IAED;;;;OAIG;IACH,WAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,aAEhC,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED,6DAA6D;IAC7D,gBADc,OAAO,CAAC,MAAM,CAAC,CAG5B;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,mBAElC,MAAM,GACJ,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED,mCAEC;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,wBAElC,CAAG,MAAM,GAAC,MAAM,EAAE,GAAA,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAI1B;IAED;;;;;OAKG;IACH,YAL8C,EAAE,SAAnC,OAAQ,uBAAwB,sBAElC,MAAM,GAAC,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;;OAKG;IACH,cAL8C,EAAE,SAAnC,OAAQ,uBAAwB,wBAElC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAC,GAC9B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAI5C;IAED;;;;;OAKG;IACH,oBAL8C,EAAE,SAAnC,OAAQ,uBAAwB,wBAElC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAC,GAC9B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;;;OAMG;IACH,sBAN8C,EAAE,SAAnC,OAAQ,uBAAwB,wBAElC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAC,aAChC,MAAa,IAAI,GACf,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;;;OAMG;IACH,0BAN8C,EAAE,SAAnC,OAAQ,uBAAwB,wBAElC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,aAC/B,CAAS,IAAgB,EAAhB,YAAY,CAAC,EAAE,CAAC,KAAI,IAAI,GAC/B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;OAIG;IACH,aAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,aAEhC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,kBAElC,MAAM,GAAG,OAAO,yBAAyB,EAAE,UAAU,GACnD,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;;;OAIG;IACH,YAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,aAEhC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAIrC;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,mBAElC,MAAM,GACJ,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,mBAElC,MAAM,GAAG,MAAM,GACb,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;;;;OAKG;IACH,gBAL8C,EAAE,SAAnC,OAAQ,uBAAwB,oBAElC,OAAO,GACL,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;;;;OAKG;IACH,eAL8C,EAAE,SAAnC,OAAQ,uBAAwB,qBAElC,OAAO,mBAAmB,EAAE,mBAAmB,GAC7C,eAAe,CAAC,EAAE,CAAC,CAM/B;IAED;;;;;OAKG;IACH,cAL8C,EAAE,SAAnC,OAAQ,uBAAwB,oBAElC,OAAO,mBAAmB,EAAE,kBAAkB,GAC5C,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;;;OAIG;IACH,eAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,aAEhC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAIvC;IAED;;;;;OAKG;IACH,aAL8C,EAAE,SAAnC,OAAQ,uBAAwB,mBAElC,OAAO,mBAAmB,EAAE,iBAAiB,GAC3C,eAAe,CAAC,EAAE,CAAC,CAI/B;IAED;;OAEG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAW7B;IAryCD,kCAAkC;IAClC,aADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACd;IAEhB,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACjB;IAEb,0EAA0E;IAC1E,gBADW,MAAM,CAAC,MAAM,EAAE,OAAO,2BAA2B,EAAE,OAAO,CAAC,CACnD;IAEnB,+DAA+D;IAC/D,cADW,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CACnC;IAExB,iFAAiF;IACjF,wBADW,MAAM,CAAC,MAAM,EAAE,4DAAkD,CAAC,CAClD;IAE3B,iCAAiC;IACjC,aADW,MAAM,GAAG,SAAS,CACN;IAEvB,0DAA0D;IAC1D,mBADW,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAChC;IA2LtB;;;OAGG;IACH,wCAHW,MAAM,gEAuBhB;IAoDD;;OAEG;IACH,qBAFa,OAAO,wBAAwB,EAAE,OAAO,CAIpD;IA4FD;;;OAGG;IACH,qBAHW,GAAG,GACD,OAAO,CAYnB;IAqGD;;;OAGG;IACH,mBAHW,MAAM,GACJ,GAAG,CAUf;IAED;;;OAGG;IACH,iBAFa,OAAO,uBAAuB,CAM1C;IAED;;;;OAIG;IACH,mBAJW,MAAM,YACN,GAAG,GACD,IAAI,CAUhB;IAED;;;OAGG;IACH,0BAHW,MAAM,YACN,GAAG,QAsBb;IAED;;;OAGG;IACH,2BAHW,GAAG,GACD,GAAG,CAcf;IAED;;;;;OAKG;IACH,oDAJG;QAAiC,UAAU,EAAnC,MAAM,GAAG,SAAS;QACR,KAAK,EAAf,GAAG;KACX,GAAU,GAAG,CAUf;IA4HD;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CA6BzB;IAED;;OAqCC;IAED,+GAkDC;IAED;;;OAGG;IACH,wDAFG;QAAsB,WAAW,EAAzB,OAAO;KACjB,iBAgCA;IAuID;;;OAGG;IACH,sBAFa,eAAe,EAAE,CAI7B;IAED;;;;OAIG;IACH,8BAJW,MAAM,UACN,MAAM,GACJ,MAAM,GAAG,SAAS,CAmB9B;IAED;;;;OAIG;IACH,0CAJW,MAAM,UACN,MAAM,GACJ,MAAM,GAAG,SAAS,CAqB9B;IAED;;;;;OAKG;IACH,8BALW,MAAM,UACN,MAAM,YACN,GAAG,GACD,IAAI,CAoBhB;IA8NC,sBAAwB;IAO1B;;;OAGG;IACH,+BAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,2BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAMhB;IAED;;;OAGG;IACH,cAFa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAe/B;IAED;;;OAGG;IACH,iBAFa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI/B;IAED;;OAEG;IACH,eAFa,OAAO,oBAAoB,EAAE,OAAO,CAMhD;IAED;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA2DzB;IAED,6CAA6C;IAC7C,eADc,OAAO,CACyC;IAE9D;;;OAGG;IACH,aAFa,OAAO,CA6BnB;IAED;;;OAGG;IACH,WAFa,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAajC;IAED;;OAEG;IACH,cAFa,MAAM,CAMlB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,GAAG,CASf;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,GAAG,CAsBf;IAED;;;OAGG;IACH,kCAHW,GAAG,GACD,GAAG,CAsBf;IAED,yCAuBC;IAED,0DAA0D;IAC1D,oBADc,OAAO,CAAC,IAAI,CAAC,CAgE1B;IAED;;;OAGG;IACH,mCAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAiBhB;IAED,0DAA0D;IAC1D,4BADc,OAAO,CAAC,IAAI,CAAC,CAyB1B;IAED,0CAA0C;IAC1C,MADc,MAAM,GAAC,MAAM,CAc1B;IAED,+CAA+C;IAC/C,eADc,OAAO,CACsB;IAE3C,gDAAgD;IAChD,eADc,OAAO,CACqB;IAE1C;;;OAGG;IACH,+BAHW,OAAO,GACL,IAAI,CAIhB;IAED;;;;OAIG;IACH,cAJ8C,EAAE,SAAnC,OAAQ,uBAAwB,MAClC,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;OAEG;IACH,UAFa,OAAO,CAAC,IAAI,CAAC,CAKzB;IAED,iCAwBC;IAED,sDAAsD;IACtD,qBADc,MAAM,EAAE,CAgBrB;IAED;;;OAGG;IACH,2BAFW,MAAM,iBAMhB;CACF;AAED;IACE;;;OAGG;IACH,UAFa,MAAM,CAIlB;CACF;4BA13D2B,+BAA+B"}
|