@kaspernj/api-maker 1.0.2030 → 1.0.2032
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/inputs/money.js +13 -19
- package/build/use-current-user.js +50 -19
- package/package.json +1 -1
- package/src/inputs/money.jsx +18 -26
- package/src/use-current-user.js +48 -17
package/build/inputs/money.js
CHANGED
|
@@ -42,9 +42,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
42
42
|
this.wholeRefBackup = useRef();
|
|
43
43
|
this.wholeRef = this.props.wholeRef || this.wholeRefBackup;
|
|
44
44
|
}
|
|
45
|
-
getInputRef()
|
|
46
|
-
return this.props.inputRef || this.inputRef;
|
|
47
|
-
}
|
|
45
|
+
getInputRef = () => this.props.inputRef || this.inputRef;
|
|
48
46
|
render() {
|
|
49
47
|
const {
|
|
50
48
|
attribute,
|
|
@@ -72,11 +70,11 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
72
70
|
defaultValue: this.inputDefaultValue(),
|
|
73
71
|
disabled: disabled,
|
|
74
72
|
id: this.inputId(),
|
|
75
|
-
onBlur:
|
|
76
|
-
onChange:
|
|
77
|
-
onKeyUp:
|
|
73
|
+
onBlur: this.tt.setAmount,
|
|
74
|
+
onChange: this.tt.setCents,
|
|
75
|
+
onKeyUp: this.tt.setCents,
|
|
78
76
|
placeholder: this.props.placeholder,
|
|
79
|
-
ref: this.wholeRef,
|
|
77
|
+
ref: this.tt.wholeRef,
|
|
80
78
|
type: "text"
|
|
81
79
|
}), showCurrencyOptions && /*#__PURE__*/React.createElement("select", {
|
|
82
80
|
className: "money-currency",
|
|
@@ -84,16 +82,14 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
84
82
|
disabled: disabled,
|
|
85
83
|
id: this.inputCurrencyId(),
|
|
86
84
|
name: this.inputCurrencyName(),
|
|
87
|
-
onChange:
|
|
88
|
-
ref: this.currencyRef
|
|
85
|
+
onChange: this.tt.onCurrencyChanged,
|
|
86
|
+
ref: this.tt.currencyRef
|
|
89
87
|
}, /*#__PURE__*/React.createElement("option", null), currenciesCollection.map(option => /*#__PURE__*/React.createElement("option", {
|
|
90
88
|
key: `select-option-${option[1]}`,
|
|
91
89
|
value: option[1]
|
|
92
90
|
}, this.props.small && option[1], !this.props.small && option[0]))));
|
|
93
91
|
}
|
|
94
|
-
inputCurrencyId() {
|
|
95
|
-
return `${this.inputId()}_currency`;
|
|
96
|
-
}
|
|
92
|
+
inputCurrencyId = () => `${this.inputId()}_currency`;
|
|
97
93
|
inputCurrencyName() {
|
|
98
94
|
if ("currencyName" in this.props) return this.props.currencyName;
|
|
99
95
|
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_currency]`;
|
|
@@ -134,21 +130,18 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
134
130
|
return MoneyFormatter.amountFromMoney(defaultValue);
|
|
135
131
|
}
|
|
136
132
|
}
|
|
137
|
-
inputCentsId() {
|
|
138
|
-
return `${this.inputId()}_cents`;
|
|
139
|
-
}
|
|
133
|
+
inputCentsId = () => `${this.inputId()}_cents`;
|
|
140
134
|
inputCentsName() {
|
|
141
135
|
if ("name" in this.props) return this.props.name;
|
|
142
136
|
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_cents]`;
|
|
143
137
|
}
|
|
144
|
-
inputId()
|
|
145
|
-
return idForComponent(this);
|
|
146
|
-
}
|
|
138
|
+
inputId = () => idForComponent(this);
|
|
147
139
|
onCurrencyChanged = () => {
|
|
148
140
|
if (this.props.onChange) this.props.onChange();
|
|
149
141
|
};
|
|
150
142
|
setAmount = () => {
|
|
151
143
|
const inputElement = this.getInputRef().current;
|
|
144
|
+
if (!inputElement) return;
|
|
152
145
|
if (!inputElement.value && inputElement.value == "") {
|
|
153
146
|
this.wholeRef.current.value = "";
|
|
154
147
|
} else {
|
|
@@ -165,6 +158,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
165
158
|
};
|
|
166
159
|
setCents = () => {
|
|
167
160
|
const inputElement = this.getInputRef().current;
|
|
161
|
+
if (!inputElement) return;
|
|
168
162
|
let whole = MoneyFormatter.stringToFloat(this.wholeRef.current.value);
|
|
169
163
|
let cents = parseInt(whole * 100, 10);
|
|
170
164
|
let oldCents = parseInt(inputElement.value, 10);
|
|
@@ -176,4 +170,4 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
176
170
|
if (this.props.onChange && oldCents != cents) this.props.onChange();
|
|
177
171
|
};
|
|
178
172
|
}));
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInNoYXBlQ29tcG9uZW50IiwiU2hhcGVDb21wb25lbnQiLCJjbGFzc05hbWVzIiwiQ29uZmlnIiwiZGlnZyIsImlkRm9yQ29tcG9uZW50IiwiaW5mbGVjdGlvbiIsIm1lbW8iLCJNb25leUZvcm1hdHRlciIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0IiwiQXBpTWFrZXJJbnB1dHNNb25leSIsImRlZmF1bHRQcm9wcyIsImRpc2FibGVkIiwic2hvd0N1cnJlbmN5T3B0aW9ucyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNlbnRzSW5wdXROYW1lIiwiY2xhc3NOYW1lIiwiY3VycmVuY2llc0NvbGxlY3Rpb24iLCJhcnJheSIsImN1cnJlbmN5TmFtZSIsImN1cnJlbmN5UmVmIiwib2JqZWN0IiwiZGVmYXVsdFZhbHVlIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJpZCIsImlucHV0UmVmIiwibGFiZWwiLCJub2RlIiwibW9kZWwiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwicGxhY2Vob2xkZXIiLCJzbWFsbCIsInR5cGUiLCJ3aG9sZVJlZiIsInNldHVwIiwiY3VycmVuY3lSZWZCYWNrdXAiLCJwcm9wcyIsIndob2xlUmVmQmFja3VwIiwiZ2V0SW5wdXRSZWYiLCJyZW5kZXIiLCJnZXRDdXJyZW5jaWVzQ29sbGVjdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJpbnB1dERlZmF1bHRDZW50c1ZhbHVlIiwiaW5wdXRDZW50c0lkIiwiaW5wdXRDZW50c05hbWUiLCJyZWYiLCJpbnB1dERlZmF1bHRWYWx1ZSIsImlucHV0SWQiLCJvbkJsdXIiLCJvbktleVVwIiwiaW5wdXRDdXJyZW5jeVZhbHVlIiwiaW5wdXRDdXJyZW5jeUlkIiwiaW5wdXRDdXJyZW5jeU5hbWUiLCJtYXAiLCJvcHRpb24iLCJrZXkiLCJ2YWx1ZSIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiY3VycmVuY3lGcm9tTW9uZXkiLCJjb2RlIiwiZnJvbU1vbmV5IiwiYW1vdW50IiwiY3VycmVuY3kiLCJkZWNpbWFscyIsImV4Y2x1ZGVDdXJyZW5jeSIsInRvU3RyaW5nIiwiY3VycmVudCIsImFtb3VudEZyb21Nb25leSIsIm9uQ3VycmVuY3lDaGFuZ2VkIiwic2V0QW1vdW50IiwiaW5wdXRFbGVtZW50IiwiY2VudHMiLCJwYXJzZUZsb2F0IiwiZm9ybWF0dGVkIiwic2V0Q2VudHMiLCJ3aG9sZSIsInN0cmluZ1RvRmxvYXQiLCJwYXJzZUludCIsIm9sZENlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9tb25leS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IGlkRm9yQ29tcG9uZW50IGZyb20gXCIuL2lkLWZvci1jb21wb25lbnRcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IE1vbmV5Rm9ybWF0dGVyIGZyb20gXCIuLi9tb25leS1mb3JtYXR0ZXJcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VySW5wdXRzTW9uZXkgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIHNob3dDdXJyZW5jeU9wdGlvbnM6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNlbnRzSW5wdXROYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jaWVzQ29sbGVjdGlvbjogUHJvcFR5cGVzLmFycmF5LFxuICAgIGN1cnJlbmN5TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jeVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRSZWY6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5ub2RlLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMubm9kZSxcbiAgICBzaG93Q3VycmVuY3lPcHRpb25zOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3aG9sZVJlZjogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuaW5wdXRSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWYgPSB0aGlzLnByb3BzLmN1cnJlbmN5UmVmIHx8IHRoaXMuY3VycmVuY3lSZWZCYWNrdXBcbiAgICB0aGlzLndob2xlUmVmQmFja3VwID0gdXNlUmVmKClcbiAgICB0aGlzLndob2xlUmVmID0gdGhpcy5wcm9wcy53aG9sZVJlZiB8fCB0aGlzLndob2xlUmVmQmFja3VwXG4gIH1cblxuICBnZXRJbnB1dFJlZiAoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5pbnB1dFJlZlxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjbGFzc05hbWUsIGRpc2FibGVkLCBtb2RlbCwgc2hvd0N1cnJlbmN5T3B0aW9uc30gPSB0aGlzLnByb3BzXG4gICAgbGV0IHtjdXJyZW5jaWVzQ29sbGVjdGlvbn0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIWN1cnJlbmNpZXNDb2xsZWN0aW9uKSBjdXJyZW5jaWVzQ29sbGVjdGlvbiA9IENvbmZpZy5nZXRDdXJyZW5jaWVzQ29sbGVjdGlvbigpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcGktbWFrZXItaW5wdXRzLW1vbmV5XCIgZGF0YS1hdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gZGF0YS1tb2RlbC1pZD17bW9kZWw/LmlkKCl9PlxuICAgICAgICA8aW5wdXQgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdENlbnRzVmFsdWUoKX0gaWQ9e3RoaXMuaW5wdXRDZW50c0lkKCl9IG5hbWU9e3RoaXMuaW5wdXRDZW50c05hbWUoKX0gcmVmPXt0aGlzLmdldElucHV0UmVmKCl9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJtb25leS1jZW50c1wiLCBjbGFzc05hbWUpfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBpZD17dGhpcy5pbnB1dElkKCl9XG4gICAgICAgICAgb25CbHVyPXtkaWdnKHRoaXMsIFwic2V0QW1vdW50XCIpfVxuICAgICAgICAgIG9uQ2hhbmdlPXtkaWdnKHRoaXMsIFwic2V0Q2VudHNcIil9XG4gICAgICAgICAgb25LZXlVcD17ZGlnZyh0aGlzLCBcInNldENlbnRzXCIpfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgIHJlZj17dGhpcy53aG9sZVJlZn1cbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICAgIHtzaG93Q3VycmVuY3lPcHRpb25zICYmXG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9uZXktY3VycmVuY3lcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWQ9e3RoaXMuaW5wdXRDdXJyZW5jeUlkKCl9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0Q3VycmVuY3lOYW1lKCl9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZGlnZyh0aGlzLCBcIm9uQ3VycmVuY3lDaGFuZ2VkXCIpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLmN1cnJlbmN5UmVmfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxvcHRpb24+PC9vcHRpb24+XG4gICAgICAgICAgICB7Y3VycmVuY2llc0NvbGxlY3Rpb24ubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2BzZWxlY3Qtb3B0aW9uLSR7b3B0aW9uWzFdfWB9IHZhbHVlPXtvcHRpb25bMV19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnNtYWxsICYmIG9wdGlvblsxXX1cbiAgICAgICAgICAgICAgICB7IXRoaXMucHJvcHMuc21hbGwgJiYgb3B0aW9uWzBdfVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5SWQgKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlucHV0SWQoKX1fY3VycmVuY3lgXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5TmFtZSAoKSB7XG4gICAgaWYgKFwiY3VycmVuY3lOYW1lXCIgaW4gdGhpcy5wcm9wcylcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmN1cnJlbmN5TmFtZVxuXG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV9jdXJyZW5jeV1gXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5VmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmN1cnJlbmN5RnJvbU1vbmV5KGRlZmF1bHRWYWx1ZSkuY29kZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gXCJES0tcIlxuICAgIH1cbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5mcm9tTW9uZXkoe2Ftb3VudDogZGVmYXVsdFZhbHVlLmFtb3VudCwgY3VycmVuY3k6IHRoaXMuaW5wdXRDdXJyZW5jeVZhbHVlKCl9LCB7ZGVjaW1hbHM6IDIsIGV4Y2x1ZGVDdXJyZW5jeTogdHJ1ZX0pLnRvU3RyaW5nKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiXCJcbiAgICB9XG4gIH1cblxuICBpbnB1dERlZmF1bHRDZW50c1ZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmICh0aGlzLmdldElucHV0UmVmKCkuY3VycmVudCkge1xuICAgICAgcmV0dXJuIGRpZ2codGhpcy5nZXRJbnB1dFJlZigpLCBcImN1cnJlbnRcIiwgXCJ2YWx1ZVwiKVxuICAgIH0gZWxzZSBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuYW1vdW50RnJvbU1vbmV5KGRlZmF1bHRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBpbnB1dENlbnRzSWQgKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlucHV0SWQoKX1fY2VudHNgXG4gIH1cblxuICBpbnB1dENlbnRzTmFtZSAoKSB7XG4gICAgaWYgKFwibmFtZVwiIGluIHRoaXMucHJvcHMpXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5uYW1lXG5cbiAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9X2NlbnRzXWBcbiAgfVxuXG4gIGlucHV0SWQgKCkge1xuICAgIHJldHVybiBpZEZvckNvbXBvbmVudCh0aGlzKVxuICB9XG5cbiAgb25DdXJyZW5jeUNoYW5nZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpXG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKClcbiAgfVxuXG4gIHNldEFtb3VudCA9ICgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0UmVmKCkuY3VycmVudFxuXG4gICAgaWYgKCFpbnB1dEVsZW1lbnQudmFsdWUgJiYgaW5wdXRFbGVtZW50LnZhbHVlID09IFwiXCIpIHtcbiAgICAgIHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSA9IFwiXCJcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2VudHMgPSBwYXJzZUZsb2F0KGlucHV0RWxlbWVudC52YWx1ZSlcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IE1vbmV5Rm9ybWF0dGVyLmZyb21Nb25leSh7YW1vdW50OiBjZW50cywgY3VycmVuY3k6IHRoaXMuaW5wdXRDdXJyZW5jeVZhbHVlKCl9LCB7ZGVjaW1hbHM6IDIsIGV4Y2x1ZGVDdXJyZW5jeTogdHJ1ZX0pLnRvU3RyaW5nKClcblxuICAgICAgdGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlID0gZm9ybWF0dGVkXG4gICAgfVxuICB9XG5cbiAgc2V0Q2VudHMgPSAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCB3aG9sZSA9IE1vbmV5Rm9ybWF0dGVyLnN0cmluZ1RvRmxvYXQodGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlKVxuICAgIGxldCBjZW50cyA9IHBhcnNlSW50KHdob2xlICogMTAwLCAxMClcbiAgICBsZXQgb2xkQ2VudHMgPSBwYXJzZUludChpbnB1dEVsZW1lbnQudmFsdWUsIDEwKVxuXG4gICAgaWYgKHR5cGVvZiBjZW50cyA9PSBcIm51bWJlclwiKSB7XG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBjZW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlICYmIG9sZENlbnRzICE9IGNlbnRzKVxuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUdDLE1BQU0sUUFBTyxPQUFPO0FBQ25DLFNBQVFDLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxjQUFjLE1BQU0sb0JBQW9CO0FBQy9DLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxjQUFjLE1BQU0sb0JBQW9CO0FBQy9DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFFN0MsZUFBZUgsSUFBSSxDQUFDUCxjQUFjLENBQUMsTUFBTVcsbUJBQW1CLFNBQVNWLGNBQWMsQ0FBQztFQUNsRixPQUFPVyxZQUFZLEdBQUc7SUFDcEJDLFFBQVEsRUFBRSxLQUFLO0lBQ2ZDLG1CQUFtQixFQUFFO0VBQ3ZCLENBQUM7RUFFRCxPQUFPQyxTQUFTLEdBQUdMLGNBQWMsQ0FBQztJQUNoQ00sU0FBUyxFQUFFUCxTQUFTLENBQUNRLE1BQU07SUFDM0JDLGNBQWMsRUFBRVQsU0FBUyxDQUFDUSxNQUFNO0lBQ2hDRSxTQUFTLEVBQUVWLFNBQVMsQ0FBQ1EsTUFBTTtJQUMzQkcsb0JBQW9CLEVBQUVYLFNBQVMsQ0FBQ1ksS0FBSztJQUNyQ0MsWUFBWSxFQUFFYixTQUFTLENBQUNRLE1BQU07SUFDOUJNLFdBQVcsRUFBRWQsU0FBUyxDQUFDZSxNQUFNO0lBQzdCQyxZQUFZLEVBQUVoQixTQUFTLENBQUNlLE1BQU07SUFDOUJYLFFBQVEsRUFBRUosU0FBUyxDQUFDaUIsSUFBSSxDQUFDQyxVQUFVO0lBQ25DQyxFQUFFLEVBQUVuQixTQUFTLENBQUNRLE1BQU07SUFDcEJZLFFBQVEsRUFBRXBCLFNBQVMsQ0FBQ2UsTUFBTTtJQUMxQk0sS0FBSyxFQUFFckIsU0FBUyxDQUFDc0IsSUFBSTtJQUNyQkMsS0FBSyxFQUFFdkIsU0FBUyxDQUFDZSxNQUFNO0lBQ3ZCUyxJQUFJLEVBQUV4QixTQUFTLENBQUNRLE1BQU07SUFDdEJpQixRQUFRLEVBQUV6QixTQUFTLENBQUMwQixJQUFJO0lBQ3hCQyxXQUFXLEVBQUUzQixTQUFTLENBQUNzQixJQUFJO0lBQzNCakIsbUJBQW1CLEVBQUVMLFNBQVMsQ0FBQ2lCLElBQUk7SUFDbkNXLEtBQUssRUFBRTVCLFNBQVMsQ0FBQ2lCLElBQUk7SUFDckJZLElBQUksRUFBRTdCLFNBQVMsQ0FBQ1EsTUFBTTtJQUN0QnNCLFFBQVEsRUFBRTlCLFNBQVMsQ0FBQ2U7RUFDdEIsQ0FBQyxDQUFDO0VBRUZnQixLQUFLQSxDQUFBLEVBQUc7SUFDTixJQUFJLENBQUNYLFFBQVEsR0FBRzlCLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLElBQUksQ0FBQzBDLGlCQUFpQixHQUFHMUMsTUFBTSxDQUFDLENBQUM7SUFDakMsSUFBSSxDQUFDd0IsV0FBVyxHQUFHLElBQUksQ0FBQ21CLEtBQUssQ0FBQ25CLFdBQVcsSUFBSSxJQUFJLENBQUNrQixpQkFBaUI7SUFDbkUsSUFBSSxDQUFDRSxjQUFjLEdBQUc1QyxNQUFNLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUN3QyxRQUFRLEdBQUcsSUFBSSxDQUFDRyxLQUFLLENBQUNILFFBQVEsSUFBSSxJQUFJLENBQUNJLGNBQWM7RUFDNUQ7RUFFQUMsV0FBV0EsQ0FBQSxFQUFJO0lBQ2IsT0FBTyxJQUFJLENBQUNGLEtBQUssQ0FBQ2IsUUFBUSxJQUFJLElBQUksQ0FBQ0EsUUFBUTtFQUM3QztFQUVBZ0IsTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsTUFBTTtNQUFDN0IsU0FBUztNQUFFRyxTQUFTO01BQUVOLFFBQVE7TUFBRW1CLEtBQUs7TUFBRWxCO0lBQW1CLENBQUMsR0FBRyxJQUFJLENBQUM0QixLQUFLO0lBQy9FLElBQUk7TUFBQ3RCO0lBQW9CLENBQUMsR0FBRyxJQUFJLENBQUNzQixLQUFLO0lBRXZDLElBQUksQ0FBQ3RCLG9CQUFvQixFQUFFQSxvQkFBb0IsR0FBR2pCLE1BQU0sQ0FBQzJDLHVCQUF1QixDQUFDLENBQUM7SUFFbEYsb0JBQ0VoRCxLQUFBLENBQUFpRCxhQUFBO01BQUs1QixTQUFTLEVBQUMsd0JBQXdCO01BQUMsa0JBQWdCSCxTQUFVO01BQUMsaUJBQWVnQixLQUFLLEVBQUVKLEVBQUUsQ0FBQztJQUFFLGdCQUM1RjlCLEtBQUEsQ0FBQWlELGFBQUE7TUFBT3RCLFlBQVksRUFBRSxJQUFJLENBQUN1QixzQkFBc0IsQ0FBQyxDQUFFO01BQUNwQixFQUFFLEVBQUUsSUFBSSxDQUFDcUIsWUFBWSxDQUFDLENBQUU7TUFBQ2hCLElBQUksRUFBRSxJQUFJLENBQUNpQixjQUFjLENBQUMsQ0FBRTtNQUFDQyxHQUFHLEVBQUUsSUFBSSxDQUFDUCxXQUFXLENBQUMsQ0FBRTtNQUFDTixJQUFJLEVBQUM7SUFBUSxDQUFFLENBQUMsZUFDbkp4QyxLQUFBLENBQUFpRCxhQUFBO01BQ0U1QixTQUFTLEVBQUVqQixVQUFVLENBQUMsYUFBYSxFQUFFaUIsU0FBUyxDQUFFO01BQ2hETSxZQUFZLEVBQUUsSUFBSSxDQUFDMkIsaUJBQWlCLENBQUMsQ0FBRTtNQUN2Q3ZDLFFBQVEsRUFBRUEsUUFBUztNQUNuQmUsRUFBRSxFQUFFLElBQUksQ0FBQ3lCLE9BQU8sQ0FBQyxDQUFFO01BQ25CQyxNQUFNLEVBQUVsRCxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBRTtNQUNoQzhCLFFBQVEsRUFBRTlCLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFFO01BQ2pDbUQsT0FBTyxFQUFFbkQsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUU7TUFDaENnQyxXQUFXLEVBQUUsSUFBSSxDQUFDTSxLQUFLLENBQUNOLFdBQVk7TUFDcENlLEdBQUcsRUFBRSxJQUFJLENBQUNaLFFBQVM7TUFDbkJELElBQUksRUFBQztJQUFNLENBQ1osQ0FBQyxFQUNEeEIsbUJBQW1CLGlCQUNsQmhCLEtBQUEsQ0FBQWlELGFBQUE7TUFDRTVCLFNBQVMsRUFBQyxnQkFBZ0I7TUFDMUJNLFlBQVksRUFBRSxJQUFJLENBQUMrQixrQkFBa0IsQ0FBQyxDQUFFO01BQ3hDM0MsUUFBUSxFQUFFQSxRQUFTO01BQ25CZSxFQUFFLEVBQUUsSUFBSSxDQUFDNkIsZUFBZSxDQUFDLENBQUU7TUFDM0J4QixJQUFJLEVBQUUsSUFBSSxDQUFDeUIsaUJBQWlCLENBQUMsQ0FBRTtNQUMvQnhCLFFBQVEsRUFBRTlCLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUU7TUFDMUMrQyxHQUFHLEVBQUUsSUFBSSxDQUFDNUI7SUFBWSxnQkFFdEJ6QixLQUFBLENBQUFpRCxhQUFBLGVBQWdCLENBQUMsRUFDaEIzQixvQkFBb0IsQ0FBQ3VDLEdBQUcsQ0FBRUMsTUFBTSxpQkFDL0I5RCxLQUFBLENBQUFpRCxhQUFBO01BQVFjLEdBQUcsRUFBRSxpQkFBaUJELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRztNQUFDRSxLQUFLLEVBQUVGLE1BQU0sQ0FBQyxDQUFDO0lBQUUsR0FDekQsSUFBSSxDQUFDbEIsS0FBSyxDQUFDTCxLQUFLLElBQUl1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQzdCLENBQUMsSUFBSSxDQUFDbEIsS0FBSyxDQUFDTCxLQUFLLElBQUl1QixNQUFNLENBQUMsQ0FBQyxDQUN4QixDQUNULENBQ0ssQ0FFUCxDQUFDO0VBRVY7RUFFQUgsZUFBZUEsQ0FBQSxFQUFJO0lBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUNKLE9BQU8sQ0FBQyxDQUFDLFdBQVc7RUFDckM7RUFFQUssaUJBQWlCQSxDQUFBLEVBQUk7SUFDbkIsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDaEIsS0FBSyxFQUM5QixPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFDcEIsWUFBWTtJQUVoQyxPQUFPLEdBQUcsSUFBSSxDQUFDb0IsS0FBSyxDQUFDVixLQUFLLENBQUMrQixjQUFjLENBQUMsQ0FBQyxDQUFDQyxRQUFRLElBQUkxRCxVQUFVLENBQUMyRCxVQUFVLENBQUMsSUFBSSxDQUFDdkIsS0FBSyxDQUFDMUIsU0FBUyxDQUFDLFlBQVk7RUFDakg7RUFFQXdDLGtCQUFrQkEsQ0FBQSxFQUFJO0lBQ3BCLE1BQU07TUFBQy9CO0lBQVksQ0FBQyxHQUFHLElBQUksQ0FBQ2lCLEtBQUs7SUFFakMsSUFBSWpCLFlBQVksRUFBRTtNQUNoQixPQUFPakIsY0FBYyxDQUFDMEQsaUJBQWlCLENBQUN6QyxZQUFZLENBQUMsQ0FBQzBDLElBQUk7SUFDNUQsQ0FBQyxNQUFNO01BQ0wsT0FBTyxLQUFLO0lBQ2Q7RUFDRjtFQUVBZixpQkFBaUJBLENBQUEsRUFBSTtJQUNuQixNQUFNO01BQUMzQjtJQUFZLENBQUMsR0FBRyxJQUFJLENBQUNpQixLQUFLO0lBRWpDLElBQUlqQixZQUFZLEVBQUU7TUFDaEIsT0FBT2pCLGNBQWMsQ0FBQzRELFNBQVMsQ0FBQztRQUFDQyxNQUFNLEVBQUU1QyxZQUFZLENBQUM0QyxNQUFNO1FBQUVDLFFBQVEsRUFBRSxJQUFJLENBQUNkLGtCQUFrQixDQUFDO01BQUMsQ0FBQyxFQUFFO1FBQUNlLFFBQVEsRUFBRSxDQUFDO1FBQUVDLGVBQWUsRUFBRTtNQUFJLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQztJQUN0SixDQUFDLE1BQU07TUFDTCxPQUFPLEVBQUU7SUFDWDtFQUNGO0VBRUF6QixzQkFBc0JBLENBQUEsRUFBSTtJQUN4QixNQUFNO01BQUN2QjtJQUFZLENBQUMsR0FBRyxJQUFJLENBQUNpQixLQUFLO0lBRWpDLElBQUksSUFBSSxDQUFDRSxXQUFXLENBQUMsQ0FBQyxDQUFDOEIsT0FBTyxFQUFFO01BQzlCLE9BQU90RSxJQUFJLENBQUMsSUFBSSxDQUFDd0MsV0FBVyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ3JELENBQUMsTUFBTSxJQUFJbkIsWUFBWSxFQUFFO01BQ3ZCLE9BQU9qQixjQUFjLENBQUNtRSxlQUFlLENBQUNsRCxZQUFZLENBQUM7SUFDckQ7RUFDRjtFQUVBd0IsWUFBWUEsQ0FBQSxFQUFJO0lBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQ0ksT0FBTyxDQUFDLENBQUMsUUFBUTtFQUNsQztFQUVBSCxjQUFjQSxDQUFBLEVBQUk7SUFDaEIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDUixLQUFLLEVBQ3RCLE9BQU8sSUFBSSxDQUFDQSxLQUFLLENBQUNULElBQUk7SUFFeEIsT0FBTyxHQUFHLElBQUksQ0FBQ1MsS0FBSyxDQUFDVixLQUFLLENBQUMrQixjQUFjLENBQUMsQ0FBQyxDQUFDQyxRQUFRLElBQUkxRCxVQUFVLENBQUMyRCxVQUFVLENBQUMsSUFBSSxDQUFDdkIsS0FBSyxDQUFDMUIsU0FBUyxDQUFDLFNBQVM7RUFDOUc7RUFFQXFDLE9BQU9BLENBQUEsRUFBSTtJQUNULE9BQU9oRCxjQUFjLENBQUMsSUFBSSxDQUFDO0VBQzdCO0VBRUF1RSxpQkFBaUIsR0FBR0EsQ0FBQSxLQUFNO0lBQ3hCLElBQUksSUFBSSxDQUFDbEMsS0FBSyxDQUFDUixRQUFRLEVBQ3JCLElBQUksQ0FBQ1EsS0FBSyxDQUFDUixRQUFRLENBQUMsQ0FBQztFQUN6QixDQUFDO0VBRUQyQyxTQUFTLEdBQUdBLENBQUEsS0FBTTtJQUNoQixNQUFNQyxZQUFZLEdBQUcsSUFBSSxDQUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQzhCLE9BQU87SUFFL0MsSUFBSSxDQUFDSSxZQUFZLENBQUNoQixLQUFLLElBQUlnQixZQUFZLENBQUNoQixLQUFLLElBQUksRUFBRSxFQUFFO01BQ25ELElBQUksQ0FBQ3ZCLFFBQVEsQ0FBQ21DLE9BQU8sQ0FBQ1osS0FBSyxHQUFHLEVBQUU7SUFDbEMsQ0FBQyxNQUFNO01BQ0wsTUFBTWlCLEtBQUssR0FBR0MsVUFBVSxDQUFDRixZQUFZLENBQUNoQixLQUFLLENBQUM7TUFDNUMsTUFBTW1CLFNBQVMsR0FBR3pFLGNBQWMsQ0FBQzRELFNBQVMsQ0FBQztRQUFDQyxNQUFNLEVBQUVVLEtBQUs7UUFBRVQsUUFBUSxFQUFFLElBQUksQ0FBQ2Qsa0JBQWtCLENBQUM7TUFBQyxDQUFDLEVBQUU7UUFBQ2UsUUFBUSxFQUFFLENBQUM7UUFBRUMsZUFBZSxFQUFFO01BQUksQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDO01BRWpKLElBQUksQ0FBQ2xDLFFBQVEsQ0FBQ21DLE9BQU8sQ0FBQ1osS0FBSyxHQUFHbUIsU0FBUztJQUN6QztFQUNGLENBQUM7RUFFREMsUUFBUSxHQUFHQSxDQUFBLEtBQU07SUFDZixNQUFNSixZQUFZLEdBQUcsSUFBSSxDQUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQzhCLE9BQU87SUFFL0MsSUFBSVMsS0FBSyxHQUFHM0UsY0FBYyxDQUFDNEUsYUFBYSxDQUFDLElBQUksQ0FBQzdDLFFBQVEsQ0FBQ21DLE9BQU8sQ0FBQ1osS0FBSyxDQUFDO0lBQ3JFLElBQUlpQixLQUFLLEdBQUdNLFFBQVEsQ0FBQ0YsS0FBSyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDckMsSUFBSUcsUUFBUSxHQUFHRCxRQUFRLENBQUNQLFlBQVksQ0FBQ2hCLEtBQUssRUFBRSxFQUFFLENBQUM7SUFFL0MsSUFBSSxPQUFPaUIsS0FBSyxJQUFJLFFBQVEsRUFBRTtNQUM1QkQsWUFBWSxDQUFDaEIsS0FBSyxHQUFHaUIsS0FBSztJQUM1QixDQUFDLE1BQU07TUFDTEQsWUFBWSxDQUFDaEIsS0FBSyxHQUFHLEVBQUU7SUFDekI7SUFFQSxJQUFJLElBQUksQ0FBQ3BCLEtBQUssQ0FBQ1IsUUFBUSxJQUFJb0QsUUFBUSxJQUFJUCxLQUFLLEVBQzFDLElBQUksQ0FBQ3JDLEtBQUssQ0FBQ1IsUUFBUSxDQUFDLENBQUM7RUFDekIsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInNoYXBlQ29tcG9uZW50IiwiU2hhcGVDb21wb25lbnQiLCJjbGFzc05hbWVzIiwiQ29uZmlnIiwiZGlnZyIsImlkRm9yQ29tcG9uZW50IiwiaW5mbGVjdGlvbiIsIm1lbW8iLCJNb25leUZvcm1hdHRlciIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0IiwiQXBpTWFrZXJJbnB1dHNNb25leSIsImRlZmF1bHRQcm9wcyIsImRpc2FibGVkIiwic2hvd0N1cnJlbmN5T3B0aW9ucyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNlbnRzSW5wdXROYW1lIiwiY2xhc3NOYW1lIiwiY3VycmVuY2llc0NvbGxlY3Rpb24iLCJhcnJheSIsImN1cnJlbmN5TmFtZSIsImN1cnJlbmN5UmVmIiwib2JqZWN0IiwiZGVmYXVsdFZhbHVlIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJpZCIsImlucHV0UmVmIiwibGFiZWwiLCJub2RlIiwibW9kZWwiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwicGxhY2Vob2xkZXIiLCJzbWFsbCIsInR5cGUiLCJ3aG9sZVJlZiIsInNldHVwIiwiY3VycmVuY3lSZWZCYWNrdXAiLCJwcm9wcyIsIndob2xlUmVmQmFja3VwIiwiZ2V0SW5wdXRSZWYiLCJyZW5kZXIiLCJnZXRDdXJyZW5jaWVzQ29sbGVjdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJpbnB1dERlZmF1bHRDZW50c1ZhbHVlIiwiaW5wdXRDZW50c0lkIiwiaW5wdXRDZW50c05hbWUiLCJyZWYiLCJpbnB1dERlZmF1bHRWYWx1ZSIsImlucHV0SWQiLCJvbkJsdXIiLCJ0dCIsInNldEFtb3VudCIsInNldENlbnRzIiwib25LZXlVcCIsImlucHV0Q3VycmVuY3lWYWx1ZSIsImlucHV0Q3VycmVuY3lJZCIsImlucHV0Q3VycmVuY3lOYW1lIiwib25DdXJyZW5jeUNoYW5nZWQiLCJtYXAiLCJvcHRpb24iLCJrZXkiLCJ2YWx1ZSIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiY3VycmVuY3lGcm9tTW9uZXkiLCJjb2RlIiwiZnJvbU1vbmV5IiwiYW1vdW50IiwiY3VycmVuY3kiLCJkZWNpbWFscyIsImV4Y2x1ZGVDdXJyZW5jeSIsInRvU3RyaW5nIiwiY3VycmVudCIsImFtb3VudEZyb21Nb25leSIsImlucHV0RWxlbWVudCIsImNlbnRzIiwicGFyc2VGbG9hdCIsImZvcm1hdHRlZCIsIndob2xlIiwic3RyaW5nVG9GbG9hdCIsInBhcnNlSW50Iiwib2xkQ2VudHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL21vbmV5LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgaWRGb3JDb21wb25lbnQgZnJvbSBcIi4vaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlclwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNNb25leSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgc2hvd0N1cnJlbmN5T3B0aW9uczogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2VudHNJbnB1dE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY3VycmVuY3lOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmN5UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpbnB1dFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5ub2RlLFxuICAgIHNob3dDdXJyZW5jeU9wdGlvbnM6IFByb3BUeXBlcy5ib29sLFxuICAgIHNtYWxsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHdob2xlUmVmOiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5pbnB1dFJlZiA9IHVzZVJlZigpXG4gICAgdGhpcy5jdXJyZW5jeVJlZkJhY2t1cCA9IHVzZVJlZigpXG4gICAgdGhpcy5jdXJyZW5jeVJlZiA9IHRoaXMucHJvcHMuY3VycmVuY3lSZWYgfHwgdGhpcy5jdXJyZW5jeVJlZkJhY2t1cFxuICAgIHRoaXMud2hvbGVSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMud2hvbGVSZWYgPSB0aGlzLnByb3BzLndob2xlUmVmIHx8IHRoaXMud2hvbGVSZWZCYWNrdXBcbiAgfVxuXG4gIGdldElucHV0UmVmID0gKCkgPT4gdGhpcy5wcm9wcy5pbnB1dFJlZiB8fCB0aGlzLmlucHV0UmVmXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjbGFzc05hbWUsIGRpc2FibGVkLCBtb2RlbCwgc2hvd0N1cnJlbmN5T3B0aW9uc30gPSB0aGlzLnByb3BzXG4gICAgbGV0IHtjdXJyZW5jaWVzQ29sbGVjdGlvbn0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIWN1cnJlbmNpZXNDb2xsZWN0aW9uKSBjdXJyZW5jaWVzQ29sbGVjdGlvbiA9IENvbmZpZy5nZXRDdXJyZW5jaWVzQ29sbGVjdGlvbigpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcGktbWFrZXItaW5wdXRzLW1vbmV5XCIgZGF0YS1hdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gZGF0YS1tb2RlbC1pZD17bW9kZWw/LmlkKCl9PlxuICAgICAgICA8aW5wdXQgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdENlbnRzVmFsdWUoKX0gaWQ9e3RoaXMuaW5wdXRDZW50c0lkKCl9IG5hbWU9e3RoaXMuaW5wdXRDZW50c05hbWUoKX0gcmVmPXt0aGlzLmdldElucHV0UmVmKCl9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJtb25leS1jZW50c1wiLCBjbGFzc05hbWUpfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBpZD17dGhpcy5pbnB1dElkKCl9XG4gICAgICAgICAgb25CbHVyPXt0aGlzLnR0LnNldEFtb3VudH1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5zZXRDZW50c31cbiAgICAgICAgICBvbktleVVwPXt0aGlzLnR0LnNldENlbnRzfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgIHJlZj17dGhpcy50dC53aG9sZVJlZn1cbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICAgIHtzaG93Q3VycmVuY3lPcHRpb25zICYmXG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9uZXktY3VycmVuY3lcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWQ9e3RoaXMuaW5wdXRDdXJyZW5jeUlkKCl9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0Q3VycmVuY3lOYW1lKCl9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vbkN1cnJlbmN5Q2hhbmdlZH1cbiAgICAgICAgICAgIHJlZj17dGhpcy50dC5jdXJyZW5jeVJlZn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPlxuICAgICAgICAgICAge2N1cnJlbmNpZXNDb2xsZWN0aW9uLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtgc2VsZWN0LW9wdGlvbi0ke29wdGlvblsxXX1gfSB2YWx1ZT17b3B0aW9uWzFdfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5zbWFsbCAmJiBvcHRpb25bMV19XG4gICAgICAgICAgICAgICAgeyF0aGlzLnByb3BzLnNtYWxsICYmIG9wdGlvblswXX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeUlkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2N1cnJlbmN5YFxuXG4gIGlucHV0Q3VycmVuY3lOYW1lICgpIHtcbiAgICBpZiAoXCJjdXJyZW5jeU5hbWVcIiBpbiB0aGlzLnByb3BzKSByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW5jeU5hbWVcblxuICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1fY3VycmVuY3ldYFxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeVZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5jdXJyZW5jeUZyb21Nb25leShkZWZhdWx0VmFsdWUpLmNvZGVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiREtLXCJcbiAgICB9XG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KHthbW91bnQ6IGRlZmF1bHRWYWx1ZS5hbW91bnQsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIlwiXG4gICAgfVxuICB9XG5cbiAgaW5wdXREZWZhdWx0Q2VudHNWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAodGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiBkaWdnKHRoaXMuZ2V0SW5wdXRSZWYoKSwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmFtb3VudEZyb21Nb25leShkZWZhdWx0VmFsdWUpXG4gICAgfVxuICB9XG5cbiAgaW5wdXRDZW50c0lkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2NlbnRzYFxuXG4gIGlucHV0Q2VudHNOYW1lICgpIHtcbiAgICBpZiAoXCJuYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMubmFtZVxuXG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV9jZW50c11gXG4gIH1cblxuICBpbnB1dElkID0gKCkgPT4gaWRGb3JDb21wb25lbnQodGhpcylcblxuICBvbkN1cnJlbmN5Q2hhbmdlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cblxuICBzZXRBbW91bnQgPSAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGlmICghaW5wdXRFbGVtZW50KSByZXR1cm5cblxuICAgIGlmICghaW5wdXRFbGVtZW50LnZhbHVlICYmIGlucHV0RWxlbWVudC52YWx1ZSA9PSBcIlwiKSB7XG4gICAgICB0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUgPSBcIlwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNlbnRzID0gcGFyc2VGbG9hdChpbnB1dEVsZW1lbnQudmFsdWUpXG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBNb25leUZvcm1hdHRlci5mcm9tTW9uZXkoe2Ftb3VudDogY2VudHMsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG5cbiAgICAgIHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSA9IGZvcm1hdHRlZFxuICAgIH1cbiAgfVxuXG4gIHNldENlbnRzID0gKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBpZiAoIWlucHV0RWxlbWVudCkgcmV0dXJuXG5cbiAgICBsZXQgd2hvbGUgPSBNb25leUZvcm1hdHRlci5zdHJpbmdUb0Zsb2F0KHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSlcbiAgICBsZXQgY2VudHMgPSBwYXJzZUludCh3aG9sZSAqIDEwMCwgMTApXG4gICAgbGV0IG9sZENlbnRzID0gcGFyc2VJbnQoaW5wdXRFbGVtZW50LnZhbHVlLCAxMClcblxuICAgIGlmICh0eXBlb2YgY2VudHMgPT0gXCJudW1iZXJcIikge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gY2VudHNcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gJydcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSAmJiBvbGRDZW50cyAhPSBjZW50cykgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUdDLE1BQU0sUUFBTyxPQUFPO0FBQ25DLFNBQVFDLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixTQUFRQyxJQUFJLFFB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
|
|
@@ -1,26 +1,44 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useCallback, useContext, useMemo } from "react";
|
|
2
2
|
import Devise from "./devise";
|
|
3
3
|
import { digg } from "diggerize";
|
|
4
|
+
import EventEmitter from "events";
|
|
4
5
|
import * as inflection from "inflection";
|
|
5
6
|
import Logger from "./logger";
|
|
6
7
|
import Services from "./services";
|
|
7
8
|
import useEventEmitter from "./use-event-emitter";
|
|
8
9
|
import useShape from "set-state-compare/src/use-shape";
|
|
10
|
+
const events = new EventEmitter();
|
|
9
11
|
const logger = new Logger({
|
|
10
12
|
name: "ApiMaker / useCurrentUser"
|
|
11
13
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
logger.setDebug(false);
|
|
15
|
+
const useCurrentUser = (props = {}) => {
|
|
16
|
+
const {
|
|
17
|
+
scope = "user",
|
|
18
|
+
withData,
|
|
19
|
+
...restProps
|
|
20
|
+
} = props;
|
|
21
|
+
if (Object.keys(restProps).length > 0) {
|
|
22
|
+
throw new Error(`Unknown props given to useCurrentUser: ${Object.keys(restProps).join(", ")}`);
|
|
23
|
+
}
|
|
17
24
|
const scopeInstance = Devise.getScope(scope);
|
|
18
25
|
const currentUserContext = useContext(scopeInstance.getContext());
|
|
19
|
-
|
|
26
|
+
if (withData) {
|
|
27
|
+
return currentUserContext;
|
|
28
|
+
} else {
|
|
29
|
+
return currentUserContext.model;
|
|
30
|
+
}
|
|
20
31
|
};
|
|
21
|
-
const WithCurrentUser = props => {
|
|
22
|
-
const
|
|
23
|
-
|
|
32
|
+
const WithCurrentUser = (props = {}) => {
|
|
33
|
+
const {
|
|
34
|
+
children,
|
|
35
|
+
scope = "user",
|
|
36
|
+
...restProps
|
|
37
|
+
} = props;
|
|
38
|
+
if (Object.keys(restProps).length > 0) {
|
|
39
|
+
throw new Error(`Unknown props given to WithCurrentUser: ${Object.keys(restProps).join(", ")}`);
|
|
40
|
+
}
|
|
41
|
+
const s = useShape(props);
|
|
24
42
|
const scopeName = `current${inflection.camelize(scope)}`;
|
|
25
43
|
const scopeInstance = Devise.getScope(scope);
|
|
26
44
|
const ScopeContext = scopeInstance.getContext();
|
|
@@ -40,9 +58,14 @@ const WithCurrentUser = props => {
|
|
|
40
58
|
const current = digg(result, "current")[0];
|
|
41
59
|
if (current) Devise.updateSession(current);
|
|
42
60
|
s.set({
|
|
61
|
+
result: {
|
|
62
|
+
loaded: true,
|
|
63
|
+
model: current
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
events.emit("currentUserLoaded", {
|
|
43
67
|
current
|
|
44
68
|
});
|
|
45
|
-
if (s.props.onCurrentUserLoaded) setTimeout(() => s.props.onCurrentUserLoaded(current), 0);
|
|
46
69
|
}, []);
|
|
47
70
|
const defaultCurrentUser = useCallback(() => {
|
|
48
71
|
const {
|
|
@@ -57,17 +80,25 @@ const WithCurrentUser = props => {
|
|
|
57
80
|
current = Devise[scopeName]();
|
|
58
81
|
logger.debug(() => `Setting ${scope} from global current scope: ${current?.id()}`);
|
|
59
82
|
}
|
|
60
|
-
if (current
|
|
61
|
-
|
|
83
|
+
if (current) {
|
|
84
|
+
events.emit("currentUserLoaded", {
|
|
85
|
+
current
|
|
86
|
+
});
|
|
62
87
|
}
|
|
63
88
|
return current;
|
|
64
89
|
}, []);
|
|
65
90
|
s.useStates({
|
|
66
|
-
|
|
91
|
+
result: () => ({
|
|
92
|
+
loaded: false,
|
|
93
|
+
model: defaultCurrentUser()
|
|
94
|
+
})
|
|
67
95
|
});
|
|
68
96
|
const updateCurrentUser = useCallback(() => {
|
|
69
97
|
s.set({
|
|
70
|
-
|
|
98
|
+
result: {
|
|
99
|
+
loaded: true,
|
|
100
|
+
model: Devise[s.m.scopeName]()
|
|
101
|
+
}
|
|
71
102
|
});
|
|
72
103
|
}, []);
|
|
73
104
|
useMemo(() => {
|
|
@@ -85,9 +116,9 @@ const WithCurrentUser = props => {
|
|
|
85
116
|
useEventEmitter(Devise.events(), "onDeviseSignIn", onDeviseSignIn);
|
|
86
117
|
useEventEmitter(Devise.events(), "onDeviseSignOut", onDeviseSignOut);
|
|
87
118
|
return /*#__PURE__*/React.createElement(ScopeContext.Provider, {
|
|
88
|
-
value: s.s.
|
|
89
|
-
},
|
|
119
|
+
value: s.s.result
|
|
120
|
+
}, children);
|
|
90
121
|
};
|
|
91
|
-
export { WithCurrentUser };
|
|
122
|
+
export { events, WithCurrentUser };
|
|
92
123
|
export default useCurrentUser;
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VNZW1vIiwiRGV2aXNlIiwiZGlnZyIsImluZmxlY3Rpb24iLCJMb2dnZXIiLCJTZXJ2aWNlcyIsInVzZUV2ZW50RW1pdHRlciIsInVzZVNoYXBlIiwibG9nZ2VyIiwibmFtZSIsInVzZUN1cnJlbnRVc2VyIiwicHJvcHMiLCJzY29wZSIsInNjb3BlSW5zdGFuY2UiLCJnZXRTY29wZSIsImN1cnJlbnRVc2VyQ29udGV4dCIsImdldENvbnRleHQiLCJXaXRoQ3VycmVudFVzZXIiLCJzIiwic2NvcGVOYW1lIiwiY2FtZWxpemUiLCJTY29wZUNvbnRleHQiLCJtZXRhIiwibG9hZEN1cnJlbnRVc2VyRnJvbVJlcXVlc3QiLCJtIiwiZ2V0QXJnc01ldGhvZE5hbWUiLCJhcmdzIiwiZGVidWciLCJyZXN1bHQiLCJjdXJyZW50Iiwic2VuZFJlcXVlc3QiLCJxdWVyeSIsInVwZGF0ZVNlc3Npb24iLCJzZXQiLCJvbkN1cnJlbnRVc2VyTG9hZGVkIiwic2V0VGltZW91dCIsImRlZmF1bHRDdXJyZW50VXNlciIsImhhc0N1cnJlbnRTY29wZSIsImdldEN1cnJlbnRTY29wZSIsImlkIiwiaGFzR2xvYmFsQ3VycmVudFNjb3BlIiwidXNlU3RhdGVzIiwidXBkYXRlQ3VycmVudFVzZXIiLCJvbkRldmlzZVNpZ25JbiIsIm9uRGV2aXNlU2lnbk91dCIsImV2ZW50cyIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInZhbHVlIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi9zcmMvdXNlLWN1cnJlbnQtdXNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyXCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi9zZXJ2aWNlc1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCIuL3VzZS1ldmVudC1lbWl0dGVyXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoe25hbWU6IFwiQXBpTWFrZXIgLyB1c2VDdXJyZW50VXNlclwifSlcblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmNvbnN0IHVzZUN1cnJlbnRVc2VyID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHNjb3BlID0gcHJvcHM/LnNjb3BlIHx8IFwidXNlclwiXG4gIGNvbnN0IHNjb3BlSW5zdGFuY2UgPSBEZXZpc2UuZ2V0U2NvcGUoc2NvcGUpXG4gIGNvbnN0IGN1cnJlbnRVc2VyQ29udGV4dCA9IHVzZUNvbnRleHQoc2NvcGVJbnN0YW5jZS5nZXRDb250ZXh0KCkpXG5cbiAgcmV0dXJuIGN1cnJlbnRVc2VyQ29udGV4dFxufVxuXG5jb25zdCBXaXRoQ3VycmVudFVzZXIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzIHx8IHt9KVxuICBjb25zdCBzY29wZSA9IHByb3BzPy5zY29wZSB8fCBcInVzZXJcIlxuICBjb25zdCBzY29wZU5hbWUgPSBgY3VycmVudCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSl9YFxuICBjb25zdCBzY29wZUluc3RhbmNlID0gRGV2aXNlLmdldFNjb3BlKHNjb3BlKVxuICBjb25zdCBTY29wZUNvbnRleHQgPSBzY29wZUluc3RhbmNlLmdldENvbnRleHQoKVxuXG4gIHMubWV0YS5zY29wZSA9IHNjb3BlXG4gIHMubWV0YS5zY29wZU5hbWUgPSBzY29wZU5hbWVcblxuICBjb25zdCBsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7c2NvcGV9ID0gcy5tXG4gICAgY29uc3QgZ2V0QXJnc01ldGhvZE5hbWUgPSBgZ2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKX1BcmdzYFxuICAgIGNvbnN0IGFyZ3MgPSBEZXZpc2VbZ2V0QXJnc01ldGhvZE5hbWVdKClcblxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgTG9hZGluZyAke3Njb3BlfSB3aXRoIHJlcXVlc3RgKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiRGV2aXNlOjpDdXJyZW50XCIsIHtxdWVyeTogYXJncy5xdWVyeSwgc2NvcGV9KVxuICAgIGNvbnN0IGN1cnJlbnQgPSBkaWdnKHJlc3VsdCwgXCJjdXJyZW50XCIpWzBdXG5cbiAgICBpZiAoY3VycmVudCkgRGV2aXNlLnVwZGF0ZVNlc3Npb24oY3VycmVudClcblxuICAgIHMuc2V0KHtjdXJyZW50fSlcblxuICAgIGlmIChzLnByb3BzLm9uQ3VycmVudFVzZXJMb2FkZWQpIHNldFRpbWVvdXQoKCkgPT4gcy5wcm9wcy5vbkN1cnJlbnRVc2VyTG9hZGVkKGN1cnJlbnQpLCAwKVxuICB9LCBbXSlcblxuICBjb25zdCBkZWZhdWx0Q3VycmVudFVzZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qge3Njb3BlLCBzY29wZU5hbWV9ID0gcy5tXG4gICAgbGV0IGN1cnJlbnRcblxuICAgIGlmIChEZXZpc2UuY3VycmVudCgpLmhhc0N1cnJlbnRTY29wZShzLm0uc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpXG5cbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgU2V0dGluZyAke3Njb3BlfSBmcm9tIGN1cnJlbnQgc2NvcGU6ICR7Y3VycmVudD8uaWQoKX1gKVxuICAgIH0gZWxzZSBpZiAoRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlW3Njb3BlTmFtZV0oKVxuXG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFNldHRpbmcgJHtzY29wZX0gZnJvbSBnbG9iYWwgY3VycmVudCBzY29wZTogJHtjdXJyZW50Py5pZCgpfWApXG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnQgJiYgcy5wcm9wcy5vbkN1cnJlbnRVc2VyTG9hZGVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHMucHJvcHMub25DdXJyZW50VXNlckxvYWRlZChjdXJyZW50KSwgMClcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudFxuICB9LCBbXSlcblxuICBzLnVzZVN0YXRlcyh7Y3VycmVudDogKCkgPT4gZGVmYXVsdEN1cnJlbnRVc2VyKCl9KVxuXG4gIGNvbnN0IHVwZGF0ZUN1cnJlbnRVc2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHMuc2V0KHtjdXJyZW50OiBEZXZpc2Vbcy5tLnNjb3BlTmFtZV0oKX0pXG4gIH0sIFtdKVxuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUocy5tLnNjb3BlKSAmJiAhRGV2aXNlLmN1cnJlbnQoKS5oYXNDdXJyZW50U2NvcGUocy5tLnNjb3BlKSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBEZXZpc2UgaGFzbid0IGdvdCBjdXJyZW50IHNjb3BlICR7cy5tLnNjb3BlfSBzbyBsb2FkaW5nIGZyb20gcmVxdWVzdGApXG4gICAgICBsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCgpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBvbkRldmlzZVNpZ25JbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1cGRhdGVDdXJyZW50VXNlcigpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGV2aXNlU2lnbk91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1cGRhdGVDdXJyZW50VXNlcigpXG4gIH0sIFtdKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduSW5cIiwgb25EZXZpc2VTaWduSW4pXG4gIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduT3V0XCIsIG9uRGV2aXNlU2lnbk91dClcblxuICByZXR1cm4gKFxuICAgIDxTY29wZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3Mucy5jdXJyZW50fT5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L1Njb3BlQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQge1dpdGhDdXJyZW50VXNlcn1cbmV4cG9ydCBkZWZhdWx0IHVzZUN1cnJlbnRVc2VyXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssSUFBR0MsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDNUUsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxlQUFlLE1BQU0scUJBQXFCO0FBQ2pELE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsTUFBTSxHQUFHLElBQUlKLE1BQU0sQ0FBQztFQUFDSyxJQUFJLEVBQUU7QUFBMkIsQ0FBQyxDQUFDOztBQUU5RDs7QUFFQSxNQUFNQyxjQUFjLEdBQUlDLEtBQUssSUFBSztFQUNoQyxNQUFNQyxLQUFLLEdBQUdELEtBQUssRUFBRUMsS0FBSyxJQUFJLE1BQU07RUFDcEMsTUFBTUMsYUFBYSxHQUFHWixNQUFNLENBQUNhLFFB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
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsInVzZU1lbW8iLCJEZXZpc2UiLCJkaWdnIiwiRXZlbnRFbWl0dGVyIiwiaW5mbGVjdGlvbiIsIkxvZ2dlciIsIlNlcnZpY2VzIiwidXNlRXZlbnRFbWl0dGVyIiwidXNlU2hhcGUiLCJldmVudHMiLCJsb2dnZXIiLCJuYW1lIiwic2V0RGVidWciLCJ1c2VDdXJyZW50VXNlciIsInByb3BzIiwic2NvcGUiLCJ3aXRoRGF0YSIsInJlc3RQcm9wcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJzY29wZUluc3RhbmNlIiwiZ2V0U2NvcGUiLCJjdXJyZW50VXNlckNvbnRleHQiLCJnZXRDb250ZXh0IiwibW9kZWwiLCJXaXRoQ3VycmVudFVzZXIiLCJjaGlsZHJlbiIsInMiLCJzY29wZU5hbWUiLCJjYW1lbGl6ZSIsIlNjb3BlQ29udGV4dCIsIm1ldGEiLCJsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCIsIm0iLCJnZXRBcmdzTWV0aG9kTmFtZSIsImFyZ3MiLCJkZWJ1ZyIsInJlc3VsdCIsImN1cnJlbnQiLCJzZW5kUmVxdWVzdCIsInF1ZXJ5IiwidXBkYXRlU2Vzc2lvbiIsInNldCIsImxvYWRlZCIsImVtaXQiLCJkZWZhdWx0Q3VycmVudFVzZXIiLCJoYXNDdXJyZW50U2NvcGUiLCJnZXRDdXJyZW50U2NvcGUiLCJpZCIsImhhc0dsb2JhbEN1cnJlbnRTY29wZSIsInVzZVN0YXRlcyIsInVwZGF0ZUN1cnJlbnRVc2VyIiwib25EZXZpc2VTaWduSW4iLCJvbkRldmlzZVNpZ25PdXQiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtY3VycmVudC11c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IERldmlzZSBmcm9tIFwiLi9kZXZpc2VcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyXCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi9zZXJ2aWNlc1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCIuL3VzZS1ldmVudC1lbWl0dGVyXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIHVzZUN1cnJlbnRVc2VyXCJ9KVxuXG5sb2dnZXIuc2V0RGVidWcoZmFsc2UpXG5cbmNvbnN0IHVzZUN1cnJlbnRVc2VyID0gKHByb3BzID0ge30pID0+IHtcbiAgY29uc3Qge3Njb3BlID0gXCJ1c2VyXCIsIHdpdGhEYXRhLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIHVzZUN1cnJlbnRVc2VyOiAke09iamVjdC5rZXlzKHJlc3RQcm9wcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzY29wZUluc3RhbmNlID0gRGV2aXNlLmdldFNjb3BlKHNjb3BlKVxuICBjb25zdCBjdXJyZW50VXNlckNvbnRleHQgPSB1c2VDb250ZXh0KHNjb3BlSW5zdGFuY2UuZ2V0Q29udGV4dCgpKVxuXG4gIGlmICh3aXRoRGF0YSkge1xuICAgIHJldHVybiBjdXJyZW50VXNlckNvbnRleHRcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY3VycmVudFVzZXJDb250ZXh0Lm1vZGVsXG4gIH1cbn1cblxuY29uc3QgV2l0aEN1cnJlbnRVc2VyID0gKHByb3BzID0ge30pID0+IHtcbiAgY29uc3Qge2NoaWxkcmVuLCBzY29wZSA9IFwidXNlclwiLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIFdpdGhDdXJyZW50VXNlcjogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBzY29wZU5hbWUgPSBgY3VycmVudCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSl9YFxuICBjb25zdCBzY29wZUluc3RhbmNlID0gRGV2aXNlLmdldFNjb3BlKHNjb3BlKVxuICBjb25zdCBTY29wZUNvbnRleHQgPSBzY29wZUluc3RhbmNlLmdldENvbnRleHQoKVxuXG4gIHMubWV0YS5zY29wZSA9IHNjb3BlXG4gIHMubWV0YS5zY29wZU5hbWUgPSBzY29wZU5hbWVcblxuICBjb25zdCBsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7c2NvcGV9ID0gcy5tXG4gICAgY29uc3QgZ2V0QXJnc01ldGhvZE5hbWUgPSBgZ2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKX1BcmdzYFxuICAgIGNvbnN0IGFyZ3MgPSBEZXZpc2VbZ2V0QXJnc01ldGhvZE5hbWVdKClcblxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgTG9hZGluZyAke3Njb3BlfSB3aXRoIHJlcXVlc3RgKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiRGV2aXNlOjpDdXJyZW50XCIsIHtxdWVyeTogYXJncy5xdWVyeSwgc2NvcGV9KVxuICAgIGNvbnN0IGN1cnJlbnQgPSBkaWdnKHJlc3VsdCwgXCJjdXJyZW50XCIpWzBdXG5cbiAgICBpZiAoY3VycmVudCkgRGV2aXNlLnVwZGF0ZVNlc3Npb24oY3VycmVudClcblxuICAgIHMuc2V0KHtcbiAgICAgIHJlc3VsdDoge1xuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIG1vZGVsOiBjdXJyZW50XG4gICAgICB9XG4gICAgfSlcblxuICAgIGV2ZW50cy5lbWl0KFwiY3VycmVudFVzZXJMb2FkZWRcIiwge2N1cnJlbnR9KVxuICB9LCBbXSlcblxuICBjb25zdCBkZWZhdWx0Q3VycmVudFVzZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qge3Njb3BlLCBzY29wZU5hbWV9ID0gcy5tXG4gICAgbGV0IGN1cnJlbnRcblxuICAgIGlmIChEZXZpc2UuY3VycmVudCgpLmhhc0N1cnJlbnRTY29wZShzLm0uc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpXG5cbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgU2V0dGluZyAke3Njb3BlfSBmcm9tIGN1cnJlbnQgc2NvcGU6ICR7Y3VycmVudD8uaWQoKX1gKVxuICAgIH0gZWxzZSBpZiAoRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlW3Njb3BlTmFtZV0oKVxuXG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFNldHRpbmcgJHtzY29wZX0gZnJvbSBnbG9iYWwgY3VycmVudCBzY29wZTogJHtjdXJyZW50Py5pZCgpfWApXG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgIGV2ZW50cy5lbWl0KFwiY3VycmVudFVzZXJMb2FkZWRcIiwge2N1cnJlbnR9KVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50XG4gIH0sIFtdKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICByZXN1bHQ6ICgpID0+ICh7XG4gICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgbW9kZWw6IGRlZmF1bHRDdXJyZW50VXNlcigpXG4gICAgfSlcbiAgfSlcblxuICBjb25zdCB1cGRhdGVDdXJyZW50VXNlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzLnNldCh7XG4gICAgICByZXN1bHQ6IHtcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBtb2RlbDogRGV2aXNlW3MubS5zY29wZU5hbWVdKClcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbXSlcblxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIURldmlzZS5jdXJyZW50KCkuaGFzR2xvYmFsQ3VycmVudFNjb3BlKHMubS5zY29wZSkgJiYgIURldmlzZS5jdXJyZW50KCkuaGFzQ3VycmVudFNjb3BlKHMubS5zY29wZSkpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgRGV2aXNlIGhhc24ndCBnb3QgY3VycmVudCBzY29wZSAke3MubS5zY29wZX0gc28gbG9hZGluZyBmcm9tIHJlcXVlc3RgKVxuICAgICAgbG9hZEN1cnJlbnRVc2VyRnJvbVJlcXVlc3QoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgb25EZXZpc2VTaWduSW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXBkYXRlQ3VycmVudFVzZXIoKVxuICB9LCBbXSlcblxuICBjb25zdCBvbkRldmlzZVNpZ25PdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXBkYXRlQ3VycmVudFVzZXIoKVxuICB9LCBbXSlcblxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbkluXCIsIG9uRGV2aXNlU2lnbkluKVxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCBvbkRldmlzZVNpZ25PdXQpXG5cbiAgcmV0dXJuIChcbiAgICA8U2NvcGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtzLnMucmVzdWx0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1Njb3BlQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQge2V2ZW50cywgV2l0aEN1cnJlbnRVc2VyfVxuZXhwb3J0IGRlZmF1bHQgdXNlQ3VycmVudFVzZXJcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDN0QsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsWUFBWSxNQUFNLFFBQVE7QUFDakMsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxlQUFlLE1BQU0scUJBQXFCO0FBQ2pELE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsTUFBTSxHQUFHLElBQUlOLFlBQVksQ0FBQyxDQUFDO0FBQ2pDLE1BQU1PLE1BQU0sR0FBRyxJQUFJTCxNQUFNLENBQUM7RUFBQ00sSUFBSSxFQUFFO0FBQTJCLENBQUMsQ0FBQztBQUU5REQsTUFBTSxDQUFDRSxRQUFRLENBQUMsS0FBSyxDQUFDO0FBRXRCLE1BQU1DLGNBQWMsR0FBR0EsQ0FBQ0MsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLO0VBQ3JDLE1BQU07SUFBQ0MsS0FBSyxHQUFHLE1BQU07SUFBRUMsUUFBUTtJQUFFLEdBQUdDO0VBQVMsQ0FBQyxHQUFHSCxLQUFLO0VBRXRELElBQUlJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDRixTQUFTLENBQUMsQ0FBQ0csTUFBTSxHQUFHLENBQUMsRUFBRTtJQUNyQyxNQUFNLElBQUlDLEtBQUssQ0FBQywwQ0FBMENILE1BQU0sQ0FBQ0MsSUFBSSxDQUFDRixTQUFTLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7RUFDaEc7RUFFQSxNQUFNQyxhQUFhLEdBQUd0QixNQUFNLENBQUN1QixRQUFRLENBQUNULEtBQUssQ0FBQztFQUM1QyxNQUFNVSxrQkFBa0IsR0FBRzFCLFVBQVUsQ0FBQ3dCLGFBQWEsQ0FBQ0csVUFBVSxDQUFDLENBQUMsQ0FBQztFQUVqRSxJQUFJVixRQUFRLEVBQUU7SUFDWixPQUFPUyxrQkFBa0I7RUFDM0IsQ0FBQyxNQUFNO0lBQ0wsT0FBT0Esa0JBQWtCLENBQUNFLEtBQUs7RUFDakM7QUFDRixDQUFDO0FBRUQsTUFBTUMsZUFBZSxHQUFHQSxDQUFDZCxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUs7RUFDdEMsTUFBTTtJQUFDZSxRQUFRO0lBQUVkLEtBQUssR0FBRyxNQUFNO0lBQUUsR0FBR0U7RUFBUyxDQUFDLEdBQUdILEtBQUs7RUFFdEQsSUFBSUksTUFBTSxDQUFDQyxJQUFJLENBQUNGLFNBQVMsQ0FBQyxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ3JDLE1BQU0sSUFBSUMsS0FBSyxDQUFDLDJDQUEyQ0gsTUFBTSxDQUFDQyxJQUFJLENBQUNGLFNBQVMsQ0FBQyxDQUFDSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztFQUNqRztFQUVBLE1BQU1RLENBQUMsR0FBR3RCLFFBQVEsQ0FBQ00sS0FBSyxDQUFDO0VBQ3pCLE1BQU1pQixTQUFTLEdBQUcsVUFBVTNCLFVBQVUsQ0FBQzRCLFFBQVEsQ0FBQ2pCLEtBQUssQ0FBQyxFQUFFO0VBQ3hELE1BQU1RLGFBQWEsR0FBR3RCLE1BQU0sQ0FBQ3VCLFFBQVEsQ0FBQ1QsS0FBSyxDQUFDO0VBQzVDLE1BQU1rQixZQUFZLEdBQUdWLGFBQWEsQ0FBQ0csVUFBVSxDQUFDLENBQUM7RUFFL0NJLENBQUMsQ0FBQ0ksSUFBSSxDQUFDbkIsS0FBSyxHQUFHQSxLQUFLO0VBQ3BCZSxDQUFDLENBQUNJLElBQUksQ0FBQ0gsU0FBUyxHQUFHQSxTQUFTO0VBRTVCLE1BQU1JLDBCQUEwQixHQUFHckMsV0FBVyxDQUFDLFlBQVk7SUFDekQsTUFBTTtNQUFDaUI7SUFBSyxDQUFDLEdBQUdlLENBQUMsQ0FBQ00sQ0FBQztJQUNuQixNQUFNQyxpQkFBaUIsR0FBRyxNQUFNakMsVUFBVSxDQUFDNEIsUUFBUSxDQUFDakIsS0FBSyxDQUFDLE1BQU07SUFDaEUsTUFBTXVCLElBQUksR0FBR3JDLE1BQU0sQ0FBQ29DLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUV4QzNCLE1BQU0sQ0FBQzZCLEtBQUssQ0FBQyxNQUFNLFdBQVd4QixLQUFLLGVBQWUsQ0FBQztJQUVuRCxNQUFNeUIsTUFBTSxHQUFHLE1BQU1sQyxRQUFRLENBQUNtQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsaUJBQWlCLEVBQUU7TUFBQ0MsS0FBSyxFQUFFTCxJQUFJLENBQUNLLEtBQUs7TUFBRTVCO0lBQUssQ0FBQyxDQUFDO0lBQ2xHLE1BQU0wQixPQUFPLEdBQUd2QyxJQUFJLENBQUNzQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFDLElBQUlDLE9BQU8sRUFBRXhDLE1BQU0sQ0FBQzJDLGFBQWEsQ0FBQ0gsT0FBTyxDQUFDO0lBRTFDWCxDQUFDLENBQUNlLEdBQUcsQ0FBQztNQUNKTCxNQUFNLEVBQUU7UUFDTk0sTUFBTSxFQUFFLElBQUk7UUFDWm5CLEtBQUssRUFBRWM7TUFDVDtJQUNGLENBQUMsQ0FBQztJQUVGaEMsTUFBTSxDQUFDc0MsSUFBSSxDQUFDLG1CQUFtQixFQUFFO01BQUNOO0lBQU8sQ0FBQyxDQUFDO0VBQzdDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNTyxrQkFBa0IsR0FBR2xELFdBQVcsQ0FBQyxNQUFNO0lBQzNDLE1BQU07TUFBQ2lCLEtBQUs7TUFBRWdCO0lBQVMsQ0FBQyxHQUFHRCxDQUFDLENBQUNNLENBQUM7SUFDOUIsSUFBSUssT0FBTztJQUVYLElBQUl4QyxNQUFNLENBQUN3QyxPQUFPLENBQUMsQ0FBQyxDQUFDUSxlQUFlLENBQUNuQixDQUFDLENBQUNNLENBQUMsQ0FBQ3JCLEtBQUssQ0FBQyxFQUFFO01BQy9DMEIsT0FBTyxHQUFHeEMsTUFBTSxDQUFDd0MsT0FBTyxDQUFDLENBQUMsQ0FBQ1MsZUFBZSxDQUFDbkMsS0FBSyxDQUFDO01BRWpETCxNQUFNLENBQUM2QixLQUFLLENBQUMsTUFBTSxXQUFXeEIsS0FBSyx3QkFBd0IwQixPQUFPLEVBQUVVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RSxDQUFDLE1BQU0sSUFBSWxELE1BQU0sQ0FBQ3dDLE9BQU8sQ0FBQyxDQUFDLENBQUNXLHFCQUFxQixDQUFDckMsS0FBSyxDQUFDLEVBQUU7TUFDeEQwQixPQUFPLEdBQUd4QyxNQUFNLENBQUM4QixTQUFTLENBQUMsQ0FBQyxDQUFDO01BRTdCckIsTUFBTSxDQUFDNkIsS0FBSyxDQUFDLE1BQU0sV0FBV3hCLEtBQUssK0JBQStCMEIsT0FBTyxFQUFFVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEY7SUFFQSxJQUFJVixPQUFPLEVBQUU7TUFDWGhDLE1BQU0sQ0FBQ3NDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUFDTjtNQUFPLENBQUMsQ0FBQztJQUM3QztJQUVBLE9BQU9BLE9BQU87RUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOWCxDQUFDLENBQUN1QixTQUFTLENBQUM7SUFDVmIsTUFBTSxFQUFFQSxDQUFBLE1BQU87TUFDYk0sTUFBTSxFQUFFLEtBQUs7TUFDYm5CLEtBQUssRUFBRXFCLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7RUFDSCxDQUFDLENBQUM7RUFFRixNQUFNTSxpQkFBaUIsR0FBR3hELFdBQVcsQ0FBQyxNQUFNO0lBQzFDZ0MsQ0FBQyxDQUFDZSxHQUFHLENBQUM7TUFDSkwsTUFBTSxFQUFFO1FBQ05NLE1BQU0sRUFBRSxJQUFJO1FBQ1puQixLQUFLLEVBQUUxQixNQUFNLENBQUM2QixDQUFDLENBQUNNLENBQUMsQ0FBQ0wsU0FBUyxDQUFDLENBQUM7TUFDL0I7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4vQixPQUFPLENBQUMsTUFBTTtJQUNaLElBQUksQ0FBQ0MsTUFBTSxDQUFDd0MsT0FBTyxDQUFDLENBQUMsQ0FBQ1cscUJBQXFCLENBQUN0QixDQUFDLENBQUNNLENBQUMsQ0FBQ3JCLEtBQUssQ0FBQyxJQUFJLENBQUNkLE1BQU0sQ0FBQ3dDLE9BQU8sQ0FBQyxDQUFDLENBQUNRLGVBQWUsQ0FBQ25CLENBQUMsQ0FBQ00sQ0FBQyxDQUFDckIsS0FBSyxDQUFDLEVBQUU7TUFDdEdMLE1BQU0sQ0FBQzZCLEtBQUssQ0FBQyxNQUFNLG1DQUFtQ1QsQ0FBQyxDQUFDTSxDQUFDLENBQUNyQixLQUFLLDBCQUEwQixDQUFDO01BQzFGb0IsMEJBQTBCLENBQUMsQ0FBQztJQUM5QjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNb0IsY0FBYyxHQUFHekQsV0FBVyxDQUFDLE1BQU07SUFDdkN3RCxpQkFBaUIsQ0FBQyxDQUFDO0VBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNRSxlQUFlLEdBQUcxRCxXQUFXLENBQUMsTUFBTTtJQUN4Q3dELGlCQUFpQixDQUFDLENBQUM7RUFDckIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOL0MsZUFBZSxDQUFDTixNQUFNLENBQUNRLE1BQU0sQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUU4QyxjQUFjLENBQUM7RUFDbEVoRCxlQUFlLENBQUNOLE1BQU0sQ0FBQ1EsTUFBTSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsRUFBRStDLGVBQWUsQ0FBQztFQUVwRSxvQkFDRTNELEtBQUEsQ0FBQTRELGFBQUEsQ0FBQ3hCLFlBQVksQ0FBQ3lCLFFBQVE7SUFBQ0MsS0FBSyxFQUFFN0IsQ0FBQyxDQUFDQSxDQUFDLENBQUNVO0VBQU8sR0FDdENYLFFBQ29CLENBQUM7QUFFNUIsQ0FBQztBQUVELFNBQVFwQixNQUFNLEVBQUVtQixlQUFlO0FBQy9CLGVBQWVmLGNBQWMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/package.json
CHANGED
package/src/inputs/money.jsx
CHANGED
|
@@ -46,9 +46,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
46
46
|
this.wholeRef = this.props.wholeRef || this.wholeRefBackup
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
getInputRef ()
|
|
50
|
-
return this.props.inputRef || this.inputRef
|
|
51
|
-
}
|
|
49
|
+
getInputRef = () => this.props.inputRef || this.inputRef
|
|
52
50
|
|
|
53
51
|
render () {
|
|
54
52
|
const {attribute, className, disabled, model, showCurrencyOptions} = this.props
|
|
@@ -64,11 +62,11 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
64
62
|
defaultValue={this.inputDefaultValue()}
|
|
65
63
|
disabled={disabled}
|
|
66
64
|
id={this.inputId()}
|
|
67
|
-
onBlur={
|
|
68
|
-
onChange={
|
|
69
|
-
onKeyUp={
|
|
65
|
+
onBlur={this.tt.setAmount}
|
|
66
|
+
onChange={this.tt.setCents}
|
|
67
|
+
onKeyUp={this.tt.setCents}
|
|
70
68
|
placeholder={this.props.placeholder}
|
|
71
|
-
ref={this.wholeRef}
|
|
69
|
+
ref={this.tt.wholeRef}
|
|
72
70
|
type="text"
|
|
73
71
|
/>
|
|
74
72
|
{showCurrencyOptions &&
|
|
@@ -78,8 +76,8 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
78
76
|
disabled={disabled}
|
|
79
77
|
id={this.inputCurrencyId()}
|
|
80
78
|
name={this.inputCurrencyName()}
|
|
81
|
-
onChange={
|
|
82
|
-
ref={this.currencyRef}
|
|
79
|
+
onChange={this.tt.onCurrencyChanged}
|
|
80
|
+
ref={this.tt.currencyRef}
|
|
83
81
|
>
|
|
84
82
|
<option></option>
|
|
85
83
|
{currenciesCollection.map((option) => (
|
|
@@ -94,13 +92,10 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
94
92
|
)
|
|
95
93
|
}
|
|
96
94
|
|
|
97
|
-
inputCurrencyId () {
|
|
98
|
-
return `${this.inputId()}_currency`
|
|
99
|
-
}
|
|
95
|
+
inputCurrencyId = () => `${this.inputId()}_currency`
|
|
100
96
|
|
|
101
97
|
inputCurrencyName () {
|
|
102
|
-
if ("currencyName" in this.props)
|
|
103
|
-
return this.props.currencyName
|
|
98
|
+
if ("currencyName" in this.props) return this.props.currencyName
|
|
104
99
|
|
|
105
100
|
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_currency]`
|
|
106
101
|
}
|
|
@@ -135,29 +130,25 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
135
130
|
}
|
|
136
131
|
}
|
|
137
132
|
|
|
138
|
-
inputCentsId () {
|
|
139
|
-
return `${this.inputId()}_cents`
|
|
140
|
-
}
|
|
133
|
+
inputCentsId = () => `${this.inputId()}_cents`
|
|
141
134
|
|
|
142
135
|
inputCentsName () {
|
|
143
|
-
if ("name" in this.props)
|
|
144
|
-
return this.props.name
|
|
136
|
+
if ("name" in this.props) return this.props.name
|
|
145
137
|
|
|
146
138
|
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_cents]`
|
|
147
139
|
}
|
|
148
140
|
|
|
149
|
-
inputId ()
|
|
150
|
-
return idForComponent(this)
|
|
151
|
-
}
|
|
141
|
+
inputId = () => idForComponent(this)
|
|
152
142
|
|
|
153
143
|
onCurrencyChanged = () => {
|
|
154
|
-
if (this.props.onChange)
|
|
155
|
-
this.props.onChange()
|
|
144
|
+
if (this.props.onChange) this.props.onChange()
|
|
156
145
|
}
|
|
157
146
|
|
|
158
147
|
setAmount = () => {
|
|
159
148
|
const inputElement = this.getInputRef().current
|
|
160
149
|
|
|
150
|
+
if (!inputElement) return
|
|
151
|
+
|
|
161
152
|
if (!inputElement.value && inputElement.value == "") {
|
|
162
153
|
this.wholeRef.current.value = ""
|
|
163
154
|
} else {
|
|
@@ -171,6 +162,8 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
171
162
|
setCents = () => {
|
|
172
163
|
const inputElement = this.getInputRef().current
|
|
173
164
|
|
|
165
|
+
if (!inputElement) return
|
|
166
|
+
|
|
174
167
|
let whole = MoneyFormatter.stringToFloat(this.wholeRef.current.value)
|
|
175
168
|
let cents = parseInt(whole * 100, 10)
|
|
176
169
|
let oldCents = parseInt(inputElement.value, 10)
|
|
@@ -181,7 +174,6 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
181
174
|
inputElement.value = ''
|
|
182
175
|
}
|
|
183
176
|
|
|
184
|
-
if (this.props.onChange && oldCents != cents)
|
|
185
|
-
this.props.onChange()
|
|
177
|
+
if (this.props.onChange && oldCents != cents) this.props.onChange()
|
|
186
178
|
}
|
|
187
179
|
}))
|
package/src/use-current-user.js
CHANGED
|
@@ -1,27 +1,43 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, {useCallback, useContext, useMemo} from "react"
|
|
2
2
|
import Devise from "./devise"
|
|
3
3
|
import {digg} from "diggerize"
|
|
4
|
+
import EventEmitter from "events"
|
|
4
5
|
import * as inflection from "inflection"
|
|
5
6
|
import Logger from "./logger"
|
|
6
7
|
import Services from "./services"
|
|
7
8
|
import useEventEmitter from "./use-event-emitter"
|
|
8
9
|
import useShape from "set-state-compare/src/use-shape"
|
|
9
10
|
|
|
11
|
+
const events = new EventEmitter()
|
|
10
12
|
const logger = new Logger({name: "ApiMaker / useCurrentUser"})
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
logger.setDebug(false)
|
|
15
|
+
|
|
16
|
+
const useCurrentUser = (props = {}) => {
|
|
17
|
+
const {scope = "user", withData, ...restProps} = props
|
|
18
|
+
|
|
19
|
+
if (Object.keys(restProps).length > 0) {
|
|
20
|
+
throw new Error(`Unknown props given to useCurrentUser: ${Object.keys(restProps).join(", ")}`)
|
|
21
|
+
}
|
|
13
22
|
|
|
14
|
-
const useCurrentUser = (props) => {
|
|
15
|
-
const scope = props?.scope || "user"
|
|
16
23
|
const scopeInstance = Devise.getScope(scope)
|
|
17
24
|
const currentUserContext = useContext(scopeInstance.getContext())
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
if (withData) {
|
|
27
|
+
return currentUserContext
|
|
28
|
+
} else {
|
|
29
|
+
return currentUserContext.model
|
|
30
|
+
}
|
|
20
31
|
}
|
|
21
32
|
|
|
22
|
-
const WithCurrentUser = (props) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
33
|
+
const WithCurrentUser = (props = {}) => {
|
|
34
|
+
const {children, scope = "user", ...restProps} = props
|
|
35
|
+
|
|
36
|
+
if (Object.keys(restProps).length > 0) {
|
|
37
|
+
throw new Error(`Unknown props given to WithCurrentUser: ${Object.keys(restProps).join(", ")}`)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const s = useShape(props)
|
|
25
41
|
const scopeName = `current${inflection.camelize(scope)}`
|
|
26
42
|
const scopeInstance = Devise.getScope(scope)
|
|
27
43
|
const ScopeContext = scopeInstance.getContext()
|
|
@@ -41,9 +57,14 @@ const WithCurrentUser = (props) => {
|
|
|
41
57
|
|
|
42
58
|
if (current) Devise.updateSession(current)
|
|
43
59
|
|
|
44
|
-
s.set({
|
|
60
|
+
s.set({
|
|
61
|
+
result: {
|
|
62
|
+
loaded: true,
|
|
63
|
+
model: current
|
|
64
|
+
}
|
|
65
|
+
})
|
|
45
66
|
|
|
46
|
-
|
|
67
|
+
events.emit("currentUserLoaded", {current})
|
|
47
68
|
}, [])
|
|
48
69
|
|
|
49
70
|
const defaultCurrentUser = useCallback(() => {
|
|
@@ -60,17 +81,27 @@ const WithCurrentUser = (props) => {
|
|
|
60
81
|
logger.debug(() => `Setting ${scope} from global current scope: ${current?.id()}`)
|
|
61
82
|
}
|
|
62
83
|
|
|
63
|
-
if (current
|
|
64
|
-
|
|
84
|
+
if (current) {
|
|
85
|
+
events.emit("currentUserLoaded", {current})
|
|
65
86
|
}
|
|
66
87
|
|
|
67
88
|
return current
|
|
68
89
|
}, [])
|
|
69
90
|
|
|
70
|
-
s.useStates({
|
|
91
|
+
s.useStates({
|
|
92
|
+
result: () => ({
|
|
93
|
+
loaded: false,
|
|
94
|
+
model: defaultCurrentUser()
|
|
95
|
+
})
|
|
96
|
+
})
|
|
71
97
|
|
|
72
98
|
const updateCurrentUser = useCallback(() => {
|
|
73
|
-
s.set({
|
|
99
|
+
s.set({
|
|
100
|
+
result: {
|
|
101
|
+
loaded: true,
|
|
102
|
+
model: Devise[s.m.scopeName]()
|
|
103
|
+
}
|
|
104
|
+
})
|
|
74
105
|
}, [])
|
|
75
106
|
|
|
76
107
|
useMemo(() => {
|
|
@@ -92,11 +123,11 @@ const WithCurrentUser = (props) => {
|
|
|
92
123
|
useEventEmitter(Devise.events(), "onDeviseSignOut", onDeviseSignOut)
|
|
93
124
|
|
|
94
125
|
return (
|
|
95
|
-
<ScopeContext.Provider value={s.s.
|
|
96
|
-
{
|
|
126
|
+
<ScopeContext.Provider value={s.s.result}>
|
|
127
|
+
{children}
|
|
97
128
|
</ScopeContext.Provider>
|
|
98
129
|
)
|
|
99
130
|
}
|
|
100
131
|
|
|
101
|
-
export {WithCurrentUser}
|
|
132
|
+
export {events, WithCurrentUser}
|
|
102
133
|
export default useCurrentUser
|