@fgv/ts-json 1.0.1 → 1.8.1
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/LICENSE +0 -0
- package/README.md +0 -0
- package/common.d.ts +3 -3
- package/common.js +10 -10
- package/contextHelpers.d.ts +0 -0
- package/contextHelpers.js +10 -10
- package/converters.d.ts +0 -0
- package/converters.js +0 -0
- package/file.d.ts +1 -1
- package/file.js +16 -12
- package/index.d.ts +0 -0
- package/index.js +6 -2
- package/jsonContext.d.ts +4 -4
- package/jsonContext.js +2 -2
- package/jsonConverter.d.ts +5 -5
- package/jsonConverter.js +16 -16
- package/jsonEditor/index.d.ts +0 -0
- package/jsonEditor/index.js +6 -2
- package/jsonEditor/jsonEditor.d.ts +5 -5
- package/jsonEditor/jsonEditor.js +43 -43
- package/jsonEditor/jsonEditorRule.d.ts +2 -2
- package/jsonEditor/jsonEditorRule.js +4 -4
- package/jsonEditor/jsonEditorState.d.ts +3 -3
- package/jsonEditor/jsonEditorState.js +9 -9
- package/jsonEditor/rules/conditional.d.ts +0 -0
- package/jsonEditor/rules/conditional.js +13 -13
- package/jsonEditor/rules/index.d.ts +0 -0
- package/jsonEditor/rules/index.js +6 -2
- package/jsonEditor/rules/multivalue.d.ts +0 -0
- package/jsonEditor/rules/multivalue.js +9 -9
- package/jsonEditor/rules/references.d.ts +0 -0
- package/jsonEditor/rules/references.js +9 -9
- package/jsonEditor/rules/templates.d.ts +0 -0
- package/jsonEditor/rules/templates.js +8 -8
- package/jsonReferenceMap.d.ts +1 -1
- package/jsonReferenceMap.js +25 -25
- package/package.json +14 -14
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DetailedResult } from '@fgv/ts-utils';
|
|
2
2
|
import { JsonObject, JsonValue } from '../common';
|
|
3
3
|
import { JsonEditorState } from './jsonEditorState';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
4
|
+
export type JsonEditFailureReason = 'ignore' | 'inapplicable' | 'edited' | 'error';
|
|
5
|
+
export type JsonPropertyEditFailureReason = JsonEditFailureReason | 'deferred';
|
|
6
6
|
export interface JsonEditorRule {
|
|
7
7
|
/**
|
|
8
8
|
* Called by a JSON editor to possibly edit one of the properties being merged into a target object.
|
|
@@ -31,14 +31,14 @@ class JsonEditorRuleBase {
|
|
|
31
31
|
// istanbul ignore next
|
|
32
32
|
editProperty(_key, _value, _state) {
|
|
33
33
|
// istanbul ignore next
|
|
34
|
-
return ts_utils_1.failWithDetail('inapplicable', 'inapplicable');
|
|
34
|
+
return (0, ts_utils_1.failWithDetail)('inapplicable', 'inapplicable');
|
|
35
35
|
}
|
|
36
36
|
editValue(_value, _state) {
|
|
37
|
-
return ts_utils_1.failWithDetail('inapplicable', 'inapplicable');
|
|
37
|
+
return (0, ts_utils_1.failWithDetail)('inapplicable', 'inapplicable');
|
|
38
38
|
}
|
|
39
39
|
finalizeProperties(_deferred, _state) {
|
|
40
|
-
return ts_utils_1.failWithDetail('inapplicable', 'inapplicable');
|
|
40
|
+
return (0, ts_utils_1.failWithDetail)('inapplicable', 'inapplicable');
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
exports.JsonEditorRuleBase = JsonEditorRuleBase;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkVkaXRvclJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbkVkaXRvci9qc29uRWRpdG9yUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCw0Q0FBK0Q7QUE4Qy9EOzs7R0FHRztBQUNILE1BQWEsa0JBQWtCO0lBQzNCLHVCQUF1QjtJQUNoQixZQUFZLENBQUMsSUFBWSxFQUFFLE1BQWlCLEVBQUUsTUFBdUI7UUFDeEUsdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBQSx5QkFBYyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWlCLEVBQUUsTUFBdUI7UUFDdkQsT0FBTyxJQUFBLHlCQUFjLEVBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxTQUF1QixFQUFFLE1BQXVCO1FBQ3RFLE9BQU8sSUFBQSx5QkFBYyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0o7QUFkRCxnREFjQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBEZXRhaWxlZFJlc3VsdCwgZmFpbFdpdGhEZXRhaWwgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IEpzb25PYmplY3QsIEpzb25WYWx1ZSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmltcG9ydCB7IEpzb25FZGl0b3JTdGF0ZSB9IGZyb20gJy4vanNvbkVkaXRvclN0YXRlJztcblxuZXhwb3J0IHR5cGUgSnNvbkVkaXRGYWlsdXJlUmVhc29uID0gJ2lnbm9yZSd8J2luYXBwbGljYWJsZSd8J2VkaXRlZCd8J2Vycm9yJztcbmV4cG9ydCB0eXBlIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uID0gSnNvbkVkaXRGYWlsdXJlUmVhc29ufCdkZWZlcnJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkVkaXRvclJ1bGUge1xuICAgIC8qKlxuICAgICAqIENhbGxlZCBieSBhIEpTT04gZWRpdG9yIHRvIHBvc3NpYmx5IGVkaXQgb25lIG9mIHRoZSBwcm9wZXJ0aWVzIGJlaW5nIG1lcmdlZCBpbnRvIGEgdGFyZ2V0IG9iamVjdC5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGJlIGVkaXRlZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGJlIGVkaXRlZFxuICAgICAqIEBwYXJhbSBzdGF0ZSBFZGl0b3Igc3RhdGUgd2hpY2ggYXBwbGllcyB0byB0aGUgZWRpdFxuICAgICAqIEByZXR1cm5zIElmIHRoZSBwcm9wZXJ0eSB3YXMgZWRpdGVkLCByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGVkaXRlZCByZXN1bHRzXG4gICAgICogYW5kIHdpdGggZGV0YWlsICdlZGl0ZWQnLiBJZiB0aGlzIHByb3BlcnR5IHNob3VsZCBiZSBkZWZlcnJlZCBmb3IgbGF0ZXIgY29uc2lkZXJhdGlvbiBvciBtZXJnLCBTdWNjZWVkc1xuICAgICAqIHdpdGggZGV0YWlsICdkZWZlcnJlZCcgYW5kIGFuIEpzb25PYmplY3QgdG8gYmUgZmluYWxpemVkLiAgSWYgdGhlIHJ1bGUgZG9lcyBub3QgYWZmZWN0IHRoaXMgcHJvcGVydHksXG4gICAgICogZmFpbHMgd2l0aCBkZXRhaWwgJ2luYXBwbGljYWJsZScuIElmIGFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGVycm9yLCByZXR1cm5zIEZhaWx1cmUgd2l0aFxuICAgICAqIGRldGFpbCAnZXJyb3InLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgIGVkaXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IEpzb25WYWx1ZSwgc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3QsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPjtcblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBieSBhIEpTT04gZWRpdG9yIHRvIHBvc3NpYmx5IGVkaXQgYSBwcm9wZXJ0eSB2YWx1ZSBvciBhcnJheSBlbGVtZW50XG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBlZGl0ZWRcbiAgICAgKiBAcGFyYW0gc3RhdGUgRWRpdG9yIHN0YXRlIHdoaWNoIGFwcGxpZXMgdG8gdGhlIGVkaXRcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIHN1Y2Nlc3Mgd2l0aCB0aGUgSnNvblZhbHVlIHRvIGJlIGluc2VydGVkLCB3aXRoIGRldGFpbCAnZWRpdGVkJyBpZiB0aGUgdmFsdWUgd2FzXG4gICAgICogZWRpdGVkLiAgUmV0dXJucyBmYWlsdXJlIHdpdGggJ2luYXBwbGljYWJsZScgaWYgdGhlIHJ1bGUgZG9lcyBub3QgYWZmZWN0IHRoaXMgdmFsdWUuICBGYWlscyB3aXRoXG4gICAgICogZGV0YWlsICdpZ25vcmUnIGlmIHRoZSB2YWx1ZSBpcyB0byBiZSBpZ25vcmVkLCBvciB3aXRoICdlcnJvcicgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIGVkaXRWYWx1ZSh2YWx1ZTogSnNvblZhbHVlLCBzdGF0ZTogSnNvbkVkaXRvclN0YXRlKTogRGV0YWlsZWRSZXN1bHQ8SnNvblZhbHVlLCBKc29uRWRpdEZhaWx1cmVSZWFzb24+O1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGZvciBlYWNoIHJ1bGUgYWZ0ZXIgYWxsIHByb3BlcnRpZXMgaGF2ZSBiZWVuIG1lcmdlZC4gIEFueSBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBkZWZlcnJlZFxuICAgICAqIGR1cmluZyB0aGUgaW5pdGlhbCBlZGl0IHBhc3MgYXJlIHN1cHBsaWVkIGFzIGlucHV0LlxuICAgICAqIEBwYXJhbSBkZWZlcnJlZCBBbnkgb2JqZWN0cyB0aGF0IHdlcmUgZGVmZXJyZWQgZHVyaW5nIHRoZSBmaXJzdCBlZGl0IHBhc3NcbiAgICAgKiBAcGFyYW0gc3RhdGUgRWRpdG9yIHN0YXRlIHdoaWNoIGFwcGxpZXMgdG8gdGhlIGVkaXRcbiAgICAgKiBAcmV0dXJucyBPbiBzdWNjZXNzZnVsIHJldHVybiwgYW55IHJldHVybmVkIG9iamVjdHMgYXJlIG1lcmdlZCBpbiBvcmRlciBhbmQgZmluYWxpemF0aW9uXG4gICAgICogaXMgc3RvcHBlZC4gRmluYWxpemF0aW9uIGlzIGFsc28gc3RvcHBlZCBvbiBGYWlsdXJlIHdpdGggZGV0YWlsICdpZ25vcmUuJyBPbiBmYWlsdXJlXG4gICAgICogd2l0aCBkZXRhaWwgJ2luYXBwbGljYWJsZScsIGZpbmFsaXphdGlvbiBjb250aW51ZXMgd2l0aCB0aGUgbmV4dCBydWxlLiBGYWlscyB3aXRoIGFuXG4gICAgICogZXJyb3IgZGV0YWlsICdlcnJvcicgYW5kIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIGZpbmFsaXplUHJvcGVydGllcyhkZWZlcnJlZDogSnNvbk9iamVjdFtdLCBzdGF0ZTogSnNvbkVkaXRvclN0YXRlKTogRGV0YWlsZWRSZXN1bHQ8SnNvbk9iamVjdFtdLCBKc29uRWRpdEZhaWx1cmVSZWFzb24+O1xufVxuXG4vKipcbiAqIERlZmF1bHQgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBKc29uRWRpdG9yIHJ1bGUgcmV0dXJucyBpbmFwcGxpY2FibGUgZm9yIGFsbCBvcGVyYXRpb25zIHNvIHRoYXRcbiAqIGRlcml2ZWQgY2xhc3NlcyBuZWVkIG9ubHkgaW1wbGVtZW50IHRoZSBvcGVyYXRpb25zIHRoZXkgYWN0dWFsbHkgc3VwcG9ydC5cbiAqL1xuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JSdWxlQmFzZSBpbXBsZW1lbnRzIEpzb25FZGl0b3JSdWxlIHtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgIHB1YmxpYyBlZGl0UHJvcGVydHkoX2tleTogc3RyaW5nLCBfdmFsdWU6IEpzb25WYWx1ZSwgX3N0YXRlOiBKc29uRWRpdG9yU3RhdGUpOiBEZXRhaWxlZFJlc3VsdDxKc29uT2JqZWN0LCBKc29uUHJvcGVydHlFZGl0RmFpbHVyZVJlYXNvbj4ge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwoJ2luYXBwbGljYWJsZScsICdpbmFwcGxpY2FibGUnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdFZhbHVlKF92YWx1ZTogSnNvblZhbHVlLCBfc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25WYWx1ZSwgSnNvbkVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbCgnaW5hcHBsaWNhYmxlJywgJ2luYXBwbGljYWJsZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5hbGl6ZVByb3BlcnRpZXMoX2RlZmVycmVkOiBKc29uT2JqZWN0W10sIF9zdGF0ZTogSnNvbkVkaXRvclN0YXRlKTogRGV0YWlsZWRSZXN1bHQ8SnNvbk9iamVjdFtdLCBKc29uRWRpdEZhaWx1cmVSZWFzb24+IHtcbiAgICAgICAgcmV0dXJuIGZhaWxXaXRoRGV0YWlsKCdpbmFwcGxpY2FibGUnLCAnaW5hcHBsaWNhYmxlJyk7XG4gICAgfVxufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { JsonContext, JsonReferenceMap, TemplateVars, VariableValue } from '../j
|
|
|
3
3
|
import { JsonEditFailureReason } from './jsonEditorRule';
|
|
4
4
|
import { JsonEditor } from './jsonEditor';
|
|
5
5
|
import { JsonObject } from '../common';
|
|
6
|
-
export
|
|
6
|
+
export type JsonEditorValidationRules = 'invalidPropertyName' | 'invalidPropertyValue' | 'undefinedPropertyValue';
|
|
7
7
|
export interface JsonEditorValidationOptions {
|
|
8
8
|
/**
|
|
9
9
|
* If onInvalidPropertyName is 'error' (default) then any property name
|
|
@@ -34,14 +34,14 @@ export interface JsonEditorOptions {
|
|
|
34
34
|
export declare class JsonEditorState {
|
|
35
35
|
protected static _nextId: number;
|
|
36
36
|
readonly editor: JsonEditor;
|
|
37
|
-
get context(): JsonContext | undefined;
|
|
38
37
|
readonly options: JsonEditorOptions;
|
|
39
38
|
protected readonly _deferred: JsonObject[];
|
|
40
39
|
protected readonly _id: number;
|
|
41
40
|
constructor(editor: JsonEditor, baseOptions: JsonEditorOptions, runtimeContext?: JsonContext);
|
|
41
|
+
get context(): JsonContext | undefined;
|
|
42
|
+
get deferred(): JsonObject[];
|
|
42
43
|
protected static _getEffectiveOptions(options: JsonEditorOptions, context?: JsonContext): Result<JsonEditorOptions>;
|
|
43
44
|
defer(obj: JsonObject): void;
|
|
44
|
-
get deferred(): JsonObject[];
|
|
45
45
|
getVars(defaultContext?: JsonContext): TemplateVars | undefined;
|
|
46
46
|
getRefs(defaultContext?: JsonContext): JsonReferenceMap | undefined;
|
|
47
47
|
getContext(defaultContext?: JsonContext): JsonContext | undefined;
|
|
@@ -28,24 +28,24 @@ class JsonEditorState {
|
|
|
28
28
|
constructor(editor, baseOptions, runtimeContext) {
|
|
29
29
|
this._deferred = [];
|
|
30
30
|
this.editor = editor;
|
|
31
|
-
this.options = JsonEditorState._getEffectiveOptions(baseOptions, runtimeContext).
|
|
31
|
+
this.options = JsonEditorState._getEffectiveOptions(baseOptions, runtimeContext).orThrow();
|
|
32
32
|
this._id = JsonEditorState._nextId++;
|
|
33
33
|
}
|
|
34
34
|
get context() { return this.options.context; }
|
|
35
|
+
get deferred() {
|
|
36
|
+
return this._deferred;
|
|
37
|
+
}
|
|
35
38
|
static _getEffectiveOptions(options, context) {
|
|
36
39
|
if (!context) {
|
|
37
|
-
return ts_utils_1.succeed(options);
|
|
40
|
+
return (0, ts_utils_1.succeed)(options);
|
|
38
41
|
}
|
|
39
42
|
return contextHelpers_1.JsonContextHelper.mergeContext(options.context, context).onSuccess((merged) => {
|
|
40
|
-
return ts_utils_1.succeed({ context: merged, validation: options.validation });
|
|
43
|
+
return (0, ts_utils_1.succeed)({ context: merged, validation: options.validation });
|
|
41
44
|
});
|
|
42
45
|
}
|
|
43
46
|
defer(obj) {
|
|
44
47
|
this._deferred.push(obj);
|
|
45
48
|
}
|
|
46
|
-
get deferred() {
|
|
47
|
-
return this._deferred;
|
|
48
|
-
}
|
|
49
49
|
getVars(defaultContext) {
|
|
50
50
|
var _a, _b;
|
|
51
51
|
return (_b = (_a = this.options.context) === null || _a === void 0 ? void 0 : _a.vars) !== null && _b !== void 0 ? _b : defaultContext === null || defaultContext === void 0 ? void 0 : defaultContext.vars;
|
|
@@ -55,7 +55,7 @@ class JsonEditorState {
|
|
|
55
55
|
return (_b = (_a = this.options.context) === null || _a === void 0 ? void 0 : _a.refs) !== null && _b !== void 0 ? _b : defaultContext === null || defaultContext === void 0 ? void 0 : defaultContext.refs;
|
|
56
56
|
}
|
|
57
57
|
getContext(defaultContext) {
|
|
58
|
-
return contextHelpers_1.JsonContextHelper.mergeContext(defaultContext, this.options.context).
|
|
58
|
+
return contextHelpers_1.JsonContextHelper.mergeContext(defaultContext, this.options.context).orDefault();
|
|
59
59
|
}
|
|
60
60
|
extendContext(baseContext, add) {
|
|
61
61
|
const context = this.getContext(baseContext);
|
|
@@ -78,9 +78,9 @@ class JsonEditorState {
|
|
|
78
78
|
break;
|
|
79
79
|
}
|
|
80
80
|
// istanbul ignore next
|
|
81
|
-
return ts_utils_1.failWithDetail(message !== null && message !== void 0 ? message : rule, detail);
|
|
81
|
+
return (0, ts_utils_1.failWithDetail)(message !== null && message !== void 0 ? message : rule, detail);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
exports.JsonEditorState = JsonEditorState;
|
|
85
85
|
JsonEditorState._nextId = 0;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkVkaXRvclN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb25FZGl0b3IvanNvbkVkaXRvclN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDRDQUFpRjtBQUlqRixzREFBc0Q7QUFxQ3RELE1BQWEsZUFBZTtJQVV4QixZQUFtQixNQUFrQixFQUFFLFdBQThCLEVBQUUsY0FBNEI7UUFIaEYsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFJNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFURCxJQUFXLE9BQU8sS0FBNEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFXbEUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQTBCLEVBQUUsT0FBcUI7UUFDbkYsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sa0JBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sa0NBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakYsT0FBTyxrQkFBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRU0sT0FBTyxDQUFDLGNBQTRCOztRQUN2QyxPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsSUFBSSxDQUFDO0lBQzlELENBQUM7SUFFTSxPQUFPLENBQUMsY0FBNEI7O1FBQ3ZDLE9BQU8sTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTywwQ0FBRSxJQUFJLG1DQUFJLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLENBQUM7SUFDOUQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxjQUE0QjtRQUMxQyxPQUFPLGtDQUFpQixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3BHLENBQUM7SUFFTSxhQUFhLENBQUMsV0FBa0MsRUFBRSxHQUEwRDtRQUMvRyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sa0NBQWlCLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sY0FBYyxDQUNqQixJQUErQixFQUMvQixPQUFnQixFQUNoQixVQUF3QztRQUV4QyxJQUFJLE1BQU0sR0FBa0MsT0FBTyxDQUFDO1FBQ3BELE1BQU0sU0FBUyxHQUFHLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hELFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxxQkFBcUI7Z0JBQ3RCLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7Z0JBQ25GLE1BQU07WUFDVixLQUFLLHNCQUFzQjtnQkFDdkIsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLHNCQUFzQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDOUUsTUFBTTtZQUNWLEtBQUssd0JBQXdCO2dCQUN6QixNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUMvRSx1QkFBdUI7Z0JBQ3ZCLE9BQU8sR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxrQ0FBa0MsQ0FBQztnQkFDeEQsTUFBTTtTQUNiO1FBQ0QsdUJBQXVCO1FBQ3ZCLE9BQU8seUJBQWMsQ0FBQyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7QUF4RUwsMENBeUVDO0FBeEVvQix1QkFBTyxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBEZXRhaWxlZEZhaWx1cmUsIFJlc3VsdCwgZmFpbFdpdGhEZXRhaWwsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IEpzb25Db250ZXh0LCBKc29uUmVmZXJlbmNlTWFwLCBUZW1wbGF0ZVZhcnMsIFZhcmlhYmxlVmFsdWUgfSBmcm9tICcuLi9qc29uQ29udGV4dCc7XG5pbXBvcnQgeyBKc29uRWRpdEZhaWx1cmVSZWFzb24sIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uIH0gZnJvbSAnLi9qc29uRWRpdG9yUnVsZSc7XG5cbmltcG9ydCB7IEpzb25Db250ZXh0SGVscGVyIH0gZnJvbSAnLi4vY29udGV4dEhlbHBlcnMnO1xuaW1wb3J0IHsgSnNvbkVkaXRvciB9IGZyb20gJy4vanNvbkVkaXRvcic7XG5pbXBvcnQgeyBKc29uT2JqZWN0IH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IHR5cGUgSnNvbkVkaXRvclZhbGlkYXRpb25SdWxlcyA9ICdpbnZhbGlkUHJvcGVydHlOYW1lJ3wnaW52YWxpZFByb3BlcnR5VmFsdWUnfCd1bmRlZmluZWRQcm9wZXJ0eVZhbHVlJztcblxuZXhwb3J0IGludGVyZmFjZSBKc29uRWRpdG9yVmFsaWRhdGlvbk9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIElmIG9uSW52YWxpZFByb3BlcnR5TmFtZSBpcyAnZXJyb3InIChkZWZhdWx0KSB0aGVuIGFueSBwcm9wZXJ0eSBuYW1lXG4gICAgICogdGhhdCBpcyBpbnZhbGlkIGFmdGVyIHRlbXBsYXRlIHJlbmRlcmluZyBjYXVzZXMgYW4gZXJyb3IgYW5kIHN0b3BzXG4gICAgICogY29udmVyc2lvbi4gIElmIG9uSW52YWxpZFByb3BlcnR5TmFtZSBpcyAnaWdub3JlJywgdGhlbiBuYW1lcyB3aGljaFxuICAgICAqIGFyZSBpbnZhbGlkIGFmdGVyIHRlbXBsYXRlIHJlbmRlcmluZyBhcmUgcGFzc2VkIHRocm91Z2ggdW5jaGFuZ2VkLlxuICAgICAqL1xuICAgIG9uSW52YWxpZFByb3BlcnR5TmFtZTogJ2Vycm9yJ3wnaWdub3JlJztcblxuICAgIC8qKlxuICAgICAqIElmIG9uSW52YWxpZFByb3BlcnR5VmFsdWUgaXMgJ2Vycm9yJyAoZGVmYXVsdCkgdGhlbiBhbnkgaWxsZWdhbFxuICAgICAqIHByb3BlcnR5IHZhbHVlIG90aGVyIHRoYW4gdW5kZWZpbmVkIGNhdXNlcyBhbiBlcnJvciBhbmQgc3RvcHNcbiAgICAgKiBjb252ZXJzaW9uLiAgSWYgb25JbnZhbGlkUHJvcGVydHlWYWx1ZSBpcyAnaWdub3JlJyB0aGVuIGFueVxuICAgICAqIGludmFsaWQgcHJvcGVydHkgdmFsdWVzIGFyZSBzaWxlbnRseSBpZ25vcmVkLlxuICAgICAqL1xuICAgIG9uSW52YWxpZFByb3BlcnR5VmFsdWU6ICdlcnJvcid8J2lnbm9yZSc7XG5cbiAgICAvKipcbiAgICAgKiBJZiBvblVua25vd25Qcm9wZXJ0eVZhbHVlIGlzIGVycm9yLCB0aGVuIGFueSBwcm9wZXJ0eSB3aXRoXG4gICAgICogdmFsdWUgdW5kZWZpbmVkIHdpbGwgY2F1c2UgYW4gZXJyb3IgYW5kIHN0b3AgY29udmVyc2lvbi4gIElmXG4gICAgICogb25VbmRlZmluZWRQcm9wZXJ0eVZhbHVlIGlzICdpZ25vcmUnIChkZWZhdWx0KSB0aGVuIGFueVxuICAgICAqIHByb3BlcnR5IHdpdGggdmFsdWUgdW5kZWZpbmVkIGlzIHNpbGVudGx5IGlnbm9yZWQuXG4gICAgICovXG4gICAgb25VbmRlZmluZWRQcm9wZXJ0eVZhbHVlOiAnZXJyb3InfCdpZ25vcmUnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzb25FZGl0b3JPcHRpb25zIHtcbiAgICBjb250ZXh0PzogSnNvbkNvbnRleHQ7XG4gICAgdmFsaWRhdGlvbjogSnNvbkVkaXRvclZhbGlkYXRpb25PcHRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgSnNvbkVkaXRvclN0YXRlIHtcbiAgICBwcm90ZWN0ZWQgc3RhdGljIF9uZXh0SWQgPSAwO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvcjogSnNvbkVkaXRvcjtcblxuICAgIHB1YmxpYyBnZXQgY29udGV4dCgpOiBKc29uQ29udGV4dHx1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5vcHRpb25zLmNvbnRleHQ7IH1cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnM7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kZWZlcnJlZDogSnNvbk9iamVjdFtdID0gW107XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pZDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGVkaXRvcjogSnNvbkVkaXRvciwgYmFzZU9wdGlvbnM6IEpzb25FZGl0b3JPcHRpb25zLCBydW50aW1lQ29udGV4dD86IEpzb25Db250ZXh0KSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBKc29uRWRpdG9yU3RhdGUuX2dldEVmZmVjdGl2ZU9wdGlvbnMoYmFzZU9wdGlvbnMsIHJ1bnRpbWVDb250ZXh0KS5nZXRWYWx1ZU9yVGhyb3coKTtcbiAgICAgICAgdGhpcy5faWQgPSBKc29uRWRpdG9yU3RhdGUuX25leHRJZCsrO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGF0aWMgX2dldEVmZmVjdGl2ZU9wdGlvbnMob3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnMsIGNvbnRleHQ/OiBKc29uQ29udGV4dCk6IFJlc3VsdDxKc29uRWRpdG9yT3B0aW9ucz4ge1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBKc29uQ29udGV4dEhlbHBlci5tZXJnZUNvbnRleHQob3B0aW9ucy5jb250ZXh0LCBjb250ZXh0KS5vblN1Y2Nlc3MoKG1lcmdlZCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoeyBjb250ZXh0OiBtZXJnZWQsIHZhbGlkYXRpb246IG9wdGlvbnMudmFsaWRhdGlvbiB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlZmVyKG9iajogSnNvbk9iamVjdCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZWZlcnJlZC5wdXNoKG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZWZlcnJlZCgpOiBKc29uT2JqZWN0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmZXJyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFZhcnMoZGVmYXVsdENvbnRleHQ/OiBKc29uQ29udGV4dCk6IFRlbXBsYXRlVmFyc3x1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmNvbnRleHQ/LnZhcnMgPz8gZGVmYXVsdENvbnRleHQ/LnZhcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlZnMoZGVmYXVsdENvbnRleHQ/OiBKc29uQ29udGV4dCk6IEpzb25SZWZlcmVuY2VNYXB8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb250ZXh0Py5yZWZzID8/IGRlZmF1bHRDb250ZXh0Py5yZWZzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb250ZXh0KGRlZmF1bHRDb250ZXh0PzogSnNvbkNvbnRleHQpOiBKc29uQ29udGV4dHx1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gSnNvbkNvbnRleHRIZWxwZXIubWVyZ2VDb250ZXh0KGRlZmF1bHRDb250ZXh0LCB0aGlzLm9wdGlvbnMuY29udGV4dCkuZ2V0VmFsdWVPckRlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXh0ZW5kQ29udGV4dChiYXNlQ29udGV4dDogSnNvbkNvbnRleHR8dW5kZWZpbmVkLCBhZGQ6IHsgdmFycz86IFZhcmlhYmxlVmFsdWVbXSwgcmVmcz86IEpzb25SZWZlcmVuY2VNYXBbXSB9KTogUmVzdWx0PEpzb25Db250ZXh0fHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KGJhc2VDb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIEpzb25Db250ZXh0SGVscGVyLmV4dGVuZENvbnRleHQoY29udGV4dCwgYWRkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmFpbFZhbGlkYXRpb248VD1Kc29uT2JqZWN0PihcbiAgICAgICAgcnVsZTogSnNvbkVkaXRvclZhbGlkYXRpb25SdWxlcyxcbiAgICAgICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICAgICAgdmFsaWRhdGlvbj86IEpzb25FZGl0b3JWYWxpZGF0aW9uT3B0aW9ucyxcbiAgICApOiBEZXRhaWxlZEZhaWx1cmU8VCwgSnNvbkVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGxldCBkZXRhaWw6IEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uID0gJ2Vycm9yJztcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlID0gdmFsaWRhdGlvbiA/PyB0aGlzLm9wdGlvbnMudmFsaWRhdGlvbjtcbiAgICAgICAgc3dpdGNoIChydWxlKSB7XG4gICAgICAgICAgICBjYXNlICdpbnZhbGlkUHJvcGVydHlOYW1lJzpcbiAgICAgICAgICAgICAgICBkZXRhaWwgPSAoZWZmZWN0aXZlLm9uSW52YWxpZFByb3BlcnR5TmFtZSAhPT0gJ2lnbm9yZScpID8gJ2Vycm9yJyA6ICdpbmFwcGxpY2FibGUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaW52YWxpZFByb3BlcnR5VmFsdWUnOlxuICAgICAgICAgICAgICAgIGRldGFpbCA9IChlZmZlY3RpdmUub25JbnZhbGlkUHJvcGVydHlWYWx1ZSAhPT0gJ2lnbm9yZScpID8gJ2Vycm9yJyA6ICdpZ25vcmUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkUHJvcGVydHlWYWx1ZSc6XG4gICAgICAgICAgICAgICAgZGV0YWlsID0gKGVmZmVjdGl2ZS5vblVuZGVmaW5lZFByb3BlcnR5VmFsdWUgIT09ICdlcnJvcicpID8gJ2lnbm9yZScgOiAnZXJyb3InO1xuICAgICAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UgPz8gJ0Nhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCB0byBKU09OJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwobWVzc2FnZSA/PyBydWxlLCBkZXRhaWwpO1xuICAgIH1cbn1cbiJdfQ==
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkVkaXRvclN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb25FZGl0b3IvanNvbkVkaXRvclN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDRDQUFpRjtBQUlqRixzREFBc0Q7QUFxQ3RELE1BQWEsZUFBZTtJQVN4QixZQUFtQixNQUFrQixFQUFFLFdBQThCLEVBQUUsY0FBNEI7UUFIaEYsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFJNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNGLElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLE9BQU8sS0FBNEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFNUUsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFUyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBMEIsRUFBRSxPQUFxQjtRQUNuRixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFBLGtCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLGtDQUFpQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pGLE9BQU8sSUFBQSxrQkFBTyxFQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLE9BQU8sQ0FBQyxjQUE0Qjs7UUFDdkMsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLDBDQUFFLElBQUksbUNBQUksY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksQ0FBQztJQUM5RCxDQUFDO0lBRU0sT0FBTyxDQUFDLGNBQTRCOztRQUN2QyxPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsSUFBSSxDQUFDO0lBQzlELENBQUM7SUFFTSxVQUFVLENBQUMsY0FBNEI7UUFDMUMsT0FBTyxrQ0FBaUIsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUYsQ0FBQztJQUVNLGFBQWEsQ0FBQyxXQUFrQyxFQUFFLEdBQTBEO1FBQy9HLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsT0FBTyxrQ0FBaUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxjQUFjLENBQ2pCLElBQStCLEVBQy9CLE9BQWdCLEVBQ2hCLFVBQXdDO1FBRXhDLElBQUksTUFBTSxHQUFrQyxPQUFPLENBQUM7UUFDcEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxhQUFWLFVBQVUsY0FBVixVQUFVLEdBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLHFCQUFxQjtnQkFDdEIsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztnQkFDbkYsTUFBTTtZQUNWLEtBQUssc0JBQXNCO2dCQUN2QixNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUM5RSxNQUFNO1lBQ1YsS0FBSyx3QkFBd0I7Z0JBQ3pCLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQy9FLHVCQUF1QjtnQkFDdkIsT0FBTyxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLGtDQUFrQyxDQUFDO2dCQUN4RCxNQUFNO1NBQ2I7UUFDRCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFBLHlCQUFjLEVBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBekVMLDBDQTBFQztBQXpFb0IsdUJBQU8sR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRGV0YWlsZWRGYWlsdXJlLCBSZXN1bHQsIGZhaWxXaXRoRGV0YWlsLCBzdWNjZWVkIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBKc29uQ29udGV4dCwgSnNvblJlZmVyZW5jZU1hcCwgVGVtcGxhdGVWYXJzLCBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi4vanNvbkNvbnRleHQnO1xuaW1wb3J0IHsgSnNvbkVkaXRGYWlsdXJlUmVhc29uLCBKc29uUHJvcGVydHlFZGl0RmFpbHVyZVJlYXNvbiB9IGZyb20gJy4vanNvbkVkaXRvclJ1bGUnO1xuXG5pbXBvcnQgeyBKc29uQ29udGV4dEhlbHBlciB9IGZyb20gJy4uL2NvbnRleHRIZWxwZXJzJztcbmltcG9ydCB7IEpzb25FZGl0b3IgfSBmcm9tICcuL2pzb25FZGl0b3InO1xuaW1wb3J0IHsgSnNvbk9iamVjdCB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIEpzb25FZGl0b3JWYWxpZGF0aW9uUnVsZXMgPSAnaW52YWxpZFByb3BlcnR5TmFtZSd8J2ludmFsaWRQcm9wZXJ0eVZhbHVlJ3wndW5kZWZpbmVkUHJvcGVydHlWYWx1ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkVkaXRvclZhbGlkYXRpb25PcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBJZiBvbkludmFsaWRQcm9wZXJ0eU5hbWUgaXMgJ2Vycm9yJyAoZGVmYXVsdCkgdGhlbiBhbnkgcHJvcGVydHkgbmFtZVxuICAgICAqIHRoYXQgaXMgaW52YWxpZCBhZnRlciB0ZW1wbGF0ZSByZW5kZXJpbmcgY2F1c2VzIGFuIGVycm9yIGFuZCBzdG9wc1xuICAgICAqIGNvbnZlcnNpb24uICBJZiBvbkludmFsaWRQcm9wZXJ0eU5hbWUgaXMgJ2lnbm9yZScsIHRoZW4gbmFtZXMgd2hpY2hcbiAgICAgKiBhcmUgaW52YWxpZCBhZnRlciB0ZW1wbGF0ZSByZW5kZXJpbmcgYXJlIHBhc3NlZCB0aHJvdWdoIHVuY2hhbmdlZC5cbiAgICAgKi9cbiAgICBvbkludmFsaWRQcm9wZXJ0eU5hbWU6ICdlcnJvcid8J2lnbm9yZSc7XG5cbiAgICAvKipcbiAgICAgKiBJZiBvbkludmFsaWRQcm9wZXJ0eVZhbHVlIGlzICdlcnJvcicgKGRlZmF1bHQpIHRoZW4gYW55IGlsbGVnYWxcbiAgICAgKiBwcm9wZXJ0eSB2YWx1ZSBvdGhlciB0aGFuIHVuZGVmaW5lZCBjYXVzZXMgYW4gZXJyb3IgYW5kIHN0b3BzXG4gICAgICogY29udmVyc2lvbi4gIElmIG9uSW52YWxpZFByb3BlcnR5VmFsdWUgaXMgJ2lnbm9yZScgdGhlbiBhbnlcbiAgICAgKiBpbnZhbGlkIHByb3BlcnR5IHZhbHVlcyBhcmUgc2lsZW50bHkgaWdub3JlZC5cbiAgICAgKi9cbiAgICBvbkludmFsaWRQcm9wZXJ0eVZhbHVlOiAnZXJyb3InfCdpZ25vcmUnO1xuXG4gICAgLyoqXG4gICAgICogSWYgb25Vbmtub3duUHJvcGVydHlWYWx1ZSBpcyBlcnJvciwgdGhlbiBhbnkgcHJvcGVydHkgd2l0aFxuICAgICAqIHZhbHVlIHVuZGVmaW5lZCB3aWxsIGNhdXNlIGFuIGVycm9yIGFuZCBzdG9wIGNvbnZlcnNpb24uICBJZlxuICAgICAqIG9uVW5kZWZpbmVkUHJvcGVydHlWYWx1ZSBpcyAnaWdub3JlJyAoZGVmYXVsdCkgdGhlbiBhbnlcbiAgICAgKiBwcm9wZXJ0eSB3aXRoIHZhbHVlIHVuZGVmaW5lZCBpcyBzaWxlbnRseSBpZ25vcmVkLlxuICAgICAqL1xuICAgIG9uVW5kZWZpbmVkUHJvcGVydHlWYWx1ZTogJ2Vycm9yJ3wnaWdub3JlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc29uRWRpdG9yT3B0aW9ucyB7XG4gICAgY29udGV4dD86IEpzb25Db250ZXh0O1xuICAgIHZhbGlkYXRpb246IEpzb25FZGl0b3JWYWxpZGF0aW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JTdGF0ZSB7XG4gICAgcHJvdGVjdGVkIHN0YXRpYyBfbmV4dElkID0gMDtcblxuICAgIHB1YmxpYyByZWFkb25seSBlZGl0b3I6IEpzb25FZGl0b3I7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnM7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kZWZlcnJlZDogSnNvbk9iamVjdFtdID0gW107XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pZDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGVkaXRvcjogSnNvbkVkaXRvciwgYmFzZU9wdGlvbnM6IEpzb25FZGl0b3JPcHRpb25zLCBydW50aW1lQ29udGV4dD86IEpzb25Db250ZXh0KSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBKc29uRWRpdG9yU3RhdGUuX2dldEVmZmVjdGl2ZU9wdGlvbnMoYmFzZU9wdGlvbnMsIHJ1bnRpbWVDb250ZXh0KS5vclRocm93KCk7XG4gICAgICAgIHRoaXMuX2lkID0gSnNvbkVkaXRvclN0YXRlLl9uZXh0SWQrKztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogSnNvbkNvbnRleHR8dW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMub3B0aW9ucy5jb250ZXh0OyB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlZmVycmVkKCk6IEpzb25PYmplY3RbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZlcnJlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIF9nZXRFZmZlY3RpdmVPcHRpb25zKG9wdGlvbnM6IEpzb25FZGl0b3JPcHRpb25zLCBjb250ZXh0PzogSnNvbkNvbnRleHQpOiBSZXN1bHQ8SnNvbkVkaXRvck9wdGlvbnM+IHtcbiAgICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZChvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gSnNvbkNvbnRleHRIZWxwZXIubWVyZ2VDb250ZXh0KG9wdGlvbnMuY29udGV4dCwgY29udGV4dCkub25TdWNjZXNzKChtZXJnZWQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKHsgY29udGV4dDogbWVyZ2VkLCB2YWxpZGF0aW9uOiBvcHRpb25zLnZhbGlkYXRpb24gfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWZlcihvYmo6IEpzb25PYmplY3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVmZXJyZWQucHVzaChvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYXJzKGRlZmF1bHRDb250ZXh0PzogSnNvbkNvbnRleHQpOiBUZW1wbGF0ZVZhcnN8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb250ZXh0Py52YXJzID8/IGRlZmF1bHRDb250ZXh0Py52YXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWZzKGRlZmF1bHRDb250ZXh0PzogSnNvbkNvbnRleHQpOiBKc29uUmVmZXJlbmNlTWFwfHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuY29udGV4dD8ucmVmcyA/PyBkZWZhdWx0Q29udGV4dD8ucmVmcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29udGV4dChkZWZhdWx0Q29udGV4dD86IEpzb25Db250ZXh0KTogSnNvbkNvbnRleHR8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIEpzb25Db250ZXh0SGVscGVyLm1lcmdlQ29udGV4dChkZWZhdWx0Q29udGV4dCwgdGhpcy5vcHRpb25zLmNvbnRleHQpLm9yRGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHRlbmRDb250ZXh0KGJhc2VDb250ZXh0OiBKc29uQ29udGV4dHx1bmRlZmluZWQsIGFkZDogeyB2YXJzPzogVmFyaWFibGVWYWx1ZVtdLCByZWZzPzogSnNvblJlZmVyZW5jZU1hcFtdIH0pOiBSZXN1bHQ8SnNvbkNvbnRleHR8dW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoYmFzZUNvbnRleHQpO1xuICAgICAgICByZXR1cm4gSnNvbkNvbnRleHRIZWxwZXIuZXh0ZW5kQ29udGV4dChjb250ZXh0LCBhZGQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmYWlsVmFsaWRhdGlvbjxUPUpzb25PYmplY3Q+KFxuICAgICAgICBydWxlOiBKc29uRWRpdG9yVmFsaWRhdGlvblJ1bGVzLFxuICAgICAgICBtZXNzYWdlPzogc3RyaW5nLFxuICAgICAgICB2YWxpZGF0aW9uPzogSnNvbkVkaXRvclZhbGlkYXRpb25PcHRpb25zLFxuICAgICk6IERldGFpbGVkRmFpbHVyZTxULCBKc29uRWRpdEZhaWx1cmVSZWFzb24+IHtcbiAgICAgICAgbGV0IGRldGFpbDogSnNvblByb3BlcnR5RWRpdEZhaWx1cmVSZWFzb24gPSAnZXJyb3InO1xuICAgICAgICBjb25zdCBlZmZlY3RpdmUgPSB2YWxpZGF0aW9uID8/IHRoaXMub3B0aW9ucy52YWxpZGF0aW9uO1xuICAgICAgICBzd2l0Y2ggKHJ1bGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2ludmFsaWRQcm9wZXJ0eU5hbWUnOlxuICAgICAgICAgICAgICAgIGRldGFpbCA9IChlZmZlY3RpdmUub25JbnZhbGlkUHJvcGVydHlOYW1lICE9PSAnaWdub3JlJykgPyAnZXJyb3InIDogJ2luYXBwbGljYWJsZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdpbnZhbGlkUHJvcGVydHlWYWx1ZSc6XG4gICAgICAgICAgICAgICAgZGV0YWlsID0gKGVmZmVjdGl2ZS5vbkludmFsaWRQcm9wZXJ0eVZhbHVlICE9PSAnaWdub3JlJykgPyAnZXJyb3InIDogJ2lnbm9yZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1bmRlZmluZWRQcm9wZXJ0eVZhbHVlJzpcbiAgICAgICAgICAgICAgICBkZXRhaWwgPSAoZWZmZWN0aXZlLm9uVW5kZWZpbmVkUHJvcGVydHlWYWx1ZSAhPT0gJ2Vycm9yJykgPyAnaWdub3JlJyA6ICdlcnJvcic7XG4gICAgICAgICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZSA/PyAnQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIHRvIEpTT04nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbChtZXNzYWdlID8/IHJ1bGUsIGRldGFpbCk7XG4gICAgfVxufVxuIl19
|
|
File without changes
|
|
@@ -49,7 +49,7 @@ class ConditionalJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
49
49
|
* @param options Optional configuration options used for this rule
|
|
50
50
|
*/
|
|
51
51
|
static create(options) {
|
|
52
|
-
return ts_utils_1.captureResult(() => new ConditionalJsonEditorRule(options));
|
|
52
|
+
return (0, ts_utils_1.captureResult)(() => new ConditionalJsonEditorRule(options));
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Evaluates a property for conditional application.
|
|
@@ -64,11 +64,11 @@ class ConditionalJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
64
64
|
editProperty(key, value, state) {
|
|
65
65
|
var _a;
|
|
66
66
|
const result = this._tryParseCondition(key, state).onSuccess((deferred) => {
|
|
67
|
-
if (common_1.isJsonObject(value)) {
|
|
67
|
+
if ((0, common_1.isJsonObject)(value)) {
|
|
68
68
|
const rtrn = { ...deferred, value };
|
|
69
|
-
return ts_utils_1.succeedWithDetail(rtrn, 'deferred');
|
|
69
|
+
return (0, ts_utils_1.succeedWithDetail)(rtrn, 'deferred');
|
|
70
70
|
}
|
|
71
|
-
return ts_utils_1.failWithDetail(`${key}: conditional body must be object`, 'error');
|
|
71
|
+
return (0, ts_utils_1.failWithDetail)(`${key}: conditional body must be object`, 'error');
|
|
72
72
|
});
|
|
73
73
|
if (result.isFailure() && (result.detail === 'error')) {
|
|
74
74
|
return state.failValidation('invalidPropertyName', result.message, (_a = this._options) === null || _a === void 0 ? void 0 : _a.validation);
|
|
@@ -88,7 +88,7 @@ class ConditionalJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
88
88
|
toMerge = finalized.filter((o) => (o.matchType === 'match') || (o.matchType === 'unconditional'));
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
return ts_utils_1.succeedWithDetail(toMerge.map((o) => o.value).filter(common_1.isJsonObject), 'edited');
|
|
91
|
+
return (0, ts_utils_1.succeedWithDetail)(toMerge.map((o) => o.value).filter(common_1.isJsonObject), 'edited');
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Determines if a given property key is conditional. Derived classes can override this
|
|
@@ -106,28 +106,28 @@ class ConditionalJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
106
106
|
// ignore everything after any #
|
|
107
107
|
key = key.split('#')[0].trim();
|
|
108
108
|
if (key === '?default') {
|
|
109
|
-
return ts_utils_1.succeedWithDetail({ matchType: 'default' }, 'deferred');
|
|
109
|
+
return (0, ts_utils_1.succeedWithDetail)({ matchType: 'default' }, 'deferred');
|
|
110
110
|
}
|
|
111
111
|
const parts = key.substring(1).split(/(=|>=|<=|>|<|!=)/);
|
|
112
112
|
if (parts.length === 3) {
|
|
113
113
|
if (!this._compare(parts[0].trim(), parts[2].trim(), parts[1])) {
|
|
114
|
-
return ts_utils_1.failWithDetail(`Condition ${key} does not match`, 'ignore');
|
|
114
|
+
return (0, ts_utils_1.failWithDetail)(`Condition ${key} does not match`, 'ignore');
|
|
115
115
|
}
|
|
116
|
-
return ts_utils_1.succeedWithDetail({ matchType: 'match' }, 'deferred');
|
|
116
|
+
return (0, ts_utils_1.succeedWithDetail)({ matchType: 'match' }, 'deferred');
|
|
117
117
|
}
|
|
118
118
|
else if (parts.length === 1) {
|
|
119
119
|
if (parts[0].trim().length === 0) {
|
|
120
|
-
return ts_utils_1.failWithDetail(`Condition ${key} does not match`, 'ignore');
|
|
120
|
+
return (0, ts_utils_1.failWithDetail)(`Condition ${key} does not match`, 'ignore');
|
|
121
121
|
}
|
|
122
|
-
return ts_utils_1.succeedWithDetail({ matchType: 'match' }, 'deferred');
|
|
122
|
+
return (0, ts_utils_1.succeedWithDetail)({ matchType: 'match' }, 'deferred');
|
|
123
123
|
}
|
|
124
124
|
const message = `Malformed condition token ${key}`;
|
|
125
125
|
return state.failValidation('invalidPropertyName', message, (_a = this._options) === null || _a === void 0 ? void 0 : _a.validation);
|
|
126
126
|
}
|
|
127
127
|
else if ((((_b = this._options) === null || _b === void 0 ? void 0 : _b.flattenUnconditionalValues) !== false) && key.startsWith('!')) {
|
|
128
|
-
return ts_utils_1.succeedWithDetail({ matchType: 'unconditional' }, 'deferred');
|
|
128
|
+
return (0, ts_utils_1.succeedWithDetail)({ matchType: 'unconditional' }, 'deferred');
|
|
129
129
|
}
|
|
130
|
-
return ts_utils_1.failWithDetail('inapplicable', 'inapplicable');
|
|
130
|
+
return (0, ts_utils_1.failWithDetail)('inapplicable', 'inapplicable');
|
|
131
131
|
}
|
|
132
132
|
_compare(left, right, operator) {
|
|
133
133
|
switch (operator) {
|
|
@@ -143,4 +143,4 @@ class ConditionalJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
exports.ConditionalJsonEditorRule = ConditionalJsonEditorRule;
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbkVkaXRvci9ydWxlcy9jb25kaXRpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCw0Q0FBeUc7QUFDekcsc0RBQTZHO0FBRTdHLHlDQUFtRTtBQStCbkU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBa0I7SUFHN0Q7OztPQUdHO0lBQ0gsWUFBbUIsT0FBb0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFvQztRQUNyRCxPQUFPLHdCQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxZQUFZLENBQUMsR0FBVyxFQUFFLEtBQWdCLEVBQUUsS0FBc0I7O1FBQ3JFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxxQkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixNQUFNLElBQUksR0FBa0MsRUFBRSxHQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDbkUsT0FBTyw0QkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDOUM7WUFDRCxPQUFPLHlCQUFjLENBQTRDLEdBQUcsR0FBRyxtQ0FBbUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6SCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxJ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QyxDQUFDO1NBQzFGO2FBQ0ksSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSwwQkFBMEIsTUFBSyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25GLE9BQU8sNEJBQWlCLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDeEU7UUFDRCxPQUFPLHlCQUFjLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUyxRQUFRLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFnQjtRQUM1RCxRQUFRLFFBQVEsRUFBRTtZQUNkLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQ2hDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQzlCLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQzlCLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1NBQ3BDO1FBQ0Qsb0NBQW9DO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRGV0YWlsZWRSZXN1bHQsIFJlc3VsdCwgY2FwdHVyZVJlc3VsdCwgZmFpbFdpdGhEZXRhaWwsIHN1Y2NlZWRXaXRoRGV0YWlsIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBKc29uRWRpdEZhaWx1cmVSZWFzb24sIEpzb25FZGl0b3JSdWxlQmFzZSwgSnNvblByb3BlcnR5RWRpdEZhaWx1cmVSZWFzb24gfSBmcm9tICcuLi9qc29uRWRpdG9yUnVsZSc7XG5pbXBvcnQgeyBKc29uRWRpdG9yT3B0aW9ucywgSnNvbkVkaXRvclN0YXRlIH0gZnJvbSAnLi4vanNvbkVkaXRvclN0YXRlJztcbmltcG9ydCB7IEpzb25PYmplY3QsIEpzb25WYWx1ZSwgaXNKc29uT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuLyoqXG4gKiBSZXR1cm5lZCBieSB0aGUgX3RyeU1hdGNoIG1ldGhvZCBvZiB0aGUgQHNlZSBDb25kaXRpb25hbEpzb25FZGl0b3JSdWxlXG4gKiB0byBpbmRpY2F0ZSB3aGV0aGVyIGEgc3VjY2Vzc2Z1bCBtYXRjaCB3YXMgZHVlIHRvIGEgbWF0Y2hpbmcgY29uZGl0aW9uXG4gKiBvciBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uYWxKc29uS2V5UmVzdWx0IGV4dGVuZHMgSnNvbk9iamVjdCB7XG4gICAgbWF0Y2hUeXBlOiAnZGVmYXVsdCd8J21hdGNoJ3wndW5jb25kaXRpb25hbCc7XG59XG5cbi8qKlxuICogT24gYSBzdWNjZXNzZnVsIG1hdGNoLCB0aGUgQHNlZSBDb25kaXRpb25hbEpzb25FZGl0b3JSdWxlIHN0b3JlcyBhXG4gKiBDb25kaXRpb25hbEpzb25EZWZlcnJlZE9iamVjdCBkZXNjcmliaW5nIHRoZSBtYXRjaGluZyByZXN1bHQsIHRvXG4gKiBiZSByZXNvbHZlZCBhdCBmaW5hbGl6YXRpb24gdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25hbEpzb25EZWZlcnJlZE9iamVjdCBleHRlbmRzIENvbmRpdGlvbmFsSnNvbktleVJlc3VsdHtcbiAgICB2YWx1ZTogSnNvblZhbHVlO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIENvbmRpdGlvbmFsIEpTT04gZWRpdG9yIHJ1bGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25hbEpzb25SdWxlT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8SnNvbkVkaXRvck9wdGlvbnM+IHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlIChkZWZhdWx0KSB0aGVuIHByb3BlcnRpZXMgd2l0aCB1bmNvbmRpdGlvbmFsIG5hbWVzXG4gICAgICogKHdoaWNoIHN0YXJ0IHdpdGggISkgYXJlIGZsYXR0ZW5lZC5cbiAgICAgKi9cbiAgICBmbGF0dGVuVW5jb25kaXRpb25hbFZhbHVlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIENvbmRpdGlvbmFsIEpTT04gZWRpdG9yIHJ1bGUgZXZhbHVhdGVzIHByb3BlcnRpZXMgd2l0aCBjb25kaXRpb25hbCBrZXlzLFxuICogb21pdHRpbmcgbm9uLW1hdGNoaW5nIGtleXMgYW5kIG1lcmdpbmcga2V5cyB0aGF0IG1hdGNoLCBvciBkZWZhdWx0IGtleXMgb25seVxuICogaWYgbm8gb3RoZXIga2V5cyBtYXRjaC5cbiAqXG4gKiBUaGUgZGVmYXVsdCBzeW50YXggZm9yIGEgY29uZGl0aW9uYWwga2V5IGlzOlxuICogICAgXCI/dmFsdWUxPXZhbHVlMlwiIC0gbWF0Y2hlcyBpZiB2YWx1ZTEgYW5kIHZhbHVlMiBhcmUgdGhlIHNhbWUsIGlzIGlnbm9yZWQgb3RoZXJ3aXNlLlxuICogICAgXCI/dmFsdWVcIiAtIG1hdGNoZXMgaWYgdmFsdWUgaXMgYSBub24tZW1wdHksIG5vbi13aGl0ZXNwYWNlIHN0cmluZy4gSXMgaWdub3JlZCBvdGhlcndpc2UuXG4gKiAgICBcIj9kZWZhdWx0XCIgLSBtYXRjaGVzIG9ubHkgaWYgbm8gb3RoZXIgY29uZGl0aW9uYWwgYmxvY2tzIGluIHRoZSBzYW1lIG9iamVjdCB3ZXJlIG1hdGNoZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENvbmRpdGlvbmFsSnNvbkVkaXRvclJ1bGUgZXh0ZW5kcyBKc29uRWRpdG9yUnVsZUJhc2Uge1xuICAgIHByb3RlY3RlZCBfb3B0aW9ucz86IENvbmRpdGlvbmFsSnNvblJ1bGVPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBAc2VlIENvbmRpdGlvbmFsSnNvbkVkaXRvclJ1bGVcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgdXNlZCBmb3IgdGhpcyBydWxlXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBDb25kaXRpb25hbEpzb25SdWxlT3B0aW9ucykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IEBzZWUgQ29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB1c2VkIGZvciB0aGlzIHJ1bGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShvcHRpb25zPzogQ29uZGl0aW9uYWxKc29uUnVsZU9wdGlvbnMpOiBSZXN1bHQ8Q29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiBuZXcgQ29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZShvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZhbHVhdGVzIGEgcHJvcGVydHkgZm9yIGNvbmRpdGlvbmFsIGFwcGxpY2F0aW9uLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgY29uc2lkZXJlZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gc3RhdGUgVGhlIGVkaXRvciBzdGF0ZSBmb3IgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWRcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBkZXRhaWwgJ2RlZmVycmVkJyBhbmQgYSBAc2VlIENvbmRpdGlvbmFsSnNvbkRlZmVycmVkT2JqZWN0XG4gICAgICogZm9yIGEgbWF0Y2hpbmcsIGRlZmF1bHQgb3IgdW5jb25kaXRpb25hbCBrZXkuIEZhaWxzIHdpdGggZGV0YWlsICdpZ25vcmUnIGZvciBhXG4gICAgICogbm9uLW1hdGNoaW5nIGNvbmRpdGlvbmFsIGFuZCB3aXRoIGRldGFpbCAnZXJyb3InIGlmIGFuIGVycm9yIG9jY3Vycy4gT3RoZXJ3aXNlXG4gICAgICogZmFpbHMgd2l0aCBkZXRhaWwgJ2luYXBwbGljYWJsZScuXG4gICAgICovXG4gICAgcHVibGljIGVkaXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IEpzb25WYWx1ZSwgc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3QsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3RyeVBhcnNlQ29uZGl0aW9uKGtleSwgc3RhdGUpLm9uU3VjY2VzcygoZGVmZXJyZWQpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0pzb25PYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcnRybjogQ29uZGl0aW9uYWxKc29uRGVmZXJyZWRPYmplY3QgPSB7IC4uLmRlZmVycmVkLCB2YWx1ZSB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbChydHJuLCAnZGVmZXJyZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbDxKc29uT2JqZWN0LCBKc29uUHJvcGVydHlFZGl0RmFpbHVyZVJlYXNvbj4oYCR7a2V5fTogY29uZGl0aW9uYWwgYm9keSBtdXN0IGJlIG9iamVjdGAsICdlcnJvcicpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzdWx0LmlzRmFpbHVyZSgpICYmIChyZXN1bHQuZGV0YWlsID09PSAnZXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmZhaWxWYWxpZGF0aW9uKCdpbnZhbGlkUHJvcGVydHlOYW1lJywgcmVzdWx0Lm1lc3NhZ2UsIHRoaXMuX29wdGlvbnM/LnZhbGlkYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5hbGl6ZXMgYW55IGRlZmVycmVkIGNvbmRpdGlvbmFsIHByb3BlcnRpZXMuIElmIHRoZSBvbmx5IGRlZmVycmVkIHByb3BlcnR5IGlzXG4gICAgICogZGVmYXVsdCwgdGhhdCBwcm9wZXJ0eSBpcyBlbWl0dGVkLiBPdGhlcndpc2UgYWxsIG1hdGNoaW5nIHByb3BlcnRpZXMgYXJlIGVtaXR0ZWQuXG4gICAgICogQHBhcmFtIGZpbmFsaXplZCBUaGUgZGVmZXJyZWQgcHJvcGVydGllcyB0byBiZSBjb25zaWRlcmVkIGZvciBtZXJnZVxuICAgICAqIEBwYXJhbSBfc3RhdGUgVGhlIGVkaXRvciBzdGF0ZSBmb3IgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZmluYWxpemVQcm9wZXJ0aWVzKGZpbmFsaXplZDogSnNvbk9iamVjdFtdLCBfc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3RbXSwgSnNvbkVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGxldCB0b01lcmdlID0gZmluYWxpemVkO1xuICAgICAgICBpZiAoZmluYWxpemVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGlmIChmaW5hbGl6ZWQuZmluZCgobykgPT4gby5tYXRjaFR5cGUgPT09ICdtYXRjaCcpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0b01lcmdlID0gZmluYWxpemVkLmZpbHRlcigobykgPT4gKG8ubWF0Y2hUeXBlID09PSAnbWF0Y2gnKSB8fCAoby5tYXRjaFR5cGUgPT09ICd1bmNvbmRpdGlvbmFsJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbCh0b01lcmdlLm1hcCgobykgPT4gby52YWx1ZSkuZmlsdGVyKGlzSnNvbk9iamVjdCksICdlZGl0ZWQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gcHJvcGVydHkga2V5IGlzIGNvbmRpdGlvbmFsLiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICAgKiBtZXRob2QgdG8gdXNlIGEgZGlmZmVyZW50IGZvcm1hdCBmb3IgY29uZGl0aW9uYWwgcHJvcGVydGllcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGNvbnNpZGVyLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUaGUgZWRpdG9yIHN0YXRlIG9mIHRoZSBvYmplY3QgYmVpbmcgZWRpdGVkLlxuICAgICAqIEByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBkZXRhaWwgJ2RlZmVycmVkJyBhbmQgYSBAc2VlIENvbmRpdGlvbmFsSnNvbktleVJlc3VsdCBkZXNjcmliaW5nIHRoZVxuICAgICAqIG1hdGNoIGZvciBhIGRlZmF1bHQgb3IgbWF0Y2hpbmcgY29uZGl0aW9uYWwgcHJvcGVydHkuICBGYWlscyB3aXRoIGRldGFpbCAnaWdub3JlJyBmb3JcbiAgICAgKiBhIG5vbi1tYXRjaGluZyBjb25kaXRpb25hbCBwcm9wZXJ0eS4gRmFpbHMgd2l0aCBkZXRhaWwgJ2Vycm9yJyBpZiBhbiBlcnJvciBvY2N1cnNcbiAgICAgKiBvciB3aXRoIGRldGFpbCAnaW5hcHBsaWNhYmxlJyBpZiB0aGUga2V5IGRvZXMgbm90IHJlcHJlc2VudCBhIGNvbmRpdGlvbmFsIHByb3BlcnR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdHJ5UGFyc2VDb25kaXRpb24oa2V5OiBzdHJpbmcsIHN0YXRlOiBKc29uRWRpdG9yU3RhdGUpOiBEZXRhaWxlZFJlc3VsdDxDb25kaXRpb25hbEpzb25LZXlSZXN1bHQsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgICAgICAgICAvLyBpZ25vcmUgZXZlcnl0aGluZyBhZnRlciBhbnkgI1xuICAgICAgICAgICAga2V5ID0ga2V5LnNwbGl0KCcjJylbMF0udHJpbSgpO1xuXG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnP2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHsgbWF0Y2hUeXBlOiAnZGVmYXVsdCcgfSwgJ2RlZmVycmVkJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0ga2V5LnN1YnN0cmluZygxKS5zcGxpdCgvKD18Pj18PD18Pnw8fCE9KS8pO1xuICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fY29tcGFyZShwYXJ0c1swXS50cmltKCksIHBhcnRzWzJdLnRyaW0oKSwgcGFydHNbMV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbChgQ29uZGl0aW9uICR7a2V5fSBkb2VzIG5vdCBtYXRjaGAsICdpZ25vcmUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHsgbWF0Y2hUeXBlOiAnbWF0Y2gnIH0sICdkZWZlcnJlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzWzBdLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWxXaXRoRGV0YWlsKGBDb25kaXRpb24gJHtrZXl9IGRvZXMgbm90IG1hdGNoYCwgJ2lnbm9yZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZFdpdGhEZXRhaWwoeyBtYXRjaFR5cGU6ICdtYXRjaCcgfSwgJ2RlZmVycmVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYE1hbGZvcm1lZCBjb25kaXRpb24gdG9rZW4gJHtrZXl9YDtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5mYWlsVmFsaWRhdGlvbignaW52YWxpZFByb3BlcnR5TmFtZScsIG1lc3NhZ2UsIHRoaXMuX29wdGlvbnM/LnZhbGlkYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh0aGlzLl9vcHRpb25zPy5mbGF0dGVuVW5jb25kaXRpb25hbFZhbHVlcyAhPT0gZmFsc2UpICYmIGtleS5zdGFydHNXaXRoKCchJykpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbCh7IG1hdGNoVHlwZTogJ3VuY29uZGl0aW9uYWwnIH0sICdkZWZlcnJlZCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbCgnaW5hcHBsaWNhYmxlJywgJ2luYXBwbGljYWJsZScpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY29tcGFyZShsZWZ0OiBzdHJpbmcsIHJpZ2h0OiBzdHJpbmcsIG9wZXJhdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnPSc6IHJldHVybiBsZWZ0ID09PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgJz4nOiByZXR1cm4gbGVmdCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSAnPCc6IHJldHVybiBsZWZ0IDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlICc+PSc6IHJldHVybiBsZWZ0ID49IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSAnPD0nOiByZXR1cm4gbGVmdCA8PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgJyE9JzogcmV0dXJuIGxlZnQgIT09IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB1bnJlYWNoYWJsZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbkVkaXRvci9ydWxlcy9jb25kaXRpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCw0Q0FBeUc7QUFDekcsc0RBQTZHO0FBRTdHLHlDQUFtRTtBQStCbkU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBa0I7SUFHN0Q7OztPQUdHO0lBQ0gsWUFBbUIsT0FBb0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFvQztRQUNyRCxPQUFPLElBQUEsd0JBQWEsRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBZ0IsRUFBRSxLQUFzQjs7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN0RSxJQUFJLElBQUEscUJBQVksRUFBQyxLQUFLLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLEdBQWtDLEVBQUUsR0FBRyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sSUFBQSw0QkFBaUIsRUFBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDOUM7WUFDRCxPQUFPLElBQUEseUJBQWMsRUFBNEMsR0FBRyxHQUFHLG1DQUFtQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxN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LEVBQUUsT0FBTyxFQUFFLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLENBQUM7U0FDMUY7YUFDSSxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLDBCQUEwQixNQUFLLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkYsT0FBTyxJQUFBLDRCQUFpQixFQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFBLHlCQUFjLEVBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUyxRQUFRLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFnQjtRQUM1RCxRQUFRLFFBQVEsRUFBRTtZQUNkLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQ2hDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQzlCLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQzlCLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1NBQ3BDO1FBQ0Qsb0NBQW9DO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRGV0YWlsZWRSZXN1bHQsIFJlc3VsdCwgY2FwdHVyZVJlc3VsdCwgZmFpbFdpdGhEZXRhaWwsIHN1Y2NlZWRXaXRoRGV0YWlsIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBKc29uRWRpdEZhaWx1cmVSZWFzb24sIEpzb25FZGl0b3JSdWxlQmFzZSwgSnNvblByb3BlcnR5RWRpdEZhaWx1cmVSZWFzb24gfSBmcm9tICcuLi9qc29uRWRpdG9yUnVsZSc7XG5pbXBvcnQgeyBKc29uRWRpdG9yT3B0aW9ucywgSnNvbkVkaXRvclN0YXRlIH0gZnJvbSAnLi4vanNvbkVkaXRvclN0YXRlJztcbmltcG9ydCB7IEpzb25PYmplY3QsIEpzb25WYWx1ZSwgaXNKc29uT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuLyoqXG4gKiBSZXR1cm5lZCBieSB0aGUgX3RyeU1hdGNoIG1ldGhvZCBvZiB0aGUgQHNlZSBDb25kaXRpb25hbEpzb25FZGl0b3JSdWxlXG4gKiB0byBpbmRpY2F0ZSB3aGV0aGVyIGEgc3VjY2Vzc2Z1bCBtYXRjaCB3YXMgZHVlIHRvIGEgbWF0Y2hpbmcgY29uZGl0aW9uXG4gKiBvciBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uYWxKc29uS2V5UmVzdWx0IGV4dGVuZHMgSnNvbk9iamVjdCB7XG4gICAgbWF0Y2hUeXBlOiAnZGVmYXVsdCd8J21hdGNoJ3wndW5jb25kaXRpb25hbCc7XG59XG5cbi8qKlxuICogT24gYSBzdWNjZXNzZnVsIG1hdGNoLCB0aGUgQHNlZSBDb25kaXRpb25hbEpzb25FZGl0b3JSdWxlIHN0b3JlcyBhXG4gKiBDb25kaXRpb25hbEpzb25EZWZlcnJlZE9iamVjdCBkZXNjcmliaW5nIHRoZSBtYXRjaGluZyByZXN1bHQsIHRvXG4gKiBiZSByZXNvbHZlZCBhdCBmaW5hbGl6YXRpb24gdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25hbEpzb25EZWZlcnJlZE9iamVjdCBleHRlbmRzIENvbmRpdGlvbmFsSnNvbktleVJlc3VsdHtcbiAgICB2YWx1ZTogSnNvblZhbHVlO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIENvbmRpdGlvbmFsIEpTT04gZWRpdG9yIHJ1bGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25hbEpzb25SdWxlT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8SnNvbkVkaXRvck9wdGlvbnM+IHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlIChkZWZhdWx0KSB0aGVuIHByb3BlcnRpZXMgd2l0aCB1bmNvbmRpdGlvbmFsIG5hbWVzXG4gICAgICogKHdoaWNoIHN0YXJ0IHdpdGggISkgYXJlIGZsYXR0ZW5lZC5cbiAgICAgKi9cbiAgICBmbGF0dGVuVW5jb25kaXRpb25hbFZhbHVlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIENvbmRpdGlvbmFsIEpTT04gZWRpdG9yIHJ1bGUgZXZhbHVhdGVzIHByb3BlcnRpZXMgd2l0aCBjb25kaXRpb25hbCBrZXlzLFxuICogb21pdHRpbmcgbm9uLW1hdGNoaW5nIGtleXMgYW5kIG1lcmdpbmcga2V5cyB0aGF0IG1hdGNoLCBvciBkZWZhdWx0IGtleXMgb25seVxuICogaWYgbm8gb3RoZXIga2V5cyBtYXRjaC5cbiAqXG4gKiBUaGUgZGVmYXVsdCBzeW50YXggZm9yIGEgY29uZGl0aW9uYWwga2V5IGlzOlxuICogICAgXCI/dmFsdWUxPXZhbHVlMlwiIC0gbWF0Y2hlcyBpZiB2YWx1ZTEgYW5kIHZhbHVlMiBhcmUgdGhlIHNhbWUsIGlzIGlnbm9yZWQgb3RoZXJ3aXNlLlxuICogICAgXCI/dmFsdWVcIiAtIG1hdGNoZXMgaWYgdmFsdWUgaXMgYSBub24tZW1wdHksIG5vbi13aGl0ZXNwYWNlIHN0cmluZy4gSXMgaWdub3JlZCBvdGhlcndpc2UuXG4gKiAgICBcIj9kZWZhdWx0XCIgLSBtYXRjaGVzIG9ubHkgaWYgbm8gb3RoZXIgY29uZGl0aW9uYWwgYmxvY2tzIGluIHRoZSBzYW1lIG9iamVjdCB3ZXJlIG1hdGNoZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENvbmRpdGlvbmFsSnNvbkVkaXRvclJ1bGUgZXh0ZW5kcyBKc29uRWRpdG9yUnVsZUJhc2Uge1xuICAgIHByb3RlY3RlZCBfb3B0aW9ucz86IENvbmRpdGlvbmFsSnNvblJ1bGVPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBAc2VlIENvbmRpdGlvbmFsSnNvbkVkaXRvclJ1bGVcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgdXNlZCBmb3IgdGhpcyBydWxlXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBDb25kaXRpb25hbEpzb25SdWxlT3B0aW9ucykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IEBzZWUgQ29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB1c2VkIGZvciB0aGlzIHJ1bGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShvcHRpb25zPzogQ29uZGl0aW9uYWxKc29uUnVsZU9wdGlvbnMpOiBSZXN1bHQ8Q29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiBuZXcgQ29uZGl0aW9uYWxKc29uRWRpdG9yUnVsZShvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZhbHVhdGVzIGEgcHJvcGVydHkgZm9yIGNvbmRpdGlvbmFsIGFwcGxpY2F0aW9uLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgY29uc2lkZXJlZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gc3RhdGUgVGhlIGVkaXRvciBzdGF0ZSBmb3IgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWRcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBkZXRhaWwgJ2RlZmVycmVkJyBhbmQgYSBAc2VlIENvbmRpdGlvbmFsSnNvbkRlZmVycmVkT2JqZWN0XG4gICAgICogZm9yIGEgbWF0Y2hpbmcsIGRlZmF1bHQgb3IgdW5jb25kaXRpb25hbCBrZXkuIEZhaWxzIHdpdGggZGV0YWlsICdpZ25vcmUnIGZvciBhXG4gICAgICogbm9uLW1hdGNoaW5nIGNvbmRpdGlvbmFsIGFuZCB3aXRoIGRldGFpbCAnZXJyb3InIGlmIGFuIGVycm9yIG9jY3Vycy4gT3RoZXJ3aXNlXG4gICAgICogZmFpbHMgd2l0aCBkZXRhaWwgJ2luYXBwbGljYWJsZScuXG4gICAgICovXG4gICAgcHVibGljIGVkaXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IEpzb25WYWx1ZSwgc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3QsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3RyeVBhcnNlQ29uZGl0aW9uKGtleSwgc3RhdGUpLm9uU3VjY2VzcygoZGVmZXJyZWQpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0pzb25PYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcnRybjogQ29uZGl0aW9uYWxKc29uRGVmZXJyZWRPYmplY3QgPSB7IC4uLmRlZmVycmVkLCB2YWx1ZSB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbChydHJuLCAnZGVmZXJyZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbDxKc29uT2JqZWN0LCBKc29uUHJvcGVydHlFZGl0RmFpbHVyZVJlYXNvbj4oYCR7a2V5fTogY29uZGl0aW9uYWwgYm9keSBtdXN0IGJlIG9iamVjdGAsICdlcnJvcicpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzdWx0LmlzRmFpbHVyZSgpICYmIChyZXN1bHQuZGV0YWlsID09PSAnZXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmZhaWxWYWxpZGF0aW9uKCdpbnZhbGlkUHJvcGVydHlOYW1lJywgcmVzdWx0Lm1lc3NhZ2UsIHRoaXMuX29wdGlvbnM/LnZhbGlkYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5hbGl6ZXMgYW55IGRlZmVycmVkIGNvbmRpdGlvbmFsIHByb3BlcnRpZXMuIElmIHRoZSBvbmx5IGRlZmVycmVkIHByb3BlcnR5IGlzXG4gICAgICogZGVmYXVsdCwgdGhhdCBwcm9wZXJ0eSBpcyBlbWl0dGVkLiBPdGhlcndpc2UgYWxsIG1hdGNoaW5nIHByb3BlcnRpZXMgYXJlIGVtaXR0ZWQuXG4gICAgICogQHBhcmFtIGZpbmFsaXplZCBUaGUgZGVmZXJyZWQgcHJvcGVydGllcyB0byBiZSBjb25zaWRlcmVkIGZvciBtZXJnZVxuICAgICAqIEBwYXJhbSBfc3RhdGUgVGhlIGVkaXRvciBzdGF0ZSBmb3IgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZmluYWxpemVQcm9wZXJ0aWVzKGZpbmFsaXplZDogSnNvbk9iamVjdFtdLCBfc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3RbXSwgSnNvbkVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGxldCB0b01lcmdlID0gZmluYWxpemVkO1xuICAgICAgICBpZiAoZmluYWxpemVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGlmIChmaW5hbGl6ZWQuZmluZCgobykgPT4gby5tYXRjaFR5cGUgPT09ICdtYXRjaCcpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0b01lcmdlID0gZmluYWxpemVkLmZpbHRlcigobykgPT4gKG8ubWF0Y2hUeXBlID09PSAnbWF0Y2gnKSB8fCAoby5tYXRjaFR5cGUgPT09ICd1bmNvbmRpdGlvbmFsJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbCh0b01lcmdlLm1hcCgobykgPT4gby52YWx1ZSkuZmlsdGVyKGlzSnNvbk9iamVjdCksICdlZGl0ZWQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gcHJvcGVydHkga2V5IGlzIGNvbmRpdGlvbmFsLiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICAgKiBtZXRob2QgdG8gdXNlIGEgZGlmZmVyZW50IGZvcm1hdCBmb3IgY29uZGl0aW9uYWwgcHJvcGVydGllcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGNvbnNpZGVyLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUaGUgZWRpdG9yIHN0YXRlIG9mIHRoZSBvYmplY3QgYmVpbmcgZWRpdGVkLlxuICAgICAqIEByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBkZXRhaWwgJ2RlZmVycmVkJyBhbmQgYSBAc2VlIENvbmRpdGlvbmFsSnNvbktleVJlc3VsdCBkZXNjcmliaW5nIHRoZVxuICAgICAqIG1hdGNoIGZvciBhIGRlZmF1bHQgb3IgbWF0Y2hpbmcgY29uZGl0aW9uYWwgcHJvcGVydHkuICBGYWlscyB3aXRoIGRldGFpbCAnaWdub3JlJyBmb3JcbiAgICAgKiBhIG5vbi1tYXRjaGluZyBjb25kaXRpb25hbCBwcm9wZXJ0eS4gRmFpbHMgd2l0aCBkZXRhaWwgJ2Vycm9yJyBpZiBhbiBlcnJvciBvY2N1cnNcbiAgICAgKiBvciB3aXRoIGRldGFpbCAnaW5hcHBsaWNhYmxlJyBpZiB0aGUga2V5IGRvZXMgbm90IHJlcHJlc2VudCBhIGNvbmRpdGlvbmFsIHByb3BlcnR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdHJ5UGFyc2VDb25kaXRpb24oa2V5OiBzdHJpbmcsIHN0YXRlOiBKc29uRWRpdG9yU3RhdGUpOiBEZXRhaWxlZFJlc3VsdDxDb25kaXRpb25hbEpzb25LZXlSZXN1bHQsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgICAgICAgICAvLyBpZ25vcmUgZXZlcnl0aGluZyBhZnRlciBhbnkgI1xuICAgICAgICAgICAga2V5ID0ga2V5LnNwbGl0KCcjJylbMF0udHJpbSgpO1xuXG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnP2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHsgbWF0Y2hUeXBlOiAnZGVmYXVsdCcgfSwgJ2RlZmVycmVkJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0ga2V5LnN1YnN0cmluZygxKS5zcGxpdCgvKD18Pj18PD18Pnw8fCE9KS8pO1xuICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fY29tcGFyZShwYXJ0c1swXS50cmltKCksIHBhcnRzWzJdLnRyaW0oKSwgcGFydHNbMV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbChgQ29uZGl0aW9uICR7a2V5fSBkb2VzIG5vdCBtYXRjaGAsICdpZ25vcmUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHsgbWF0Y2hUeXBlOiAnbWF0Y2gnIH0sICdkZWZlcnJlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzWzBdLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWxXaXRoRGV0YWlsKGBDb25kaXRpb24gJHtrZXl9IGRvZXMgbm90IG1hdGNoYCwgJ2lnbm9yZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZFdpdGhEZXRhaWwoeyBtYXRjaFR5cGU6ICdtYXRjaCcgfSwgJ2RlZmVycmVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYE1hbGZvcm1lZCBjb25kaXRpb24gdG9rZW4gJHtrZXl9YDtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5mYWlsVmFsaWRhdGlvbignaW52YWxpZFByb3BlcnR5TmFtZScsIG1lc3NhZ2UsIHRoaXMuX29wdGlvbnM/LnZhbGlkYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh0aGlzLl9vcHRpb25zPy5mbGF0dGVuVW5jb25kaXRpb25hbFZhbHVlcyAhPT0gZmFsc2UpICYmIGtleS5zdGFydHNXaXRoKCchJykpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbCh7IG1hdGNoVHlwZTogJ3VuY29uZGl0aW9uYWwnIH0sICdkZWZlcnJlZCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbCgnaW5hcHBsaWNhYmxlJywgJ2luYXBwbGljYWJsZScpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY29tcGFyZShsZWZ0OiBzdHJpbmcsIHJpZ2h0OiBzdHJpbmcsIG9wZXJhdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnPSc6IHJldHVybiBsZWZ0ID09PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgJz4nOiByZXR1cm4gbGVmdCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSAnPCc6IHJldHVybiBsZWZ0IDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlICc+PSc6IHJldHVybiBsZWZ0ID49IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSAnPD0nOiByZXR1cm4gbGVmdCA8PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgJyE9JzogcmV0dXJuIGxlZnQgIT09IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB1bnJlYWNoYWJsZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
File without changes
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,4 +18,4 @@ __exportStar(require("./conditional"), exports);
|
|
|
14
18
|
__exportStar(require("./multivalue"), exports);
|
|
15
19
|
__exportStar(require("./references"), exports);
|
|
16
20
|
__exportStar(require("./templates"), exports);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbkVkaXRvci9ydWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLCtDQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25kaXRpb25hbCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZlcmVuY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGVzJztcbiJdfQ==
|
|
File without changes
|
|
@@ -49,7 +49,7 @@ class MultiValueJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
49
49
|
* @param options Optional configuration options
|
|
50
50
|
*/
|
|
51
51
|
static create(options) {
|
|
52
|
-
return ts_utils_1.captureResult(() => new MultiValueJsonEditorRule(options));
|
|
52
|
+
return (0, ts_utils_1.captureResult)(() => new MultiValueJsonEditorRule(options));
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Evaluates a property for multi-value expansion.
|
|
@@ -64,20 +64,20 @@ class MultiValueJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
64
64
|
editProperty(key, value, state) {
|
|
65
65
|
const json = {};
|
|
66
66
|
const result = this._tryParse(key, state).onSuccess((parts) => {
|
|
67
|
-
return ts_utils_1.allSucceed(parts.propertyValues.map((pv) => {
|
|
67
|
+
return (0, ts_utils_1.allSucceed)(parts.propertyValues.map((pv) => {
|
|
68
68
|
return this._deriveContext(state, [parts.propertyVariable, pv]).onSuccess((ctx) => {
|
|
69
69
|
return state.editor.clone(value, ctx).onSuccess((cloned) => {
|
|
70
70
|
json[pv] = cloned;
|
|
71
|
-
return ts_utils_1.succeedWithDetail(cloned);
|
|
71
|
+
return (0, ts_utils_1.succeedWithDetail)(cloned);
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
}), json).onSuccess(() => {
|
|
75
75
|
if (parts.asArray) {
|
|
76
76
|
const arrayRtrn = {};
|
|
77
77
|
arrayRtrn[parts.propertyVariable] = Array.from(Object.values(json));
|
|
78
|
-
return ts_utils_1.succeed(arrayRtrn);
|
|
78
|
+
return (0, ts_utils_1.succeed)(arrayRtrn);
|
|
79
79
|
}
|
|
80
|
-
return ts_utils_1.succeed(json);
|
|
80
|
+
return (0, ts_utils_1.succeed)(json);
|
|
81
81
|
}).withFailureDetail('error');
|
|
82
82
|
});
|
|
83
83
|
if (result.isFailure() && (result.detail === 'error')) {
|
|
@@ -111,19 +111,19 @@ class MultiValueJsonEditorRule extends jsonEditorRule_1.JsonEditorRuleBase {
|
|
|
111
111
|
asArray = false;
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
114
|
-
return ts_utils_1.failWithDetail(token, 'inapplicable');
|
|
114
|
+
return (0, ts_utils_1.failWithDetail)(token, 'inapplicable');
|
|
115
115
|
}
|
|
116
116
|
if (parts.length !== 2) {
|
|
117
117
|
const message = `Malformed multi-value property: ${token}`;
|
|
118
118
|
return state.failValidation('invalidPropertyName', message, (_a = this._options) === null || _a === void 0 ? void 0 : _a.validation);
|
|
119
119
|
}
|
|
120
120
|
if (parts[1].includes('{{')) {
|
|
121
|
-
return ts_utils_1.failWithDetail('unresolved template', 'inapplicable');
|
|
121
|
+
return (0, ts_utils_1.failWithDetail)('unresolved template', 'inapplicable');
|
|
122
122
|
}
|
|
123
123
|
const propertyVariable = parts[0];
|
|
124
124
|
const propertyValues = parts[1].split(',');
|
|
125
|
-
return ts_utils_1.succeedWithDetail({ token, propertyVariable, propertyValues, asArray });
|
|
125
|
+
return (0, ts_utils_1.succeedWithDetail)({ token, propertyVariable, propertyValues, asArray });
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
exports.MultiValueJsonEditorRule = MultiValueJsonEditorRule;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGl2YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uRWRpdG9yL3J1bGVzL211bHRpdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsNENBQThIO0FBRTlILHNEQUE2RztBQWtDN0c7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsbUNBQWtCO0lBRzVEOzs7T0FHRztJQUNILFlBQW1CLE9BQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBMkI7UUFDNUMsT0FBTyx3QkFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFnQixFQUFFLEtBQXNCO1FBQ3JFLE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRCxPQUFPLHFCQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUM5RSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFH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QUFnQixFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7Q0FDSjtBQWxHRCw0REFrR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRGV0YWlsZWRSZXN1bHQsIFJlc3VsdCwgYWxsU3VjY2VlZCwgY2FwdHVyZVJlc3VsdCwgZmFpbFdpdGhEZXRhaWwsIHN1Y2NlZWQsIHN1Y2NlZWRXaXRoRGV0YWlsIH0gZnJvbSAnQGZndi90cy11dGlscyc7XG5pbXBvcnQgeyBKc29uQ29udGV4dCwgVmFyaWFibGVWYWx1ZSB9IGZyb20gJy4uLy4uL2pzb25Db250ZXh0JztcbmltcG9ydCB7IEpzb25FZGl0RmFpbHVyZVJlYXNvbiwgSnNvbkVkaXRvclJ1bGVCYXNlLCBKc29uUHJvcGVydHlFZGl0RmFpbHVyZVJlYXNvbiB9IGZyb20gJy4uL2pzb25FZGl0b3JSdWxlJztcbmltcG9ydCB7IEpzb25FZGl0b3JPcHRpb25zLCBKc29uRWRpdG9yU3RhdGUgfSBmcm9tICcuLi9qc29uRWRpdG9yU3RhdGUnO1xuaW1wb3J0IHsgSnNvbk9iamVjdCwgSnNvblZhbHVlIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBwYXJ0cyBvZiBhIG11bHRpLXZhbHVlIHByb3BlcnR5IGtleS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlUHJvcGVydHlQYXJ0cyB7XG4gICAgLyoqXG4gICAgICogVGhlIG9yaWdpbmFsIG1hdGNoZWQgdG9rZW5cbiAgICAgKi9cbiAgICByZWFkb25seSB0b2tlbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHVzZWQgdG8gcHJvamVjdCBlYWNoIHBvc3NpYmxlXG4gICAgICogcHJvcGVydHkgdmFsdWUgaW50byB0aGUgY2hpbGQgdmFsdWVzIG9yIG9iamVjdHMgYmVpbmdcbiAgICAgKiByZXNvbHZlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBwcm9wZXJ0eVZhcmlhYmxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2V0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBiZSBleHBhbmRlZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb3BlcnR5VmFsdWVzOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSByZXNvbHZlZCB2YWx1ZXMgYXJlIGFkZGVkIGFzIGFuIGFycmF5XG4gICAgICogd2l0aCB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHlWYXJpYWJsZS4gSWYgZmFsc2UsXG4gICAgICogdmFsdWVzIGFyZSBhZGRlZCBhcyBpbmRpdmlkdWFsIHByb3BlcnRpZXMgd2l0aCBuYW1lc1xuICAgICAqIHRoYXQgY29ycmVzcG9uZCB0aGUgdmFsdWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXNBcnJheTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgTXVsdGktVmFsdWUgSlNPTiBlZGl0b3IgcnVsZSBleHBhbmRzIG1hdGNoaW5nIGtleXMgbXVsdGlwbGVcbiAqIHRpbWVzLCBwcm9qZWN0aW5nIHRoZSB2YWx1ZSBpbnRvIHRoZSB0ZW1wbGF0ZSBjb250ZXh0IGZvciBhbnlcbiAqIGNoaWxkIG9iamVjdHMgcmVuZGVyZWQgYnkgdGhlIHJ1bGUuXG4gKlxuICogVGhlIGRlZmF1bHQgc3ludGF4IGZvciBhIG11bHRpLXZhbHVlIGtleSBpczpcbiAqICBcIltbdmFyXV09dmFsdWUxLHZhbHVlMix2YWx1ZTNcIlxuICogV2hlcmUgXCJ2YXJcIiBpcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdGhhdCB3aWxsIGJlIHBhc3NlZCB0b1xuICogY2hpbGQgdGVtcGxhdGUgcmVzb2x1dGlvbiwgYW5kIFwidmFsdWUxLHZhbHVlMix2YWx1ZTNcIiBpcyBhXG4gKiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiB2YWx1ZXMgdG8gYmUgZXhwYW5kZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBNdWx0aVZhbHVlSnNvbkVkaXRvclJ1bGUgZXh0ZW5kcyBKc29uRWRpdG9yUnVsZUJhc2Uge1xuICAgIHByb3RlY3RlZCBfb3B0aW9ucz86IEpzb25FZGl0b3JPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBNdWx0aVZhbHVlSnNvbkVkaXRvclJ1bGUuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBKc29uRWRpdG9yT3B0aW9ucykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IE11bHRpVmFsdWVKc29uRWRpdG9yUnVsZS5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShvcHRpb25zPzogSnNvbkVkaXRvck9wdGlvbnMpOiBSZXN1bHQ8TXVsdGlWYWx1ZUpzb25FZGl0b3JSdWxlPiB7XG4gICAgICAgIHJldHVybiBjYXB0dXJlUmVzdWx0KCgpID0+IG5ldyBNdWx0aVZhbHVlSnNvbkVkaXRvclJ1bGUob3B0aW9ucykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2YWx1YXRlcyBhIHByb3BlcnR5IGZvciBtdWx0aS12YWx1ZSBleHBhbnNpb24uXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBiZSBjb25zaWRlcmVkXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgY29uc2lkZXJlZFxuICAgICAqIEBwYXJhbSBzdGF0ZSBUaGUgZWRpdG9yIHN0YXRlIGZvciB0aGUgb2JqZWN0IGJlaW5nIGVkaXRlZFxuICAgICAqIEByZXR1cm5zIFJldHVybnMgU3VjY2VzcyB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmdWxseS1yZXNvbHZlZCBjaGlsZFxuICAgICAqIHZhbHVlcyB0byBiZSBtZXJnZWQgZm9yIG1hdGNoaW5nIG11bHRpLXZhbHVlIHByb3BlcnR5LiBGYWlscyB3aXRoXG4gICAgICogZGV0YWlsICdlcnJvcicgaWYgYW4gZXJyb3Igb2NjdXJzIG9yIHdpdGggZGV0YWlsICdpbmFwcGxpY2FibGUnIGlmXG4gICAgICogdGhlIHByb3BlcnR5IGtleSBpcyBub3QgYSBjb25kaXRpb25hbCBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZWRpdFByb3BlcnR5KGtleTogc3RyaW5nLCB2YWx1ZTogSnNvblZhbHVlLCBzdGF0ZTogSnNvbkVkaXRvclN0YXRlKTogRGV0YWlsZWRSZXN1bHQ8SnNvbk9iamVjdCwgSnNvblByb3BlcnR5RWRpdEZhaWx1cmVSZWFzb24+IHtcbiAgICAgICAgY29uc3QganNvbjogSnNvbk9iamVjdCA9IHt9O1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl90cnlQYXJzZShrZXksIHN0YXRlKS5vblN1Y2Nlc3MoKHBhcnRzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYWxsU3VjY2VlZChwYXJ0cy5wcm9wZXJ0eVZhbHVlcy5tYXAoKHB2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Rlcml2ZUNvbnRleHQoc3RhdGUsIFtwYXJ0cy5wcm9wZXJ0eVZhcmlhYmxlLCBwdl0pLm9uU3VjY2VzcygoY3R4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZS5lZGl0b3IuY2xvbmUodmFsdWUsIGN0eCkub25TdWNjZXNzKChjbG9uZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25bcHZdID0gY2xvbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKGNsb25lZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksIGpzb24pLm9uU3VjY2VzcygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzLmFzQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyYXlSdHJuOiBKc29uT2JqZWN0ID0ge307XG4gICAgICAgICAgICAgICAgICAgIGFycmF5UnRybltwYXJ0cy5wcm9wZXJ0eVZhcmlhYmxlXSA9IEFycmF5LmZyb20oT2JqZWN0LnZhbHVlcyhqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKGFycmF5UnRybik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKGpzb24pO1xuICAgICAgICAgICAgfSkud2l0aEZhaWx1cmVEZXRhaWwoJ2Vycm9yJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZXN1bHQuaXNGYWlsdXJlKCkgJiYgKHJlc3VsdC5kZXRhaWwgPT09ICdlcnJvcicpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RhdGUuZmFpbFZhbGlkYXRpb24oJ2ludmFsaWRQcm9wZXJ0eU5hbWUnLCByZXN1bHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2Rlcml2ZUNvbnRleHQoc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSwgLi4udmFsdWVzOiBWYXJpYWJsZVZhbHVlW10pOiBSZXN1bHQ8SnNvbkNvbnRleHR8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5leHRlbmRDb250ZXh0KHRoaXMuX29wdGlvbnM/LmNvbnRleHQsIHsgdmFyczogdmFsdWVzIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgYSBnaXZlbiBwcm9wZXJ0eSBrZXkgaXMgbXVsdGktdmFsdWUuIERlcml2ZWQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpc1xuICAgICAqIG1ldGhvZCB0byB1c2UgYSBkaWZmZXJlbnQgZm9ybWF0IGZvciBtdWx0aS12YWx1ZSBwcm9wZXJ0aWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gY29uc2lkZXIuXG4gICAgICogQHBhcmFtIHN0YXRlIFRoZSBlZGl0b3Igc3RhdGUgb2YgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWQuXG4gICAgICogQHJldHVybnMgU3VjY2VzcyB3aXRoIGRldGFpbCAnZGVmZXJyZWQnIGFuZCBhIEBzZWUgTXVsdGlWYWx1ZVByb3BlcnR5UGFydHMgZGVzY3JpYmluZyB0aGVcbiAgICAgKiBtYXRjaCBmb3IgbWF0Y2hpbmcgbXVsdGktdmFsdWUgcHJvcGVydHkuICBGYWlscyB3aXRoIGRldGFpbCAnZXJyb3InIGlmIGFuIGVycm9yIG9jY3Vyc1xuICAgICAqIG9yIHdpdGggZGV0YWlsICdpbmFwcGxpY2FibGUnIGlmIHRoZSBrZXkgZG9lcyBub3QgcmVwcmVzZW50IGEgbXVsdGktdmFsdWUgcHJvcGVydHkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90cnlQYXJzZSh0b2tlbjogc3RyaW5nLCBzdGF0ZTogSnNvbkVkaXRvclN0YXRlKTogRGV0YWlsZWRSZXN1bHQ8TXVsdGlWYWx1ZVByb3BlcnR5UGFydHMsIEpzb25FZGl0RmFpbHVyZVJlYXNvbj4ge1xuICAgICAgICBsZXQgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGxldCBhc0FycmF5ID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRva2VuLnN0YXJ0c1dpdGgoJ1tbJykpIHtcbiAgICAgICAgICAgIHBhcnRzID0gdG9rZW4uc3Vic3RyaW5nKDIpLnNwbGl0KCddXT0nKTtcbiAgICAgICAgICAgIGFzQXJyYXkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRva2VuLnN0YXJ0c1dpdGgoJyonKSkge1xuICAgICAgICAgICAgcGFydHMgPSB0b2tlbi5zdWJzdHJpbmcoMSkuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgIGFzQXJyYXkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsV2l0aERldGFpbCh0b2tlbiwgJ2luYXBwbGljYWJsZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBNYWxmb3JtZWQgbXVsdGktdmFsdWUgcHJvcGVydHk6ICR7dG9rZW59YDtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5mYWlsVmFsaWRhdGlvbignaW52YWxpZFByb3BlcnR5TmFtZScsIG1lc3NhZ2UsIHRoaXMuX29wdGlvbnM/LnZhbGlkYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnRzWzFdLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwoJ3VucmVzb2x2ZWQgdGVtcGxhdGUnLCAnaW5hcHBsaWNhYmxlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9wZXJ0eVZhcmlhYmxlID0gcGFydHNbMF07XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWVzID0gcGFydHNbMV0uc3BsaXQoJywnKTtcbiAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHsgdG9rZW4sIHByb3BlcnR5VmFyaWFibGUsIHByb3BlcnR5VmFsdWVzLCBhc0FycmF5IH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGl2YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uRWRpdG9yL3J1bGVzL211bHRpdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsNENBQThIO0FBRTlILHNEQUE2RztBQWtDN0c7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsbUNBQWtCO0lBRzVEOzs7T0FHRztJQUNILFlBQW1CLE9BQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBMkI7UUFDNUMsT0FBTyxJQUFBLHdCQUFhLEVBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxZQUFZLENBQUMsR0FBVyxFQUFFLEtBQWdCLEVBQUUsS0FBc0I7UUFDckUsTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFELE9BQU8sSUFBQSxxQkFBVSxFQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQzlDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDOUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFL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LE9BQU8sSUFBQSw0QkFBaUIsRUFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0NBQ0o7QUFsR0QsNERBa0dDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMCBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IERldGFpbGVkUmVzdWx0LCBSZXN1bHQsIGFsbFN1Y2NlZWQsIGNhcHR1cmVSZXN1bHQsIGZhaWxXaXRoRGV0YWlsLCBzdWNjZWVkLCBzdWNjZWVkV2l0aERldGFpbCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgSnNvbkNvbnRleHQsIFZhcmlhYmxlVmFsdWUgfSBmcm9tICcuLi8uLi9qc29uQ29udGV4dCc7XG5pbXBvcnQgeyBKc29uRWRpdEZhaWx1cmVSZWFzb24sIEpzb25FZGl0b3JSdWxlQmFzZSwgSnNvblByb3BlcnR5RWRpdEZhaWx1cmVSZWFzb24gfSBmcm9tICcuLi9qc29uRWRpdG9yUnVsZSc7XG5pbXBvcnQgeyBKc29uRWRpdG9yT3B0aW9ucywgSnNvbkVkaXRvclN0YXRlIH0gZnJvbSAnLi4vanNvbkVkaXRvclN0YXRlJztcbmltcG9ydCB7IEpzb25PYmplY3QsIEpzb25WYWx1ZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcGFydHMgb2YgYSBtdWx0aS12YWx1ZSBwcm9wZXJ0eSBrZXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZVByb3BlcnR5UGFydHMge1xuICAgIC8qKlxuICAgICAqIFRoZSBvcmlnaW5hbCBtYXRjaGVkIHRva2VuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB1c2VkIHRvIHByb2plY3QgZWFjaCBwb3NzaWJsZVxuICAgICAqIHByb3BlcnR5IHZhbHVlIGludG8gdGhlIGNoaWxkIHZhbHVlcyBvciBvYmplY3RzIGJlaW5nXG4gICAgICogcmVzb2x2ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvcGVydHlWYXJpYWJsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNldCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgZXhwYW5kZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm9wZXJ0eVZhbHVlczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcmVzb2x2ZWQgdmFsdWVzIGFyZSBhZGRlZCBhcyBhbiBhcnJheVxuICAgICAqIHdpdGggdGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5VmFyaWFibGUuIElmIGZhbHNlLFxuICAgICAqIHZhbHVlcyBhcmUgYWRkZWQgYXMgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHdpdGggbmFtZXNcbiAgICAgKiB0aGF0IGNvcnJlc3BvbmQgdGhlIHZhbHVlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFzQXJyYXk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIE11bHRpLVZhbHVlIEpTT04gZWRpdG9yIHJ1bGUgZXhwYW5kcyBtYXRjaGluZyBrZXlzIG11bHRpcGxlXG4gKiB0aW1lcywgcHJvamVjdGluZyB0aGUgdmFsdWUgaW50byB0aGUgdGVtcGxhdGUgY29udGV4dCBmb3IgYW55XG4gKiBjaGlsZCBvYmplY3RzIHJlbmRlcmVkIGJ5IHRoZSBydWxlLlxuICpcbiAqIFRoZSBkZWZhdWx0IHN5bnRheCBmb3IgYSBtdWx0aS12YWx1ZSBrZXkgaXM6XG4gKiAgXCJbW3Zhcl1dPXZhbHVlMSx2YWx1ZTIsdmFsdWUzXCJcbiAqIFdoZXJlIFwidmFyXCIgaXMgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG9cbiAqIGNoaWxkIHRlbXBsYXRlIHJlc29sdXRpb24sIGFuZCBcInZhbHVlMSx2YWx1ZTIsdmFsdWUzXCIgaXMgYVxuICogY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgdmFsdWVzIHRvIGJlIGV4cGFuZGVkLlxuICovXG5leHBvcnQgY2xhc3MgTXVsdGlWYWx1ZUpzb25FZGl0b3JSdWxlIGV4dGVuZHMgSnNvbkVkaXRvclJ1bGVCYXNlIHtcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnM/OiBKc29uRWRpdG9yT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgTXVsdGlWYWx1ZUpzb25FZGl0b3JSdWxlLlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zPzogSnNvbkVkaXRvck9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBNdWx0aVZhbHVlSnNvbkVkaXRvclJ1bGUuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUob3B0aW9ucz86IEpzb25FZGl0b3JPcHRpb25zKTogUmVzdWx0PE11bHRpVmFsdWVKc29uRWRpdG9yUnVsZT4ge1xuICAgICAgICByZXR1cm4gY2FwdHVyZVJlc3VsdCgoKSA9PiBuZXcgTXVsdGlWYWx1ZUpzb25FZGl0b3JSdWxlKG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmFsdWF0ZXMgYSBwcm9wZXJ0eSBmb3IgbXVsdGktdmFsdWUgZXhwYW5zaW9uLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgY29uc2lkZXJlZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gc3RhdGUgVGhlIGVkaXRvciBzdGF0ZSBmb3IgdGhlIG9iamVjdCBiZWluZyBlZGl0ZWRcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgZnVsbHktcmVzb2x2ZWQgY2hpbGRcbiAgICAgKiB2YWx1ZXMgdG8gYmUgbWVyZ2VkIGZvciBtYXRjaGluZyBtdWx0aS12YWx1ZSBwcm9wZXJ0eS4gRmFpbHMgd2l0aFxuICAgICAqIGRldGFpbCAnZXJyb3InIGlmIGFuIGVycm9yIG9jY3VycyBvciB3aXRoIGRldGFpbCAnaW5hcHBsaWNhYmxlJyBpZlxuICAgICAqIHRoZSBwcm9wZXJ0eSBrZXkgaXMgbm90IGEgY29uZGl0aW9uYWwgcHJvcGVydHkuXG4gICAgICovXG4gICAgcHVibGljIGVkaXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsdWU6IEpzb25WYWx1ZSwgc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3QsIEpzb25Qcm9wZXJ0eUVkaXRGYWlsdXJlUmVhc29uPiB7XG4gICAgICAgIGNvbnN0IGpzb246IEpzb25PYmplY3QgPSB7fTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdHJ5UGFyc2Uoa2V5LCBzdGF0ZSkub25TdWNjZXNzKChwYXJ0cykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFsbFN1Y2NlZWQocGFydHMucHJvcGVydHlWYWx1ZXMubWFwKChwdikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZXJpdmVDb250ZXh0KHN0YXRlLCBbcGFydHMucHJvcGVydHlWYXJpYWJsZSwgcHZdKS5vblN1Y2Nlc3MoKGN0eCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGUuZWRpdG9yLmNsb25lKHZhbHVlLCBjdHgpLm9uU3VjY2VzcygoY2xvbmVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uW3B2XSA9IGNsb25lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbChjbG9uZWQpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLCBqc29uKS5vblN1Y2Nlc3MoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJ0cy5hc0FycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5UnRybjogSnNvbk9iamVjdCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBhcnJheVJ0cm5bcGFydHMucHJvcGVydHlWYXJpYWJsZV0gPSBBcnJheS5mcm9tKE9iamVjdC52YWx1ZXMoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChhcnJheVJ0cm4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChqc29uKTtcbiAgICAgICAgICAgIH0pLndpdGhGYWlsdXJlRGV0YWlsKCdlcnJvcicpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzdWx0LmlzRmFpbHVyZSgpICYmIChyZXN1bHQuZGV0YWlsID09PSAnZXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmZhaWxWYWxpZGF0aW9uKCdpbnZhbGlkUHJvcGVydHlOYW1lJywgcmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9kZXJpdmVDb250ZXh0KHN0YXRlOiBKc29uRWRpdG9yU3RhdGUsIC4uLnZhbHVlczogVmFyaWFibGVWYWx1ZVtdKTogUmVzdWx0PEpzb25Db250ZXh0fHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gc3RhdGUuZXh0ZW5kQ29udGV4dCh0aGlzLl9vcHRpb25zPy5jb250ZXh0LCB7IHZhcnM6IHZhbHVlcyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gcHJvcGVydHkga2V5IGlzIG11bHRpLXZhbHVlLiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICAgKiBtZXRob2QgdG8gdXNlIGEgZGlmZmVyZW50IGZvcm1hdCBmb3IgbXVsdGktdmFsdWUgcHJvcGVydGllcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGNvbnNpZGVyLlxuICAgICAqIEBwYXJhbSBzdGF0ZSBUaGUgZWRpdG9yIHN0YXRlIG9mIHRoZSBvYmplY3QgYmVpbmcgZWRpdGVkLlxuICAgICAqIEByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCBkZXRhaWwgJ2RlZmVycmVkJyBhbmQgYSBAc2VlIE11bHRpVmFsdWVQcm9wZXJ0eVBhcnRzIGRlc2NyaWJpbmcgdGhlXG4gICAgICogbWF0Y2ggZm9yIG1hdGNoaW5nIG11bHRpLXZhbHVlIHByb3BlcnR5LiAgRmFpbHMgd2l0aCBkZXRhaWwgJ2Vycm9yJyBpZiBhbiBlcnJvciBvY2N1cnNcbiAgICAgKiBvciB3aXRoIGRldGFpbCAnaW5hcHBsaWNhYmxlJyBpZiB0aGUga2V5IGRvZXMgbm90IHJlcHJlc2VudCBhIG11bHRpLXZhbHVlIHByb3BlcnR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdHJ5UGFyc2UodG9rZW46IHN0cmluZywgc3RhdGU6IEpzb25FZGl0b3JTdGF0ZSk6IERldGFpbGVkUmVzdWx0PE11bHRpVmFsdWVQcm9wZXJ0eVBhcnRzLCBKc29uRWRpdEZhaWx1cmVSZWFzb24+IHtcbiAgICAgICAgbGV0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBsZXQgYXNBcnJheSA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0b2tlbi5zdGFydHNXaXRoKCdbWycpKSB7XG4gICAgICAgICAgICBwYXJ0cyA9IHRva2VuLnN1YnN0cmluZygyKS5zcGxpdCgnXV09Jyk7XG4gICAgICAgICAgICBhc0FycmF5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0b2tlbi5zdGFydHNXaXRoKCcqJykpIHtcbiAgICAgICAgICAgIHBhcnRzID0gdG9rZW4uc3Vic3RyaW5nKDEpLnNwbGl0KCc9Jyk7XG4gICAgICAgICAgICBhc0FycmF5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwodG9rZW4sICdpbmFwcGxpY2FibGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTWFsZm9ybWVkIG11bHRpLXZhbHVlIHByb3BlcnR5OiAke3Rva2VufWA7XG4gICAgICAgICAgICByZXR1cm4gc3RhdGUuZmFpbFZhbGlkYXRpb24oJ2ludmFsaWRQcm9wZXJ0eU5hbWUnLCBtZXNzYWdlLCB0aGlzLl9vcHRpb25zPy52YWxpZGF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJ0c1sxXS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWxXaXRoRGV0YWlsKCd1bnJlc29sdmVkIHRlbXBsYXRlJywgJ2luYXBwbGljYWJsZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlWYXJpYWJsZSA9IHBhcnRzWzBdO1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVZhbHVlcyA9IHBhcnRzWzFdLnNwbGl0KCcsJyk7XG4gICAgICAgIHJldHVybiBzdWNjZWVkV2l0aERldGFpbCh7IHRva2VuLCBwcm9wZXJ0eVZhcmlhYmxlLCBwcm9wZXJ0eVZhbHVlcywgYXNBcnJheSB9KTtcbiAgICB9XG59XG4iXX0=
|
|
File without changes
|