@kaspernj/api-maker 1.0.2109 → 1.0.2110
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 +32 -0
- package/build/api.d.ts +1 -3
- package/build/api.d.ts.map +1 -1
- package/build/api.js +2 -4
- package/build/attribute-not-loaded-error.d.ts +1 -0
- package/build/attribute-not-loaded-error.d.ts.map +1 -1
- package/build/attribute-not-loaded-error.js +2 -1
- package/build/base-model/attribute.d.ts +1 -3
- package/build/base-model/attribute.d.ts.map +1 -1
- package/build/base-model/attribute.js +2 -4
- package/build/base-model/reflection.d.ts +2 -0
- package/build/base-model/reflection.d.ts.map +1 -1
- package/build/base-model/reflection.js +3 -1
- package/build/base-model/scope.d.ts +1 -0
- package/build/base-model/scope.d.ts.map +1 -1
- package/build/base-model/scope.js +2 -1
- package/build/base-model.js +128 -46
- package/build/bootstrap/attribute-row.js +54 -6
- package/build/bootstrap/attribute-rows.js +8 -4
- package/build/bootstrap/index.js +2 -1
- package/build/cable-connection-pool.d.ts +10 -0
- package/build/cable-connection-pool.d.ts.map +1 -1
- package/build/cable-connection-pool.js +11 -1
- package/build/cable-subscription-pool.d.ts +10 -0
- package/build/cable-subscription-pool.d.ts.map +1 -1
- package/build/cable-subscription-pool.js +13 -1
- package/build/cable-subscription.d.ts +2 -0
- package/build/cable-subscription.d.ts.map +1 -1
- package/build/cable-subscription.js +4 -1
- package/build/cache-key-generator.d.ts +9 -0
- package/build/cache-key-generator.d.ts.map +1 -1
- package/build/cache-key-generator.js +10 -1
- package/build/can-can.d.ts +20 -0
- package/build/can-can.d.ts.map +1 -1
- package/build/can-can.js +22 -1
- package/build/channels-consumer.d.ts.map +1 -1
- package/build/channels-consumer.js +4 -1
- package/build/collection.d.ts +57 -49
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +55 -51
- package/build/command-submit-data.d.ts +3 -0
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +4 -1
- package/build/commands-pool.d.ts +7 -0
- package/build/commands-pool.d.ts.map +1 -1
- package/build/commands-pool.js +10 -4
- package/build/compose.d.ts +1 -0
- package/build/compose.d.ts.map +1 -1
- package/build/compose.js +2 -1
- package/build/config.d.ts +2 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +4 -1
- package/build/custom-error.d.ts +1 -0
- package/build/custom-error.d.ts.map +1 -1
- package/build/custom-error.js +2 -1
- package/build/data-set-to-attributes.d.ts +1 -0
- package/build/data-set-to-attributes.d.ts.map +1 -1
- package/build/data-set-to-attributes.js +2 -1
- package/build/deserializer.d.ts +2 -0
- package/build/deserializer.d.ts.map +1 -1
- package/build/deserializer.js +5 -3
- package/build/destroy-error.d.ts +1 -0
- package/build/destroy-error.d.ts.map +1 -1
- package/build/destroy-error.js +2 -1
- package/build/devise.d.ts +11 -0
- package/build/devise.d.ts.map +1 -1
- package/build/devise.js +17 -2
- package/build/draggable-sort/controller.d.ts +12 -0
- package/build/draggable-sort/controller.d.ts.map +1 -1
- package/build/draggable-sort/controller.js +13 -1
- package/build/error-logger.d.ts +10 -0
- package/build/error-logger.d.ts.map +1 -1
- package/build/error-logger.js +12 -1
- package/build/error-messages.d.ts +1 -3
- package/build/error-messages.d.ts.map +1 -1
- package/build/error-messages.js +2 -4
- package/build/event-connection.d.ts +1 -1
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-model-class.d.ts +1 -1
- package/build/event-model-class.d.ts.map +1 -1
- package/build/events.d.ts +1 -0
- package/build/events.d.ts.map +1 -1
- package/build/events.js +2 -1
- package/build/history-expo.d.ts +7 -1
- package/build/history-expo.d.ts.map +1 -1
- package/build/history-expo.js +8 -1
- package/build/history-react-native.d.ts +7 -1
- package/build/history-react-native.d.ts.map +1 -1
- package/build/history-react-native.js +8 -1
- package/build/history.js +2 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/inputs/auto-submit.d.ts +14 -2
- package/build/inputs/auto-submit.d.ts.map +1 -1
- package/build/inputs/auto-submit.js +5 -1
- package/build/inputs/id-for-component.d.ts +1 -0
- package/build/inputs/id-for-component.d.ts.map +1 -1
- package/build/inputs/id-for-component.js +2 -1
- package/build/inputs/name-for-component.d.ts +1 -0
- package/build/inputs/name-for-component.d.ts.map +1 -1
- package/build/inputs/name-for-component.js +2 -1
- package/build/instance-of-class-name.d.ts +5 -1
- package/build/instance-of-class-name.d.ts.map +1 -1
- package/build/instance-of-class-name.js +11 -2
- package/build/is-expo.js +2 -1
- package/build/key-value-store.d.ts +39 -7
- package/build/key-value-store.d.ts.map +1 -1
- package/build/key-value-store.js +33 -1
- package/build/logger.d.ts +35 -9
- package/build/logger.d.ts.map +1 -1
- package/build/logger.js +25 -1
- package/build/merge-styles.d.ts +1 -0
- package/build/merge-styles.d.ts.map +1 -1
- package/build/merge-styles.js +2 -1
- package/build/model-events.d.ts +33 -5
- package/build/model-events.d.ts.map +1 -1
- package/build/model-events.js +29 -1
- package/build/model-name.d.ts +19 -5
- package/build/model-name.d.ts.map +1 -1
- package/build/model-name.js +10 -1
- package/build/model-prop-type.d.ts +11 -0
- package/build/model-prop-type.d.ts.map +1 -1
- package/build/model-prop-type.js +13 -1
- package/build/model-recipes-loader.d.ts +11 -4
- package/build/model-recipes-loader.d.ts.map +1 -1
- package/build/model-recipes-loader.js +8 -1
- package/build/model-recipes-model-loader.d.ts +67 -35
- package/build/model-recipes-model-loader.d.ts.map +1 -1
- package/build/model-recipes-model-loader.js +24 -3
- package/build/models-response-reader.d.ts +32 -6
- package/build/models-response-reader.d.ts.map +1 -1
- package/build/models-response-reader.js +12 -1
- package/build/models.d.ts +1 -1
- package/build/models.d.ts.map +1 -1
- package/build/models.js +2 -1
- package/build/money-formatter.d.ts +72 -8
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +36 -1
- package/build/not-loaded-error.d.ts +1 -0
- package/build/not-loaded-error.d.ts.map +1 -1
- package/build/not-loaded-error.js +2 -1
- package/build/params.d.ts +1 -0
- package/build/params.d.ts.map +1 -1
- package/build/params.js +2 -1
- package/build/preloaded.d.ts +2 -3
- package/build/preloaded.d.ts.map +1 -1
- package/build/preloaded.js +3 -4
- package/build/rest-props-validator.d.ts +5 -1
- package/build/rest-props-validator.d.ts.map +1 -1
- package/build/rest-props-validator.js +5 -1
- package/build/result.d.ts +4 -0
- package/build/result.d.ts.map +1 -1
- package/build/result.js +3 -1
- package/build/routes-native.d.ts +4 -12
- package/build/routes-native.d.ts.map +1 -1
- package/build/routes-native.js +5 -13
- package/build/routes.d.ts +11 -5
- package/build/routes.d.ts.map +1 -1
- package/build/routes.js +5 -1
- package/build/run-last.d.ts +9 -2
- package/build/run-last.d.ts.map +1 -1
- package/build/run-last.js +8 -1
- package/build/serializer.d.ts +7 -0
- package/build/serializer.d.ts.map +1 -1
- package/build/serializer.js +9 -2
- package/build/services.d.ts +10 -2
- package/build/services.d.ts.map +1 -1
- package/build/services.js +9 -1
- package/build/session-status-updater.d.ts +13 -0
- package/build/session-status-updater.d.ts.map +1 -1
- package/build/session-status-updater.js +15 -1
- package/build/source-maps-loader.js +20 -3
- package/build/super-admin/has-edit-config.d.ts +5 -1
- package/build/super-admin/has-edit-config.d.ts.map +1 -1
- package/build/super-admin/has-edit-config.js +5 -1
- package/build/super-admin/models.d.ts +1 -0
- package/build/super-admin/models.d.ts.map +1 -1
- package/build/super-admin/models.js +2 -1
- package/build/table/column-identifier.d.ts +1 -0
- package/build/table/column-identifier.d.ts.map +1 -1
- package/build/table/column-identifier.js +2 -1
- package/build/table/column-visible.d.ts +1 -0
- package/build/table/column-visible.d.ts.map +1 -1
- package/build/table/column-visible.js +2 -1
- package/build/table/model-callback-args.d.ts +1 -0
- package/build/table/model-callback-args.d.ts.map +1 -1
- package/build/table/model-callback-args.js +2 -1
- package/build/table/select-calculator.d.ts +1 -0
- package/build/table/select-calculator.d.ts.map +1 -1
- package/build/table/select-calculator.js +5 -1
- package/build/table/table-settings.d.ts +16 -0
- package/build/table/table-settings.d.ts.map +1 -1
- package/build/table/table-settings.js +19 -1
- package/build/table/use-sorting.d.ts.map +1 -1
- package/build/table/use-sorting.js +2 -4
- package/build/translated-attributes.d.ts +1 -0
- package/build/translated-attributes.d.ts.map +1 -1
- package/build/translated-attributes.js +2 -1
- package/build/translated-collections.d.ts +7 -1
- package/build/translated-collections.d.ts.map +1 -1
- package/build/translated-collections.js +7 -1
- package/build/updated-attribute.d.ts +1 -1
- package/build/updated-attribute.d.ts.map +1 -1
- package/build/use-can-can.d.ts.map +1 -1
- package/build/use-can-can.js +10 -1
- package/build/use-destroyed-event.d.ts +3 -6
- package/build/use-destroyed-event.d.ts.map +1 -1
- package/build/use-destroyed-event.js +95 -62
- package/build/use-model-class-event.d.ts +7 -10
- package/build/use-model-class-event.d.ts.map +1 -1
- package/build/use-model-class-event.js +7 -6
- package/build/use-model-event.d.ts +2 -5
- package/build/use-model-event.d.ts.map +1 -1
- package/build/use-model-event.js +2 -1
- package/build/use-model.d.ts +2 -3
- package/build/use-model.d.ts.map +1 -1
- package/build/use-model.js +2 -1
- package/build/use-screen-layout.d.ts +2 -1
- package/build/use-screen-layout.d.ts.map +1 -1
- package/build/use-screen-layout.js +7 -2
- package/build/use-styles.d.ts +7 -1
- package/build/use-styles.d.ts.map +1 -1
- package/build/use-styles.js +18 -5
- package/build/validation-error.d.ts +1 -0
- package/build/validation-error.d.ts.map +1 -1
- package/build/validation-error.js +2 -1
- package/build/validation-errors.d.ts +7 -0
- package/build/validation-errors.d.ts.map +1 -1
- package/build/validation-errors.js +8 -1
- package/package.json +2 -2
package/build/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"/src/","sources":["services.js"],"names":[],"mappings":"AAIA;IACE,
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"/src/","sources":["services.js"],"names":[],"mappings":"AAIA,iCAAiC;AACjC;IACE,kCAAkC;IAClC,kBADc,gBAAgB,CAK7B;IAED;;;;;OAKG;IACH,yBALW,MAAM,QACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAYxB;CACF"}
|
package/build/services.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import CommandsPool from "./commands-pool.js";
|
|
2
2
|
const shared = {};
|
|
3
|
+
/** API service command proxy. */
|
|
3
4
|
export default class ApiMakerServices {
|
|
5
|
+
/** @returns {ApiMakerServices} */
|
|
4
6
|
static current() {
|
|
5
7
|
if (!shared.currentApiMakerService)
|
|
6
8
|
shared.currentApiMakerService = new ApiMakerServices();
|
|
7
9
|
return shared.currentApiMakerService;
|
|
8
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* @param {string} serviceName
|
|
13
|
+
* @param {Record<string, any>} args
|
|
14
|
+
* @param {Record<string, any>} [options]
|
|
15
|
+
* @returns {Promise<any>}
|
|
16
|
+
*/
|
|
9
17
|
sendRequest(serviceName, args, options = {}) {
|
|
10
18
|
return CommandsPool.addCommand({
|
|
11
19
|
args: {
|
|
@@ -18,4 +26,4 @@ export default class ApiMakerServices {
|
|
|
18
26
|
}, options);
|
|
19
27
|
}
|
|
20
28
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFBO0FBRTdDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQkFBZ0I7SUFDbkMsa0NBQWtDO0lBQ2xDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7WUFBRSxNQUFNLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBRTFGLE9BQU8sTUFBTSxDQUFDLHNCQUFzQixDQUFBO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sR0FBRyxFQUFFO1FBQzFDLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUM3QixJQUFJLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFlBQVksRUFBRSxXQUFXO2FBQzFCO1lBQ0QsT0FBTyxFQUFFLFVBQVU7WUFDbkIsY0FBYyxFQUFFLE9BQU87WUFDdkIsSUFBSSxFQUFFLFNBQVM7U0FDaEIsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tYW5kc1Bvb2wgZnJvbSBcIi4vY29tbWFuZHMtcG9vbC5qc1wiXG5cbmNvbnN0IHNoYXJlZCA9IHt9XG5cbi8qKiBBUEkgc2VydmljZSBjb21tYW5kIHByb3h5LiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJTZXJ2aWNlcyB7XG4gIC8qKiBAcmV0dXJucyB7QXBpTWFrZXJTZXJ2aWNlc30gKi9cbiAgc3RhdGljIGN1cnJlbnQgKCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRBcGlNYWtlclNlcnZpY2UpIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJTZXJ2aWNlID0gbmV3IEFwaU1ha2VyU2VydmljZXMoKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJTZXJ2aWNlXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlcnZpY2VOYW1lXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc2VuZFJlcXVlc3QgKHNlcnZpY2VOYW1lLCBhcmdzLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gQ29tbWFuZHNQb29sLmFkZENvbW1hbmQoe1xuICAgICAgYXJnczoge1xuICAgICAgICBzZXJ2aWNlX2FyZ3M6IGFyZ3MsXG4gICAgICAgIHNlcnZpY2VfbmFtZTogc2VydmljZU5hbWVcbiAgICAgIH0sXG4gICAgICBjb21tYW5kOiBcInNlcnZpY2VzXCIsXG4gICAgICBjb2xsZWN0aW9uTmFtZTogXCJjYWxsc1wiLFxuICAgICAgdHlwZTogXCJzZXJ2aWNlXCJcbiAgICB9LCBvcHRpb25zKVxuICB9XG59XG4iXX0=
|
|
@@ -1,21 +1,34 @@
|
|
|
1
|
+
/** Tracks session and CSRF token freshness. */
|
|
1
2
|
export default class ApiMakerSessionStatusUpdater {
|
|
3
|
+
/** current. */
|
|
2
4
|
static current(args: any): any;
|
|
5
|
+
/** Constructor. */
|
|
3
6
|
constructor(args?: {});
|
|
4
7
|
events: {};
|
|
5
8
|
timeout: any;
|
|
6
9
|
useMetaElement: unknown;
|
|
10
|
+
/** connectOnlineEvent. */
|
|
7
11
|
connectOnlineEvent(): void;
|
|
12
|
+
/** connectWakeEvent. */
|
|
8
13
|
connectWakeEvent(): void;
|
|
9
14
|
getCsrfToken(): Promise<any>;
|
|
10
15
|
csrfToken: any;
|
|
16
|
+
/** sessionStatus. */
|
|
11
17
|
sessionStatus(): Promise<any>;
|
|
18
|
+
/** onSignedOut. */
|
|
12
19
|
onSignedOut(callback: any): void;
|
|
20
|
+
/** startTimeout. */
|
|
13
21
|
startTimeout(): void;
|
|
14
22
|
updateTimeout: NodeJS.Timeout;
|
|
23
|
+
/** stopTimeout. */
|
|
15
24
|
stopTimeout(): void;
|
|
25
|
+
/** updateSessionStatus. */
|
|
16
26
|
updateSessionStatus: () => Promise<void>;
|
|
27
|
+
/** updateMetaElementsFromResult. */
|
|
17
28
|
updateMetaElementsFromResult(result: any): void;
|
|
29
|
+
/** updateUserSessionsFromResult. */
|
|
18
30
|
updateUserSessionsFromResult(result: any): void;
|
|
31
|
+
/** updateUserSessionScopeFromResult. */
|
|
19
32
|
updateUserSessionScopeFromResult(scopeName: any, scope: any): void;
|
|
20
33
|
}
|
|
21
34
|
//# sourceMappingURL=session-status-updater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status-updater.d.ts","sourceRoot":"/src/","sources":["session-status-updater.js"],"names":[],"mappings":"AAWA;IACE,+BAMC;IAED,uBAiBC;IAhBC,WAAgB;IAChB,aAAqC;IAGnC,wBAAyC;IAc7C,2BAEC;IAED,yBAEC;IAED,6BA6BC;IAhBK,eAAyD;IAkB/D,8BAiBC;IAED,
|
|
1
|
+
{"version":3,"file":"session-status-updater.d.ts","sourceRoot":"/src/","sources":["session-status-updater.js"],"names":[],"mappings":"AAWA,+CAA+C;AAC/C;IACE,eAAe;IACf,+BAMC;IAED,mBAAmB;IACnB,uBAiBC;IAhBC,WAAgB;IAChB,aAAqC;IAGnC,wBAAyC;IAc7C,0BAA0B;IAC1B,2BAEC;IAED,wBAAwB;IACxB,yBAEC;IAED,6BA6BC;IAhBK,eAAyD;IAkB/D,qBAAqB;IACrB,8BAiBC;IAED,mBAAmB;IACnB,iCAGC;IAED,oBAAoB;IACpB,qBAaC;IAPC,8BAMC;IAGH,mBAAmB;IACnB,oBAGC;IAED,2BAA2B;IAC3B,yCAQC;IAED,oCAAoC;IACpC,gDAeC;IAED,oCAAoC;IACpC,gDAIC;IAED,wCAAwC;IACxC,mEAgBC;CACF"}
|
|
@@ -6,13 +6,16 @@ import wakeEvent from "wake-event";
|
|
|
6
6
|
const logger = new Logger({ name: "ApiMaker / SessionStatusUpdater" });
|
|
7
7
|
const shared = {};
|
|
8
8
|
// logger.setDebug(true)
|
|
9
|
+
/** Tracks session and CSRF token freshness. */
|
|
9
10
|
export default class ApiMakerSessionStatusUpdater {
|
|
11
|
+
/** current. */
|
|
10
12
|
static current(args) {
|
|
11
13
|
if (!shared.apiMakerSessionStatusUpdater) {
|
|
12
14
|
shared.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater(args);
|
|
13
15
|
}
|
|
14
16
|
return shared.apiMakerSessionStatusUpdater;
|
|
15
17
|
}
|
|
18
|
+
/** Constructor. */
|
|
16
19
|
constructor(args = {}) {
|
|
17
20
|
this.events = {};
|
|
18
21
|
this.timeout = args.timeout || 600000;
|
|
@@ -30,9 +33,11 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
30
33
|
}
|
|
31
34
|
this.connectWakeEvent();
|
|
32
35
|
}
|
|
36
|
+
/** connectOnlineEvent. */
|
|
33
37
|
connectOnlineEvent() {
|
|
34
38
|
window.addEventListener("online", this.updateSessionStatus, false);
|
|
35
39
|
}
|
|
40
|
+
/** connectWakeEvent. */
|
|
36
41
|
connectWakeEvent() {
|
|
37
42
|
wakeEvent(this.updateSessionStatus);
|
|
38
43
|
}
|
|
@@ -57,6 +62,7 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
57
62
|
}
|
|
58
63
|
throw new Error("CSRF token hasn't been set");
|
|
59
64
|
}
|
|
65
|
+
/** sessionStatus. */
|
|
60
66
|
sessionStatus() {
|
|
61
67
|
return new Promise((resolve) => {
|
|
62
68
|
const host = config.getHost();
|
|
@@ -73,9 +79,12 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
73
79
|
xhr.send();
|
|
74
80
|
});
|
|
75
81
|
}
|
|
82
|
+
/** onSignedOut. */
|
|
76
83
|
onSignedOut(callback) {
|
|
84
|
+
// @ts-expect-error
|
|
77
85
|
this.addEvent("onSignedOut", callback);
|
|
78
86
|
}
|
|
87
|
+
/** startTimeout. */
|
|
79
88
|
startTimeout() {
|
|
80
89
|
logger.debug("startTimeout");
|
|
81
90
|
if (this.updateTimeout)
|
|
@@ -85,10 +94,12 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
85
94
|
this.updateSessionStatus();
|
|
86
95
|
}, this.timeout);
|
|
87
96
|
}
|
|
97
|
+
/** stopTimeout. */
|
|
88
98
|
stopTimeout() {
|
|
89
99
|
if (this.updateTimeout)
|
|
90
100
|
clearTimeout(this.updateTimeout);
|
|
91
101
|
}
|
|
102
|
+
/** updateSessionStatus. */
|
|
92
103
|
updateSessionStatus = async () => {
|
|
93
104
|
logger.debug("updateSessionStatus");
|
|
94
105
|
const result = await this.sessionStatus();
|
|
@@ -96,6 +107,7 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
96
107
|
this.updateMetaElementsFromResult(result);
|
|
97
108
|
this.updateUserSessionsFromResult(result);
|
|
98
109
|
};
|
|
110
|
+
/** updateMetaElementsFromResult. */
|
|
99
111
|
updateMetaElementsFromResult(result) {
|
|
100
112
|
logger.debug("updateMetaElementsFromResult");
|
|
101
113
|
this.csrfToken = result.csrf_token;
|
|
@@ -110,11 +122,13 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
110
122
|
}
|
|
111
123
|
}
|
|
112
124
|
}
|
|
125
|
+
/** updateUserSessionsFromResult. */
|
|
113
126
|
updateUserSessionsFromResult(result) {
|
|
114
127
|
for (const scopeName in result.scopes) {
|
|
115
128
|
this.updateUserSessionScopeFromResult(scopeName, result.scopes[scopeName]);
|
|
116
129
|
}
|
|
117
130
|
}
|
|
131
|
+
/** updateUserSessionScopeFromResult. */
|
|
118
132
|
updateUserSessionScopeFromResult(scopeName, scope) {
|
|
119
133
|
const deviseIsSignedInMethodName = `is${inflection.camelize(scopeName)}SignedIn`;
|
|
120
134
|
if (!(deviseIsSignedInMethodName in Devise)) {
|
|
@@ -129,4 +143,4 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
129
143
|
}
|
|
130
144
|
}
|
|
131
145
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsNEJBQTRCLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsNEJBQTRCLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FB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RWpHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgd2FrZUV2ZW50IGZyb20gXCJ3YWtlLWV2ZW50XCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFNlc3Npb25TdGF0dXNVcGRhdGVyXCJ9KVxuY29uc3Qgc2hhcmVkID0ge31cblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICBzdGF0aWMgY3VycmVudChhcmdzKSB7XG4gICAgaWYgKCFzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcikge1xuICAgICAgc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIgPSBuZXcgQXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcihhcmdzKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlclxuICB9XG5cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy5jb25uZWN0T25saW5lRXZlbnQoKVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdFdha2VFdmVudCgpXG4gIH1cblxuICBjb25uZWN0T25saW5lRXZlbnQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzLCBmYWxzZSlcbiAgfVxuXG4gIGNvbm5lY3RXYWtlRXZlbnQoKSB7XG4gICAgd2FrZUV2ZW50KHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cylcbiAgfVxuXG4gIGFzeW5jIGdldENzcmZUb2tlbigpIHtcbiAgICBpZiAodGhpcy5jc3JmVG9rZW4pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR2V0IENTUkYgdG9rZW4gZnJvbSBzZXQgdmFyaWFibGU6ICR7dGhpcy5jc3JmVG9rZW59YClcblxuICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBHZXQgQ1NSRiB0b2tlbiBmcm9tIG1ldGEgZWxlbWVudDogJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9YClcblxuICAgICAgICB0aGlzLmNzcmZUb2tlbiA9IGNzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgICAgfVxuICAgIH1cblxuICAgIGxvZ2dlci5kZWJ1ZyhcIlVwZGF0aW5nIHNlc3Npb24gc3RhdHVzIGJlY2F1c2Ugbm8gQ1NSRiB0b2tlbiBzZXQgeWV0XCIpXG4gICAgYXdhaXQgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzKClcblxuICAgIGlmICh0aGlzLmNzcmZUb2tlbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBSZXR1cm5pbmcgQ1NSRiB0b2tlbiBhZnRlciB1cGRhdGluZyBzZXNzaW9uIHN0YXR1czogJHt0aGlzLmNzcmZUb2tlbn1gKVxuXG4gICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDU1JGIHRva2VuIGhhc24ndCBiZWVuIHNldFwiKVxuICB9XG5cbiAgc2Vzc2lvblN0YXR1cygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGhvc3QgPSBjb25maWcuZ2V0SG9zdCgpXG4gICAgICBsZXQgcmVxdWVzdFBhdGggPSBcIlwiXG5cbiAgICAgIGlmIChob3N0KSByZXF1ZXN0UGF0aCArPSBob3N0XG5cbiAgICAgIHJlcXVlc3RQYXRoICs9IFwiL2FwaV9tYWtlci9zZXNzaW9uX3N0YXR1c2VzXCJcblxuICAgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIHhoci5vcGVuKFwiUE9TVFwiLCByZXF1ZXN0UGF0aCwgdHJ1ZSlcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KVxuICAgICAgICByZXNvbHZlKHJlc3BvbnNlKVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBvblNpZ25lZE91dChjYWxsYmFjaykge1xuICAgIHRoaXMuYWRkRXZlbnQoXCJvblNpZ25lZE91dFwiLCBjYWxsYmFjaylcbiAgfVxuXG4gIHN0YXJ0VGltZW91dCgpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJzdGFydFRpbWVvdXRcIilcblxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKVxuICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgICAgfSxcbiAgICAgIHRoaXMudGltZW91dFxuICAgIClcbiAgfVxuXG4gIHN0b3BUaW1lb3V0KCkge1xuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuICB9XG5cbiAgdXBkYXRlU2Vzc2lvblN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVTZXNzaW9uU3RhdHVzXCIpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlc3Npb25TdGF0dXMoKVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBSZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0LCBudWxsLCAyKX1gKVxuICAgIHRoaXMudXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXN1bHQpXG4gICAgdGhpcy51cGRhdGVVc2VyU2Vzc2lvbnNGcm9tUmVzdWx0KHJlc3VsdClcbiAgfVxuXG4gIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwidXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdFwiKVxuXG4gICAgdGhpcy5jc3JmVG9rZW4gPSByZXN1bHQuY3NyZl90b2tlblxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2luZyB0b2tlbiBmcm9tIFwiJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9XCIgdG8gXCIke3Jlc3VsdC5jc3JmX3Rva2VufVwiYClcbiAgICAgICAgY3NyZlRva2VuRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIsIHJlc3VsdC5jc3JmX3Rva2VuKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiY3NyZiB0b2tlbiBlbGVtZW50IGNvdWxkbid0IGJlIGZvdW5kXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBmb3IgKGNvbnN0IHNjb3BlTmFtZSBpbiByZXN1bHQuc2NvcGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgcmVzdWx0LnNjb3Blc1tzY29wZU5hbWVdKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgc2NvcGUpIHtcbiAgICBjb25zdCBkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfVNpZ25lZEluYFxuXG4gICAgaWYgKCEoZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWUgaW4gRGV2aXNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBpbiBEZXZpc2U6ICR7ZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50bHlTaWduZWRJbiA9IERldmlzZVtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZV0oKVxuICAgIGNvbnN0IHNpZ25lZEluT25CYWNrZW5kID0gc2NvcGUuc2lnbmVkX2luXG5cbiAgICBpZiAoY3VycmVudGx5U2lnbmVkSW4gJiYgIXNpZ25lZEluT25CYWNrZW5kKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfSBzaWduZWQgaW4gb24gZnJvbnRlbmQgYnV0IG5vdCBpbiBiYWNrZW5kIWApXG5cbiAgICAgIERldmlzZS5zZXRTaWduZWRPdXQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgICAgRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgIH1cbiAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQy9DLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FB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RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFFekMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUE7WUFFakcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcbmltcG9ydCB3YWtlRXZlbnQgZnJvbSBcIndha2UtZXZlbnRcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gU2Vzc2lvblN0YXR1c1VwZGF0ZXJcIn0pXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vLyBsb2dnZXIuc2V0RGVidWcodHJ1ZSlcblxuLyoqIFRyYWNrcyBzZXNzaW9uIGFuZCBDU1JGIHRva2VuIGZyZXNobmVzcy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICAvKiogY3VycmVudC4gKi9cbiAgc3RhdGljIGN1cnJlbnQoYXJncykge1xuICAgIGlmICghc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIpIHtcbiAgICAgIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyID0gbmV3IEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIoYXJncylcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXJcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy5jb25uZWN0T25saW5lRXZlbnQoKVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdFdha2VFdmVudCgpXG4gIH1cblxuICAvKiogY29ubmVjdE9ubGluZUV2ZW50LiAqL1xuICBjb25uZWN0T25saW5lRXZlbnQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzLCBmYWxzZSlcbiAgfVxuXG4gIC8qKiBjb25uZWN0V2FrZUV2ZW50LiAqL1xuICBjb25uZWN0V2FrZUV2ZW50KCkge1xuICAgIHdha2VFdmVudCh0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMpXG4gIH1cblxuICBhc3luYyBnZXRDc3JmVG9rZW4oKSB7XG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoYEdldCBDU1JGIHRva2VuIGZyb20gc2V0IHZhcmlhYmxlOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIGlmICh0aGlzLnVzZU1ldGFFbGVtZW50KSB7XG4gICAgICBjb25zdCBjc3JmVG9rZW5FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG5cbiAgICAgIGlmIChjc3JmVG9rZW5FbGVtZW50KSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgR2V0IENTUkYgdG9rZW4gZnJvbSBtZXRhIGVsZW1lbnQ6ICR7Y3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpfWApXG5cbiAgICAgICAgdGhpcy5jc3JmVG9rZW4gPSBjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dnZXIuZGVidWcoXCJVcGRhdGluZyBzZXNzaW9uIHN0YXR1cyBiZWNhdXNlIG5vIENTUkYgdG9rZW4gc2V0IHlldFwiKVxuICAgIGF3YWl0IHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG5cbiAgICBpZiAodGhpcy5jc3JmVG9rZW4pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgUmV0dXJuaW5nIENTUkYgdG9rZW4gYWZ0ZXIgdXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXM6ICR7dGhpcy5jc3JmVG9rZW59YClcblxuICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ1NSRiB0b2tlbiBoYXNuJ3QgYmVlbiBzZXRcIilcbiAgfVxuXG4gIC8qKiBzZXNzaW9uU3RhdHVzLiAqL1xuICBzZXNzaW9uU3RhdHVzKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgaG9zdCA9IGNvbmZpZy5nZXRIb3N0KClcbiAgICAgIGxldCByZXF1ZXN0UGF0aCA9IFwiXCJcblxuICAgICAgaWYgKGhvc3QpIHJlcXVlc3RQYXRoICs9IGhvc3RcblxuICAgICAgcmVxdWVzdFBhdGggKz0gXCIvYXBpX21ha2VyL3Nlc3Npb25fc3RhdHVzZXNcIlxuXG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oXCJQT1NUXCIsIHJlcXVlc3RQYXRoLCB0cnVlKVxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpXG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpXG4gICAgICB9XG4gICAgICB4aHIuc2VuZCgpXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBvblNpZ25lZE91dC4gKi9cbiAgb25TaWduZWRPdXQoY2FsbGJhY2spIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGhpcy5hZGRFdmVudChcIm9uU2lnbmVkT3V0XCIsIGNhbGxiYWNrKVxuICB9XG5cbiAgLyoqIHN0YXJ0VGltZW91dC4gKi9cbiAgc3RhcnRUaW1lb3V0KCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInN0YXJ0VGltZW91dFwiKVxuXG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZW91dCgpXG4gICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICB9LFxuICAgICAgdGhpcy50aW1lb3V0XG4gICAgKVxuICB9XG5cbiAgLyoqIHN0b3BUaW1lb3V0LiAqL1xuICBzdG9wVGltZW91dCgpIHtcbiAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0KVxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudXBkYXRlVGltZW91dClcbiAgfVxuXG4gIC8qKiB1cGRhdGVTZXNzaW9uU3RhdHVzLiAqL1xuICB1cGRhdGVTZXNzaW9uU3RhdHVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInVwZGF0ZVNlc3Npb25TdGF0dXNcIilcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2Vzc2lvblN0YXR1cygpXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG4gICAgdGhpcy51cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0KHJlc3VsdClcbiAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KVxuICB9XG5cbiAgLyoqIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwidXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdFwiKVxuXG4gICAgdGhpcy5jc3JmVG9rZW4gPSByZXN1bHQuY3NyZl90b2tlblxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2luZyB0b2tlbiBmcm9tIFwiJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9XCIgdG8gXCIke3Jlc3VsdC5jc3JmX3Rva2VufVwiYClcbiAgICAgICAgY3NyZlRva2VuRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIsIHJlc3VsdC5jc3JmX3Rva2VuKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiY3NyZiB0b2tlbiBlbGVtZW50IGNvdWxkbid0IGJlIGZvdW5kXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgZm9yIChjb25zdCBzY29wZU5hbWUgaW4gcmVzdWx0LnNjb3Blcykge1xuICAgICAgdGhpcy51cGRhdGVVc2VyU2Vzc2lvblNjb3BlRnJvbVJlc3VsdChzY29wZU5hbWUsIHJlc3VsdC5zY29wZXNbc2NvcGVOYW1lXSlcbiAgICB9XG4gIH1cblxuICAvKiogdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgc2NvcGUpIHtcbiAgICBjb25zdCBkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfVNpZ25lZEluYFxuXG4gICAgaWYgKCEoZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWUgaW4gRGV2aXNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBpbiBEZXZpc2U6ICR7ZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50bHlTaWduZWRJbiA9IERldmlzZVtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZV0oKVxuICAgIGNvbnN0IHNpZ25lZEluT25CYWNrZW5kID0gc2NvcGUuc2lnbmVkX2luXG5cbiAgICBpZiAoY3VycmVudGx5U2lnbmVkSW4gJiYgIXNpZ25lZEluT25CYWNrZW5kKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfSBzaWduZWQgaW4gb24gZnJvbnRlbmQgYnV0IG5vdCBpbiBiYWNrZW5kIWApXG5cbiAgICAgIERldmlzZS5zZXRTaWduZWRPdXQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgICAgRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -3,21 +3,27 @@ import Logger from "./logger.js";
|
|
|
3
3
|
import { SourceMapConsumer } from "source-map";
|
|
4
4
|
import uniqunize from "uniqunize";
|
|
5
5
|
// Sometimes this needs to be called and sometimes not
|
|
6
|
+
// @ts-expect-error
|
|
6
7
|
if (SourceMapConsumer.initialize) {
|
|
8
|
+
// @ts-expect-error
|
|
7
9
|
SourceMapConsumer.initialize({
|
|
8
10
|
"lib/mappings.wasm": "https://unpkg.com/source-map@0.7.4/lib/mappings.wasm"
|
|
9
11
|
});
|
|
10
12
|
}
|
|
11
13
|
const logger = new Logger({ name: "ApiMaker / SourceMapsLoader" });
|
|
14
|
+
/** Loads and resolves source maps for stack traces. */
|
|
12
15
|
export default class SourceMapsLoader {
|
|
16
|
+
/** Constructor. */
|
|
13
17
|
constructor() {
|
|
14
18
|
this.isLoadingSourceMaps = false;
|
|
15
19
|
this.sourceMaps = [];
|
|
16
20
|
this.srcLoaded = {};
|
|
17
21
|
}
|
|
22
|
+
/** loadSourceMapsForScriptTags. */
|
|
18
23
|
loadSourceMapsForScriptTags(callback) {
|
|
19
24
|
this.loadSourceMapsForScriptTagsCallback = callback;
|
|
20
25
|
}
|
|
26
|
+
/** sourceMapForSource. */
|
|
21
27
|
sourceMapForSource(callback) {
|
|
22
28
|
this.sourceMapForSourceCallback = callback;
|
|
23
29
|
}
|
|
@@ -41,12 +47,14 @@ export default class SourceMapsLoader {
|
|
|
41
47
|
this.isLoadingSourceMaps = false;
|
|
42
48
|
}
|
|
43
49
|
}
|
|
50
|
+
/** getSources. */
|
|
44
51
|
getSources(error) {
|
|
45
52
|
let sources = this.getSourcesFromScripts();
|
|
46
53
|
if (error)
|
|
47
54
|
sources = sources.concat(this.getSourcesFromError(error));
|
|
48
55
|
return uniqunize(sources, (source) => source.originalUrl);
|
|
49
56
|
}
|
|
57
|
+
/** getSourcesFromError. */
|
|
50
58
|
getSourcesFromError(error) {
|
|
51
59
|
const stack = stackTraceParser.parse(error.stack);
|
|
52
60
|
const sources = [];
|
|
@@ -65,10 +73,11 @@ export default class SourceMapsLoader {
|
|
|
65
73
|
}
|
|
66
74
|
return sources;
|
|
67
75
|
}
|
|
76
|
+
/** getSourcesFromScripts. */
|
|
68
77
|
getSourcesFromScripts() {
|
|
69
78
|
const scripts = document.querySelectorAll("script");
|
|
70
79
|
const sources = [];
|
|
71
|
-
for (const script of scripts) {
|
|
80
|
+
for (const script of Array.from(scripts)) {
|
|
72
81
|
const sourceMapUrl = this.getMapURL({ script, src: script.src });
|
|
73
82
|
if (sourceMapUrl) {
|
|
74
83
|
logger.debug(() => `Found source map from script: ${sourceMapUrl}`);
|
|
@@ -77,7 +86,9 @@ export default class SourceMapsLoader {
|
|
|
77
86
|
}
|
|
78
87
|
return sources;
|
|
79
88
|
}
|
|
80
|
-
getMapURL
|
|
89
|
+
/** getMapURL. */
|
|
90
|
+
getMapURL(args = {}) {
|
|
91
|
+
const { script, src } = /** @type {any} */ (args); // eslint-disable-line no-extra-parens
|
|
81
92
|
const url = this.loadUrl(src);
|
|
82
93
|
const originalUrl = `${url.origin}${url.pathname}`;
|
|
83
94
|
if (this.sourceMapForSourceCallback) {
|
|
@@ -89,6 +100,7 @@ export default class SourceMapsLoader {
|
|
|
89
100
|
return `${originalUrl}.map`;
|
|
90
101
|
}
|
|
91
102
|
}
|
|
103
|
+
/** includeMapURL. */
|
|
92
104
|
includeMapURL = (src) => src.includes("/packs/");
|
|
93
105
|
async loadSourceMapForSource({ originalUrl, sourceMapUrl }) {
|
|
94
106
|
const xhr = new XMLHttpRequest();
|
|
@@ -100,16 +112,19 @@ export default class SourceMapsLoader {
|
|
|
100
112
|
console.log(`Couldn't load source map from: ${sourceMapUrl}: ${xhr.responseText}`);
|
|
101
113
|
return;
|
|
102
114
|
}
|
|
115
|
+
// @ts-expect-error
|
|
103
116
|
const consumer = await new SourceMapConsumer(xhr.responseText);
|
|
104
117
|
if (consumer) {
|
|
105
118
|
this.sourceMaps.push({ consumer, originalUrl });
|
|
106
119
|
}
|
|
107
120
|
}
|
|
121
|
+
/** loadUrl. */
|
|
108
122
|
loadUrl(url) {
|
|
109
123
|
const parser = document.createElement("a");
|
|
110
124
|
parser.href = url;
|
|
111
125
|
return parser;
|
|
112
126
|
}
|
|
127
|
+
/** loadXhr. */
|
|
113
128
|
loadXhr(xhr, url) {
|
|
114
129
|
return new Promise((resolve, reject) => {
|
|
115
130
|
xhr.onload = () => {
|
|
@@ -123,10 +138,12 @@ export default class SourceMapsLoader {
|
|
|
123
138
|
xhr.send();
|
|
124
139
|
});
|
|
125
140
|
}
|
|
141
|
+
/** parseStackTrace. */
|
|
126
142
|
parseStackTrace(stackTrace) {
|
|
127
143
|
return this.getStackTraceData(stackTrace)
|
|
128
144
|
.map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`);
|
|
129
145
|
}
|
|
146
|
+
/** getStackTraceData. */
|
|
130
147
|
getStackTraceData(stackTrace) {
|
|
131
148
|
const stack = stackTraceParser.parse(stackTrace);
|
|
132
149
|
const newSourceMap = [];
|
|
@@ -162,4 +179,4 @@ export default class SourceMapsLoader {
|
|
|
162
179
|
return newSourceMap;
|
|
163
180
|
}
|
|
164
181
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzb3VyY2UtbWFwcy1sb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFBO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBRWpDLHNEQUFzRDtBQUN0RCxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUMzQixtQkFBbUIsRUFBRSxzREFBc0Q7S0FDNUUsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFDLENBQUMsQ0FBQTtBQUVoRSxNQUFNLENBQUMsT0FBTyxPQUFPLGdCQUFnQjtJQUNuQztRQUNFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVELDJCQUEyQixDQUFDLFFBQVE7UUFDbEMsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLFFBQVEsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBUTtRQUN6QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFBO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7UUFFcEYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FB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RTlDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqQixVQUFVLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7Z0JBQ2xDLENBQUM7WUFDSCxDQUFDO1lBRUQsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsUUFBUTtnQkFDUixVQUFVO2dCQUNWLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTthQUM3QixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc3RhY2tUcmFjZVBhcnNlciBmcm9tIFwic3RhY2t0cmFjZS1wYXJzZXJcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IHtTb3VyY2VNYXBDb25zdW1lcn0gZnJvbSBcInNvdXJjZS1tYXBcIlxuaW1wb3J0IHVuaXF1bml6ZSBmcm9tIFwidW5pcXVuaXplXCJcblxuLy8gU29tZXRpbWVzIHRoaXMgbmVlZHMgdG8gYmUgY2FsbGVkIGFuZCBzb21ldGltZXMgbm90XG5pZiAoU291cmNlTWFwQ29uc3VtZXIuaW5pdGlhbGl6ZSkge1xuICBTb3VyY2VNYXBDb25zdW1lci5pbml0aWFsaXplKHtcbiAgICBcImxpYi9tYXBwaW5ncy53YXNtXCI6IFwiaHR0cHM6Ly91bnBrZy5jb20vc291cmNlLW1hcEAwLjcuNC9saWIvbWFwcGluZ3Mud2FzbVwiXG4gIH0pXG59XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoe25hbWU6IFwiQXBpTWFrZXIgLyBTb3VyY2VNYXBzTG9hZGVyXCJ9KVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTb3VyY2VNYXBzTG9hZGVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmdTb3VyY2VNYXBzID0gZmFsc2VcbiAgICB0aGlzLnNvdXJjZU1hcHMgPSBbXVxuICAgIHRoaXMuc3JjTG9hZGVkID0ge31cbiAgfVxuXG4gIGxvYWRTb3VyY2VNYXBzRm9yU2NyaXB0VGFncyhjYWxsYmFjaykge1xuICAgIHRoaXMubG9hZFNvdXJjZU1hcHNGb3JTY3JpcHRUYWdzQ2FsbGJhY2sgPSBjYWxsYmFja1xuICB9XG5cbiAgc291cmNlTWFwRm9yU291cmNlKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjayA9IGNhbGxiYWNrXG4gIH1cblxuICBhc3luYyBsb2FkU291cmNlTWFwcyhlcnJvcikge1xuICAgIGlmICghZXJyb3IpIHRocm93IG5ldyBFcnJvcihcIk5vIGVycm9yIHdhcyBnaXZlbiB0byBTb3VyY2VNYXBzTG9hZGVyI2xvYWRTb3VyY2VNYXBzXCIpXG5cbiAgICB0aGlzLmlzTG9hZGluZ1NvdXJjZU1hcHMgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuICAgICAgY29uc3Qgc291cmNlcyA9IHRoaXMuZ2V0U291cmNlcyhlcnJvcilcblxuICAgICAgZm9yKGNvbnN0IHNvdXJjZSBvZiBzb3VyY2VzKSB7XG4gICAgICAgIGlmIChzb3VyY2Uub3JpZ2luYWxVcmwgJiYgIXRoaXMuc3JjTG9hZGVkW3NvdXJjZS5vcmlnaW5hbFVybF0pIHtcbiAgICAgICAgICB0aGlzLnNyY0xvYWRlZFtzb3VyY2Uub3JpZ2luYWxVcmxdID0gdHJ1ZVxuXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubG9hZFNvdXJjZU1hcEZvclNvdXJjZShzb3VyY2UpXG4gICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzTG9hZGluZ1NvdXJjZU1hcHMgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGdldFNvdXJjZXMoZXJyb3IpIHtcbiAgICBsZXQgc291cmNlcyA9IHRoaXMuZ2V0U291cmNlc0Zyb21TY3JpcHRzKClcblxuICAgIGlmIChlcnJvcikgc291cmNlcyA9IHNvdXJjZXMuY29uY2F0KHRoaXMuZ2V0U291cmNlc0Zyb21FcnJvcihlcnJvcikpXG5cbiAgICByZXR1cm4gdW5pcXVuaXplKHNvdXJjZXMsIChzb3VyY2UpID0+IHNvdXJjZS5vcmlnaW5hbFVybClcbiAgfVxuXG4gIGdldFNvdXJjZXNGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrVHJhY2VQYXJzZXIucGFyc2UoZXJyb3Iuc3RhY2spXG4gICAgY29uc3Qgc291cmNlcyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHRyYWNlIG9mIHN0YWNrKSB7XG4gICAgICBjb25zdCBmaWxlID0gdHJhY2UuZmlsZVxuXG4gICAgICBpZiAoZmlsZSAhPSBcIlxcdTAwM0Nhbm9ueW1vdXM+XCIpIHtcbiAgICAgICAgY29uc3Qgc291cmNlTWFwVXJsID0gdGhpcy5nZXRNYXBVUkwoe3NyYzogZmlsZX0pXG5cbiAgICAgICAgaWYgKHNvdXJjZU1hcFVybCkge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgRm91bmQgc291cmNlIG1hcCBmcm9tIGVycm9yOiAke3NvdXJjZU1hcFVybH1gKVxuXG4gICAgICAgICAgc291cmNlcy5wdXNoKHtvcmlnaW5hbFVybDogZmlsZSwgc291cmNlTWFwVXJsfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYENvdWRuJ3QgZ2V0IHNvdXJjZSBtYXAgZnJvbTogJHtmaWxlfWApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlc1xuICB9XG5cbiAgZ2V0U291cmNlc0Zyb21TY3JpcHRzKCkge1xuICAgIGNvbnN0IHNjcmlwdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwic2NyaXB0XCIpXG4gICAgY29uc3Qgc291cmNlcyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHNjcmlwdCBvZiBzY3JpcHRzKSB7XG4gICAgICBjb25zdCBzb3VyY2VNYXBVcmwgPSB0aGlzLmdldE1hcFVSTCh7c2NyaXB0LCBzcmM6IHNjcmlwdC5zcmN9KVxuXG4gICAgICBpZiAoc291cmNlTWFwVXJsKSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgRm91bmQgc291cmNlIG1hcCBmcm9tIHNjcmlwdDogJHtzb3VyY2VNYXBVcmx9YClcbiAgICAgICAgc291cmNlcy5wdXNoKHtvcmlnaW5hbFVybDogc2NyaXB0LnNyYywgc291cmNlTWFwVXJsfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlc1xuICB9XG5cbiAgZ2V0TWFwVVJMKHtzY3JpcHQsIHNyY30pIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmxvYWRVcmwoc3JjKVxuICAgIGNvbnN0IG9yaWdpbmFsVXJsID0gYCR7dXJsLm9yaWdpbn0ke3VybC5wYXRobmFtZX1gXG5cbiAgICBpZiAodGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjaykge1xuICAgICAgLy8gVXNlIGN1c3RvbSBjYWxsYmFjayB0byByZXNvbHZlIHdoaWNoIG1hcC1maWxlIHRvIGRvd25sb2FkXG4gICAgICByZXR1cm4gdGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjayh7b3JpZ2luYWxVcmwsIHNjcmlwdCwgc3JjLCB1cmx9KVxuICAgIH0gZWxzZSBpZiAodGhpcy5pbmNsdWRlTWFwVVJMKHNyYykpIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gb3JpZ2luYWwgVVJMIHdpdGggJy5tYXAnIGFwcGVuZGVkXG4gICAgICByZXR1cm4gYCR7b3JpZ2luYWxVcmx9Lm1hcGBcbiAgICB9XG4gIH1cblxuICBpbmNsdWRlTWFwVVJMID0gKHNyYykgPT4gc3JjLmluY2x1ZGVzKFwiL3BhY2tzL1wiKVxuXG4gIGFzeW5jIGxvYWRTb3VyY2VNYXBGb3JTb3VyY2Uoe29yaWdpbmFsVXJsLCBzb3VyY2VNYXBVcmx9KSB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcblxuICAgIHhoci5vcGVuKFwiR0VUXCIsIHNvdXJjZU1hcFVybCwgdHJ1ZSlcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRYaHIoeGhyLCBzb3VyY2VNYXBVcmwpXG4gICAgfSBjYXRjaCB7XG4gICAgICBjb25zb2xlLmxvZyhgQ291bGRuJ3QgbG9hZCBzb3VyY2UgbWFwIGZyb206ICR7c291cmNlTWFwVXJsfTogJHt4aHIucmVzcG9uc2VUZXh0fWApXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGNvbnN1bWVyID0gYXdhaXQgbmV3IFNvdXJjZU1hcENvbnN1bWVyKHhoci5yZXNwb25zZVRleHQpXG5cbiAgICBpZiAoY29uc3VtZXIpIHtcbiAgICAgIHRoaXMuc291cmNlTWFwcy5wdXNoKHtjb25zdW1lciwgb3JpZ2luYWxVcmx9KVxuICAgIH1cbiAgfVxuXG4gIGxvYWRVcmwodXJsKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIilcblxuICAgIHBhcnNlci5ocmVmID0gdXJsXG5cbiAgICByZXR1cm4gcGFyc2VyXG4gIH1cblxuICBsb2FkWGhyKHhociwgdXJsKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCkge1xuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYEhUVFAgcmVxdWVzdCBmYWlsZWQgd2l0aCAke3hoci5zdGF0dXN9IGZvciAke3VybH1gKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBwYXJzZVN0YWNrVHJhY2Uoc3RhY2tUcmFjZSkge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrVHJhY2VEYXRhKHN0YWNrVHJhY2UpXG4gICAgICAubWFwKCh0cmFjZURhdGEpID0+IGBhdCAke3RyYWNlRGF0YS5tZXRob2ROYW1lfSAoJHt0cmFjZURhdGEuZmlsZVN0cmluZ30pYClcbiAgfVxuXG4gIGdldFN0YWNrVHJhY2VEYXRhKHN0YWNrVHJhY2UpIHtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrVHJhY2VQYXJzZXIucGFyc2Uoc3RhY2tUcmFjZSlcbiAgICBjb25zdCBuZXdTb3VyY2VNYXAgPSBbXVxuXG4gICAgZm9yIChjb25zdCB0cmFjZSBvZiBzdGFjaykge1xuICAgICAgY29uc3Qgc291cmNlTWFwRGF0YSA9IHRoaXMuc291cmNlTWFwcy5maW5kKChzb3VyY2VNYXBEYXRhKSA9PiBzb3VyY2VNYXBEYXRhLm9yaWdpbmFsVXJsID09IHRyYWNlLmZpbGUpXG5cbiAgICAgIGxldCBmaWxlUGF0aCwgZmlsZVN0cmluZywgb3JpZ2luYWxcblxuICAgICAgaWYgKHNvdXJjZU1hcERhdGEpIHtcbiAgICAgICAgb3JpZ2luYWwgPSBzb3VyY2VNYXBEYXRhLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IHRyYWNlLmxpbmVOdW1iZXIsXG4gICAgICAgICAgY29sdW1uOiB0cmFjZS5jb2x1bW5cbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKG9yaWdpbmFsICYmIG9yaWdpbmFsLnNvdXJjZSkge1xuICAgICAgICBmaWxlUGF0aCA9IG9yaWdpbmFsLnNvdXJjZS5yZXBsYWNlKC9ed2VicGFjazpcXC9cXC8oYXBwfClcXC8vLCBcIlwiKVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7b3JpZ2luYWwubGluZX1gXG5cbiAgICAgICAgaWYgKG9yaWdpbmFsLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke29yaWdpbmFsLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVQYXRoID0gdHJhY2UuZmlsZVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7dHJhY2UubGluZU51bWJlcn1gXG5cbiAgICAgICAgaWYgKHRyYWNlLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke3RyYWNlLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV3U291cmNlTWFwLnB1c2goe1xuICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgZmlsZVN0cmluZyxcbiAgICAgICAgbWV0aG9kTmFtZTogdHJhY2UubWV0aG9kTmFtZVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3U291cmNlTWFwXG4gIH1cbn1cbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzb3VyY2UtbWFwcy1sb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFBO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBRWpDLHNEQUFzRDtBQUN0RCxtQkFBbUI7QUFDbkIsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxtQkFBbUI7SUFDbkIsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQzNCLG1CQUFtQixFQUFFLHNEQUFzRDtLQUM1RSxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUMsQ0FBQyxDQUFBO0FBRWhFLHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsT0FBTyxPQUFPLGdCQUFnQjtJQUNuQyxtQkFBbUI7SUFDbkI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsMkJBQTJCLENBQUMsUUFBUTtRQUNsQyxJQUFJLENBQUMsbUNBQW1DLEdBQUcsUUFBUSxDQUFBO0lBQ3JELENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsa0JBQWtCLENBQUMsUUFBUTtRQUN6QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFBO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLEtBQUs7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Q0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDL0QsVUFBVSxHQUFHLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFM0MsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BCLFVBQVUsSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtnQkFDckMsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQTtnQkFDckIsVUFBVSxHQUFHLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQTtnQkFFOUMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pCLFVBQVUsSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtnQkFDbEMsQ0FBQztZQUNILENBQUM7WUFFRCxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2FBQzdCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzdGFja1RyYWNlUGFyc2VyIGZyb20gXCJzdGFja3RyYWNlLXBhcnNlclwiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQge1NvdXJjZU1hcENvbnN1bWVyfSBmcm9tIFwic291cmNlLW1hcFwiXG5pbXBvcnQgdW5pcXVuaXplIGZyb20gXCJ1bmlxdW5pemVcIlxuXG4vLyBTb21ldGltZXMgdGhpcyBuZWVkcyB0byBiZSBjYWxsZWQgYW5kIHNvbWV0aW1lcyBub3Rcbi8vIEB0cy1leHBlY3QtZXJyb3JcbmlmIChTb3VyY2VNYXBDb25zdW1lci5pbml0aWFsaXplKSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgU291cmNlTWFwQ29uc3VtZXIuaW5pdGlhbGl6ZSh7XG4gICAgXCJsaWIvbWFwcGluZ3Mud2FzbVwiOiBcImh0dHBzOi8vdW5wa2cuY29tL3NvdXJjZS1tYXBAMC43LjQvbGliL21hcHBpbmdzLndhc21cIlxuICB9KVxufVxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gU291cmNlTWFwc0xvYWRlclwifSlcblxuLyoqIExvYWRzIGFuZCByZXNvbHZlcyBzb3VyY2UgbWFwcyBmb3Igc3RhY2sgdHJhY2VzLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU291cmNlTWFwc0xvYWRlciB7XG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmdTb3VyY2VNYXBzID0gZmFsc2VcbiAgICB0aGlzLnNvdXJjZU1hcHMgPSBbXVxuICAgIHRoaXMuc3JjTG9hZGVkID0ge31cbiAgfVxuXG4gIC8qKiBsb2FkU291cmNlTWFwc0ZvclNjcmlwdFRhZ3MuICovXG4gIGxvYWRTb3VyY2VNYXBzRm9yU2NyaXB0VGFncyhjYWxsYmFjaykge1xuICAgIHRoaXMubG9hZFNvdXJjZU1hcHNGb3JTY3JpcHRUYWdzQ2FsbGJhY2sgPSBjYWxsYmFja1xuICB9XG5cbiAgLyoqIHNvdXJjZU1hcEZvclNvdXJjZS4gKi9cbiAgc291cmNlTWFwRm9yU291cmNlKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjayA9IGNhbGxiYWNrXG4gIH1cblxuICBhc3luYyBsb2FkU291cmNlTWFwcyhlcnJvcikge1xuICAgIGlmICghZXJyb3IpIHRocm93IG5ldyBFcnJvcihcIk5vIGVycm9yIHdhcyBnaXZlbiB0byBTb3VyY2VNYXBzTG9hZGVyI2xvYWRTb3VyY2VNYXBzXCIpXG5cbiAgICB0aGlzLmlzTG9hZGluZ1NvdXJjZU1hcHMgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuICAgICAgY29uc3Qgc291cmNlcyA9IHRoaXMuZ2V0U291cmNlcyhlcnJvcilcblxuICAgICAgZm9yKGNvbnN0IHNvdXJjZSBvZiBzb3VyY2VzKSB7XG4gICAgICAgIGlmIChzb3VyY2Uub3JpZ2luYWxVcmwgJiYgIXRoaXMuc3JjTG9hZGVkW3NvdXJjZS5vcmlnaW5hbFVybF0pIHtcbiAgICAgICAgICB0aGlzLnNyY0xvYWRlZFtzb3VyY2Uub3JpZ2luYWxVcmxdID0gdHJ1ZVxuXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubG9hZFNvdXJjZU1hcEZvclNvdXJjZShzb3VyY2UpXG4gICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzTG9hZGluZ1NvdXJjZU1hcHMgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIC8qKiBnZXRTb3VyY2VzLiAqL1xuICBnZXRTb3VyY2VzKGVycm9yKSB7XG4gICAgbGV0IHNvdXJjZXMgPSB0aGlzLmdldFNvdXJjZXNGcm9tU2NyaXB0cygpXG5cbiAgICBpZiAoZXJyb3IpIHNvdXJjZXMgPSBzb3VyY2VzLmNvbmNhdCh0aGlzLmdldFNvdXJjZXNGcm9tRXJyb3IoZXJyb3IpKVxuXG4gICAgcmV0dXJuIHVuaXF1bml6ZShzb3VyY2VzLCAoc291cmNlKSA9PiBzb3VyY2Uub3JpZ2luYWxVcmwpXG4gIH1cblxuICAvKiogZ2V0U291cmNlc0Zyb21FcnJvci4gKi9cbiAgZ2V0U291cmNlc0Zyb21FcnJvcihlcnJvcikge1xuICAgIGNvbnN0IHN0YWNrID0gc3RhY2tUcmFjZVBhcnNlci5wYXJzZShlcnJvci5zdGFjaylcbiAgICBjb25zdCBzb3VyY2VzID0gW11cblxuICAgIGZvciAoY29uc3QgdHJhY2Ugb2Ygc3RhY2spIHtcbiAgICAgIGNvbnN0IGZpbGUgPSB0cmFjZS5maWxlXG5cbiAgICAgIGlmIChmaWxlICE9IFwiXFx1MDAzQ2Fub255bW91cz5cIikge1xuICAgICAgICBjb25zdCBzb3VyY2VNYXBVcmwgPSB0aGlzLmdldE1hcFVSTCh7c3JjOiBmaWxlfSlcblxuICAgICAgICBpZiAoc291cmNlTWFwVXJsKSB7XG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBGb3VuZCBzb3VyY2UgbWFwIGZyb20gZXJyb3I6ICR7c291cmNlTWFwVXJsfWApXG5cbiAgICAgICAgICBzb3VyY2VzLnB1c2goe29yaWdpbmFsVXJsOiBmaWxlLCBzb3VyY2VNYXBVcmx9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgQ291ZG4ndCBnZXQgc291cmNlIG1hcCBmcm9tOiAke2ZpbGV9YClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzb3VyY2VzXG4gIH1cblxuICAvKiogZ2V0U291cmNlc0Zyb21TY3JpcHRzLiAqL1xuICBnZXRTb3VyY2VzRnJvbVNjcmlwdHMoKSB7XG4gICAgY29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJzY3JpcHRcIilcbiAgICBjb25zdCBzb3VyY2VzID0gW11cblxuICAgIGZvciAoY29uc3Qgc2NyaXB0IG9mIEFycmF5LmZyb20oc2NyaXB0cykpIHtcbiAgICAgIGNvbnN0IHNvdXJjZU1hcFVybCA9IHRoaXMuZ2V0TWFwVVJMKHtzY3JpcHQsIHNyYzogc2NyaXB0LnNyY30pXG5cbiAgICAgIGlmIChzb3VyY2VNYXBVcmwpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBGb3VuZCBzb3VyY2UgbWFwIGZyb20gc2NyaXB0OiAke3NvdXJjZU1hcFVybH1gKVxuICAgICAgICBzb3VyY2VzLnB1c2goe29yaWdpbmFsVXJsOiBzY3JpcHQuc3JjLCBzb3VyY2VNYXBVcmx9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzb3VyY2VzXG4gIH1cblxuICAvKiogZ2V0TWFwVVJMLiAqL1xuICBnZXRNYXBVUkwoYXJncyA9IHt9KSB7XG4gICAgY29uc3Qge3NjcmlwdCwgc3JjfSA9IC8qKiBAdHlwZSB7YW55fSAqLyAoYXJncykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1leHRyYS1wYXJlbnNcbiAgICBjb25zdCB1cmwgPSB0aGlzLmxvYWRVcmwoc3JjKVxuICAgIGNvbnN0IG9yaWdpbmFsVXJsID0gYCR7dXJsLm9yaWdpbn0ke3VybC5wYXRobmFtZX1gXG5cbiAgICBpZiAodGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjaykge1xuICAgICAgLy8gVXNlIGN1c3RvbSBjYWxsYmFjayB0byByZXNvbHZlIHdoaWNoIG1hcC1maWxlIHRvIGRvd25sb2FkXG4gICAgICByZXR1cm4gdGhpcy5zb3VyY2VNYXBGb3JTb3VyY2VDYWxsYmFjayh7b3JpZ2luYWxVcmwsIHNjcmlwdCwgc3JjLCB1cmx9KVxuICAgIH0gZWxzZSBpZiAodGhpcy5pbmNsdWRlTWFwVVJMKHNyYykpIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gb3JpZ2luYWwgVVJMIHdpdGggJy5tYXAnIGFwcGVuZGVkXG4gICAgICByZXR1cm4gYCR7b3JpZ2luYWxVcmx9Lm1hcGBcbiAgICB9XG4gIH1cblxuICAvKiogaW5jbHVkZU1hcFVSTC4gKi9cbiAgaW5jbHVkZU1hcFVSTCA9IChzcmMpID0+IHNyYy5pbmNsdWRlcyhcIi9wYWNrcy9cIilcblxuICBhc3luYyBsb2FkU291cmNlTWFwRm9yU291cmNlKHtvcmlnaW5hbFVybCwgc291cmNlTWFwVXJsfSkge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpXG5cbiAgICB4aHIub3BlbihcIkdFVFwiLCBzb3VyY2VNYXBVcmwsIHRydWUpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkWGhyKHhociwgc291cmNlTWFwVXJsKVxuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc29sZS5sb2coYENvdWxkbid0IGxvYWQgc291cmNlIG1hcCBmcm9tOiAke3NvdXJjZU1hcFVybH06ICR7eGhyLnJlc3BvbnNlVGV4dH1gKVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgY29uc3QgY29uc3VtZXIgPSBhd2FpdCBuZXcgU291cmNlTWFwQ29uc3VtZXIoeGhyLnJlc3BvbnNlVGV4dClcblxuICAgIGlmIChjb25zdW1lcikge1xuICAgICAgdGhpcy5zb3VyY2VNYXBzLnB1c2goe2NvbnN1bWVyLCBvcmlnaW5hbFVybH0pXG4gICAgfVxuICB9XG5cbiAgLyoqIGxvYWRVcmwuICovXG4gIGxvYWRVcmwodXJsKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIilcblxuICAgIHBhcnNlci5ocmVmID0gdXJsXG5cbiAgICByZXR1cm4gcGFyc2VyXG4gIH1cblxuICAvKiogbG9hZFhoci4gKi9cbiAgbG9hZFhocih4aHIsIHVybCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDApIHtcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBIVFRQIHJlcXVlc3QgZmFpbGVkIHdpdGggJHt4aHIuc3RhdHVzfSBmb3IgJHt1cmx9YCkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHhoci5zZW5kKClcbiAgICB9KVxuICB9XG5cbiAgLyoqIHBhcnNlU3RhY2tUcmFjZS4gKi9cbiAgcGFyc2VTdGFja1RyYWNlKHN0YWNrVHJhY2UpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdGFja1RyYWNlRGF0YShzdGFja1RyYWNlKVxuICAgICAgLm1hcCgodHJhY2VEYXRhKSA9PiBgYXQgJHt0cmFjZURhdGEubWV0aG9kTmFtZX0gKCR7dHJhY2VEYXRhLmZpbGVTdHJpbmd9KWApXG4gIH1cblxuICAvKiogZ2V0U3RhY2tUcmFjZURhdGEuICovXG4gIGdldFN0YWNrVHJhY2VEYXRhKHN0YWNrVHJhY2UpIHtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrVHJhY2VQYXJzZXIucGFyc2Uoc3RhY2tUcmFjZSlcbiAgICBjb25zdCBuZXdTb3VyY2VNYXAgPSBbXVxuXG4gICAgZm9yIChjb25zdCB0cmFjZSBvZiBzdGFjaykge1xuICAgICAgY29uc3Qgc291cmNlTWFwRGF0YSA9IHRoaXMuc291cmNlTWFwcy5maW5kKChzb3VyY2VNYXBEYXRhKSA9PiBzb3VyY2VNYXBEYXRhLm9yaWdpbmFsVXJsID09IHRyYWNlLmZpbGUpXG5cbiAgICAgIGxldCBmaWxlUGF0aCwgZmlsZVN0cmluZywgb3JpZ2luYWxcblxuICAgICAgaWYgKHNvdXJjZU1hcERhdGEpIHtcbiAgICAgICAgb3JpZ2luYWwgPSBzb3VyY2VNYXBEYXRhLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IHRyYWNlLmxpbmVOdW1iZXIsXG4gICAgICAgICAgY29sdW1uOiB0cmFjZS5jb2x1bW5cbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKG9yaWdpbmFsICYmIG9yaWdpbmFsLnNvdXJjZSkge1xuICAgICAgICBmaWxlUGF0aCA9IG9yaWdpbmFsLnNvdXJjZS5yZXBsYWNlKC9ed2VicGFjazpcXC9cXC8oYXBwfClcXC8vLCBcIlwiKVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7b3JpZ2luYWwubGluZX1gXG5cbiAgICAgICAgaWYgKG9yaWdpbmFsLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke29yaWdpbmFsLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVQYXRoID0gdHJhY2UuZmlsZVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7dHJhY2UubGluZU51bWJlcn1gXG5cbiAgICAgICAgaWYgKHRyYWNlLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke3RyYWNlLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV3U291cmNlTWFwLnB1c2goe1xuICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgZmlsZVN0cmluZyxcbiAgICAgICAgbWV0aG9kTmFtZTogdHJhY2UubWV0aG9kTmFtZVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3U291cmNlTWFwXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export default hasEditConfig;
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @param {typeof import("../base-model.js").default} modelClass
|
|
4
|
+
* @returns {boolean}
|
|
5
|
+
*/
|
|
6
|
+
declare function hasEditConfig(modelClass: typeof import("../base-model.js").default): boolean;
|
|
3
7
|
//# sourceMappingURL=has-edit-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-edit-config.d.ts","sourceRoot":"/src/","sources":["super-admin/has-edit-config.js"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"has-edit-config.d.ts","sourceRoot":"/src/","sources":["super-admin/has-edit-config.js"],"names":[],"mappings":";AAEA;;;GAGG;AACH,2CAHW,cAAc,kBAAkB,EAAE,OAAO,GACvC,OAAO,CAYnB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import ConfigReader from "./config-reader";
|
|
2
|
+
/**
|
|
3
|
+
* @param {typeof import("../base-model.js").default} modelClass
|
|
4
|
+
* @returns {boolean}
|
|
5
|
+
*/
|
|
2
6
|
const hasEditConfig = (modelClass) => {
|
|
3
7
|
const configReader = ConfigReader.forModel(modelClass);
|
|
4
8
|
const extraContent = configReader.modelConfig?.edit?.extraContentconst;
|
|
@@ -9,4 +13,4 @@ const hasEditConfig = (modelClass) => {
|
|
|
9
13
|
return false;
|
|
10
14
|
};
|
|
11
15
|
export default hasEditConfig;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWVkaXQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9oYXMtZWRpdC1jb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0saUJBQWlCLENBQUE7QUFFMUM7OztHQUdHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUNuQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFBO0lBQ3RFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQTtJQUU3RCxJQUFJLFVBQVUsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELGVBQWUsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi9jb25maWctcmVhZGVyXCJcblxuLyoqXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3NcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5jb25zdCBoYXNFZGl0Q29uZmlnID0gKG1vZGVsQ2xhc3MpID0+IHtcbiAgY29uc3QgY29uZmlnUmVhZGVyID0gQ29uZmlnUmVhZGVyLmZvck1vZGVsKG1vZGVsQ2xhc3MpXG4gIGNvbnN0IGV4dHJhQ29udGVudCA9IGNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uZXh0cmFDb250ZW50Y29uc3RcbiAgY29uc3QgYXR0cmlidXRlcyA9IGNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uYXR0cmlidXRlc1xuXG4gIGlmIChhdHRyaWJ1dGVzIHx8IGV4dHJhQ29udGVudCkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgaGFzRWRpdENvbmZpZ1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"/src/","sources":["super-admin/models.js"],"names":[],"mappings":";AAEA,mCAAwB"}
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"/src/","sources":["super-admin/models.js"],"names":[],"mappings":";AAEA,8BAA8B;AAC9B,mCAAwB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as models from "models.js"; // eslint-disable-line import/no-unresolved
|
|
2
|
+
/** Super-admin model list. */
|
|
2
3
|
const modelsAsArray = [];
|
|
3
4
|
for (const modelKey of Object.keys(models)) {
|
|
4
5
|
const model = models[modelKey];
|
|
5
6
|
modelsAsArray.push(model);
|
|
6
7
|
}
|
|
7
8
|
export default modelsAsArray;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxXQUFXLENBQUEsQ0FBQywyQ0FBMkM7QUFFL0UsOEJBQThCO0FBQzlCLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQTtBQUV4QixLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFOUIsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMzQixDQUFDO0FBRUQsZUFBZSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSBcIm1vZGVscy5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcblxuLyoqIFN1cGVyLWFkbWluIG1vZGVsIGxpc3QuICovXG5jb25zdCBtb2RlbHNBc0FycmF5ID0gW11cblxuZm9yIChjb25zdCBtb2RlbEtleSBvZiBPYmplY3Qua2V5cyhtb2RlbHMpKSB7XG4gIGNvbnN0IG1vZGVsID0gbW9kZWxzW21vZGVsS2V5XVxuXG4gIG1vZGVsc0FzQXJyYXkucHVzaChtb2RlbClcbn1cblxuZXhwb3J0IGRlZmF1bHQgbW9kZWxzQXNBcnJheVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-identifier.d.ts","sourceRoot":"/src/","sources":["table/column-identifier.js"],"names":[],"mappings":"AAAA,2DAsBC"}
|
|
1
|
+
{"version":3,"file":"column-identifier.d.ts","sourceRoot":"/src/","sources":["table/column-identifier.js"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAsBC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Resolve a unique column identifier. */
|
|
1
2
|
export default function columnIdentifier(column) {
|
|
2
3
|
if ("identifier" in column)
|
|
3
4
|
return column.identifier;
|
|
@@ -17,4 +18,4 @@ export default function columnIdentifier(column) {
|
|
|
17
18
|
throw new Error(`Couldn't figure out the identifier for that column: ${JSON.stringify(column)}`);
|
|
18
19
|
return parts.join("--");
|
|
19
20
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWlkZW50aWZpZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2NvbHVtbi1pZGVudGlmaWVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQztBQUMxQyxNQUFNLENBQUMsT0FBTyxVQUFVLGdCQUFnQixDQUFDLE1BQU07SUFDN0MsSUFBSSxZQUFZLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQTtJQUVwRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUE7SUFFaEIsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7UUFDckIsS0FBSyxNQUFNLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXZILE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJlc29sdmUgYSB1bmlxdWUgY29sdW1uIGlkZW50aWZpZXIuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb2x1bW5JZGVudGlmaWVyKGNvbHVtbikge1xuICBpZiAoXCJpZGVudGlmaWVyXCIgaW4gY29sdW1uKSByZXR1cm4gY29sdW1uLmlkZW50aWZpZXJcblxuICBjb25zdCBwYXJ0cyA9IFtdXG5cbiAgaWYgKFwicGF0aFwiIGluIGNvbHVtbikge1xuICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgY29sdW1uLnBhdGgpIHtcbiAgICAgIHBhcnRzLnB1c2gocGF0aFBhcnQpXG4gICAgfVxuICB9XG5cbiAgaWYgKFwiYXR0cmlidXRlXCIgaW4gY29sdW1uKSB7XG4gICAgcGFydHMucHVzaChgYXR0cmlidXRlLSR7Y29sdW1uLmF0dHJpYnV0ZX1gKVxuICB9XG5cbiAgaWYgKFwic29ydEtleVwiIGluIGNvbHVtbikge1xuICAgIHBhcnRzLnB1c2goYHNvcnQta2V5LSR7Y29sdW1uLnNvcnRLZXl9YClcbiAgfVxuXG4gIGlmIChwYXJ0cy5sZW5ndGggPT0gMCkgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaWd1cmUgb3V0IHRoZSBpZGVudGlmaWVyIGZvciB0aGF0IGNvbHVtbjogJHtKU09OLnN0cmluZ2lmeShjb2x1bW4pfWApXG5cbiAgcmV0dXJuIHBhcnRzLmpvaW4oXCItLVwiKVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-visible.d.ts","sourceRoot":"/src/","sources":["table/column-visible.js"],"names":[],"mappings":"AAAA,iFAMC"}
|
|
1
|
+
{"version":3,"file":"column-visible.d.ts","sourceRoot":"/src/","sources":["table/column-visible.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,iFAMC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Returns whether a table column should be visible. */
|
|
1
2
|
export default function columnVisible(column, tableSettingColumn) {
|
|
2
3
|
if (tableSettingColumn.visible() !== null)
|
|
3
4
|
return tableSettingColumn.visible();
|
|
@@ -7,4 +8,4 @@ export default function columnVisible(column, tableSettingColumn) {
|
|
|
7
8
|
return column.defaultVisible;
|
|
8
9
|
return true;
|
|
9
10
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZpc2libGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2NvbHVtbi12aXNpYmxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsT0FBTyxVQUFVLGFBQWEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCO0lBQzlELElBQUksa0JBQWtCLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSTtRQUFFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDOUUsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUN6QixJQUFJLGdCQUFnQixJQUFJLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUE7SUFFNUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJldHVybnMgd2hldGhlciBhIHRhYmxlIGNvbHVtbiBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbHVtblZpc2libGUoY29sdW1uLCB0YWJsZVNldHRpbmdDb2x1bW4pIHtcbiAgaWYgKHRhYmxlU2V0dGluZ0NvbHVtbi52aXNpYmxlKCkgIT09IG51bGwpIHJldHVybiB0YWJsZVNldHRpbmdDb2x1bW4udmlzaWJsZSgpXG4gIGlmICghY29sdW1uKSByZXR1cm4gZmFsc2VcbiAgaWYgKFwiZGVmYXVsdFZpc2libGVcIiBpbiBjb2x1bW4pIHJldHVybiBjb2x1bW4uZGVmYXVsdFZpc2libGVcblxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-callback-args.d.ts","sourceRoot":"/src/","sources":["table/model-callback-args.js"],"names":[],"mappings":"AAEA;;EAOC"}
|
|
1
|
+
{"version":3,"file":"model-callback-args.d.ts","sourceRoot":"/src/","sources":["table/model-callback-args.js"],"names":[],"mappings":"AAEA,mDAAmD;AACnD;;EAOC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as inflection from "inflection";
|
|
2
|
+
/** Build callback args for table model actions. */
|
|
2
3
|
export default function modelCallbackArgs(table, model) {
|
|
3
4
|
const modelArgName = inflection.camelize(table.props.modelClass.modelClassData().name, true);
|
|
4
5
|
const modelCallbackArgs = { model };
|
|
5
6
|
modelCallbackArgs[modelArgName] = model;
|
|
6
7
|
return modelCallbackArgs;
|
|
7
8
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY2FsbGJhY2stYXJncy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidGFibGUvbW9kZWwtY2FsbGJhY2stYXJncy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxtREFBbUQ7QUFDbkQsTUFBTSxDQUFDLE9BQU8sVUFBVSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSztJQUNwRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM1RixNQUFNLGlCQUFpQixHQUFHLEVBQUMsS0FBSyxFQUFDLENBQUE7SUFFakMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBRXZDLE9BQU8saUJBQWlCLENBQUE7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG4vKiogQnVpbGQgY2FsbGJhY2sgYXJncyBmb3IgdGFibGUgbW9kZWwgYWN0aW9ucy4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vZGVsQ2FsbGJhY2tBcmdzKHRhYmxlLCBtb2RlbCkge1xuICBjb25zdCBtb2RlbEFyZ05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHRhYmxlLnByb3BzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuICBjb25zdCBtb2RlbENhbGxiYWNrQXJncyA9IHttb2RlbH1cblxuICBtb2RlbENhbGxiYWNrQXJnc1ttb2RlbEFyZ05hbWVdID0gbW9kZWxcblxuICByZXR1cm4gbW9kZWxDYWxsYmFja0FyZ3Ncbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-calculator.d.ts","sourceRoot":"/src/","sources":["table/select-calculator.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-calculator.d.ts","sourceRoot":"/src/","sources":["table/select-calculator.js"],"names":[],"mappings":"AAkEA,wBAAwB;AACxB,+DAEC"}
|
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
import { digg, digs } from "diggerize";
|
|
3
3
|
import * as inflection from "inflection";
|
|
4
4
|
import modelClassRequire from "../model-class-require.js";
|
|
5
|
+
/** Computes table select payloads for queries. */
|
|
5
6
|
class SelectCalculator {
|
|
7
|
+
/** Constructor. */
|
|
6
8
|
constructor({ table }) {
|
|
7
9
|
this.table = table;
|
|
8
10
|
}
|
|
11
|
+
/** selects. */
|
|
9
12
|
selects() {
|
|
10
13
|
const { modelClass } = digs(this.table.props, "modelClass");
|
|
11
14
|
const select = this.table.props.select || {};
|
|
@@ -50,7 +53,8 @@ class SelectCalculator {
|
|
|
50
53
|
return select;
|
|
51
54
|
}
|
|
52
55
|
}
|
|
56
|
+
/** selectCalculator. */
|
|
53
57
|
export default function selectCalculator(...props) {
|
|
54
58
|
return new SelectCalculator(...props).selects();
|
|
55
59
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3NlbGVjdC1jYWxjdWxhdG9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4QztBQUM5QyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLDJCQUEyQixDQUFBO0FBRXpELGtEQUFrRDtBQUNsRCxNQUFNLGdCQUFnQjtJQUNwQixtQkFBbUI7SUFDbkIsWUFBWSxFQUFDLEtBQUssRUFBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsZUFBZTtJQUNmLE9BQU87UUFDTCxNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDNUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBR25FLHNFQUFzRTtRQUN0RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXBELElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7WUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBR25HLHNIQUFzSDtRQUN0SCxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDbkYsQ0FBQztRQUdELDZDQUE2QztRQUM3QyxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBRS9DLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUztnQkFBRSxTQUFRLENBQUMsNkVBQTZFO1lBRTlHLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUE7WUFFckIsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUE7WUFFbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUE7b0JBQy9FLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFFN0gsSUFBSSxDQUFDLFlBQVk7d0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsaUJBQWlCLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUE7b0JBRWxILGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQTtnQkFDNUUsQ0FBQztZQUNILENBQUM7WUFFRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUU5RSxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxNQUFNLENBQUM7Z0JBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN2RyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFFRCx3QkFBd0I7QUFDeEIsTUFBTSxDQUFDLE9BQU8sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUs7SUFDL0MsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnRpbnVlLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5cbi8qKiBDb21wdXRlcyB0YWJsZSBzZWxlY3QgcGF5bG9hZHMgZm9yIHF1ZXJpZXMuICovXG5jbGFzcyBTZWxlY3RDYWxjdWxhdG9yIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3Rvcih7dGFibGV9KSB7XG4gICAgdGhpcy50YWJsZSA9IHRhYmxlXG4gIH1cblxuICAvKiogc2VsZWN0cy4gKi9cbiAgc2VsZWN0cygpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSBkaWdzKHRoaXMudGFibGUucHJvcHMsIFwibW9kZWxDbGFzc1wiKVxuICAgIGNvbnN0IHNlbGVjdCA9IHRoaXMudGFibGUucHJvcHMuc2VsZWN0IHx8IHt9XG4gICAgY29uc3Qge3ByZXBhcmVkQ29sdW1uc30gPSBkaWdzKHRoaXMudGFibGUuc3RhdGUsIFwicHJlcGFyZWRDb2x1bW5zXCIpXG5cblxuICAgIC8vIEVuc3VyZSB0aGUgcHJpbWFyeSBrZXkgY29sdW1uIGlzIGxvYWRlciBmb3IgdGhlIHByaW1hcnkgbW9kZWwgY2xhc3NcbiAgICBjb25zdCBjbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgcHJpbWFyeUtleUNvbHVtbk5hbWUgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuXG4gICAgaWYgKCEoY2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjbGFzc05hbWVdID0gW11cbiAgICBpZiAoIXNlbGVjdFtjbGFzc05hbWVdLmluY2x1ZGVzKHByaW1hcnlLZXlDb2x1bW5OYW1lKSkgc2VsZWN0W2NsYXNzTmFtZV0ucHVzaChwcmltYXJ5S2V5Q29sdW1uTmFtZSlcblxuXG4gICAgLy8gRW5zdXJlICd1cGRhdGVkQXQnIGlzIHNlbGVjdGVkIGlmIGRlZmluZWQgYXMgYW4gYXR0cmlidXRlLCBiZWNhdXNlIGl0IGlzIHVzZWQgZm9yIGNhY2hlS2V5IGFuZCB1cGRhdGVzIGluIHRoZSB0YWJsZVxuICAgIGlmIChtb2RlbENsYXNzLmhhc0F0dHJpYnV0ZShcInVwZGF0ZWRBdFwiKSkge1xuICAgICAgaWYgKCEoY2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjbGFzc05hbWVdID0gW11cbiAgICAgIGlmICghc2VsZWN0W2NsYXNzTmFtZV0uaW5jbHVkZXMoXCJ1cGRhdGVkQXRcIikpIHNlbGVjdFtjbGFzc05hbWVdLnB1c2goXCJ1cGRhdGVkQXRcIilcbiAgICB9XG5cblxuICAgIC8vIEVuc3VyZSBjb2x1bW5zIHVzZWQgZm9yIGNvbHVtbnMgYXJlIGxvYWRlZFxuICAgIGZvciAoY29uc3QgcHJlcGFyZWRDb2x1bW4gb2YgcHJlcGFyZWRDb2x1bW5zKSB7XG4gICAgICBjb25zdCB7Y29sdW1ufSA9IGRpZ3MocHJlcGFyZWRDb2x1bW4sIFwiY29sdW1uXCIpXG5cbiAgICAgIGlmICghY29sdW1uPy5hdHRyaWJ1dGUpIGNvbnRpbnVlIC8vICdjb2x1bW4nIG1pZ2h0IG5vdCBleGlzdCBpZiBoYXMgYmVlbiByZW1vdmVkIGluIGNvZGUgYnV0IHN0aWxsIHNhdmVkIGluIERCXG5cbiAgICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyhjb2x1bW4sIFwiYXR0cmlidXRlXCIpXG4gICAgICBjb25zdCB7cGF0aH0gPSBjb2x1bW5cblxuICAgICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBzID0gZGlnZyhjdXJyZW50TW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcInJlbGF0aW9uc2hpcHNcIilcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSByZWxhdGlvbnNoaXBzLmZpbmQoKHJlbGF0aW9uc2hpcEluQXJyYXkpID0+IHJlbGF0aW9uc2hpcEluQXJyYXkubmFtZSA9PSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUocGF0aFBhcnQpKVxuXG4gICAgICAgICAgaWYgKCFyZWxhdGlvbnNoaXApIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCByZWxhdGlvbnNoaXA6ICR7Y3VycmVudE1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lfSMke3BhdGhQYXJ0fWApXG5cbiAgICAgICAgICBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NSZXF1aXJlKGRpZ2cocmVsYXRpb25zaGlwLCBcInJlc291cmNlX25hbWVcIikpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgY3VycmVudE1vZGVsQ2xhc3NOYW1lID0gZGlnZyhjdXJyZW50TW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcblxuICAgICAgaWYgKCEoY3VycmVudE1vZGVsQ2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjdXJyZW50TW9kZWxDbGFzc05hbWVdID0gW11cbiAgICAgIGlmICghc2VsZWN0W2N1cnJlbnRNb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoYXR0cmlidXRlKSkgc2VsZWN0W2N1cnJlbnRNb2RlbENsYXNzTmFtZV0ucHVzaChhdHRyaWJ1dGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdFxuICB9XG59XG5cbi8qKiBzZWxlY3RDYWxjdWxhdG9yLiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2VsZWN0Q2FsY3VsYXRvciguLi5wcm9wcykge1xuICByZXR1cm4gbmV3IFNlbGVjdENhbGN1bGF0b3IoLi4ucHJvcHMpLnNlbGVjdHMoKVxufVxuIl19
|