velocious 1.0.465 → 1.0.467
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/build/configuration.js +2 -2
- package/build/database/pool/async-tracked-multi-connection.js +7 -2
- package/build/database/pool/single-multi-use.js +38 -0
- package/build/environment-handlers/node/cli/commands/lint/relationships.js +95 -2
- package/build/frontend-model-controller.js +162 -56
- package/build/frontend-models/query.js +55 -33
- package/build/src/configuration.js +3 -3
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +9 -3
- package/build/src/database/pool/single-multi-use.d.ts +1 -0
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/pool/single-multi-use.js +34 -1
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts +29 -0
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.js +83 -3
- package/build/src/frontend-model-controller.d.ts +45 -5
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +155 -57
- package/build/src/frontend-models/query.d.ts +8 -0
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +53 -34
- package/build/src/utils/ransack.d.ts +11 -3
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +42 -23
- package/build/utils/ransack.js +44 -22
- package/package.json +1 -1
- package/src/configuration.js +2 -2
- package/src/database/pool/async-tracked-multi-connection.js +7 -2
- package/src/database/pool/single-multi-use.js +38 -0
- package/src/environment-handlers/node/cli/commands/lint/relationships.js +95 -2
- package/src/frontend-model-controller.js +162 -56
- package/src/frontend-models/query.js +55 -33
- package/src/types/external-modules.d.ts +13 -0
- package/src/utils/ransack.js +44 -22
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
import BasePool from "./base.js";
|
|
3
3
|
export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
|
|
4
|
+
suppressedConnectionContextCount = 0;
|
|
4
5
|
/**
|
|
5
6
|
* Runs checkin.
|
|
6
7
|
* @param {import("../drivers/base.js").default} connection - Connection.
|
|
@@ -47,6 +48,29 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
|
|
|
47
48
|
await this.checkin(connection);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Runs without current connection context.
|
|
53
|
+
* @template T
|
|
54
|
+
* @param {() => T} callback - Callback to run without the shared current connection.
|
|
55
|
+
* @returns {T} - Callback result.
|
|
56
|
+
*/
|
|
57
|
+
withoutCurrentConnectionContext(callback) {
|
|
58
|
+
this.suppressedConnectionContextCount += 1;
|
|
59
|
+
try {
|
|
60
|
+
const result = callback();
|
|
61
|
+
if (result instanceof Promise) {
|
|
62
|
+
return /** @type {T} */ (result.finally(() => {
|
|
63
|
+
this.suppressedConnectionContextCount -= 1;
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
this.suppressedConnectionContextCount -= 1;
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.suppressedConnectionContextCount -= 1;
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
50
74
|
/**
|
|
51
75
|
* Clears schema metadata cached by the reusable connection if it exists.
|
|
52
76
|
* @returns {void} - No return value.
|
|
@@ -81,8 +105,17 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
|
|
|
81
105
|
* @returns {import("../drivers/base.js").default | undefined} - The current context connection.
|
|
82
106
|
*/
|
|
83
107
|
getCurrentContextConnection() {
|
|
108
|
+
if (this.suppressedConnectionContextCount > 0)
|
|
109
|
+
return undefined;
|
|
84
110
|
return this.connection;
|
|
85
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Returns whether the shared connection is available to the current execution context.
|
|
114
|
+
* @returns {boolean} - Whether nested code can reuse the shared connection.
|
|
115
|
+
*/
|
|
116
|
+
hasCurrentConnectionContext() {
|
|
117
|
+
return this.suppressedConnectionContextCount === 0;
|
|
118
|
+
}
|
|
86
119
|
/**
|
|
87
120
|
* Runs get debug snapshot.
|
|
88
121
|
* @returns {import("./base.js").DatabasePoolDebugSnapshot} - Diagnostic snapshot for this pool.
|
|
@@ -98,4 +131,4 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
|
|
|
98
131
|
};
|
|
99
132
|
}
|
|
100
133
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW11bHRpLXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL3NpbmdsZS1tdWx0aS11c2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQTtBQUVoQyxNQUFNLENBQUMsT0FBTyxPQUFPLG9DQUFxQyxTQUFRLFFBQVE7SUFDeEUsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFBO0lBRXBDOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVU7UUFDdEIsTUFBTSxVQUFVLENBQUMsMkJBQTJCLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEVBQUU7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQTtZQUUxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtZQUUzQixNQUFNLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2xDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDaEQsQ0FBQztRQUVELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFN0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFFBQVE7UUFDOUMsTUFB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QUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkMsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmFzZVBvb2wgZnJvbSBcIi4vYmFzZS5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUG9vbFNpbmdsZU11bHRpVXNlciBleHRlbmRzIEJhc2VQb29sIHtcbiAgc3VwcHJlc3NlZENvbm5lY3Rpb25Db250ZXh0Q291bnQgPSAwXG5cbiAgLyoqXG4gICAqIFJ1bnMgY2hlY2tpbi5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBjaGVja2luKGNvbm5lY3Rpb24pIHtcbiAgICBhd2FpdCBjb25uZWN0aW9uLmNsZWFyQ29ubmVjdGlvbkNoZWNrb3V0TmFtZSgpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBjaGVja291dC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuQ29ubmVjdGlvbkNoZWNrb3V0T3B0aW9uc30gW29wdGlvbnNdIC0gQ2hlY2tvdXQgb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNoZWNrb3V0LlxuICAgKi9cbiAgYXN5bmMgY2hlY2tvdXQob3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbiAmJiAhdGhpcy5jb25uZWN0aW9uTWF0Y2hlc0N1cnJlbnRDb25maWd1cmF0aW9uKHRoaXMuY29ubmVjdGlvbikpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29ubmVjdGlvbiA9IHRoaXMuY29ubmVjdGlvblxuXG4gICAgICB0aGlzLmNvbm5lY3Rpb24gPSB1bmRlZmluZWRcblxuICAgICAgYXdhaXQgcHJldmlvdXNDb25uZWN0aW9uLmNsb3NlKClcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikge1xuICAgICAgdGhpcy5jb25uZWN0aW9uID0gYXdhaXQgdGhpcy5zcGF3bkNvbm5lY3Rpb24oKVxuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5zZXRDb25uZWN0aW9uQ2hlY2tvdXROYW1lKG9wdGlvbnMubmFtZSlcblxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHdpdGggY29ubmVjdGlvbi5cbiAgICogQHRlbXBsYXRlIFRcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuQ29ubmVjdGlvbkNoZWNrb3V0T3B0aW9ucyB8IGZ1bmN0aW9uKGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0KSA6IFByb21pc2U8VD59IG9wdGlvbnNPckNhbGxiYWNrIC0gQ2hlY2tvdXQgb3B0aW9ucyBvciBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBbY2FsbGJhY2tdIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNhbGxiYWNrIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIHdpdGhDb25uZWN0aW9uKG9wdGlvbnNPckNhbGxiYWNrLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9uc09yQ2FsbGJhY2sgPT0gXCJmdW5jdGlvblwiID8ge30gOiBvcHRpb25zT3JDYWxsYmFja1xuXG4gICAgY29uc3QgY29ubmVjdGlvbiA9IGF3YWl0IHRoaXMuY2hlY2tvdXQob3B0aW9ucylcblxuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnNPckNhbGxiYWNrID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGF3YWl0IG9wdGlvbnNPckNhbGxiYWNrKGNvbm5lY3Rpb24pXG5cbiAgICAgIGlmICghY2FsbGJhY2spIHRocm93IG5ldyBFcnJvcihcIndpdGhDb25uZWN0aW9uIHJlcXVpcmVzIGEgY2FsbGJhY2tcIilcblxuICAgICAgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKGNvbm5lY3Rpb24pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMuY2hlY2tpbihjb25uZWN0aW9uKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHdpdGhvdXQgY3VycmVudCBjb25uZWN0aW9uIGNvbnRleHQuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7KCkgPT4gVH0gY2FsbGJhY2sgLSBDYWxsYmFjayB0byBydW4gd2l0aG91dCB0aGUgc2hhcmVkIGN1cnJlbnQgY29ubmVjdGlvbi5cbiAgICogQHJldHVybnMge1R9IC0gQ2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgd2l0aG91dEN1cnJlbnRDb25uZWN0aW9uQ29udGV4dChjYWxsYmFjaykge1xuICAgIHRoaXMuc3VwcHJlc3NlZENvbm5lY3Rpb25Db250ZXh0Q291bnQgKz0gMVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKClcblxuICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7VH0gKi8gKHJlc3VsdC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN1cHByZXNzZWRDb25uZWN0aW9uQ29udGV4dENvdW50IC09IDFcbiAgICAgICAgfSkpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3VwcHJlc3NlZENvbm5lY3Rpb25Db250ZXh0Q291bnQgLT0gMVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnN1cHByZXNzZWRDb25uZWN0aW9uQ29udGV4dENvdW50IC09IDFcbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBzY2hlbWEgbWV0YWRhdGEgY2FjaGVkIGJ5IHRoZSByZXVzYWJsZSBjb25uZWN0aW9uIGlmIGl0IGV4aXN0cy5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgY2xlYXJTY2hlbWFDYWNoZSgpIHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uKSB0aGlzLl9jbGVhckNvbm5lY3Rpb25TY2hlbWFDYWNoZSh0aGlzLmNvbm5lY3Rpb24pXG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBjYWNoZWQgY29ubmVjdGlvbiBpZiBpdCBleGlzdHMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBjbG9zZUFsbCgpIHtcbiAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikgcmV0dXJuXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gdGhpcy5jb25uZWN0aW9uXG5cbiAgICB0aGlzLmNvbm5lY3Rpb24gPSB1bmRlZmluZWRcblxuICAgIGF3YWl0IGNvbm5lY3Rpb24uY2xvc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGN1cnJlbnQgY29ubmVjdGlvbi5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSAtIFRoZSBjdXJyZW50IGNvbm5lY3Rpb24uXG4gICAqL1xuICBnZXRDdXJyZW50Q29ubmVjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQSBjb25uZWN0aW9uIGhhc24ndCBiZWVuIG1hZGUgeWV0XCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGN1cnJlbnQgY29udGV4dCBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gVGhlIGN1cnJlbnQgY29udGV4dCBjb25uZWN0aW9uLlxuICAgKi9cbiAgZ2V0Q3VycmVudENvbnRleHRDb25uZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnN1cHByZXNzZWRDb25uZWN0aW9uQ29udGV4dENvdW50ID4gMCkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgc2hhcmVkIGNvbm5lY3Rpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIG5lc3RlZCBjb2RlIGNhbiByZXVzZSB0aGUgc2hhcmVkIGNvbm5lY3Rpb24uXG4gICAqL1xuICBoYXNDdXJyZW50Q29ubmVjdGlvbkNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcHJlc3NlZENvbm5lY3Rpb25Db250ZXh0Q291bnQgPT09IDBcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBkZWJ1ZyBzbmFwc2hvdC5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5EYXRhYmFzZVBvb2xEZWJ1Z1NuYXBzaG90fSAtIERpYWdub3N0aWMgc25hcHNob3QgZm9yIHRoaXMgcG9vbC5cbiAgICovXG4gIGdldERlYnVnU25hcHNob3QoKSB7XG4gICAgY29uc3QgY29ubmVjdGlvbnMgPSB0aGlzLmNvbm5lY3Rpb25cbiAgICAgID8gW3RoaXMuZGVidWdDb25uZWN0aW9uU25hcHNob3QodGhpcy5jb25uZWN0aW9uLCB7c3RhdGU6IFwic2hhcmVkXCJ9KV1cbiAgICAgIDogW11cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5nZXREZWJ1Z1NuYXBzaG90KCksXG4gICAgICBjb25uZWN0aW9ucyxcbiAgICAgIGlkbGVDb3VudDogdGhpcy5jb25uZWN0aW9uID8gMSA6IDBcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {(id: string) => {default: typeof import("../../../../../database/record/index.js").default}} ModelFileRequireContextIdFunctionType
|
|
3
|
+
* @typedef {ModelFileRequireContextIdFunctionType & {keys: () => string[]}} ModelFileRequireContextType
|
|
4
|
+
*/
|
|
1
5
|
/**
|
|
2
6
|
* Lints model relationships: every non-polymorphic belongs-to relationship should have an inverse
|
|
3
7
|
* has-many or has-one relationship declared on its target model class. A missing inverse usually
|
|
@@ -22,6 +26,25 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
22
26
|
message: string;
|
|
23
27
|
}>;
|
|
24
28
|
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Registers model classes from the conventional src/models directory without
|
|
31
|
+
* running the application's full database/server initialization.
|
|
32
|
+
* @returns {Promise<boolean>} Whether static model files were registered.
|
|
33
|
+
*/
|
|
34
|
+
_registerStaticModelFiles(): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Finds JavaScript files below a directory.
|
|
37
|
+
* @param {string} directory - Directory to scan.
|
|
38
|
+
* @returns {Promise<string[]>} JavaScript file paths.
|
|
39
|
+
*/
|
|
40
|
+
_javascriptFilesInDirectory(directory: string): Promise<string[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether two model class objects describe the same registered model.
|
|
43
|
+
* @param {typeof import("../../../../../database/record/index.js").default} leftModelClass - Candidate target model class.
|
|
44
|
+
* @param {typeof import("../../../../../database/record/index.js").default} rightModelClass - Belongs-to source model class.
|
|
45
|
+
* @returns {boolean} Whether both model classes represent the same model identity.
|
|
46
|
+
*/
|
|
47
|
+
_modelClassesMatch(leftModelClass: typeof import("../../../../../database/record/index.js").default, rightModelClass: typeof import("../../../../../database/record/index.js").default): boolean;
|
|
25
48
|
/**
|
|
26
49
|
* Loads the ignored relationship keys from the lint config file. The file is optional; when the
|
|
27
50
|
* default path doesn't exist, no relationships are ignored. An explicitly passed `--config` path
|
|
@@ -30,5 +53,11 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
30
53
|
*/
|
|
31
54
|
_loadIgnoredRelationships(): Promise<Set<string>>;
|
|
32
55
|
}
|
|
56
|
+
export type ModelFileRequireContextIdFunctionType = (id: string) => {
|
|
57
|
+
default: typeof import("../../../../../database/record/index.js").default;
|
|
58
|
+
};
|
|
59
|
+
export type ModelFileRequireContextType = ModelFileRequireContextIdFunctionType & {
|
|
60
|
+
keys: () => string[];
|
|
61
|
+
};
|
|
33
62
|
import BaseCommand from "../../../../../cli/base-command.js";
|
|
34
63
|
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/lint/relationships.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/lint/relationships.js"],"names":[],"mappings":"AAOA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AACH;IACE;;;OAGG;IACH,WAFa,OAAO,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAC,CAAA;KAAC,CAAC,CAiF5E;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAAC,OAAO,CAAC,CAmC5B;IAED;;;;OAIG;IACH,uCAHW,MAAM,GACJ,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB7B;IAED;;;;;OAKG;IACH,mCAJW,cAAc,yCAAyC,EAAE,OAAO,mBAChE,cAAc,yCAAyC,EAAE,OAAO,GAC9D,OAAO,CAUnB;IAED;;;;;OAKG;IACH,6BAFa,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAuChC;CACF;oDApOY,CAAC,EAAE,EAAE,MAAM,KAAK;IAAC,OAAO,EAAE,cAAc,yCAAyC,EAAE,OAAO,CAAA;CAAC;0CAC3F,qCAAqC,GAAG;IAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAA;CAAC;wBAPnD,oCAAoC"}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
import BaseCommand from "../../../../../cli/base-command.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import requireContext from "require-context";
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {(id: string) => {default: typeof import("../../../../../database/record/index.js").default}} ModelFileRequireContextIdFunctionType
|
|
8
|
+
* @typedef {ModelFileRequireContextIdFunctionType & {keys: () => string[]}} ModelFileRequireContextType
|
|
9
|
+
*/
|
|
5
10
|
/**
|
|
6
11
|
* Lints model relationships: every non-polymorphic belongs-to relationship should have an inverse
|
|
7
12
|
* has-many or has-one relationship declared on its target model class. A missing inverse usually
|
|
@@ -24,7 +29,9 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
24
29
|
// Relationship target resolution (getTargetModelClass) looks model classes up through the
|
|
25
30
|
// current configuration, so make this command's configuration the current one.
|
|
26
31
|
this.getConfiguration().setCurrent();
|
|
27
|
-
await this.
|
|
32
|
+
if (!await this._registerStaticModelFiles()) {
|
|
33
|
+
await this.getConfiguration().initializeModels();
|
|
34
|
+
}
|
|
28
35
|
const ignoredRelationships = await this._loadIgnoredRelationships();
|
|
29
36
|
const offences = [];
|
|
30
37
|
const modelClasses = Object.values(this.getConfiguration().getModelClasses());
|
|
@@ -58,7 +65,10 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
58
65
|
if (candidate.through)
|
|
59
66
|
return false;
|
|
60
67
|
try {
|
|
61
|
-
|
|
68
|
+
const candidateTargetModelClass = candidate.getTargetModelClass();
|
|
69
|
+
if (!candidateTargetModelClass)
|
|
70
|
+
return false;
|
|
71
|
+
return this._modelClassesMatch(candidateTargetModelClass, modelClass);
|
|
62
72
|
}
|
|
63
73
|
catch {
|
|
64
74
|
// A has-many/has-one with an unresolvable target can't be the inverse of this belongs-to.
|
|
@@ -84,6 +94,76 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
84
94
|
console.log(`Relationship lint passed for ${modelClasses.length} model(s).`);
|
|
85
95
|
return { offences };
|
|
86
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Registers model classes from the conventional src/models directory without
|
|
99
|
+
* running the application's full database/server initialization.
|
|
100
|
+
* @returns {Promise<boolean>} Whether static model files were registered.
|
|
101
|
+
*/
|
|
102
|
+
async _registerStaticModelFiles() {
|
|
103
|
+
if (this.args.testing)
|
|
104
|
+
return false;
|
|
105
|
+
const modelsDirectory = path.join(this.directory(), "src/models");
|
|
106
|
+
try {
|
|
107
|
+
const stats = await fs.stat(modelsDirectory);
|
|
108
|
+
if (!stats.isDirectory())
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if ( /** @type {NodeJS.ErrnoException} */(error).code == "ENOENT")
|
|
113
|
+
return false;
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
if ((await this._javascriptFilesInDirectory(modelsDirectory)).length === 0)
|
|
117
|
+
return false;
|
|
118
|
+
/** @type {ModelFileRequireContextType} */
|
|
119
|
+
const requireContextModels = requireContext(modelsDirectory, true, /^(.+)\.js$/);
|
|
120
|
+
const modelFileNames = requireContextModels.keys();
|
|
121
|
+
for (const fileName of modelFileNames) {
|
|
122
|
+
const modelClassImport = requireContextModels(fileName);
|
|
123
|
+
const modelClass = modelClassImport.default;
|
|
124
|
+
if (!modelClass) {
|
|
125
|
+
throw new Error(`Model wasn't exported from: ${fileName}`);
|
|
126
|
+
}
|
|
127
|
+
modelClass.registerRecordClass({ configuration: this.getConfiguration() });
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Finds JavaScript files below a directory.
|
|
133
|
+
* @param {string} directory - Directory to scan.
|
|
134
|
+
* @returns {Promise<string[]>} JavaScript file paths.
|
|
135
|
+
*/
|
|
136
|
+
async _javascriptFilesInDirectory(directory) {
|
|
137
|
+
const filePaths = [];
|
|
138
|
+
const entries = await fs.readdir(directory, { withFileTypes: true });
|
|
139
|
+
for (const entry of entries) {
|
|
140
|
+
const entryPath = path.join(directory, entry.name);
|
|
141
|
+
if (entry.isDirectory()) {
|
|
142
|
+
filePaths.push(...await this._javascriptFilesInDirectory(entryPath));
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (entry.isFile() && entry.name.endsWith(".js")) {
|
|
146
|
+
filePaths.push(entryPath);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return filePaths;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Checks whether two model class objects describe the same registered model.
|
|
153
|
+
* @param {typeof import("../../../../../database/record/index.js").default} leftModelClass - Candidate target model class.
|
|
154
|
+
* @param {typeof import("../../../../../database/record/index.js").default} rightModelClass - Belongs-to source model class.
|
|
155
|
+
* @returns {boolean} Whether both model classes represent the same model identity.
|
|
156
|
+
*/
|
|
157
|
+
_modelClassesMatch(leftModelClass, rightModelClass) {
|
|
158
|
+
if (leftModelClass === rightModelClass)
|
|
159
|
+
return true;
|
|
160
|
+
// `translates()` creates an internal translation class; apps may also define
|
|
161
|
+
// a concrete class for the same model/table so generated code has a stable
|
|
162
|
+
// file and type name.
|
|
163
|
+
if (leftModelClass.getModelName() != rightModelClass.getModelName())
|
|
164
|
+
return false;
|
|
165
|
+
return leftModelClass.tableName() == rightModelClass.tableName();
|
|
166
|
+
}
|
|
87
167
|
/**
|
|
88
168
|
* Loads the ignored relationship keys from the lint config file. The file is optional; when the
|
|
89
169
|
* default path doesn't exist, no relationships are ignored. An explicitly passed `--config` path
|
|
@@ -120,4 +200,4 @@ export default class VelociousCliCommandsLintRelationships extends BaseCommand {
|
|
|
120
200
|
return new Set(ignore);
|
|
121
201
|
}
|
|
122
202
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zaGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9saW50L3JlbGF0aW9uc2hpcHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUU1Qjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFdBQVc7SUFDNUU7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCwwRkFBMEY7UUFDMUYsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXBDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUVoRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUE7UUFDbkUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ25CLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtRQUU3RSxLQUFLLE1BQU0sVUFBVSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTSxZQUFZLElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksV0FBVztvQkFBRSxTQUFRO2dCQUNuRCxJQUFJLFlBQVksQ0FBQyxjQUFjLEVBQUU7b0JBQUUsU0FBUTtnQkFFM0MsTUFBTSxTQUFTLEdBQUcs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QUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRSxNQUFNLElBQUksS0FBSyxDQUFDLDJGQUEyRixVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQzFILENBQUM7UUFFRCxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmFzZUNvbW1hbmQgZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCJcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIlxuXG4vKipcbiAqIExpbnRzIG1vZGVsIHJlbGF0aW9uc2hpcHM6IGV2ZXJ5IG5vbi1wb2x5bW9ycGhpYyBiZWxvbmdzLXRvIHJlbGF0aW9uc2hpcCBzaG91bGQgaGF2ZSBhbiBpbnZlcnNlXG4gKiBoYXMtbWFueSBvciBoYXMtb25lIHJlbGF0aW9uc2hpcCBkZWNsYXJlZCBvbiBpdHMgdGFyZ2V0IG1vZGVsIGNsYXNzLiBBIG1pc3NpbmcgaW52ZXJzZSB1c3VhbGx5XG4gKiBtZWFucyB0aGUgdGFyZ2V0IG1vZGVsIHdhcyBuZXZlciB0b2xkIGFib3V0IHRoZSBhc3NvY2lhdGlvbiAoZS5nLiBhbiBFdmVudCBtb2RlbCBtaXNzaW5nXG4gKiBgaGFzTWFueShcInByaWNlQ2F0ZWdvcnlTZXR0aW5nc1wiKWAgd2hpbGUgUHJpY2VDYXRlZ29yeVNldHRpbmcgZGVjbGFyZXMgYGJlbG9uZ3NUbyhcImV2ZW50XCIpYCkuXG4gKlxuICogU3BlY2lmaWMgcmVsYXRpb25zaGlwcyBjYW4gYmUgaWdub3JlZCB0aHJvdWdoIGEgSlNPTiBjb25maWcgZmlsZSAoZGVmYXVsdDpcbiAqIGByZWxhdGlvbnNoaXAtbGludC5qc29uYCBpbiB0aGUgcHJvamVjdCBkaXJlY3RvcnksIG92ZXJyaWRhYmxlIHdpdGggYC0tY29uZmlnIDxwYXRoPmApOlxuICpcbiAqICAge1wiaWdub3JlXCI6IFtcIlByaWNlQ2F0ZWdvcnlTZXR0aW5nI2V2ZW50XCJdfVxuICpcbiAqIHdoZXJlIGVhY2ggZW50cnkgaXMgYDxtb2RlbCBjbGFzcyBuYW1lPiM8YmVsb25ncy10byByZWxhdGlvbnNoaXAgbmFtZT5gLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNDbGlDb21tYW5kc0xpbnRSZWxhdGlvbnNoaXBzIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICAvKipcbiAgICogUnVucyBleGVjdXRlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7b2ZmZW5jZXM6IEFycmF5PHtpZ25vcmVLZXk6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nfT59Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBmb3VuZCBvZmZlbmNlcyAoZW1wdHkgd2hlbiB0aGUgbGludCBwYXNzZXMpLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICAvLyBSZWxhdGlvbnNoaXAgdGFyZ2V0IHJlc29sdXRpb24gKGdldFRhcmdldE1vZGVsQ2xhc3MpIGxvb2tzIG1vZGVsIGNsYXNzZXMgdXAgdGhyb3VnaCB0aGVcbiAgICAvLyBjdXJyZW50IGNvbmZpZ3VyYXRpb24sIHNvIG1ha2UgdGhpcyBjb21tYW5kJ3MgY29uZmlndXJhdGlvbiB0aGUgY3VycmVudCBvbmUuXG4gICAgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuc2V0Q3VycmVudCgpXG5cbiAgICBhd2FpdCB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5pbml0aWFsaXplTW9kZWxzKClcblxuICAgIGNvbnN0IGlnbm9yZWRSZWxhdGlvbnNoaXBzID0gYXdhaXQgdGhpcy5fbG9hZElnbm9yZWRSZWxhdGlvbnNoaXBzKClcbiAgICBjb25zdCBvZmZlbmNlcyA9IFtdXG4gICAgY29uc3QgbW9kZWxDbGFzc2VzID0gT2JqZWN0LnZhbHVlcyh0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXRNb2RlbENsYXNzZXMoKSlcblxuICAgIGZvciAoY29uc3QgbW9kZWxDbGFzcyBvZiBtb2RlbENsYXNzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwIG9mIG1vZGVsQ2xhc3MuZ2V0UmVsYXRpb25zaGlwcygpKSB7XG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpICE9IFwiYmVsb25nc1RvXCIpIGNvbnRpbnVlXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkgY29udGludWVcblxuICAgICAgICBjb25zdCBpZ25vcmVLZXkgPSBgJHttb2RlbENsYXNzLm5hbWV9IyR7cmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKX1gXG5cbiAgICAgICAgaWYgKGlnbm9yZWRSZWxhdGlvbnNoaXBzLmhhcyhpZ25vcmVLZXkpKSBjb250aW51ZVxuXG4gICAgICAgIGxldCB0YXJnZXRNb2RlbENsYXNzXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0YXJnZXRNb2RlbENsYXNzID0gcmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIG9mZmVuY2VzLnB1c2goe1xuICAgICAgICAgICAgaWdub3JlS2V5LFxuICAgICAgICAgICAgbWVzc2FnZTogYCR7aWdub3JlS2V5fTogY291bGRuJ3QgcmVzb2x2ZSB0aGUgdGFyZ2V0IG1vZGVsIGNsYXNzOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogZXJyb3J9YFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0YXJnZXRNb2RlbENsYXNzKSB7XG4gICAgICAgICAgb2ZmZW5jZXMucHVzaCh7aWdub3JlS2V5LCBtZXNzYWdlOiBgJHtpZ25vcmVLZXl9OiBjb3VsZG4ndCByZXNvbHZlIHRoZSB0YXJnZXQgbW9kZWwgY2xhc3NgfSlcblxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnZlcnNlUmVsYXRpb25zaGlwID0gdGFyZ2V0TW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkuZmluZCgoY2FuZGlkYXRlKSA9PiB7XG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZS5nZXRUeXBlKCkgIT0gXCJoYXNNYW55XCIgJiYgY2FuZGlkYXRlLmdldFR5cGUoKSAhPSBcImhhc09uZVwiKSByZXR1cm4gZmFsc2VcbiAgICAgICAgICBpZiAoY2FuZGlkYXRlLnRocm91Z2gpIHJldHVybiBmYWxzZVxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGUuZ2V0VGFyZ2V0TW9kZWxDbGFzcygpID09PSBtb2RlbENsYXNzXG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBBIGhhcy1tYW55L2hhcy1vbmUgd2l0aCBhbiB1bnJlc29sdmFibGUgdGFyZ2V0IGNhbid0IGJlIHRoZSBpbnZlcnNlIG9mIHRoaXMgYmVsb25ncy10by5cbiAgICAgICAgICAgIC8vIEl0IGlzIHJlcG9ydGVkIHNlcGFyYXRlbHkgd2hlbiBpdHMgb3duIG1vZGVsJ3MgYmVsb25ncy10byByZWxhdGlvbnNoaXBzIGFyZSBsaW50ZWQuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGludmVyc2VSZWxhdGlvbnNoaXApIGNvbnRpbnVlXG5cbiAgICAgICAgb2ZmZW5jZXMucHVzaCh7XG4gICAgICAgICAgaWdub3JlS2V5LFxuICAgICAgICAgIG1lc3NhZ2U6IGAke3RhcmdldE1vZGVsQ2xhc3MubmFtZX0gaXMgbWlzc2luZyBhbiBpbnZlcnNlIGhhc01hbnkvaGFzT25lIHJlbGF0aW9uc2hpcCBmb3IgJHtpZ25vcmVLZXl9IChiZWxvbmdzVG8pLiBgICtcbiAgICAgICAgICAgIGBEZWNsYXJlIHRoZSBpbnZlcnNlIG9uICR7dGFyZ2V0TW9kZWxDbGFzcy5uYW1lfSBvciBhZGQgXCIke2lnbm9yZUtleX1cIiB0byB0aGUgaWdub3JlIGNvbmZpZy5gXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBvZmZlbmNlIG9mIG9mZmVuY2VzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKG9mZmVuY2UubWVzc2FnZSlcbiAgICB9XG5cbiAgICBpZiAob2ZmZW5jZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWxhdGlvbnNoaXAgbGludCBmYWlsZWQgd2l0aCAke29mZmVuY2VzLmxlbmd0aH0gb2ZmZW5jZShzKTpcXG4ke29mZmVuY2VzLm1hcCgob2ZmZW5jZSkgPT4gb2ZmZW5jZS5tZXNzYWdlKS5qb2luKFwiXFxuXCIpfWApXG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYFJlbGF0aW9uc2hpcCBsaW50IHBhc3NlZCBmb3IgJHttb2RlbENsYXNzZXMubGVuZ3RofSBtb2RlbChzKS5gKVxuXG4gICAgcmV0dXJuIHtvZmZlbmNlc31cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgaWdub3JlZCByZWxhdGlvbnNoaXAga2V5cyBmcm9tIHRoZSBsaW50IGNvbmZpZyBmaWxlLiBUaGUgZmlsZSBpcyBvcHRpb25hbDsgd2hlbiB0aGVcbiAgICogZGVmYXVsdCBwYXRoIGRvZXNuJ3QgZXhpc3QsIG5vIHJlbGF0aW9uc2hpcHMgYXJlIGlnbm9yZWQuIEFuIGV4cGxpY2l0bHkgcGFzc2VkIGAtLWNvbmZpZ2AgcGF0aFxuICAgKiBtdXN0IGV4aXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxTZXQ8c3RyaW5nPj59IC0gSWdub3JlZCBgPG1vZGVsPiM8cmVsYXRpb25zaGlwPmAga2V5cy5cbiAgICovXG4gIGFzeW5jIF9sb2FkSWdub3JlZFJlbGF0aW9uc2hpcHMoKSB7XG4gICAgY29uc3QgY29uZmlnQXJnSW5kZXggPSB0aGlzLnByb2Nlc3NBcmdzPy5pbmRleE9mKFwiLS1jb25maWdcIikgPz8gLTFcbiAgICBjb25zdCBleHBsaWNpdENvbmZpZ1BhdGggPSBjb25maWdBcmdJbmRleCA+PSAwID8gdGhpcy5wcm9jZXNzQXJncz8uW2NvbmZpZ0FyZ0luZGV4ICsgMV0gOiB1bmRlZmluZWRcblxuICAgIGlmIChjb25maWdBcmdJbmRleCA+PSAwICYmICFleHBsaWNpdENvbmZpZ1BhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIi0tY29uZmlnIHdhcyBnaXZlbiB3aXRob3V0IGEgcGF0aCBhcmd1bWVudFwiKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBleHBsaWNpdENvbmZpZ1BhdGhcbiAgICAgID8gcGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5KCksIGV4cGxpY2l0Q29uZmlnUGF0aClcbiAgICAgIDogcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5KCksIFwicmVsYXRpb25zaGlwLWxpbnQuanNvblwiKVxuXG4gICAgbGV0IGNvbmZpZ0NvbnRlbnRcblxuICAgIHRyeSB7XG4gICAgICBjb25maWdDb250ZW50ID0gYXdhaXQgZnMucmVhZEZpbGUoY29uZmlnUGF0aCwgXCJ1dGY4XCIpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghZXhwbGljaXRDb25maWdQYXRoICYmIC8qKiBAdHlwZSB7Tm9kZUpTLkVycm5vRXhjZXB0aW9ufSAqLyAoZXJyb3IpLmNvZGUgPT0gXCJFTk9FTlRcIikge1xuICAgICAgICByZXR1cm4gbmV3IFNldCgpXG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnID0gSlNPTi5wYXJzZShjb25maWdDb250ZW50KVxuXG4gICAgaWYgKGNvbmZpZyA9PT0gbnVsbCB8fCB0eXBlb2YgY29uZmlnICE9IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShjb25maWcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlbGF0aW9uc2hpcCBsaW50IGNvbmZpZyBtdXN0IGJlIGEgSlNPTiBvYmplY3Q6ICR7Y29uZmlnUGF0aH1gKVxuICAgIH1cblxuICAgIGNvbnN0IGlnbm9yZSA9IGNvbmZpZy5pZ25vcmUgPz8gW11cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShpZ25vcmUpIHx8IGlnbm9yZS5zb21lKChlbnRyeSkgPT4gdHlwZW9mIGVudHJ5ICE9IFwic3RyaW5nXCIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlbGF0aW9uc2hpcCBsaW50IGNvbmZpZyBcImlnbm9yZVwiIG11c3QgYmUgYW4gYXJyYXkgb2YgXCI8bW9kZWw+IzxyZWxhdGlvbnNoaXA+XCIgc3RyaW5nczogJHtjb25maWdQYXRofWApXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZXQoaWdub3JlKVxuICB9XG59XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zaGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9saW50L3JlbGF0aW9uc2hpcHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1Qzs7O0dBR0c7QUFFSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFdBQVc7SUFDNUU7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCwwRkFBMEY7UUFDMUYsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXBDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ2xELENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUE7UUFDbkUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ25CLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtRQUU3RSxLQUFLLE1BQU0sVUFBVSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTSxZQUFZLElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztnQkFDekQsSUFB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QUVELE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFeEMsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFFbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRSxNQUFNLElBQUksS0FBSyxDQUFDLDJGQUEyRixVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQzFILENBQUM7UUFFRCxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmFzZUNvbW1hbmQgZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCJcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHJlcXVpcmVDb250ZXh0IGZyb20gXCJyZXF1aXJlLWNvbnRleHRcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHsoaWQ6IHN0cmluZykgPT4ge2RlZmF1bHQ6IHR5cGVvZiBpbXBvcnQoXCIuLi8uLi8uLi8uLi8uLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH19IE1vZGVsRmlsZVJlcXVpcmVDb250ZXh0SWRGdW5jdGlvblR5cGVcbiAqIEB0eXBlZGVmIHtNb2RlbEZpbGVSZXF1aXJlQ29udGV4dElkRnVuY3Rpb25UeXBlICYge2tleXM6ICgpID0+IHN0cmluZ1tdfX0gTW9kZWxGaWxlUmVxdWlyZUNvbnRleHRUeXBlXG4gKi9cblxuLyoqXG4gKiBMaW50cyBtb2RlbCByZWxhdGlvbnNoaXBzOiBldmVyeSBub24tcG9seW1vcnBoaWMgYmVsb25ncy10byByZWxhdGlvbnNoaXAgc2hvdWxkIGhhdmUgYW4gaW52ZXJzZVxuICogaGFzLW1hbnkgb3IgaGFzLW9uZSByZWxhdGlvbnNoaXAgZGVjbGFyZWQgb24gaXRzIHRhcmdldCBtb2RlbCBjbGFzcy4gQSBtaXNzaW5nIGludmVyc2UgdXN1YWxseVxuICogbWVhbnMgdGhlIHRhcmdldCBtb2RlbCB3YXMgbmV2ZXIgdG9sZCBhYm91dCB0aGUgYXNzb2NpYXRpb24gKGUuZy4gYW4gRXZlbnQgbW9kZWwgbWlzc2luZ1xuICogYGhhc01hbnkoXCJwcmljZUNhdGVnb3J5U2V0dGluZ3NcIilgIHdoaWxlIFByaWNlQ2F0ZWdvcnlTZXR0aW5nIGRlY2xhcmVzIGBiZWxvbmdzVG8oXCJldmVudFwiKWApLlxuICpcbiAqIFNwZWNpZmljIHJlbGF0aW9uc2hpcHMgY2FuIGJlIGlnbm9yZWQgdGhyb3VnaCBhIEpTT04gY29uZmlnIGZpbGUgKGRlZmF1bHQ6XG4gKiBgcmVsYXRpb25zaGlwLWxpbnQuanNvbmAgaW4gdGhlIHByb2plY3QgZGlyZWN0b3J5LCBvdmVycmlkYWJsZSB3aXRoIGAtLWNvbmZpZyA8cGF0aD5gKTpcbiAqXG4gKiAgIHtcImlnbm9yZVwiOiBbXCJQcmljZUNhdGVnb3J5U2V0dGluZyNldmVudFwiXX1cbiAqXG4gKiB3aGVyZSBlYWNoIGVudHJ5IGlzIGA8bW9kZWwgY2xhc3MgbmFtZT4jPGJlbG9uZ3MtdG8gcmVsYXRpb25zaGlwIG5hbWU+YC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQ2xpQ29tbWFuZHNMaW50UmVsYXRpb25zaGlwcyBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgLyoqXG4gICAqIFJ1bnMgZXhlY3V0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8e29mZmVuY2VzOiBBcnJheTx7aWdub3JlS2V5OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZ30+fT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgZm91bmQgb2ZmZW5jZXMgKGVtcHR5IHdoZW4gdGhlIGxpbnQgcGFzc2VzKS5cbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgLy8gUmVsYXRpb25zaGlwIHRhcmdldCByZXNvbHV0aW9uIChnZXRUYXJnZXRNb2RlbENsYXNzKSBsb29rcyBtb2RlbCBjbGFzc2VzIHVwIHRocm91Z2ggdGhlXG4gICAgLy8gY3VycmVudCBjb25maWd1cmF0aW9uLCBzbyBtYWtlIHRoaXMgY29tbWFuZCdzIGNvbmZpZ3VyYXRpb24gdGhlIGN1cnJlbnQgb25lLlxuICAgIHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLnNldEN1cnJlbnQoKVxuXG4gICAgaWYgKCFhd2FpdCB0aGlzLl9yZWdpc3RlclN0YXRpY01vZGVsRmlsZXMoKSkge1xuICAgICAgYXdhaXQgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuaW5pdGlhbGl6ZU1vZGVscygpXG4gICAgfVxuXG4gICAgY29uc3QgaWdub3JlZFJlbGF0aW9uc2hpcHMgPSBhd2FpdCB0aGlzLl9sb2FkSWdub3JlZFJlbGF0aW9uc2hpcHMoKVxuICAgIGNvbnN0IG9mZmVuY2VzID0gW11cbiAgICBjb25zdCBtb2RlbENsYXNzZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3NlcygpKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbENsYXNzIG9mIG1vZGVsQ2xhc3Nlcykge1xuICAgICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXAgb2YgbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkpIHtcbiAgICAgICAgaWYgKHJlbGF0aW9uc2hpcC5nZXRUeXBlKCkgIT0gXCJiZWxvbmdzVG9cIikgY29udGludWVcbiAgICAgICAgaWYgKHJlbGF0aW9uc2hpcC5nZXRQb2x5bW9ycGhpYygpKSBjb250aW51ZVxuXG4gICAgICAgIGNvbnN0IGlnbm9yZUtleSA9IGAke21vZGVsQ2xhc3MubmFtZX0jJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfWBcblxuICAgICAgICBpZiAoaWdub3JlZFJlbGF0aW9uc2hpcHMuaGFzKGlnbm9yZUtleSkpIGNvbnRpbnVlXG5cbiAgICAgICAgbGV0IHRhcmdldE1vZGVsQ2xhc3NcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHRhcmdldE1vZGVsQ2xhc3MgPSByZWxhdGlvbnNoaXAuZ2V0VGFyZ2V0TW9kZWxDbGFzcygpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgb2ZmZW5jZXMucHVzaCh7XG4gICAgICAgICAgICBpZ25vcmVLZXksXG4gICAgICAgICAgICBtZXNzYWdlOiBgJHtpZ25vcmVLZXl9OiBjb3VsZG4ndCByZXNvbHZlIHRoZSB0YXJnZXQgbW9kZWwgY2xhc3M6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvcn1gXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRhcmdldE1vZGVsQ2xhc3MpIHtcbiAgICAgICAgICBvZmZlbmNlcy5wdXNoKHtpZ25vcmVLZXksIG1lc3NhZ2U6IGAke2lnbm9yZUtleX06IGNvdWxkbid0IHJlc29sdmUgdGhlIHRhcmdldCBtb2RlbCBjbGFzc2B9KVxuXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGludmVyc2VSZWxhdGlvbnNoaXAgPSB0YXJnZXRNb2RlbENsYXNzLmdldFJlbGF0aW9uc2hpcHMoKS5maW5kKChjYW5kaWRhdGUpID0+IHtcbiAgICAgICAgICBpZiAoY2FuZGlkYXRlLmdldFR5cGUoKSAhPSBcImhhc01hbnlcIiAmJiBjYW5kaWRhdGUuZ2V0VHlwZSgpICE9IFwiaGFzT25lXCIpIHJldHVybiBmYWxzZVxuICAgICAgICAgIGlmIChjYW5kaWRhdGUudGhyb3VnaCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlVGFyZ2V0TW9kZWxDbGFzcyA9IGNhbmRpZGF0ZS5nZXRUYXJnZXRNb2RlbENsYXNzKClcblxuICAgICAgICAgICAgaWYgKCFjYW5kaWRhdGVUYXJnZXRNb2RlbENsYXNzKSByZXR1cm4gZmFsc2VcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21vZGVsQ2xhc3Nlc01hdGNoKGNhbmRpZGF0ZVRhcmdldE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3MpXG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBBIGhhcy1tYW55L2hhcy1vbmUgd2l0aCBhbiB1bnJlc29sdmFibGUgdGFyZ2V0IGNhbid0IGJlIHRoZSBpbnZlcnNlIG9mIHRoaXMgYmVsb25ncy10by5cbiAgICAgICAgICAgIC8vIEl0IGlzIHJlcG9ydGVkIHNlcGFyYXRlbHkgd2hlbiBpdHMgb3duIG1vZGVsJ3MgYmVsb25ncy10byByZWxhdGlvbnNoaXBzIGFyZSBsaW50ZWQuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGludmVyc2VSZWxhdGlvbnNoaXApIGNvbnRpbnVlXG5cbiAgICAgICAgb2ZmZW5jZXMucHVzaCh7XG4gICAgICAgICAgaWdub3JlS2V5LFxuICAgICAgICAgIG1lc3NhZ2U6IGAke3RhcmdldE1vZGVsQ2xhc3MubmFtZX0gaXMgbWlzc2luZyBhbiBpbnZlcnNlIGhhc01hbnkvaGFzT25lIHJlbGF0aW9uc2hpcCBmb3IgJHtpZ25vcmVLZXl9IChiZWxvbmdzVG8pLiBgICtcbiAgICAgICAgICAgIGBEZWNsYXJlIHRoZSBpbnZlcnNlIG9uICR7dGFyZ2V0TW9kZWxDbGFzcy5uYW1lfSBvciBhZGQgXCIke2lnbm9yZUtleX1cIiB0byB0aGUgaWdub3JlIGNvbmZpZy5gXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBvZmZlbmNlIG9mIG9mZmVuY2VzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKG9mZmVuY2UubWVzc2FnZSlcbiAgICB9XG5cbiAgICBpZiAob2ZmZW5jZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWxhdGlvbnNoaXAgbGludCBmYWlsZWQgd2l0aCAke29mZmVuY2VzLmxlbmd0aH0gb2ZmZW5jZShzKTpcXG4ke29mZmVuY2VzLm1hcCgob2ZmZW5jZSkgPT4gb2ZmZW5jZS5tZXNzYWdlKS5qb2luKFwiXFxuXCIpfWApXG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYFJlbGF0aW9uc2hpcCBsaW50IHBhc3NlZCBmb3IgJHttb2RlbENsYXNzZXMubGVuZ3RofSBtb2RlbChzKS5gKVxuXG4gICAgcmV0dXJuIHtvZmZlbmNlc31cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgbW9kZWwgY2xhc3NlcyBmcm9tIHRoZSBjb252ZW50aW9uYWwgc3JjL21vZGVscyBkaXJlY3Rvcnkgd2l0aG91dFxuICAgKiBydW5uaW5nIHRoZSBhcHBsaWNhdGlvbidzIGZ1bGwgZGF0YWJhc2Uvc2VydmVyIGluaXRpYWxpemF0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gV2hldGhlciBzdGF0aWMgbW9kZWwgZmlsZXMgd2VyZSByZWdpc3RlcmVkLlxuICAgKi9cbiAgYXN5bmMgX3JlZ2lzdGVyU3RhdGljTW9kZWxGaWxlcygpIHtcbiAgICBpZiAodGhpcy5hcmdzLnRlc3RpbmcpIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3QgbW9kZWxzRGlyZWN0b3J5ID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5KCksIFwic3JjL21vZGVsc1wiKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gYXdhaXQgZnMuc3RhdChtb2RlbHNEaXJlY3RvcnkpXG5cbiAgICAgIGlmICghc3RhdHMuaXNEaXJlY3RvcnkoKSkgcmV0dXJuIGZhbHNlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICgvKiogQHR5cGUge05vZGVKUy5FcnJub0V4Y2VwdGlvbn0gKi8gKGVycm9yKS5jb2RlID09IFwiRU5PRU5UXCIpIHJldHVybiBmYWxzZVxuXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cblxuICAgIGlmICgoYXdhaXQgdGhpcy5famF2YXNjcmlwdEZpbGVzSW5EaXJlY3RvcnkobW9kZWxzRGlyZWN0b3J5KSkubGVuZ3RoID09PSAwKSByZXR1cm4gZmFsc2VcblxuICAgIC8qKiBAdHlwZSB7TW9kZWxGaWxlUmVxdWlyZUNvbnRleHRUeXBlfSAqL1xuICAgIGNvbnN0IHJlcXVpcmVDb250ZXh0TW9kZWxzID0gcmVxdWlyZUNvbnRleHQobW9kZWxzRGlyZWN0b3J5LCB0cnVlLCAvXiguKylcXC5qcyQvKVxuXG4gICAgY29uc3QgbW9kZWxGaWxlTmFtZXMgPSByZXF1aXJlQ29udGV4dE1vZGVscy5rZXlzKClcbiAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG1vZGVsRmlsZU5hbWVzKSB7XG4gICAgICBjb25zdCBtb2RlbENsYXNzSW1wb3J0ID0gcmVxdWlyZUNvbnRleHRNb2RlbHMoZmlsZU5hbWUpXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gbW9kZWxDbGFzc0ltcG9ydC5kZWZhdWx0XG5cbiAgICAgIGlmICghbW9kZWxDbGFzcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZGVsIHdhc24ndCBleHBvcnRlZCBmcm9tOiAke2ZpbGVOYW1lfWApXG4gICAgICB9XG5cbiAgICAgIG1vZGVsQ2xhc3MucmVnaXN0ZXJSZWNvcmRDbGFzcyh7Y29uZmlndXJhdGlvbjogdGhpcy5nZXRDb25maWd1cmF0aW9uKCl9KVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogRmluZHMgSmF2YVNjcmlwdCBmaWxlcyBiZWxvdyBhIGRpcmVjdG9yeS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGRpcmVjdG9yeSAtIERpcmVjdG9yeSB0byBzY2FuLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXT59IEphdmFTY3JpcHQgZmlsZSBwYXRocy5cbiAgICovXG4gIGFzeW5jIF9qYXZhc2NyaXB0RmlsZXNJbkRpcmVjdG9yeShkaXJlY3RvcnkpIHtcbiAgICBjb25zdCBmaWxlUGF0aHMgPSBbXVxuICAgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcmVjdG9yeSwge3dpdGhGaWxlVHlwZXM6IHRydWV9KVxuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBlbnRyeVBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBlbnRyeS5uYW1lKVxuXG4gICAgICBpZiAoZW50cnkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBmaWxlUGF0aHMucHVzaCguLi5hd2FpdCB0aGlzLl9qYXZhc2NyaXB0RmlsZXNJbkRpcmVjdG9yeShlbnRyeVBhdGgpKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZW50cnkuaXNGaWxlKCkgJiYgZW50cnkubmFtZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICBmaWxlUGF0aHMucHVzaChlbnRyeVBhdGgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVQYXRoc1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHR3byBtb2RlbCBjbGFzcyBvYmplY3RzIGRlc2NyaWJlIHRoZSBzYW1lIHJlZ2lzdGVyZWQgbW9kZWwuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBsZWZ0TW9kZWxDbGFzcyAtIENhbmRpZGF0ZSB0YXJnZXQgbW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSByaWdodE1vZGVsQ2xhc3MgLSBCZWxvbmdzLXRvIHNvdXJjZSBtb2RlbCBjbGFzcy5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgYm90aCBtb2RlbCBjbGFzc2VzIHJlcHJlc2VudCB0aGUgc2FtZSBtb2RlbCBpZGVudGl0eS5cbiAgICovXG4gIF9tb2RlbENsYXNzZXNNYXRjaChsZWZ0TW9kZWxDbGFzcywgcmlnaHRNb2RlbENsYXNzKSB7XG4gICAgaWYgKGxlZnRNb2RlbENsYXNzID09PSByaWdodE1vZGVsQ2xhc3MpIHJldHVybiB0cnVlXG4gICAgLy8gYHRyYW5zbGF0ZXMoKWAgY3JlYXRlcyBhbiBpbnRlcm5hbCB0cmFuc2xhdGlvbiBjbGFzczsgYXBwcyBtYXkgYWxzbyBkZWZpbmVcbiAgICAvLyBhIGNvbmNyZXRlIGNsYXNzIGZvciB0aGUgc2FtZSBtb2RlbC90YWJsZSBzbyBnZW5lcmF0ZWQgY29kZSBoYXMgYSBzdGFibGVcbiAgICAvLyBmaWxlIGFuZCB0eXBlIG5hbWUuXG4gICAgaWYgKGxlZnRNb2RlbENsYXNzLmdldE1vZGVsTmFtZSgpICE9IHJpZ2h0TW9kZWxDbGFzcy5nZXRNb2RlbE5hbWUoKSkgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gbGVmdE1vZGVsQ2xhc3MudGFibGVOYW1lKCkgPT0gcmlnaHRNb2RlbENsYXNzLnRhYmxlTmFtZSgpXG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGlnbm9yZWQgcmVsYXRpb25zaGlwIGtleXMgZnJvbSB0aGUgbGludCBjb25maWcgZmlsZS4gVGhlIGZpbGUgaXMgb3B0aW9uYWw7IHdoZW4gdGhlXG4gICAqIGRlZmF1bHQgcGF0aCBkb2Vzbid0IGV4aXN0LCBubyByZWxhdGlvbnNoaXBzIGFyZSBpZ25vcmVkLiBBbiBleHBsaWNpdGx5IHBhc3NlZCBgLS1jb25maWdgIHBhdGhcbiAgICogbXVzdCBleGlzdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8U2V0PHN0cmluZz4+fSAtIElnbm9yZWQgYDxtb2RlbD4jPHJlbGF0aW9uc2hpcD5gIGtleXMuXG4gICAqL1xuICBhc3luYyBfbG9hZElnbm9yZWRSZWxhdGlvbnNoaXBzKCkge1xuICAgIGNvbnN0IGNvbmZpZ0FyZ0luZGV4ID0gdGhpcy5wcm9jZXNzQXJncz8uaW5kZXhPZihcIi0tY29uZmlnXCIpID8/IC0xXG4gICAgY29uc3QgZXhwbGljaXRDb25maWdQYXRoID0gY29uZmlnQXJnSW5kZXggPj0gMCA/IHRoaXMucHJvY2Vzc0FyZ3M/Lltjb25maWdBcmdJbmRleCArIDFdIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoY29uZmlnQXJnSW5kZXggPj0gMCAmJiAhZXhwbGljaXRDb25maWdQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCItLWNvbmZpZyB3YXMgZ2l2ZW4gd2l0aG91dCBhIHBhdGggYXJndW1lbnRcIilcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdQYXRoID0gZXhwbGljaXRDb25maWdQYXRoXG4gICAgICA/IHBhdGgucmVzb2x2ZSh0aGlzLmRpcmVjdG9yeSgpLCBleHBsaWNpdENvbmZpZ1BhdGgpXG4gICAgICA6IHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSgpLCBcInJlbGF0aW9uc2hpcC1saW50Lmpzb25cIilcblxuICAgIGxldCBjb25maWdDb250ZW50XG5cbiAgICB0cnkge1xuICAgICAgY29uZmlnQ29udGVudCA9IGF3YWl0IGZzLnJlYWRGaWxlKGNvbmZpZ1BhdGgsIFwidXRmOFwiKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIWV4cGxpY2l0Q29uZmlnUGF0aCAmJiAvKiogQHR5cGUge05vZGVKUy5FcnJub0V4Y2VwdGlvbn0gKi8gKGVycm9yKS5jb2RlID09IFwiRU5PRU5UXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQoKVxuICAgICAgfVxuXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZyA9IEpTT04ucGFyc2UoY29uZmlnQ29udGVudClcblxuICAgIGlmIChjb25maWcgPT09IG51bGwgfHwgdHlwZW9mIGNvbmZpZyAhPSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkoY29uZmlnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWxhdGlvbnNoaXAgbGludCBjb25maWcgbXVzdCBiZSBhIEpTT04gb2JqZWN0OiAke2NvbmZpZ1BhdGh9YClcbiAgICB9XG5cbiAgICBjb25zdCBpZ25vcmUgPSBjb25maWcuaWdub3JlID8/IFtdXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaWdub3JlKSB8fCBpZ25vcmUuc29tZSgoZW50cnkpID0+IHR5cGVvZiBlbnRyeSAhPSBcInN0cmluZ1wiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWxhdGlvbnNoaXAgbGludCBjb25maWcgXCJpZ25vcmVcIiBtdXN0IGJlIGFuIGFycmF5IG9mIFwiPG1vZGVsPiM8cmVsYXRpb25zaGlwPlwiIHN0cmluZ3M6ICR7Y29uZmlnUGF0aH1gKVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2V0KGlnbm9yZSlcbiAgfVxufVxuIl19
|
|
@@ -405,11 +405,51 @@ export default class FrontendModelController extends Controller {
|
|
|
405
405
|
*/
|
|
406
406
|
frontendModelResourceAttributeNames(attributes: import("./configuration-types.js").FrontendModelResourceConfiguration["attributes"]): Set<string>;
|
|
407
407
|
/**
|
|
408
|
-
*
|
|
408
|
+
* Asserts frontend-model pluck definitions only reference exposed resource attributes.
|
|
409
409
|
* @param {FrontendModelPluck[]} pluck - Pluck descriptors.
|
|
410
410
|
* @returns {void}
|
|
411
411
|
*/
|
|
412
|
-
|
|
412
|
+
assertFrontendModelPluckDefinitionsAllowed(pluck: FrontendModelPluck[]): void;
|
|
413
|
+
/**
|
|
414
|
+
* Asserts frontend-model Ransack definitions only reference exposed resource attributes.
|
|
415
|
+
* @param {Record<string, ?>} ransack - Ransack descriptor.
|
|
416
|
+
* @returns {void}
|
|
417
|
+
*/
|
|
418
|
+
assertFrontendModelRansackAllowed(ransack: Record<string, unknown>): void;
|
|
419
|
+
/**
|
|
420
|
+
* Runs normalized frontend-model Ransack group.
|
|
421
|
+
* @param {Record<string, ?>} filterParams - Ransack filter params.
|
|
422
|
+
* @returns {import("./utils/ransack.js").RansackGroup} Normalized Ransack group.
|
|
423
|
+
*/
|
|
424
|
+
frontendModelRansackGroup(filterParams: Record<string, unknown>): import("./utils/ransack.js").RansackGroup;
|
|
425
|
+
/**
|
|
426
|
+
* Runs normalized frontend-model Ransack sorts.
|
|
427
|
+
* @param {string} sortString - Ransack sort string.
|
|
428
|
+
* @returns {import("./utils/ransack.js").RansackSort[]} Normalized Ransack sorts.
|
|
429
|
+
*/
|
|
430
|
+
frontendModelRansackSorts(sortString: string): import("./utils/ransack.js").RansackSort[];
|
|
431
|
+
/**
|
|
432
|
+
* Asserts a normalized frontend-model Ransack group only references exposed attributes.
|
|
433
|
+
* @param {object} args - Assertion args.
|
|
434
|
+
* @param {import("./utils/ransack.js").RansackGroup} args.group - Ransack group.
|
|
435
|
+
* @returns {void}
|
|
436
|
+
*/
|
|
437
|
+
assertFrontendModelRansackGroupAllowed({ group }: {
|
|
438
|
+
group: import("./utils/ransack.js").RansackGroup;
|
|
439
|
+
}): void;
|
|
440
|
+
/**
|
|
441
|
+
* Asserts one normalized frontend-model Ransack attribute is exposed by its resource.
|
|
442
|
+
* @param {object} args - Assertion args.
|
|
443
|
+
* @param {string} args.attributeName - Attribute name.
|
|
444
|
+
* @param {typeof import("./database/record/index.js").default} args.modelClass - Target model class.
|
|
445
|
+
* @param {string} args.operationName - Operation name for errors.
|
|
446
|
+
* @returns {void}
|
|
447
|
+
*/
|
|
448
|
+
assertFrontendModelRansackAttributeAllowed({ attributeName, modelClass, operationName }: {
|
|
449
|
+
attributeName: string;
|
|
450
|
+
modelClass: typeof import("./database/record/index.js").default;
|
|
451
|
+
operationName: string;
|
|
452
|
+
}): void;
|
|
413
453
|
/**
|
|
414
454
|
* Runs frontend model search target model class.
|
|
415
455
|
* @param {object} args - Search args.
|
|
@@ -524,14 +564,14 @@ export default class FrontendModelController extends Controller {
|
|
|
524
564
|
modelClass: typeof import("./database/record/index.js").default;
|
|
525
565
|
}): boolean;
|
|
526
566
|
/**
|
|
527
|
-
*
|
|
567
|
+
* Asserts a selected frontend-model attribute list only references exposed attributes.
|
|
528
568
|
* @param {object} args - Args.
|
|
529
569
|
* @param {string[]} args.attributeNames - Selected attribute names.
|
|
530
570
|
* @param {typeof import("./database/record/index.js").default} args.modelClass - Model class.
|
|
531
571
|
* @param {"select" | "selectsExtra"} args.operationName - Selection operation.
|
|
532
|
-
* @returns {string[]} -
|
|
572
|
+
* @returns {string[]} - Allowed selected attribute names.
|
|
533
573
|
*/
|
|
534
|
-
|
|
574
|
+
assertFrontendModelSelectedAttributesAllowed({ attributeNames, modelClass, operationName }: {
|
|
535
575
|
attributeNames: string[];
|
|
536
576
|
modelClass: typeof import("./database/record/index.js").default;
|
|
537
577
|
operationName: "select" | "selectsExtra";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-model-controller.d.ts","sourceRoot":"","sources":["../../src/frontend-model-controller.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontend-model-controller.d.ts","sourceRoot":"","sources":["../../src/frontend-model-controller.js"],"names":[],"mappings":"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"}
|