@kaspernj/api-maker 1.0.2109 → 1.0.2111
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 +53 -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 +59 -51
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +56 -52
- 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
|
@@ -9,17 +9,20 @@ import MoneyFormatter from "../money-formatter.js"; // eslint-disable-line sort-
|
|
|
9
9
|
import PropTypes from "prop-types";
|
|
10
10
|
import Text from "../utils/text";
|
|
11
11
|
import memo from "set-state-compare/build/memo.js";
|
|
12
|
-
import strftime from "strftime";
|
|
13
12
|
import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
|
|
14
13
|
const dataSets = {};
|
|
15
14
|
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
|
|
16
15
|
static defaultProps = {
|
|
17
|
-
checkIfAttributeLoaded: false
|
|
16
|
+
checkIfAttributeLoaded: false,
|
|
17
|
+
defaultDateFormatName: undefined,
|
|
18
|
+
defaultDateTimeFormatName: undefined
|
|
18
19
|
};
|
|
19
20
|
static propTypes = {
|
|
20
21
|
attribute: PropTypes.string,
|
|
21
22
|
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
22
23
|
children: PropTypes.any,
|
|
24
|
+
defaultDateFormatName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
25
|
+
defaultDateTimeFormatName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
23
26
|
identifier: PropTypes.string,
|
|
24
27
|
label: PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
|
|
25
28
|
model: PropTypes.object,
|
|
@@ -48,6 +51,7 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
48
51
|
identifier
|
|
49
52
|
}, style: actualStyle, ...restProps, children: [_jsx(Text, { dataSet: this.cache("labelTextDataSet", { class: "attribute-row-label" }), style: this.cache("labelTextStyle", { fontWeight: "bold" }), children: this.label() }), _jsx(View, { dataSet: this.cache("valueViewDataSet", { class: "attribute-row-value" }), style: this.cache("valueViewStyle", { marginTop: 3 }), children: this.value() })] }));
|
|
50
53
|
}
|
|
54
|
+
/** @returns {React.ReactNode} */
|
|
51
55
|
label() {
|
|
52
56
|
const { attribute, label, model } = this.props;
|
|
53
57
|
if ("label" in this.props)
|
|
@@ -56,6 +60,7 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
56
60
|
return model.constructor.humanAttributeName(attribute);
|
|
57
61
|
throw new Error("Couldn't figure out label");
|
|
58
62
|
}
|
|
63
|
+
/** @returns {React.ReactNode} */
|
|
59
64
|
value() {
|
|
60
65
|
const { attribute, checkIfAttributeLoaded, children, model } = this.props;
|
|
61
66
|
if (children)
|
|
@@ -69,14 +74,20 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
69
74
|
return this.valueContent(value);
|
|
70
75
|
}
|
|
71
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* @param {any} value
|
|
79
|
+
* @returns {React.ReactNode}
|
|
80
|
+
*/
|
|
72
81
|
valueContent(value) {
|
|
73
|
-
const {
|
|
82
|
+
const { t } = this.tt;
|
|
74
83
|
const columnType = this.attribute?.getColumn()?.getType();
|
|
75
84
|
if (columnType == "date") {
|
|
76
|
-
|
|
85
|
+
const content = this.presentDateTime({ apiMakerType: "date", value });
|
|
86
|
+
return (_jsx(Text, { children: content }));
|
|
77
87
|
}
|
|
78
88
|
else if (value instanceof Date) {
|
|
79
|
-
|
|
89
|
+
const content = this.presentDateTime({ value });
|
|
90
|
+
return (_jsx(Text, { children: content }));
|
|
80
91
|
}
|
|
81
92
|
else if (typeof value === "boolean") {
|
|
82
93
|
if (value) {
|
|
@@ -94,5 +105,42 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
94
105
|
return value;
|
|
95
106
|
}
|
|
96
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* @param {object} args
|
|
110
|
+
* @param {"date"|"time"} [args.apiMakerType]
|
|
111
|
+
* @param {Date} args.value
|
|
112
|
+
* @returns {string}
|
|
113
|
+
*/
|
|
114
|
+
presentDateTime({ apiMakerType = "time", value }) {
|
|
115
|
+
const { defaultDateFormatName, defaultDateTimeFormatName } = this.props;
|
|
116
|
+
if (!apiMakerType || apiMakerType == "time") {
|
|
117
|
+
const format = defaultDateTimeFormatName || "time.formats.default";
|
|
118
|
+
return this.presentDateTimeValue({ apiMakerType: "time", format, value });
|
|
119
|
+
}
|
|
120
|
+
else if (apiMakerType == "date") {
|
|
121
|
+
const format = defaultDateFormatName || "date.formats.default";
|
|
122
|
+
return this.presentDateTimeValue({ apiMakerType: "date", format, value });
|
|
123
|
+
}
|
|
124
|
+
throw new Error(`Unhandled type: ${apiMakerType}`);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @param {object} args
|
|
128
|
+
* @param {"date"|"time"} args.apiMakerType
|
|
129
|
+
* @param {Function|string} args.format
|
|
130
|
+
* @param {Date} args.value
|
|
131
|
+
* @returns {string}
|
|
132
|
+
*/
|
|
133
|
+
presentDateTimeValue({ apiMakerType, format, value }) {
|
|
134
|
+
if (typeof format == "function") {
|
|
135
|
+
return format({
|
|
136
|
+
apiMakerType,
|
|
137
|
+
attribute: this.attribute,
|
|
138
|
+
l: this.l,
|
|
139
|
+
model: this.props.model,
|
|
140
|
+
value
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return this.l(format, value);
|
|
144
|
+
}
|
|
97
145
|
}));
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3cuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQ0FBcUM7QUFDckMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUEsQ0FBQyxtQ0FBbUM7QUFDdEYsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNoQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUE7QUFDL0IsT0FBTyxPQUFPLE1BQU0sbUNBQW1DLENBQUE7QUFFdkQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO0FBRW5CLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDZCQUE4QixTQUFRLGNBQWM7SUFDM0YsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixzQkFBc0IsRUFBRSxLQUFLO0tBQzlCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHO1FBQ2pCLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixzQkFBc0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMs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RUFBRSxLQUFLLENBQUMsR0FDN0IsQ0FDUixDQUFBO1FBQ0gsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLENBQ0wsS0FBQyxJQUFJLGNBQ0YsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsQ0FBQyxHQUNyQyxDQUNSLENBQUE7WUFDSCxDQUFDO1lBRUQsT0FBTyxDQUNMLEtBQUMsSUFBSSxjQUNGLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsR0FDbkMsQ0FDUixDQUFBO1FBQ0gsQ0FBQzthQUFNLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FDTCxLQUFDLElBQUksY0FDRixjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUN4QixDQUNSLENBQUE7UUFDSCxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQ0wsS0FBQyxJQUFJLGNBQ0YsS0FBSyxHQUNELENBQ1IsQ0FBQTtRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiAqL1xuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlci5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmNvbnN0IGRhdGFTZXRzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvdyBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBpZGVudGlmaWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYW55LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuYXR0cmlidXRlX3Jvd1wifSlcblxuICAgIHRoaXMubCA9IGxcbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy5hdHRyaWJ1dGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbD8uY29uc3RydWN0b3I/LmF0dHJpYnV0ZXMoKT8uZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSkpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdGhpcy5wcm9wcy5hdHRyaWJ1dGUsIHRoaXMucHJvcHMubW9kZWxdXG4gICAgKVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCBpZGVudGlmaWVyLCBsYWJlbCwgbW9kZWwsIHN0eWxlLCB2YWx1ZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxTdHlsZSA9IHtcbiAgICAgIHBhZGRpbmdWZXJ0aWNhbDogOCxcbiAgICAgIC4uLnN0eWxlXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BhdHRyaWJ1dGVSb3ctJHthdHRyaWJ1dGV9LSR7Y2xhc3NOYW1lfS0ke2lkZW50aWZpZXJ9YF0gfHw9IHtcbiAgICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgICBjb21wb25lbnQ6IFwiYXBpLW1ha2VyL2F0dHJpYnV0ZS1yb3dcIixcbiAgICAgICAgICBpZGVudGlmaWVyXG4gICAgICAgIH19XG4gICAgICAgIHN0eWxlPXthY3R1YWxTdHlsZX1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgPFRleHQgZGF0YVNldD17dGhpcy5jYWNoZShcImxhYmVsVGV4dERhdGFTZXRcIiwge2NsYXNzOiBcImF0dHJpYnV0ZS1yb3ctbGFiZWxcIn0pfSBzdHlsZT17dGhpcy5jYWNoZShcImxhYmVsVGV4dFN0eWxlXCIsIHtmb250V2VpZ2h0OiBcImJvbGRcIn0pfT5cbiAgICAgICAgICB7dGhpcy5sYWJlbCgpfVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJ2YWx1ZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJhdHRyaWJ1dGUtcm93LXZhbHVlXCJ9KX0gc3R5bGU9e3RoaXMuY2FjaGUoXCJ2YWx1ZVZpZXdTdHlsZVwiLCB7bWFyZ2luVG9wOiAzfSl9PlxuICAgICAgICAgIHt0aGlzLnZhbHVlKCl9XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBsYWJlbCgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBsYWJlbCwgbW9kZWx9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKFwibGFiZWxcIiBpbiB0aGlzLnByb3BzKSByZXR1cm4gbGFiZWxcbiAgICBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSByZXR1cm4gbW9kZWwuY29uc3RydWN0b3IuaHVtYW5BdHRyaWJ1dGVOYW1lKGF0dHJpYnV0ZSlcblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpZ3VyZSBvdXQgbGFiZWxcIilcbiAgfVxuXG4gIHZhbHVlKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQsIGNoaWxkcmVuLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoY2hpbGRyZW4pIHJldHVybiBjaGlsZHJlblxuXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiAhKGF0dHJpYnV0ZSBpbiBtb2RlbCkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSBub3QgZm91bmQ6ICR7ZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7YXR0cmlidXRlfWApXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQgJiYgIW1vZGVsLmlzQXR0cmlidXRlTG9hZGVkKGF0dHJpYnV0ZSkpXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkge1xuICAgICAgY29uc3QgdmFsdWUgPSBtb2RlbFthdHRyaWJ1dGVdKClcblxuICAgICAgcmV0dXJuIHRoaXMudmFsdWVDb250ZW50KHZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHZhbHVlQ29udGVudCh2YWx1ZSkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCBjb2x1bW5UeXBlID0gdGhpcy5hdHRyaWJ1dGU/LmdldENvbHVtbigpPy5nZXRUeXBlKClcblxuICAgIGlmIChjb2x1bW5UeXBlID09IFwiZGF0ZVwiKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7bChcImRhdGUuZm9ybWF0cy5kZWZhdWx0XCIsIHZhbHVlKX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7c3RyZnRpbWUoXCIlWS0lbS0lZCAlSDolTVwiLCB2YWx1ZSl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3QoXCJqcy5zaGFyZWQueWVzXCIsIHtkZWZhdWx0VmFsdWU6IFwiWWVzXCJ9KX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge3QoXCJqcy5zaGFyZWQubm9cIiwge2RlZmF1bHRWYWx1ZTogXCJOb1wifSl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKE1vbmV5Rm9ybWF0dGVyLmlzTW9uZXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7TW9uZXlGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0PlxuICAgICAgICAgIHt2YWx1ZX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG4gIH1cbn0pKVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3cuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQ0FBcUM7QUFDckMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUEsQ0FBQyxtQ0FBbUM7QUFDdEYsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNoQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUV2RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFFbkIsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sNkJBQThCLFNBQVEsY0FBYztJQUMzRixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLHNCQUFzQixFQUFFLEtBQUs7UUFDN0IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyx5QkFBeUIsRUFBRSxTQUFTO0tBQ3JDLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHO1FBQ2pCLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixzQkFBc0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFT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TUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJldHVybi1hc3NpZ24gKi9cbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IE1vbmV5Rm9ybWF0dGVyIGZyb20gXCIuLi9tb25leS1mb3JtYXR0ZXIuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWU6IHVuZGVmaW5lZFxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBkZWZhdWx0RGF0ZUZvcm1hdE5hbWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgZGVmYXVsdERhdGVUaW1lRm9ybWF0TmFtZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBpZGVudGlmaWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYW55LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuYXR0cmlidXRlX3Jvd1wifSlcblxuICAgIHRoaXMubCA9IGxcbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy5hdHRyaWJ1dGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbD8uY29uc3RydWN0b3I/LmF0dHJpYnV0ZXMoKT8uZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSkpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdGhpcy5wcm9wcy5hdHRyaWJ1dGUsIHRoaXMucHJvcHMubW9kZWxdXG4gICAgKVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCBpZGVudGlmaWVyLCBsYWJlbCwgbW9kZWwsIHN0eWxlLCB2YWx1ZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxTdHlsZSA9IHtcbiAgICAgIHBhZGRpbmdWZXJ0aWNhbDogOCxcbiAgICAgIC4uLnN0eWxlXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BhdHRyaWJ1dGVSb3ctJHthdHRyaWJ1dGV9LSR7Y2xhc3NOYW1lfS0ke2lkZW50aWZpZXJ9YF0gfHw9IHtcbiAgICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgICBjb21wb25lbnQ6IFwiYXBpLW1ha2VyL2F0dHJpYnV0ZS1yb3dcIixcbiAgICAgICAgICBpZGVudGlmaWVyXG4gICAgICAgIH19XG4gICAgICAgIHN0eWxlPXthY3R1YWxTdHlsZX1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgPFRleHQgZGF0YVNldD17dGhpcy5jYWNoZShcImxhYmVsVGV4dERhdGFTZXRcIiwge2NsYXNzOiBcImF0dHJpYnV0ZS1yb3ctbGFiZWxcIn0pfSBzdHlsZT17dGhpcy5jYWNoZShcImxhYmVsVGV4dFN0eWxlXCIsIHtmb250V2VpZ2h0OiBcImJvbGRcIn0pfT5cbiAgICAgICAgICB7dGhpcy5sYWJlbCgpfVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJ2YWx1ZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJhdHRyaWJ1dGUtcm93LXZhbHVlXCJ9KX0gc3R5bGU9e3RoaXMuY2FjaGUoXCJ2YWx1ZVZpZXdTdHlsZVwiLCB7bWFyZ2luVG9wOiAzfSl9PlxuICAgICAgICAgIHt0aGlzLnZhbHVlKCl9XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlYWN0LlJlYWN0Tm9kZX0gKi9cbiAgbGFiZWwoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbGFiZWwsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChcImxhYmVsXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIGxhYmVsXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkgcmV0dXJuIG1vZGVsLmNvbnN0cnVjdG9yLmh1bWFuQXR0cmlidXRlTmFtZShhdHRyaWJ1dGUpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaWd1cmUgb3V0IGxhYmVsXCIpXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlYWN0LlJlYWN0Tm9kZX0gKi9cbiAgdmFsdWUoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCwgY2hpbGRyZW4sIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChjaGlsZHJlbikgcmV0dXJuIGNoaWxkcmVuXG5cbiAgICBpZiAoYXR0cmlidXRlICYmICEoYXR0cmlidXRlIGluIG1vZGVsKSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXR0cmlidXRlIG5vdCBmb3VuZDogJHtkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX0jJHthdHRyaWJ1dGV9YClcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCAmJiAhbW9kZWwuaXNBdHRyaWJ1dGVMb2FkZWQoYXR0cmlidXRlKSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG1vZGVsW2F0dHJpYnV0ZV0oKVxuXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQodmFsdWUpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICAgKiBAcmV0dXJucyB7UmVhY3QuUmVhY3ROb2RlfVxuICAgKi9cbiAgdmFsdWVDb250ZW50KHZhbHVlKSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IGNvbHVtblR5cGUgPSB0aGlzLmF0dHJpYnV0ZT8uZ2V0Q29sdW1uKCk/LmdldFR5cGUoKVxuXG4gICAgaWYgKGNvbHVtblR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnByZXNlbnREYXRlVGltZSh7YXBpTWFrZXJUeXBlOiBcImRhdGVcIiwgdmFsdWV9KVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7Y29udGVudH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5wcmVzZW50RGF0ZVRpbWUoe3ZhbHVlfSlcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3QoXCJqcy5zaGFyZWQueWVzXCIsIHtkZWZhdWx0VmFsdWU6IFwiWWVzXCJ9KX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge3QoXCJqcy5zaGFyZWQubm9cIiwge2RlZmF1bHRWYWx1ZTogXCJOb1wifSl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKE1vbmV5Rm9ybWF0dGVyLmlzTW9uZXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7TW9uZXlGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0PlxuICAgICAgICAgIHt2YWx1ZX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtcImRhdGVcInxcInRpbWVcIn0gW2FyZ3MuYXBpTWFrZXJUeXBlXVxuICAgKiBAcGFyYW0ge0RhdGV9IGFyZ3MudmFsdWVcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIHByZXNlbnREYXRlVGltZSh7YXBpTWFrZXJUeXBlID0gXCJ0aW1lXCIsIHZhbHVlfSkge1xuICAgIGNvbnN0IHtkZWZhdWx0RGF0ZUZvcm1hdE5hbWUsIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKCFhcGlNYWtlclR5cGUgfHwgYXBpTWFrZXJUeXBlID09IFwidGltZVwiKSB7XG4gICAgICBjb25zdCBmb3JtYXQgPSBkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lIHx8IFwidGltZS5mb3JtYXRzLmRlZmF1bHRcIlxuXG4gICAgICByZXR1cm4gdGhpcy5wcmVzZW50RGF0ZVRpbWVWYWx1ZSh7YXBpTWFrZXJUeXBlOiBcInRpbWVcIiwgZm9ybWF0LCB2YWx1ZX0pXG4gICAgfSBlbHNlIGlmIChhcGlNYWtlclR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGRlZmF1bHREYXRlRm9ybWF0TmFtZSB8fCBcImRhdGUuZm9ybWF0cy5kZWZhdWx0XCJcblxuICAgICAgcmV0dXJuIHRoaXMucHJlc2VudERhdGVUaW1lVmFsdWUoe2FwaU1ha2VyVHlwZTogXCJkYXRlXCIsIGZvcm1hdCwgdmFsdWV9KVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHR5cGU6ICR7YXBpTWFrZXJUeXBlfWApXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtcImRhdGVcInxcInRpbWVcIn0gYXJncy5hcGlNYWtlclR5cGVcbiAgICogQHBhcmFtIHtGdW5jdGlvbnxzdHJpbmd9IGFyZ3MuZm9ybWF0XG4gICAqIEBwYXJhbSB7RGF0ZX0gYXJncy52YWx1ZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHJlc2VudERhdGVUaW1lVmFsdWUoe2FwaU1ha2VyVHlwZSwgZm9ybWF0LCB2YWx1ZX0pIHtcbiAgICBpZiAodHlwZW9mIGZvcm1hdCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBmb3JtYXQoe1xuICAgICAgICBhcGlNYWtlclR5cGUsXG4gICAgICAgIGF0dHJpYnV0ZTogdGhpcy5hdHRyaWJ1dGUsXG4gICAgICAgIGw6IHRoaXMubCxcbiAgICAgICAgbW9kZWw6IHRoaXMucHJvcHMubW9kZWwsXG4gICAgICAgIHZhbHVlXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmwoZm9ybWF0LCB2YWx1ZSlcbiAgfVxufSkpXG4iXX0=
|
|
@@ -8,17 +8,21 @@ import memo from "set-state-compare/build/memo.js";
|
|
|
8
8
|
import propTypesExact from "prop-types-exact";
|
|
9
9
|
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends BaseComponent {
|
|
10
10
|
static defaultProps = {
|
|
11
|
-
checkIfAttributeLoaded: false
|
|
11
|
+
checkIfAttributeLoaded: false,
|
|
12
|
+
defaultDateFormatName: undefined,
|
|
13
|
+
defaultDateTimeFormatName: undefined
|
|
12
14
|
};
|
|
13
15
|
static propTypes = propTypesExact({
|
|
14
16
|
attributes: PropTypes.array.isRequired,
|
|
15
17
|
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
18
|
+
defaultDateFormatName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
19
|
+
defaultDateTimeFormatName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
16
20
|
model: PropTypes.object.isRequired
|
|
17
21
|
});
|
|
18
22
|
render() {
|
|
19
|
-
const { attributes, checkIfAttributeLoaded, model } = this.p;
|
|
23
|
+
const { attributes, checkIfAttributeLoaded, defaultDateFormatName, defaultDateTimeFormatName, model } = this.p;
|
|
20
24
|
return attributes.map((attribute) => ( // eslint-disable-line no-extra-parens
|
|
21
|
-
_jsx(AttributeRow, { attribute: attribute, checkIfAttributeLoaded: checkIfAttributeLoaded, model: model }, `attribute-${attribute}`)));
|
|
25
|
+
_jsx(AttributeRow, { attribute: attribute, checkIfAttributeLoaded: checkIfAttributeLoaded, defaultDateFormatName: defaultDateFormatName, defaultDateTimeFormatName: defaultDateTimeFormatName, model: model }, `attribute-${attribute}`)));
|
|
22
26
|
}
|
|
23
27
|
}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXJvd3MuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9hdHRyaWJ1dGUtcm93cy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUEsQ0FBQyxtQ0FBbUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBLENBQUMsbUNBQW1DO0FBQzlFLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBRTdDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDhCQUErQixTQUFRLGFBQWE7SUFDM0YsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMseUJBQXlCLEVBQUUsU0FBUztLQUNyQyxDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVTtRQUN0QyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQscUJBQXFCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQTtJQUVGLE1BQU07UUFDSixNQUFNLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFNUcsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUMzRSxLQUFDLFlBQVksSUFDWCxTQUFTLEVBQUUsU0FBUyxFQUNwQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHlCQUF5QixFQUFFLHlCQUF5QixFQUVwRCxLQUFLLEVBQUUsS0FBSyxJQURQLGFBQWEsU0FBUyxFQUFFLENBRTdCLENBQ0gsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEF0dHJpYnV0ZVJvdyBmcm9tIFwiLi9hdHRyaWJ1dGUtcm93XCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93cyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWU6IHVuZGVmaW5lZFxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGVzLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBkZWZhdWx0RGF0ZUZvcm1hdE5hbWUsIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWUsIG1vZGVsfSA9IHRoaXMucFxuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+ICggLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1leHRyYS1wYXJlbnNcbiAgICAgIDxBdHRyaWJ1dGVSb3dcbiAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ9e2NoZWNrSWZBdHRyaWJ1dGVMb2FkZWR9XG4gICAgICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZT17ZGVmYXVsdERhdGVGb3JtYXROYW1lfVxuICAgICAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lPXtkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lfVxuICAgICAgICBrZXk9e2BhdHRyaWJ1dGUtJHthdHRyaWJ1dGV9YH1cbiAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgLz5cbiAgICApKVxuICB9XG59KSlcbiJdfQ==
|
package/build/bootstrap/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/** Bootstrap entry point. */
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQm9vdHN0cmFwIGVudHJ5IHBvaW50LiAqL1xuIl19
|
|
@@ -1,24 +1,34 @@
|
|
|
1
|
+
/** ActionCable connection pool keyed by stream identifiers. */
|
|
1
2
|
export default class ApiMakerCableConnectionPool {
|
|
3
|
+
/** current. */
|
|
2
4
|
static current(): any;
|
|
3
5
|
cableSubscriptionPools: any[];
|
|
4
6
|
connections: {};
|
|
5
7
|
upcomingSubscriptionData: {};
|
|
6
8
|
upcomingSubscriptions: {};
|
|
9
|
+
/** connectEventToExistingSubscription. */
|
|
7
10
|
connectEventToExistingSubscription({ path, subscription, value }: {
|
|
8
11
|
path: any;
|
|
9
12
|
subscription: any;
|
|
10
13
|
value: any;
|
|
11
14
|
}): boolean;
|
|
15
|
+
/** connectModelEvent. */
|
|
12
16
|
connectModelEvent({ callback, path, value }: {
|
|
13
17
|
callback: any;
|
|
14
18
|
path: any;
|
|
15
19
|
value: any;
|
|
16
20
|
}): CableSubscription;
|
|
21
|
+
/** connectCreated. */
|
|
17
22
|
connectCreated: (modelName: any, callback: any) => CableSubscription;
|
|
23
|
+
/** connectEvent. */
|
|
18
24
|
connectEvent: (modelName: any, modelId: any, eventName: any, callback: any) => CableSubscription;
|
|
25
|
+
/** connectDestroyed. */
|
|
19
26
|
connectDestroyed: (modelName: any, modelId: any, callback: any) => CableSubscription;
|
|
27
|
+
/** connectModelClassEvent. */
|
|
20
28
|
connectModelClassEvent: (modelName: any, eventName: any, callback: any) => CableSubscription;
|
|
29
|
+
/** connectUpdate. */
|
|
21
30
|
connectUpdate: (modelName: any, modelId: any, callback: any) => CableSubscription;
|
|
31
|
+
/** connectUpcoming. */
|
|
22
32
|
connectUpcoming: () => void;
|
|
23
33
|
scheduleConnectUpcomingRunLast: RunLast;
|
|
24
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cable-connection-pool.d.ts","sourceRoot":"/src/","sources":["cable-connection-pool.js"],"names":[],"mappings":"AAOA;IAME,sBAIC;
|
|
1
|
+
{"version":3,"file":"cable-connection-pool.d.ts","sourceRoot":"/src/","sources":["cable-connection-pool.js"],"names":[],"mappings":"AAOA,+DAA+D;AAC/D;IAME,eAAe;IACf,sBAIC;IAVD,8BAA2B;IAC3B,gBAAgB;IAChB,6BAA6B;IAC7B,0BAA0B;IAS1B,0CAA0C;IAC1C;;;;gBAyBC;IAED,yBAAyB;IACzB;;;;0BAsDC;IAED,sBAAsB;IACtB,iBAAkB,cAAS,EAAE,aAAQ,uBAAkF;IAEvH,oBAAoB;IACpB,eAAgB,cAAS,EAAE,YAAO,EAAE,cAAS,EAAE,aAAQ,uBAIrD;IAEF,wBAAwB;IACxB,mBAAoB,cAAS,EAAE,YAAO,EAAE,aAAQ,uBAAsF;IAEtI,8BAA8B;IAC9B,yBAA0B,cAAS,EAAE,cAAS,EAAE,aAAQ,uBAAkG;IAE1J,qBAAqB;IACrB,gBAAiB,cAAS,EAAE,YAAO,EAAE,aAAQ,uBAAqF;IAElI,uBAAuB;IACvB,4BAaC;IAED,wCAAkE;CACnE;8BA7I6B,yBAAyB;oBAEnC,eAAe"}
|
|
@@ -3,16 +3,19 @@ import CableSubscription from "./cable-subscription.js"; // eslint-disable-line
|
|
|
3
3
|
import CableSubscriptionPool from "./cable-subscription-pool.js";
|
|
4
4
|
import RunLast from "./run-last.js";
|
|
5
5
|
const shared = {};
|
|
6
|
+
/** ActionCable connection pool keyed by stream identifiers. */
|
|
6
7
|
export default class ApiMakerCableConnectionPool {
|
|
7
8
|
cableSubscriptionPools = [];
|
|
8
9
|
connections = {};
|
|
9
10
|
upcomingSubscriptionData = {};
|
|
10
11
|
upcomingSubscriptions = {};
|
|
12
|
+
/** current. */
|
|
11
13
|
static current() {
|
|
12
14
|
if (!shared.apiMakerCableConnectionPool)
|
|
13
15
|
shared.apiMakerCableConnectionPool = new ApiMakerCableConnectionPool();
|
|
14
16
|
return shared.apiMakerCableConnectionPool;
|
|
15
17
|
}
|
|
18
|
+
/** connectEventToExistingSubscription. */
|
|
16
19
|
connectEventToExistingSubscription({ path, subscription, value }) {
|
|
17
20
|
for (const cableSubscriptionPool of this.cableSubscriptionPools) {
|
|
18
21
|
if (cableSubscriptionPool.isConnected()) {
|
|
@@ -35,6 +38,7 @@ export default class ApiMakerCableConnectionPool {
|
|
|
35
38
|
}
|
|
36
39
|
return false;
|
|
37
40
|
}
|
|
41
|
+
/** connectModelEvent. */
|
|
38
42
|
connectModelEvent({ callback, path, value }) {
|
|
39
43
|
const subscription = new CableSubscription();
|
|
40
44
|
subscription.events.addListener("received", callback);
|
|
@@ -80,15 +84,21 @@ export default class ApiMakerCableConnectionPool {
|
|
|
80
84
|
this.scheduleConnectUpcomingRunLast.queue();
|
|
81
85
|
return subscription;
|
|
82
86
|
}
|
|
87
|
+
/** connectCreated. */
|
|
83
88
|
connectCreated = (modelName, callback) => this.connectModelEvent({ callback, value: true, path: [modelName, "creates"] });
|
|
89
|
+
/** connectEvent. */
|
|
84
90
|
connectEvent = (modelName, modelId, eventName, callback) => this.connectModelEvent({
|
|
85
91
|
callback,
|
|
86
92
|
value: modelId,
|
|
87
93
|
path: [modelName, "events", eventName]
|
|
88
94
|
});
|
|
95
|
+
/** connectDestroyed. */
|
|
89
96
|
connectDestroyed = (modelName, modelId, callback) => this.connectModelEvent({ callback, value: modelId, path: [modelName, "destroys"] });
|
|
97
|
+
/** connectModelClassEvent. */
|
|
90
98
|
connectModelClassEvent = (modelName, eventName, callback) => this.connectModelEvent({ callback, value: eventName, path: [modelName, "model_class_events"] });
|
|
99
|
+
/** connectUpdate. */
|
|
91
100
|
connectUpdate = (modelName, modelId, callback) => this.connectModelEvent({ callback, value: modelId, path: [modelName, "updates"] });
|
|
101
|
+
/** connectUpcoming. */
|
|
92
102
|
connectUpcoming = () => {
|
|
93
103
|
const subscriptionData = this.upcomingSubscriptionData;
|
|
94
104
|
const subscriptions = this.upcomingSubscriptions;
|
|
@@ -101,4 +111,4 @@ export default class ApiMakerCableConnectionPool {
|
|
|
101
111
|
};
|
|
102
112
|
scheduleConnectUpcomingRunLast = new RunLast(this.connectUpcoming);
|
|
103
113
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FibGUtY29ubmVjdGlvbi1wb29sLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjYWJsZS1jb25uZWN0aW9uLXBvb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM3QixPQUFPLGlCQUFpQixNQUFNLHlCQUF5QixDQUFBLENBQUMsbUNBQW1DO0FBQzNGLE9BQU8scUJBQXFCLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBRW5DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixNQUFNLENBQUMsT0FBTyxPQUFPLDJCQUEyQjtJQUM5QyxzQkFBc0IsR0FBRyxFQUFFLENBQUE7SUFDM0IsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUNoQix3QkFBd0IsR0FBRyxFQUFFLENBQUE7SUFDN0IscUJBQXFCLEdBQUcsRUFBRSxDQUFBO0lBRTFCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQywyQkFBMkI7WUFBRSxNQUFNLENBQUMsMkJBQTJCLEdBQUcsSUFBSSwyQkFBMkIsRUFBRSxDQUFBO1FBRS9HLE9BQU8sTUFBTSxDQUFDLDJCQUEyQixDQUFBO0lBQzNDLENBQUM7SUFFRCxrQ0FBa0MsQ0FBRSxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDO1FBQzdELEtBQUssTUFBTSxxQkFBcUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoRSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLElBQUkscUJBQXFCLENBQUE7Z0JBRXpCLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNuQixxQkFBcUIsR0FBRyxHQUFHLENBQUMscUJBQXFCLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQzNFLENBQUM7cUJB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RSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUMxSixhQUFhLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUVsSSxlQUFlLEdBQUcsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFBO1FBQ3RELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQTtRQUVoRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUE7UUFFL0IsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7UUFFekQscUJBQXFCLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDMUQscUJBQXFCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFL0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQ3pELENBQUMsQ0FBQTtJQUVELDhCQUE4QixHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtDQUNuRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBDYWJsZVN1YnNjcmlwdGlvbiBmcm9tIFwiLi9jYWJsZS1zdWJzY3JpcHRpb24uanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IENhYmxlU3Vic2NyaXB0aW9uUG9vbCBmcm9tIFwiLi9jYWJsZS1zdWJzY3JpcHRpb24tcG9vbC5qc1wiXG5pbXBvcnQgUnVuTGFzdCBmcm9tIFwiLi9ydW4tbGFzdC5qc1wiXG5cbmNvbnN0IHNoYXJlZCA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ2FibGVDb25uZWN0aW9uUG9vbCB7XG4gIGNhYmxlU3Vic2NyaXB0aW9uUG9vbHMgPSBbXVxuICBjb25uZWN0aW9ucyA9IHt9XG4gIHVwY29taW5nU3Vic2NyaXB0aW9uRGF0YSA9IHt9XG4gIHVwY29taW5nU3Vic2NyaXB0aW9ucyA9IHt9XG5cbiAgc3RhdGljIGN1cnJlbnQgKCkge1xuICAgIGlmICghc2hhcmVkLmFwaU1ha2VyQ2FibGVDb25uZWN0aW9uUG9vbCkgc2hhcmVkLmFwaU1ha2VyQ2FibGVDb25uZWN0aW9uUG9vbCA9IG5ldyBBcGlNYWtlckNhYmxlQ29ubmVjdGlvblBvb2woKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5hcGlNYWtlckNhYmxlQ29ubmVjdGlvblBvb2xcbiAgfVxuXG4gIGNvbm5lY3RFdmVudFRvRXhpc3RpbmdTdWJzY3JpcHRpb24gKHtwYXRoLCBzdWJzY3JpcHRpb24sIHZhbHVlfSkge1xuICAgIGZvciAoY29uc3QgY2FibGVTdWJzY3JpcHRpb25Qb29sIG9mIHRoaXMuY2FibGVTdWJzY3JpcHRpb25Qb29scykge1xuICAgICAgaWYgKGNhYmxlU3Vic2NyaXB0aW9uUG9vbC5pc0Nvbm5lY3RlZCgpKSB7XG4gICAgICAgIGxldCBleGlzdGluZ1N1YnNjcmlwdGlvbnNcblxuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICBleGlzdGluZ1N1YnNjcmlwdGlvbnMgPSBkaWcoY2FibGVTdWJzY3JpcHRpb25Qb29sLnN1YnNjcmlwdGlvbnMsIC4uLnBhdGgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXhpc3RpbmdTdWJzY3JpcHRpb25zID0gZGlnKGNhYmxlU3Vic2NyaXB0aW9uUG9vbC5zdWJzY3JpcHRpb25zLCAuLi5wYXRoLCB2YWx1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleGlzdGluZ1N1YnNjcmlwdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShleGlzdGluZ1N1YnNjcmlwdGlvbnMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4aXN0aW5nU3Vic2NyaXB0aW9ucyB3YXNuJ3QgYW4gYXJyYXk6ICR7dHlwZW9mIGV4aXN0aW5nU3Vic2NyaXB0aW9uc30gKCR7ZGlnKGV4aXN0aW5nU3Vic2NyaXB0aW9ucywgXCJjb25zdHJ1Y3RvclwiLCBcIm5hbWVcIil9KWApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXhpc3RpbmdTdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKVxuICAgICAgICAgIGNhYmxlU3Vic2NyaXB0aW9uUG9vbC5jb25uZWN0VW5zdWJzY3JpcHRpb25Gb3JTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uKVxuXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29ubmVjdE1vZGVsRXZlbnQgKHtjYWxsYmFjaywgcGF0aCwgdmFsdWV9KSB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IENhYmxlU3Vic2NyaXB0aW9uKClcblxuICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuYWRkTGlzdGVuZXIoXCJyZWNlaXZlZFwiLCBjYWxsYmFjaylcblxuICAgIGlmICh0aGlzLmNvbm5lY3RFdmVudFRvRXhpc3RpbmdTdWJzY3JpcHRpb24oe3BhdGgsIHN1YnNjcmlwdGlvbiwgdmFsdWV9KSkge1xuICAgICAgLy8gTWFuYWdlZCB0byBjb25uZWN0IHRvIGV4aXN0aW5nIGNvbm5lY3Rpb25cbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25cbiAgICB9XG5cbiAgICBsZXQgY3VycmVudFN1YnNjcmlwdGlvbkRhdGEgPSB0aGlzLnVwY29taW5nU3Vic2NyaXB0aW9uRGF0YVxuICAgIGxldCBjdXJyZW50U3Vic2NyaXB0aW9uID0gdGhpcy51cGNvbWluZ1N1YnNjcmlwdGlvbnNcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcGF0aFBhcnQgPSBwYXRoW2ldXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0IGluIGN1cnJlbnRTdWJzY3JpcHRpb25EYXRhKSkge1xuICAgICAgICBpZiAoaSA9PSBwYXRoLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBjdXJyZW50U3Vic2NyaXB0aW9uRGF0YVtwYXRoUGFydF0gPSBbXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25EYXRhW3BhdGhQYXJ0XSA9IHt9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY3VycmVudFN1YnNjcmlwdGlvbkRhdGEgPSBjdXJyZW50U3Vic2NyaXB0aW9uRGF0YVtwYXRoUGFydF1cblxuICAgICAgaWYgKCEocGF0aFBhcnQgaW4gY3VycmVudFN1YnNjcmlwdGlvbikpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlICYmIGkgPT0gcGF0aC5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgY3VycmVudFN1YnNjcmlwdGlvbltwYXRoUGFydF0gPSBbXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25bcGF0aFBhcnRdID0ge31cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjdXJyZW50U3Vic2NyaXB0aW9uID0gY3VycmVudFN1YnNjcmlwdGlvbltwYXRoUGFydF1cbiAgICB9XG5cbiAgICBpZiAoIWN1cnJlbnRTdWJzY3JpcHRpb25EYXRhLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgY3VycmVudFN1YnNjcmlwdGlvbkRhdGEucHVzaCh2YWx1ZSlcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb24ucHVzaChzdWJzY3JpcHRpb24pXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghKHZhbHVlIGluIGN1cnJlbnRTdWJzY3JpcHRpb24pKSB7XG4gICAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25bdmFsdWVdID0gW11cbiAgICAgIH1cblxuICAgICAgY3VycmVudFN1YnNjcmlwdGlvblt2YWx1ZV0ucHVzaChzdWJzY3JpcHRpb24pXG4gICAgfVxuXG4gICAgdGhpcy5zY2hlZHVsZUNvbm5lY3RVcGNvbWluZ1J1bkxhc3QucXVldWUoKVxuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvblxuICB9XG5cbiAgY29ubmVjdENyZWF0ZWQgPSAobW9kZWxOYW1lLCBjYWxsYmFjaykgPT4gdGhpcy5jb25uZWN0TW9kZWxFdmVudCh7Y2FsbGJhY2ssIHZhbHVlOiB0cnVlLCBwYXRoOiBbbW9kZWxOYW1lLCBcImNyZWF0ZXNcIl19KVxuICBjb25uZWN0RXZlbnQgPSAobW9kZWxOYW1lLCBtb2RlbElkLCBldmVudE5hbWUsIGNhbGxiYWNrKSA9PiB0aGlzLmNvbm5lY3RNb2RlbEV2ZW50KHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBtYXgtcGFyYW1zXG4gICAgY2FsbGJhY2ssXG4gICAgdmFsdWU6IG1vZGVsSWQsXG4gICAgcGF0aDogW21vZGVsTmFtZSwgXCJldmVudHNcIiwgZXZlbnROYW1lXVxuICB9KVxuICBjb25uZWN0RGVzdHJveWVkID0gKG1vZGVsTmFtZSwgbW9kZWxJZCwgY2FsbGJhY2spID0+IHRoaXMuY29ubmVjdE1vZGVsRXZlbnQoe2NhbGxiYWNrLCB2YWx1ZTogbW9kZWxJZCwgcGF0aDogW21vZGVsTmFtZSwgXCJkZXN0cm95c1wiXX0pXG4gIGNvbm5lY3RNb2RlbENsYXNzRXZlbnQgPSAobW9kZWxOYW1lLCBldmVudE5hbWUsIGNhbGxiYWNrKSA9PiB0aGlzLmNvbm5lY3RNb2RlbEV2ZW50KHtjYWxsYmFjaywgdmFsdWU6IGV2ZW50TmFtZSwgcGF0aDogW21vZGVsTmFtZSwgXCJtb2RlbF9jbGFzc19ldmVudHNcIl19KVxuICBjb25uZWN0VXBkYXRlID0gKG1vZGVsTmFtZSwgbW9kZWxJZCwgY2FsbGJhY2spID0+IHRoaXMuY29ubmVjdE1vZGVsRXZlbnQoe2NhbGxiYWNrLCB2YWx1ZTogbW9kZWxJZCwgcGF0aDogW21vZGVsTmFtZSwgXCJ1cGRhdGVzXCJdfSlcblxuICBjb25uZWN0VXBjb21pbmcgPSAoKSA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uRGF0YSA9IHRoaXMudXBjb21pbmdTdWJzY3JpcHRpb25EYXRhXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHRoaXMudXBjb21pbmdTdWJzY3JpcHRpb25zXG5cbiAgICB0aGlzLnVwY29taW5nU3Vic2NyaXB0aW9uRGF0YSA9IHt9XG4gICAgdGhpcy51cGNvbWluZ1N1YnNjcmlwdGlvbnMgPSB7fVxuXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb25Qb29sID0gbmV3IENhYmxlU3Vic2NyaXB0aW9uUG9vbCgpXG5cbiAgICBjYWJsZVN1YnNjcmlwdGlvblBvb2wucmVnaXN0ZXJTdWJzY3JpcHRpb25zKHN1YnNjcmlwdGlvbnMpXG4gICAgY2FibGVTdWJzY3JpcHRpb25Qb29sLmNvbm5lY3Qoc3Vic2NyaXB0aW9uRGF0YSlcblxuICAgIHRoaXMuY2FibGVTdWJzY3JpcHRpb25Qb29scy5wdXNoKGNhYmxlU3Vic2NyaXB0aW9uUG9vbClcbiAgfVxuXG4gIHNjaGVkdWxlQ29ubmVjdFVwY29taW5nUnVuTGFzdCA9IG5ldyBSdW5MYXN0KHRoaXMuY29ubmVjdFVwY29taW5nKVxufVxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FibGUtY29ubmVjdGlvbi1wb29sLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjYWJsZS1jb25uZWN0aW9uLXBvb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM3QixPQUFPLGlCQUFpQixNQUFNLHlCQUF5QixDQUFBLENBQUMsbUNBQW1DO0FBQzNGLE9BQU8scUJBQXFCLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBRW5DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE9BQU8sT0FBTywyQkFBMkI7SUFDOUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFBO0lBQzNCLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFDaEIsd0JBQXdCLEdBQUcsRUFBRSxDQUFBO0lBQzdCLHFCQUFxQixHQUFHLEVBQUUsQ0FBQTtJQUUxQixlQUFlO0lBQ2YsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQjtZQUFFLE1BQU0sQ0FBQywyQkFBMkIsR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUE7UUFFL0csT0FBTyxNQUFNLENBQUMsMkJBQTJCLENBQUE7SUFDM0MsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxrQ0FBa0MsQ0FBRSxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDO1FBQzdELEtBQUssTUFBTSxxQkFBcUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoRSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLElBQUkscUJBQXFCLENBQUE7Z0JBRXpCLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNuQixxQkFBcUIsR0FBRyxHQUFHLENBQUMscUJBQXFCLENBQUMsYUFBYSxFQUFF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LEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLEVBQUMsQ0FBQyxDQUFBO0lBRTFKLHFCQUFxQjtJQUNyQixhQUFhLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUVsSSx1QkFBdUI7SUFDdkIsZUFBZSxHQUFHLEdBQUcsRUFBRTtRQUNyQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQTtRQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUE7UUFFaEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFBO1FBRS9CLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBRXpELHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzFELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRS9DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUN6RCxDQUFDLENBQUE7SUFFRCw4QkFBOEIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7Q0FDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgQ2FibGVTdWJzY3JpcHRpb24gZnJvbSBcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBDYWJsZVN1YnNjcmlwdGlvblBvb2wgZnJvbSBcIi4vY2FibGUtc3Vic2NyaXB0aW9uLXBvb2wuanNcIlxuaW1wb3J0IFJ1bkxhc3QgZnJvbSBcIi4vcnVuLWxhc3QuanNcIlxuXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vKiogQWN0aW9uQ2FibGUgY29ubmVjdGlvbiBwb29sIGtleWVkIGJ5IHN0cmVhbSBpZGVudGlmaWVycy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ2FibGVDb25uZWN0aW9uUG9vbCB7XG4gIGNhYmxlU3Vic2NyaXB0aW9uUG9vbHMgPSBbXVxuICBjb25uZWN0aW9ucyA9IHt9XG4gIHVwY29taW5nU3Vic2NyaXB0aW9uRGF0YSA9IHt9XG4gIHVwY29taW5nU3Vic2NyaXB0aW9ucyA9IHt9XG5cbiAgLyoqIGN1cnJlbnQuICovXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5hcGlNYWtlckNhYmxlQ29ubmVjdGlvblBvb2wpIHNoYXJlZC5hcGlNYWtlckNhYmxlQ29ubmVjdGlvblBvb2wgPSBuZXcgQXBpTWFrZXJDYWJsZUNvbm5lY3Rpb25Qb29sKClcblxuICAgIHJldHVybiBzaGFyZWQuYXBpTWFrZXJDYWJsZUNvbm5lY3Rpb25Qb29sXG4gIH1cblxuICAvKiogY29ubmVjdEV2ZW50VG9FeGlzdGluZ1N1YnNjcmlwdGlvbi4gKi9cbiAgY29ubmVjdEV2ZW50VG9FeGlzdGluZ1N1YnNjcmlwdGlvbiAoe3BhdGgsIHN1YnNjcmlwdGlvbiwgdmFsdWV9KSB7XG4gICAgZm9yIChjb25zdCBjYWJsZVN1YnNjcmlwdGlvblBvb2wgb2YgdGhpcy5jYWJsZVN1YnNjcmlwdGlvblBvb2xzKSB7XG4gICAgICBpZiAoY2FibGVTdWJzY3JpcHRpb25Qb29sLmlzQ29ubmVjdGVkKCkpIHtcbiAgICAgICAgbGV0IGV4aXN0aW5nU3Vic2NyaXB0aW9uc1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGV4aXN0aW5nU3Vic2NyaXB0aW9ucyA9IGRpZyhjYWJsZVN1YnNjcmlwdGlvblBvb2wuc3Vic2NyaXB0aW9ucywgLi4ucGF0aClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBleGlzdGluZ1N1YnNjcmlwdGlvbnMgPSBkaWcoY2FibGVTdWJzY3JpcHRpb25Qb29sLnN1YnNjcmlwdGlvbnMsIC4uLnBhdGgsIHZhbHVlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXN0aW5nU3Vic2NyaXB0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nU3Vic2NyaXB0aW9ucykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZXhpc3RpbmdTdWJzY3JpcHRpb25zIHdhc24ndCBhbiBhcnJheTogJHt0eXBlb2YgZXhpc3RpbmdTdWJzY3JpcHRpb25zfSAoJHtkaWcoZXhpc3RpbmdTdWJzY3JpcHRpb25zLCBcImNvbnN0cnVjdG9yXCIsIFwibmFtZVwiKX0pYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBleGlzdGluZ1N1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pXG4gICAgICAgICAgY2FibGVTdWJzY3JpcHRpb25Qb29sLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogY29ubmVjdE1vZGVsRXZlbnQuICovXG4gIGNvbm5lY3RNb2RlbEV2ZW50ICh7Y2FsbGJhY2ssIHBhdGgsIHZhbHVlfSkge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBDYWJsZVN1YnNjcmlwdGlvbigpXG5cbiAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmFkZExpc3RlbmVyKFwicmVjZWl2ZWRcIiwgY2FsbGJhY2spXG5cbiAgICBpZiAodGhpcy5jb25uZWN0RXZlbnRUb0V4aXN0aW5nU3Vic2NyaXB0aW9uKHtwYXRoLCBzdWJzY3JpcHRpb24sIHZhbHVlfSkpIHtcbiAgICAgIC8vIE1hbmFnZWQgdG8gY29ubmVjdCB0byBleGlzdGluZyBjb25uZWN0aW9uXG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uXG4gICAgfVxuXG4gICAgbGV0IGN1cnJlbnRTdWJzY3JpcHRpb25EYXRhID0gdGhpcy51cGNvbWluZ1N1YnNjcmlwdGlvbkRhdGFcbiAgICBsZXQgY3VycmVudFN1YnNjcmlwdGlvbiA9IHRoaXMudXBjb21pbmdTdWJzY3JpcHRpb25zXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHBhdGhQYXJ0ID0gcGF0aFtpXVxuXG4gICAgICBpZiAoIShwYXRoUGFydCBpbiBjdXJyZW50U3Vic2NyaXB0aW9uRGF0YSkpIHtcbiAgICAgICAgaWYgKGkgPT0gcGF0aC5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgY3VycmVudFN1YnNjcmlwdGlvbkRhdGFbcGF0aFBhcnRdID0gW11cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50U3Vic2NyaXB0aW9uRGF0YVtwYXRoUGFydF0gPSB7fVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25EYXRhID0gY3VycmVudFN1YnNjcmlwdGlvbkRhdGFbcGF0aFBhcnRdXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0IGluIGN1cnJlbnRTdWJzY3JpcHRpb24pKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSAmJiBpID09IHBhdGgubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25bcGF0aFBhcnRdID0gW11cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50U3Vic2NyaXB0aW9uW3BhdGhQYXJ0XSA9IHt9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY3VycmVudFN1YnNjcmlwdGlvbiA9IGN1cnJlbnRTdWJzY3JpcHRpb25bcGF0aFBhcnRdXG4gICAgfVxuXG4gICAgaWYgKCFjdXJyZW50U3Vic2NyaXB0aW9uRGF0YS5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25EYXRhLnB1c2godmFsdWUpXG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICBjdXJyZW50U3Vic2NyaXB0aW9uLnB1c2goc3Vic2NyaXB0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoISh2YWx1ZSBpbiBjdXJyZW50U3Vic2NyaXB0aW9uKSkge1xuICAgICAgICBjdXJyZW50U3Vic2NyaXB0aW9uW3ZhbHVlXSA9IFtdXG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRTdWJzY3JpcHRpb25bdmFsdWVdLnB1c2goc3Vic2NyaXB0aW9uKVxuICAgIH1cblxuICAgIHRoaXMuc2NoZWR1bGVDb25uZWN0VXBjb21pbmdSdW5MYXN0LnF1ZXVlKClcblxuICAgIHJldHVybiBzdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKiBjb25uZWN0Q3JlYXRlZC4gKi9cbiAgY29ubmVjdENyZWF0ZWQgPSAobW9kZWxOYW1lLCBjYWxsYmFjaykgPT4gdGhpcy5jb25uZWN0TW9kZWxFdmVudCh7Y2FsbGJhY2ssIHZhbHVlOiB0cnVlLCBwYXRoOiBbbW9kZWxOYW1lLCBcImNyZWF0ZXNcIl19KVxuXG4gIC8qKiBjb25uZWN0RXZlbnQuICovXG4gIGNvbm5lY3RFdmVudCA9IChtb2RlbE5hbWUsIG1vZGVsSWQsIGV2ZW50TmFtZSwgY2FsbGJhY2spID0+IHRoaXMuY29ubmVjdE1vZGVsRXZlbnQoeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG1heC1wYXJhbXNcbiAgICBjYWxsYmFjayxcbiAgICB2YWx1ZTogbW9kZWxJZCxcbiAgICBwYXRoOiBbbW9kZWxOYW1lLCBcImV2ZW50c1wiLCBldmVudE5hbWVdXG4gIH0pXG5cbiAgLyoqIGNvbm5lY3REZXN0cm95ZWQuICovXG4gIGNvbm5lY3REZXN0cm95ZWQgPSAobW9kZWxOYW1lLCBtb2RlbElkLCBjYWxsYmFjaykgPT4gdGhpcy5jb25uZWN0TW9kZWxFdmVudCh7Y2FsbGJhY2ssIHZhbHVlOiBtb2RlbElkLCBwYXRoOiBbbW9kZWxOYW1lLCBcImRlc3Ryb3lzXCJdfSlcblxuICAvKiogY29ubmVjdE1vZGVsQ2xhc3NFdmVudC4gKi9cbiAgY29ubmVjdE1vZGVsQ2xhc3NFdmVudCA9IChtb2RlbE5hbWUsIGV2ZW50TmFtZSwgY2FsbGJhY2spID0+IHRoaXMuY29ubmVjdE1vZGVsRXZlbnQoe2NhbGxiYWNrLCB2YWx1ZTogZXZlbnROYW1lLCBwYXRoOiBbbW9kZWxOYW1lLCBcIm1vZGVsX2NsYXNzX2V2ZW50c1wiXX0pXG5cbiAgLyoqIGNvbm5lY3RVcGRhdGUuICovXG4gIGNvbm5lY3RVcGRhdGUgPSAobW9kZWxOYW1lLCBtb2RlbElkLCBjYWxsYmFjaykgPT4gdGhpcy5jb25uZWN0TW9kZWxFdmVudCh7Y2FsbGJhY2ssIHZhbHVlOiBtb2RlbElkLCBwYXRoOiBbbW9kZWxOYW1lLCBcInVwZGF0ZXNcIl19KVxuXG4gIC8qKiBjb25uZWN0VXBjb21pbmcuICovXG4gIGNvbm5lY3RVcGNvbWluZyA9ICgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb25EYXRhID0gdGhpcy51cGNvbWluZ1N1YnNjcmlwdGlvbkRhdGFcbiAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gdGhpcy51cGNvbWluZ1N1YnNjcmlwdGlvbnNcblxuICAgIHRoaXMudXBjb21pbmdTdWJzY3JpcHRpb25EYXRhID0ge31cbiAgICB0aGlzLnVwY29taW5nU3Vic2NyaXB0aW9ucyA9IHt9XG5cbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvblBvb2wgPSBuZXcgQ2FibGVTdWJzY3JpcHRpb25Qb29sKClcblxuICAgIGNhYmxlU3Vic2NyaXB0aW9uUG9vbC5yZWdpc3RlclN1YnNjcmlwdGlvbnMoc3Vic2NyaXB0aW9ucylcbiAgICBjYWJsZVN1YnNjcmlwdGlvblBvb2wuY29ubmVjdChzdWJzY3JpcHRpb25EYXRhKVxuXG4gICAgdGhpcy5jYWJsZVN1YnNjcmlwdGlvblBvb2xzLnB1c2goY2FibGVTdWJzY3JpcHRpb25Qb29sKVxuICB9XG5cbiAgc2NoZWR1bGVDb25uZWN0VXBjb21pbmdSdW5MYXN0ID0gbmV3IFJ1bkxhc3QodGhpcy5jb25uZWN0VXBjb21pbmcpXG59XG4iXX0=
|
|
@@ -1,16 +1,26 @@
|
|
|
1
|
+
/** Subscription pool for sharing channel subscriptions. */
|
|
1
2
|
export default class ApiMakerCableSubscriptionPool {
|
|
2
3
|
activeSubscriptions: number;
|
|
3
4
|
connected: boolean;
|
|
5
|
+
/** connect. */
|
|
4
6
|
connect(subscriptionData: any): void;
|
|
5
7
|
subscription: any;
|
|
8
|
+
/** forEachSubscription. */
|
|
6
9
|
forEachSubscription(callback: any): void;
|
|
10
|
+
/** isConnected. */
|
|
7
11
|
isConnected: () => any;
|
|
12
|
+
/** onConnected. */
|
|
8
13
|
onConnected: () => void;
|
|
14
|
+
/** onReceived. */
|
|
9
15
|
onReceived: (rawData: any) => void;
|
|
16
|
+
/** onSubscribed. */
|
|
10
17
|
onSubscribed: () => void;
|
|
18
|
+
/** onUnsubscribe. */
|
|
11
19
|
onUnsubscribe(): void;
|
|
20
|
+
/** registerSubscriptions. */
|
|
12
21
|
registerSubscriptions(subscriptions: any): void;
|
|
13
22
|
subscriptions: any;
|
|
23
|
+
/** connectUnsubscriptionForSubscription. */
|
|
14
24
|
connectUnsubscriptionForSubscription(subscription: any): void;
|
|
15
25
|
}
|
|
16
26
|
//# sourceMappingURL=cable-subscription-pool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cable-subscription-pool.d.ts","sourceRoot":"/src/","sources":["cable-subscription-pool.js"],"names":[],"mappings":"AASA;
|
|
1
|
+
{"version":3,"file":"cable-subscription-pool.d.ts","sourceRoot":"/src/","sources":["cable-subscription-pool.js"],"names":[],"mappings":"AASA,2DAA2D;AAC3D;IAGI,4BAA4B;IAC5B,mBAAsB;IAGxB,eAAe;IACf,qCAkBC;IAbC,kBAWC;IAIH,2BAA2B;IAC3B,yCAyCC;IAED,mBAAmB;IACnB,uBAA2C;IAE3C,mBAAmB;IACnB,wBAIC;IAED,kBAAkB;IAClB,aAAc,YAAO,UA2CpB;IAED,oBAAoB;IACpB,yBAEC;IAED,qBAAqB;IACrB,sBAUC;IAED,6BAA6B;IAC7B,gDA+BC;IA9BC,mBAAkC;IAgCpC,4CAA4C;IAC5C,8DAWC;CACF"}
|
|
@@ -5,11 +5,14 @@ import Deserializer from "./deserializer.js";
|
|
|
5
5
|
import getChannelsConsumer from "./channels-consumer.js";
|
|
6
6
|
import Logger from "./logger.js"; // eslint-disable-line sort-imports
|
|
7
7
|
const logger = new Logger({ name: "ApiMaker / CableSubscriptionPool" });
|
|
8
|
+
/** Subscription pool for sharing channel subscriptions. */
|
|
8
9
|
export default class ApiMakerCableSubscriptionPool {
|
|
10
|
+
/** Constructor. */
|
|
9
11
|
constructor() {
|
|
10
12
|
this.activeSubscriptions = 0;
|
|
11
13
|
this.connected = false;
|
|
12
14
|
}
|
|
15
|
+
/** connect. */
|
|
13
16
|
connect(subscriptionData) {
|
|
14
17
|
const globalData = CommandsPool.current().globalRequestData;
|
|
15
18
|
logger.debug(() => ["Creating subscription", { subscriptionData }]);
|
|
@@ -24,6 +27,7 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
24
27
|
});
|
|
25
28
|
this.connected = true;
|
|
26
29
|
}
|
|
30
|
+
/** forEachSubscription. */
|
|
27
31
|
forEachSubscription(callback) {
|
|
28
32
|
const modelIdModes = ["destroys", "updates"];
|
|
29
33
|
const subscriptions = digg(this, "subscriptions");
|
|
@@ -62,12 +66,15 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
68
|
}
|
|
69
|
+
/** isConnected. */
|
|
65
70
|
isConnected = () => digg(this, "connected");
|
|
71
|
+
/** onConnected. */
|
|
66
72
|
onConnected = () => {
|
|
67
73
|
this.forEachSubscription(({ subscription }) => {
|
|
68
74
|
subscription.events.emit("connected");
|
|
69
75
|
});
|
|
70
76
|
};
|
|
77
|
+
/** onReceived. */
|
|
71
78
|
onReceived = (rawData) => {
|
|
72
79
|
const data = Deserializer.parse(rawData);
|
|
73
80
|
const { a: args, e: eventName, m: model, mi: modelId, mt: modelType, t: type } = data;
|
|
@@ -112,9 +119,11 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
112
119
|
throw new Error(`Unknown type: ${data.type}`);
|
|
113
120
|
}
|
|
114
121
|
};
|
|
122
|
+
/** onSubscribed. */
|
|
115
123
|
onSubscribed = () => {
|
|
116
124
|
logger.debug("onSubscribed");
|
|
117
125
|
};
|
|
126
|
+
/** onUnsubscribe. */
|
|
118
127
|
onUnsubscribe() {
|
|
119
128
|
logger.debug(() => `activeSubscriptions before unsub: ${this.activeSubscriptions}`);
|
|
120
129
|
this.activeSubscriptions -= 1;
|
|
@@ -125,6 +134,7 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
125
134
|
this.connected = false;
|
|
126
135
|
}
|
|
127
136
|
}
|
|
137
|
+
/** registerSubscriptions. */
|
|
128
138
|
registerSubscriptions(subscriptions) {
|
|
129
139
|
this.subscriptions = subscriptions;
|
|
130
140
|
logger.debug(() => ["registerSubscriptions", { subscriptions }]);
|
|
@@ -153,13 +163,15 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
153
163
|
}
|
|
154
164
|
}
|
|
155
165
|
}
|
|
166
|
+
/** connectUnsubscriptionForSubscription. */
|
|
156
167
|
connectUnsubscriptionForSubscription(subscription) {
|
|
157
168
|
logger.debug(() => ["Connecting to unsubscribe on subscription", { subscription }]);
|
|
158
169
|
this.activeSubscriptions += 1;
|
|
159
170
|
subscription.events.addListener("unsubscribed", () => {
|
|
160
171
|
logger.debug("Call onUnsubscribe on self");
|
|
172
|
+
// @ts-expect-error
|
|
161
173
|
this.onUnsubscribe(subscription);
|
|
162
174
|
});
|
|
163
175
|
}
|
|
164
176
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FibGUtc3Vic2NyaXB0aW9uLXBvb2wuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNhYmxlLXN1YnNjcmlwdGlvbi1wb29sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxtQkFBbUIsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUEsQ0FBQyxtQ0FBbUM7QUFFcEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUMsQ0FBQyxDQUFBO0FBRXJFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNkJBQTZCO0lBQ2hEO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTyxDQUFFLGdCQUFnQjtRQUN2QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUE7UUFFM0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFakUsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzVEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxNQUFNLEVBQUUsVUFBVTtZQUNsQixpQkFBaUIsRUFBRSxnQkFBZ0I7U0FDcEMsRUFDRDtZQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMs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QUE7UUFFakYsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsQ0FBQTtRQUU3QixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtZQUUxQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi9jb21tYW5kcy1wb29sLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBEZXNlcmlhbGl6ZXIgZnJvbSBcIi4vZGVzZXJpYWxpemVyLmpzXCJcbmltcG9ydCBnZXRDaGFubmVsc0NvbnN1bWVyIGZyb20gXCIuL2NoYW5uZWxzLWNvbnN1bWVyLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIENhYmxlU3Vic2NyaXB0aW9uUG9vbFwifSlcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDYWJsZVN1YnNjcmlwdGlvblBvb2wge1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5hY3RpdmVTdWJzY3JpcHRpb25zID0gMFxuICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2VcbiAgfVxuXG4gIGNvbm5lY3QgKHN1YnNjcmlwdGlvbkRhdGEpIHtcbiAgICBjb25zdCBnbG9iYWxEYXRhID0gQ29tbWFuZHNQb29sLmN1cnJlbnQoKS5nbG9iYWxSZXF1ZXN0RGF0YVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IFtcIkNyZWF0aW5nIHN1YnNjcmlwdGlvblwiLCB7c3Vic2NyaXB0aW9uRGF0YX1dKVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBnZXRDaGFubmVsc0NvbnN1bWVyKCkuc3Vic2NyaXB0aW9ucy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGNoYW5uZWw6IFwiQXBpTWFrZXI6OlN1YnNjcmlwdGlvbnNDaGFubmVsXCIsXG4gICAgICAgIGdsb2JhbDogZ2xvYmFsRGF0YSxcbiAgICAgICAgc3Vic2NyaXB0aW9uX2RhdGE6IHN1YnNjcmlwdGlvbkRhdGFcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbm5lY3RlZDogdGhpcy5vbkNvbm5lY3RlZCxcbiAgICAgICAgcmVjZWl2ZWQ6IHRoaXMub25SZWNlaXZlZCxcbiAgICAgICAgc3Vic2NyaWJlZDogdGhpcy5vblN1YnNjcmliZWRcbiAgICAgIH1cbiAgICApXG4gICAgdGhpcy5jb25uZWN0ZWQgPSB0cnVlXG4gIH1cblxuICBmb3JFYWNoU3Vic2NyaXB0aW9uIChjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsSWRNb2RlcyA9IFtcImRlc3Ryb3lzXCIsIFwidXBkYXRlc1wiXVxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBkaWdnKHRoaXMsIFwic3Vic2NyaXB0aW9uc1wiKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbE5hbWUgaW4gc3Vic2NyaXB0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBtb2RlbElkTW9kZSBvZiBtb2RlbElkTW9kZXMpIHtcbiAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXVttb2RlbElkTW9kZV0pIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdW21vZGVsSWRNb2RlXSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxuICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdW21vZGVsSWRNb2RlXVttb2RlbElkXSkge1xuICAgICAgICAgICAgICBjYWxsYmFjayh7bW9kZTogbW9kZWxJZE1vZGUsIG1vZGVsSWQsIG1vZGVsTmFtZSwgc3Vic2NyaXB0aW9ufSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgICAgY2FsbGJhY2soe21vZGU6IFwiY3JlYXRlc1wiLCBtb2RlbE5hbWUsIHN1YnNjcmlwdGlvbn0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5tb2RlbF9jbGFzc19ldmVudHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLm1vZGVsX2NsYXNzX2V2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5tb2RlbF9jbGFzc19ldmVudHNbZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgY2FsbGJhY2soe2V2ZW50TmFtZSwgbW9kZTogXCJtb2RlbF9jbGFzc19ldmVudHNcIiwgbW9kZWxOYW1lLCBzdWJzY3JpcHRpb259KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3QgZXZlbnROYW1lIGluIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbbW9kZWxJZF0pIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtZGVwdGhcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbbW9kZWxJZF1bZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgICBjYWxsYmFjayh7ZXZlbnROYW1lLCBtb2RlOiBcInVwZGF0ZXNcIiwgbW9kZWxJZCwgbW9kZWxOYW1lLCBzdWJzY3JpcHRpb259KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzQ29ubmVjdGVkID0gKCkgPT4gZGlnZyh0aGlzLCBcImNvbm5lY3RlZFwiKVxuXG4gIG9uQ29ubmVjdGVkID0gKCkgPT4ge1xuICAgIHRoaXMuZm9yRWFjaFN1YnNjcmlwdGlvbigoe3N1YnNjcmlwdGlvbn0pID0+IHtcbiAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcImNvbm5lY3RlZFwiKVxuICAgIH0pXG4gIH1cblxuICBvblJlY2VpdmVkID0gKHJhd0RhdGEpID0+IHtcbiAgICBjb25zdCBkYXRhID0gRGVzZXJpYWxpemVyLnBhcnNlKHJhd0RhdGEpXG4gICAgY29uc3Qge2E6IGFyZ3MsIGU6IGV2ZW50TmFtZSwgbTogbW9kZWwsIG1pOiBtb2RlbElkLCBtdDogbW9kZWxUeXBlLCB0OiB0eXBlfSA9IGRhdGFcbiAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gZGlnZyh0aGlzLCBcInN1YnNjcmlwdGlvbnNcIilcblxuICAgIGxldCBtb2RlbE5hbWVcblxuICAgIC8vIFRoaXMgaXMgbW9yZSBlZmZlY3RpdmUgaWYgaXQgaXMgYW4gb3B0aW9uXG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICBtb2RlbE5hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIH0gZWxzZSB7XG4gICAgICBtb2RlbE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGluZmxlY3Rpb24uc2luZ3VsYXJpemUobW9kZWxUeXBlKSlcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PSBcInVcIikge1xuICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLnVwZGF0ZXNbbW9kZWxJZF0pIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLmV2ZW50cy5lbWl0KFwicmVjZWl2ZWRcIiwge21vZGVsfSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJjXCIpIHtcbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHttb2RlbH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZFwiKSB7XG4gICAgICBjb25zdCBkZXN0cm95U3Vic2NyaXB0aW9ucyA9IGRpZ2coc3Vic2NyaXB0aW9ucywgbW9kZWxOYW1lLCBcImRlc3Ryb3lzXCIsIG1vZGVsSWQpXG5cbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIGRlc3Ryb3lTdWJzY3JpcHRpb25zKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHttb2RlbH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZVwiKSB7XG4gICAgICBjb25zdCBldmVudFN1YnNjcmlwdGlvbnMgPSBkaWdnKHN1YnNjcmlwdGlvbnMsIG1vZGVsTmFtZSwgXCJldmVudHNcIiwgZXZlbnROYW1lLCBtb2RlbElkKVxuXG4gICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBldmVudFN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLmV2ZW50cy5lbWl0KFwicmVjZWl2ZWRcIiwge2FyZ3MsIGV2ZW50TmFtZSwgbW9kZWx9KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm1jZVwiKSB7XG4gICAgICBjb25zdCBtb2RlbENsYXNzRXZlbnRTdWJzY3JpcHRpb25zID0gZGlnZyhzdWJzY3JpcHRpb25zLCBtb2RlbE5hbWUsIFwibW9kZWxfY2xhc3NfZXZlbnRzXCIsIGV2ZW50TmFtZSlcblxuICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgbW9kZWxDbGFzc0V2ZW50U3Vic2NyaXB0aW9ucykge1xuICAgICAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmVtaXQoXCJyZWNlaXZlZFwiLCB7YXJncywgZXZlbnROYW1lfSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGU6ICR7ZGF0YS50eXBlfWApXG4gICAgfVxuICB9XG5cbiAgb25TdWJzY3JpYmVkID0gKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIm9uU3Vic2NyaWJlZFwiKVxuICB9XG5cbiAgb25VbnN1YnNjcmliZSAoKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBhY3RpdmVTdWJzY3JpcHRpb25zIGJlZm9yZSB1bnN1YjogJHt0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnN9YClcbiAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMgLT0gMVxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgYWN0aXZlU3Vic2NyaXB0aW9ucyBhZnRlciB1bnN1YjogJHt0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnN9YClcblxuICAgIGlmICh0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMgPD0gMCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiVW5zdWJzY3JpYmUgZnJvbSBBY3Rpb25DYWJsZSBzdWJzY3JpcHRpb25cIilcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICByZWdpc3RlclN1YnNjcmlwdGlvbnMgKHN1YnNjcmlwdGlvbnMpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzdWJzY3JpcHRpb25zXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wicmVnaXN0ZXJTdWJzY3JpcHRpb25zXCIsIHtzdWJzY3JpcHRpb25zfV0pXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsTmFtZSBpbiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgICB0aGlzLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uZXZlbnRzW2V2ZW50TmFtZV0pIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtZGVwdGhcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbZXZlbnROYW1lXVttb2RlbElkXSkge1xuICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0udXBkYXRlcykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLnVwZGF0ZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0udXBkYXRlc1ttb2RlbElkXSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0VW5zdWJzY3JpcHRpb25Gb3JTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IFtcIkNvbm5lY3RpbmcgdG8gdW5zdWJzY3JpYmUgb24gc3Vic2NyaXB0aW9uXCIsIHtzdWJzY3JpcHRpb259XSlcblxuICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucyArPSAxXG5cbiAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmFkZExpc3RlbmVyKFwidW5zdWJzY3JpYmVkXCIsICgpID0+IHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkNhbGwgb25VbnN1YnNjcmliZSBvbiBzZWxmXCIpXG5cbiAgICAgIHRoaXMub25VbnN1YnNjcmliZShzdWJzY3JpcHRpb24pXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FibGUtc3Vic2NyaXB0aW9uLXBvb2wuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNhYmxlLXN1YnNjcmlwdGlvbi1wb29sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxtQkFBbUIsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUEsQ0FBQyxtQ0FBbUM7QUFFcEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUMsQ0FBQyxDQUFBO0FBRXJFLDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsT0FBTyxPQUFPLDZCQUE2QjtJQUNoRCxtQkFBbUI7SUFDbkI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ3hCLENBQUM7SUFFRCxlQUFlO0lBQ2YsT0FBTyxDQUFFLGdCQUFnQjtRQUN2QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUE7UUFFM0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFakUsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzVEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxNQUFNLEVBQUUsVUFBVTtZQUNsQixpQkFBaUIsRUFBRSxnQkFBZ0I7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UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxvQ0FBb0MsQ0FBRSxZQUFZO1FBQ2hELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQywyQ0FBMkMsRUFBRSxFQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUVqRixJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFBO1FBRTdCLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBRTFDLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi9jb21tYW5kcy1wb29sLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBEZXNlcmlhbGl6ZXIgZnJvbSBcIi4vZGVzZXJpYWxpemVyLmpzXCJcbmltcG9ydCBnZXRDaGFubmVsc0NvbnN1bWVyIGZyb20gXCIuL2NoYW5uZWxzLWNvbnN1bWVyLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIENhYmxlU3Vic2NyaXB0aW9uUG9vbFwifSlcblxuLyoqIFN1YnNjcmlwdGlvbiBwb29sIGZvciBzaGFyaW5nIGNoYW5uZWwgc3Vic2NyaXB0aW9ucy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ2FibGVTdWJzY3JpcHRpb25Qb29sIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5hY3RpdmVTdWJzY3JpcHRpb25zID0gMFxuICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2VcbiAgfVxuXG4gIC8qKiBjb25uZWN0LiAqL1xuICBjb25uZWN0IChzdWJzY3JpcHRpb25EYXRhKSB7XG4gICAgY29uc3QgZ2xvYmFsRGF0YSA9IENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGFcblxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJDcmVhdGluZyBzdWJzY3JpcHRpb25cIiwge3N1YnNjcmlwdGlvbkRhdGF9XSlcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gZ2V0Q2hhbm5lbHNDb25zdW1lcigpLnN1YnNjcmlwdGlvbnMuY3JlYXRlKFxuICAgICAge1xuICAgICAgICBjaGFubmVsOiBcIkFwaU1ha2VyOjpTdWJzY3JpcHRpb25zQ2hhbm5lbFwiLFxuICAgICAgICBnbG9iYWw6IGdsb2JhbERhdGEsXG4gICAgICAgIHN1YnNjcmlwdGlvbl9kYXRhOiBzdWJzY3JpcHRpb25EYXRhXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25uZWN0ZWQ6IHRoaXMub25Db25uZWN0ZWQsXG4gICAgICAgIHJlY2VpdmVkOiB0aGlzLm9uUmVjZWl2ZWQsXG4gICAgICAgIHN1YnNjcmliZWQ6IHRoaXMub25TdWJzY3JpYmVkXG4gICAgICB9XG4gICAgKVxuICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZVxuICB9XG5cbiAgLyoqIGZvckVhY2hTdWJzY3JpcHRpb24uICovXG4gIGZvckVhY2hTdWJzY3JpcHRpb24gKGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxJZE1vZGVzID0gW1wiZGVzdHJveXNcIiwgXCJ1cGRhdGVzXCJdXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IGRpZ2codGhpcywgXCJzdWJzY3JpcHRpb25zXCIpXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsTmFtZSBpbiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IG1vZGVsSWRNb2RlIG9mIG1vZGVsSWRNb2Rlcykge1xuICAgICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdW21vZGVsSWRNb2RlXSkge1xuICAgICAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV1bbW9kZWxJZE1vZGVdKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWRlcHRoXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV1bbW9kZWxJZE1vZGVdW21vZGVsSWRdKSB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKHttb2RlOiBtb2RlbElkTW9kZSwgbW9kZWxJZCwgbW9kZWxOYW1lLCBzdWJzY3JpcHRpb259KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgICBjYWxsYmFjayh7bW9kZTogXCJjcmVhdGVzXCIsIG1vZGVsTmFtZSwgc3Vic2NyaXB0aW9ufSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLm1vZGVsX2NsYXNzX2V2ZW50cykge1xuICAgICAgICBmb3IgKGNvbnN0IGV2ZW50TmFtZSBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0ubW9kZWxfY2xhc3NfZXZlbnRzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLm1vZGVsX2NsYXNzX2V2ZW50c1tldmVudE5hbWVdKSB7XG4gICAgICAgICAgICBjYWxsYmFjayh7ZXZlbnROYW1lLCBtb2RlOiBcIm1vZGVsX2NsYXNzX2V2ZW50c1wiLCBtb2RlbE5hbWUsIHN1YnNjcmlwdGlvbn0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uZXZlbnRzKSB7XG4gICAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uZXZlbnRzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50c1ttb2RlbElkXSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxuICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50c1ttb2RlbElkXVtldmVudE5hbWVdKSB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKHtldmVudE5hbWUsIG1vZGU6IFwidXBkYXRlc1wiLCBtb2RlbElkLCBtb2RlbE5hbWUsIHN1YnNjcmlwdGlvbn0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGlzQ29ubmVjdGVkLiAqL1xuICBpc0Nvbm5lY3RlZCA9ICgpID0+IGRpZ2codGhpcywgXCJjb25uZWN0ZWRcIilcblxuICAvKiogb25Db25uZWN0ZWQuICovXG4gIG9uQ29ubmVjdGVkID0gKCkgPT4ge1xuICAgIHRoaXMuZm9yRWFjaFN1YnNjcmlwdGlvbigoe3N1YnNjcmlwdGlvbn0pID0+IHtcbiAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcImNvbm5lY3RlZFwiKVxuICAgIH0pXG4gIH1cblxuICAvKiogb25SZWNlaXZlZC4gKi9cbiAgb25SZWNlaXZlZCA9IChyYXdEYXRhKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IERlc2VyaWFsaXplci5wYXJzZShyYXdEYXRhKVxuICAgIGNvbnN0IHthOiBhcmdzLCBlOiBldmVudE5hbWUsIG06IG1vZGVsLCBtaTogbW9kZWxJZCwgbXQ6IG1vZGVsVHlwZSwgdDogdHlwZX0gPSBkYXRhXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IGRpZ2codGhpcywgXCJzdWJzY3JpcHRpb25zXCIpXG5cbiAgICBsZXQgbW9kZWxOYW1lXG5cbiAgICAvLyBUaGlzIGlzIG1vcmUgZWZmZWN0aXZlIGlmIGl0IGlzIGFuIG9wdGlvblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgbW9kZWxOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICB9IGVsc2Uge1xuICAgICAgbW9kZWxOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShpbmZsZWN0aW9uLnNpbmd1bGFyaXplKG1vZGVsVHlwZSkpXG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT0gXCJ1XCIpIHtcbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS51cGRhdGVzW21vZGVsSWRdKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHttb2RlbH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiY1wiKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uY3JlYXRlcykge1xuICAgICAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmVtaXQoXCJyZWNlaXZlZFwiLCB7bW9kZWx9KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImRcIikge1xuICAgICAgY29uc3QgZGVzdHJveVN1YnNjcmlwdGlvbnMgPSBkaWdnKHN1YnNjcmlwdGlvbnMsIG1vZGVsTmFtZSwgXCJkZXN0cm95c1wiLCBtb2RlbElkKVxuXG4gICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBkZXN0cm95U3Vic2NyaXB0aW9ucykge1xuICAgICAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmVtaXQoXCJyZWNlaXZlZFwiLCB7bW9kZWx9KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImVcIikge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb25zID0gZGlnZyhzdWJzY3JpcHRpb25zLCBtb2RlbE5hbWUsIFwiZXZlbnRzXCIsIGV2ZW50TmFtZSwgbW9kZWxJZClcblxuICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgZXZlbnRTdWJzY3JpcHRpb25zKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHthcmdzLCBldmVudE5hbWUsIG1vZGVsfSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJtY2VcIikge1xuICAgICAgY29uc3QgbW9kZWxDbGFzc0V2ZW50U3Vic2NyaXB0aW9ucyA9IGRpZ2coc3Vic2NyaXB0aW9ucywgbW9kZWxOYW1lLCBcIm1vZGVsX2NsYXNzX2V2ZW50c1wiLCBldmVudE5hbWUpXG5cbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIG1vZGVsQ2xhc3NFdmVudFN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLmV2ZW50cy5lbWl0KFwicmVjZWl2ZWRcIiwge2FyZ3MsIGV2ZW50TmFtZX0pXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0eXBlOiAke2RhdGEudHlwZX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBvblN1YnNjcmliZWQuICovXG4gIG9uU3Vic2NyaWJlZCA9ICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJvblN1YnNjcmliZWRcIilcbiAgfVxuXG4gIC8qKiBvblVuc3Vic2NyaWJlLiAqL1xuICBvblVuc3Vic2NyaWJlICgpIHtcbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYGFjdGl2ZVN1YnNjcmlwdGlvbnMgYmVmb3JlIHVuc3ViOiAke3RoaXMuYWN0aXZlU3Vic2NyaXB0aW9uc31gKVxuICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucyAtPSAxXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBhY3RpdmVTdWJzY3JpcHRpb25zIGFmdGVyIHVuc3ViOiAke3RoaXMuYWN0aXZlU3Vic2NyaXB0aW9uc31gKVxuXG4gICAgaWYgKHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucyA8PSAwKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJVbnN1YnNjcmliZSBmcm9tIEFjdGlvbkNhYmxlIHN1YnNjcmlwdGlvblwiKVxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIC8qKiByZWdpc3RlclN1YnNjcmlwdGlvbnMuICovXG4gIHJlZ2lzdGVyU3Vic2NyaXB0aW9ucyAoc3Vic2NyaXB0aW9ucykge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHN1YnNjcmlwdGlvbnNcblxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJyZWdpc3RlclN1YnNjcmlwdGlvbnNcIiwge3N1YnNjcmlwdGlvbnN9XSlcblxuICAgIGZvciAoY29uc3QgbW9kZWxOYW1lIGluIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uY3JlYXRlcykge1xuICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uY3JlYXRlcykge1xuICAgICAgICAgIHRoaXMuY29ubmVjdFVuc3Vic2NyaXB0aW9uRm9yU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvbilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICBmb3IgKGNvbnN0IGV2ZW50TmFtZSBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uZXZlbnRzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBtb2RlbElkIGluIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxuICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50c1tldmVudE5hbWVdW21vZGVsSWRdKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29ubmVjdFVuc3Vic2NyaXB0aW9uRm9yU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS51cGRhdGVzKSB7XG4gICAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0udXBkYXRlcykge1xuICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS51cGRhdGVzW21vZGVsSWRdKSB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbi4gKi9cbiAgY29ubmVjdFVuc3Vic2NyaXB0aW9uRm9yU3Vic2NyaXB0aW9uIChzdWJzY3JpcHRpb24pIHtcbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wiQ29ubmVjdGluZyB0byB1bnN1YnNjcmliZSBvbiBzdWJzY3JpcHRpb25cIiwge3N1YnNjcmlwdGlvbn1dKVxuXG4gICAgdGhpcy5hY3RpdmVTdWJzY3JpcHRpb25zICs9IDFcblxuICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuYWRkTGlzdGVuZXIoXCJ1bnN1YnNjcmliZWRcIiwgKCkgPT4ge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiQ2FsbCBvblVuc3Vic2NyaWJlIG9uIHNlbGZcIilcblxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgdGhpcy5vblVuc3Vic2NyaWJlKHN1YnNjcmlwdGlvbilcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/** Cable subscription wrapper with unsubscribe events. */
|
|
1
2
|
export default class ApiMakerCableSubscription {
|
|
2
3
|
events: EventEmitter<string | symbol, any>;
|
|
3
4
|
subscribed: boolean;
|
|
5
|
+
/** @returns {void} */
|
|
4
6
|
unsubscribe(): void;
|
|
5
7
|
}
|
|
6
8
|
import { EventEmitter } from "eventemitter3";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cable-subscription.d.ts","sourceRoot":"/src/","sources":["cable-subscription.js"],"names":[],"mappings":"AAKA;
|
|
1
|
+
{"version":3,"file":"cable-subscription.d.ts","sourceRoot":"/src/","sources":["cable-subscription.js"],"names":[],"mappings":"AAKA,0DAA0D;AAC1D;IAGI,2CAAgC;IAChC,oBAAsB;IAGxB,sBAAsB;IACtB,eADc,IAAI,CAWjB;CACF;6BAzB0B,eAAe"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { EventEmitter } from "eventemitter3";
|
|
2
2
|
import Logger from "./logger.js";
|
|
3
3
|
const logger = new Logger({ name: "ApiMaker / CableSubscription" });
|
|
4
|
+
/** Cable subscription wrapper with unsubscribe events. */
|
|
4
5
|
export default class ApiMakerCableSubscription {
|
|
6
|
+
/** Constructor. */
|
|
5
7
|
constructor() {
|
|
6
8
|
this.events = new EventEmitter();
|
|
7
9
|
this.subscribed = true;
|
|
8
10
|
}
|
|
11
|
+
/** @returns {void} */
|
|
9
12
|
unsubscribe() {
|
|
10
13
|
if (!this.subscribed) {
|
|
11
14
|
logger.debug("Unsubscribed already called");
|
|
@@ -16,4 +19,4 @@ export default class ApiMakerCableSubscription {
|
|
|
16
19
|
this.events.emit("unsubscribed");
|
|
17
20
|
}
|
|
18
21
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FibGUtc3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjYWJsZS1zdWJzY3JpcHRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsOEJBQThCLEVBQUMsQ0FBQyxDQUFBO0FBRWpFLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsT0FBTyxPQUFPLHlCQUF5QjtJQUM1QyxtQkFBbUI7SUFDbkI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7WUFDM0MsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7UUFFbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIENhYmxlU3Vic2NyaXB0aW9uXCJ9KVxuXG4vKiogQ2FibGUgc3Vic2NyaXB0aW9uIHdyYXBwZXIgd2l0aCB1bnN1YnNjcmliZSBldmVudHMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckNhYmxlU3Vic2NyaXB0aW9uIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLnN1YnNjcmliZWQgPSB0cnVlXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHVuc3Vic2NyaWJlICgpIHtcbiAgICBpZiAoIXRoaXMuc3Vic2NyaWJlZCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiVW5zdWJzY3JpYmVkIGFscmVhZHkgY2FsbGVkXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsb2dnZXIuZGVidWcoXCJVbnN1YnNjcmliZSBjYWxsZWQgZm9yIHN1YnNjcmlwdGlvblwiKVxuXG4gICAgdGhpcy5zdWJzY3JpYmVkID0gZmFsc2VcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwidW5zdWJzY3JpYmVkXCIpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,24 @@
|
|
|
1
|
+
/** Generates local/full cache keys for models. */
|
|
1
2
|
export default class CacheKeyGenerator {
|
|
3
|
+
/** Constructor. */
|
|
2
4
|
constructor(model: any);
|
|
3
5
|
model: any;
|
|
4
6
|
allModels: any[];
|
|
5
7
|
readModels: {};
|
|
6
8
|
filledModels: boolean;
|
|
9
|
+
/** local. */
|
|
7
10
|
local(): any;
|
|
11
|
+
/** recordModelType. */
|
|
8
12
|
recordModelType(relationshipType: any): void;
|
|
13
|
+
/** recordModel. */
|
|
9
14
|
recordModel(relationshipType: any, model: any): void;
|
|
15
|
+
/** isModelRecorded. */
|
|
10
16
|
isModelRecorded(relationshipType: any, model: any): boolean;
|
|
17
|
+
/** fillModels. */
|
|
11
18
|
fillModels(model: any): void;
|
|
19
|
+
/** cacheKey. */
|
|
12
20
|
cacheKey(): any;
|
|
21
|
+
/** feedModel. */
|
|
13
22
|
feedModel(model: any, md5: any): void;
|
|
14
23
|
}
|
|
15
24
|
//# sourceMappingURL=cache-key-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-key-generator.d.ts","sourceRoot":"/src/","sources":["cache-key-generator.js"],"names":[],"mappings":"AAEA;IACE,wBAOC;IANC,WAAkB;IAClB,iBAAwB;IACxB,eAAoB;IAGpB,sBAAyB;IAG3B,aAMC;IAED,6CAIC;IAED,qDAGC;IAED,4DAIC;IAED,6BAsBC;IAED,gBAYC;IAED,sCAmBC;CACF"}
|
|
1
|
+
{"version":3,"file":"cache-key-generator.d.ts","sourceRoot":"/src/","sources":["cache-key-generator.js"],"names":[],"mappings":"AAEA,kDAAkD;AAClD;IACE,mBAAmB;IACnB,wBAOC;IANC,WAAkB;IAClB,iBAAwB;IACxB,eAAoB;IAGpB,sBAAyB;IAG3B,aAAa;IACb,aAMC;IAED,uBAAuB;IACvB,6CAIC;IAED,mBAAmB;IACnB,qDAGC;IAED,uBAAuB;IACvB,4DAIC;IAED,kBAAkB;IAClB,6BAsBC;IAED,gBAAgB;IAChB,gBAYC;IAED,iBAAiB;IACjB,sCAmBC;CACF"}
|