@mediusinc/mng-commons 0.12.2 → 0.13.0
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/esm2020/lib/components/action/action.component.mjs +8 -8
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +5 -5
- package/esm2020/lib/components/button/button.component.mjs +46 -0
- package/esm2020/lib/components/button/index.mjs +2 -0
- package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +8 -3
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +3 -2
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +10 -13
- package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +27 -11
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +5 -3
- package/esm2020/lib/data-providers/index.mjs +2 -1
- package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +24 -0
- package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +106 -0
- package/esm2020/lib/descriptors/action.descriptor.mjs +53 -154
- package/esm2020/lib/descriptors/button.descriptor.mjs +111 -0
- package/esm2020/lib/descriptors/column.descriptor.mjs +17 -1
- package/esm2020/lib/descriptors/field.descriptor.mjs +1 -1
- package/esm2020/lib/descriptors/index.mjs +3 -1
- package/esm2020/lib/mng-commons.module.mjs +24 -9
- package/esm2020/lib/pipes/getter.pipe.mjs +20 -0
- package/esm2020/lib/pipes/index.mjs +4 -2
- package/esm2020/lib/pipes/json-path.pipe.mjs +1 -2
- package/esm2020/lib/pipes/parametrize.pipe.mjs +85 -0
- package/esm2020/lib/pipes/template.pipe.mjs +24 -0
- package/esm2020/lib/services/action-executor.service.mjs +34 -23
- package/esm2020/lib/styles/button-style.builder.mjs +59 -8
- package/esm2020/lib/styles/styles.util.mjs +2 -2
- package/esm2020/lib/utils/string.util.mjs +4 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/mediusinc-mng-commons.mjs +627 -266
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +628 -262
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/components/button/button.component.d.ts +16 -0
- package/lib/components/button/index.d.ts +1 -0
- package/lib/components/form/dropdown/dropdown.component.d.ts +2 -0
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +1 -0
- package/lib/data-providers/index.d.ts +1 -0
- package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -0
- package/lib/descriptors/action/action-confirmation.descriptor.d.ts +48 -0
- package/lib/descriptors/action.descriptor.d.ts +26 -83
- package/lib/descriptors/button.descriptor.d.ts +40 -0
- package/lib/descriptors/column.descriptor.d.ts +6 -0
- package/lib/descriptors/field.descriptor.d.ts +9 -9
- package/lib/descriptors/index.d.ts +2 -0
- package/lib/mng-commons.module.d.ts +74 -71
- package/lib/pipes/getter.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +3 -1
- package/lib/pipes/parametrize.pipe.d.ts +13 -0
- package/lib/pipes/template.pipe.d.ts +10 -0
- package/lib/services/action-executor.service.d.ts +3 -3
- package/lib/styles/button-style.builder.d.ts +43 -2
- package/package.json +3 -3
- package/public-api.d.ts +1 -0
- package/version-info.json +5 -5
- package/esm2020/lib/pipes/link-formatter.pipe.mjs +0 -39
- package/lib/pipes/link-formatter.pipe.d.ts +0 -11
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MngGetterPipe {
|
|
4
|
+
transform(value, getterFunction) {
|
|
5
|
+
if (typeof getterFunction === 'function') {
|
|
6
|
+
return getterFunction(value);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
MngGetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
12
|
+
MngGetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: MngGetterPipe, name: "getter" });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngGetterPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{
|
|
16
|
+
name: 'getter',
|
|
17
|
+
pure: true
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BpcGVzL2dldHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQU1sRCxNQUFNLE9BQU8sYUFBYTtJQUN0QixTQUFTLENBQUMsS0FBYyxFQUFFLGNBQW1DO1FBQ3pELElBQUksT0FBTyxjQUFjLEtBQUssVUFBVSxFQUFFO1lBQ3RDLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7MEdBUFEsYUFBYTt3R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLElBQUk7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dldHRlcicsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNbmdHZXR0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBnZXR0ZXJGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2V0dGVyRnVuY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXR0ZXJGdW5jdGlvbih2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './boolean.pipe';
|
|
2
2
|
export * from './enum.pipe';
|
|
3
3
|
export * from './i18n-property.pipe';
|
|
4
|
-
export * from './link-formatter.pipe';
|
|
5
4
|
export * from './json-path.pipe';
|
|
6
|
-
|
|
5
|
+
export * from './parametrize.pipe';
|
|
6
|
+
export * from './getter.pipe';
|
|
7
|
+
export * from './template.pipe';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9vbGVhbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi1wcm9wZXJ0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vanNvbi1wYXRoLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJhbWV0cml6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0dGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZS5waXBlJztcbiJdfQ==
|
|
@@ -37,7 +37,6 @@ export class JsonPathPipe {
|
|
|
37
37
|
const arrayPath = p.substring(0, leftBracketIdx);
|
|
38
38
|
const arrayIdx = +p.substring(leftBracketIdx + 1, p.length - 1);
|
|
39
39
|
const array = currValue[arrayPath];
|
|
40
|
-
console.log(arrayPath, arrayIdx, array);
|
|
41
40
|
if (Array.isArray(array)) {
|
|
42
41
|
if (arrayIdx >= 0 && arrayIdx < array.length) {
|
|
43
42
|
// valid index, continue on the path
|
|
@@ -77,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
77
76
|
pure: true
|
|
78
77
|
}]
|
|
79
78
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRoLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BpcGVzL2pzb24tcGF0aC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUVsRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUU7UUFDM0IsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2QsdUJBQXVCO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUNBQXlDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUVELHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO2dCQUN2QixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO29CQUN4RCxPQUFPLFNBQVMsQ0FBQztpQkFDcEI7Z0JBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsbUNBQW1DO29CQUNuQyxPQUFPLFNBQVMsQ0FBQztpQkFDcEI7Z0JBRUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3hDLCtCQUErQjtvQkFDL0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQ2pELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ2hFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUN0QixJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7NEJBQzFDLG9DQUFvQzs0QkFDcEMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQzs0QkFDNUIsU0FBUzt5QkFDWjs2QkFBTTs0QkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQzt5QkFDM0Y7cUJBQ0o7eUJBQU07d0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO3FCQUMxRTtvQkFFRCxPQUFPLFNBQVMsQ0FBQztpQkFDcEI7cUJBQU0sSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7b0JBQ3RDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO3FCQUFNO29CQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM1RCxPQUFPLFNBQVMsQ0FBQztpQkFDcEI7YUFDSjtZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7O3lHQTVEUSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLElBQUk7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEltaXRhdGlvbiBvZiBKU09OUGF0aCBTeW50YXguIFN1cHBvcnRzOlxuICogIC0gUm9vdCBvYmplY3Qgbm90YXRpb24gd2l0aCAnJCdcbiAqICAtIERvdCBub3RhdGlvbiAoZS5nLjogJC5mb28uYmFyKSwgbm8gYnJhY2tldCBub3RhdGlvbiBmb3IgcHJvcGVydGllc1xuICogIC0gQXJyYXkgbm90YXRpb24gKGUuZy46IFswXSlcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdqc29uUGF0aCcsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBKc29uUGF0aFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgcGF0aCA9ICcnKTogYW55IHtcbiAgICAgICAgaWYgKHBhdGggPT09ICckJykge1xuICAgICAgICAgICAgLy8gb25seSByZXR1cm4gdGhlIHJvb3RcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGZvciBsZWFkaW5nIHJvb3Qgb2JqZWN0IG5vdGF0aW9uXG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJyQnKSkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIGxlYWRpbmcgLlxuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXRoLmluZGV4T2YoJy4nKSA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoU3BsaXQgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBsZXQgY3VyclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcGF0aFNwbGl0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGN1cnJWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VyclZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghcC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1wdHkgcGF0aCwgcmV0dXJuIGN1cnJlbnQgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBsZWZ0QnJhY2tldElkeCA9IHAuaW5kZXhPZignWycpO1xuICAgICAgICAgICAgICAgIGlmIChsZWZ0QnJhY2tldElkeCA+PSAwICYmIHAuZW5kc1dpdGgoJ10nKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzaG91bGQgYmUgcmVmZXJlbmNlIHRvIGFycmF5XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5UGF0aCA9IHAuc3Vic3RyaW5nKDAsIGxlZnRCcmFja2V0SWR4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyYXlJZHggPSArcC5zdWJzdHJpbmcobGVmdEJyYWNrZXRJZHggKyAxLCBwLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcnJheSA9IGN1cnJWYWx1ZVthcnJheVBhdGhdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcnJheSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcnJheUlkeCA+PSAwICYmIGFycmF5SWR4IDwgYXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsaWQgaW5kZXgsIGNvbnRpbnVlIG9uIHRoZSBwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyclZhbHVlID0gYXJyYXlbYXJyYXlJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFBhdGggJHtwYXRofSBhcnJheSBpbmRleCBhdCAke3B9IGlzIG5vdCB3aXRoaW4gdmFsaWQgYXJyYXkgcmFuZ2VgLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFBhdGggJHtwYXRofSBhcnJheSBhdCAke3B9IGlzIG5vdCBhIHZhbGlkIGFycmF5YCwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjdXJyVmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJWYWx1ZSA9IGN1cnJWYWx1ZVtwXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFBhdGggJHtwYXRofSBpcyBub3QgdmFsaWQgZm9yIG9iamVjdGAsIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VyclZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlW3BhdGhdO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { StringUtil } from '../utils';
|
|
3
|
+
import { JsonPathPipe } from './json-path.pipe';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MngParametrizePipe {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.jsonPath = new JsonPathPipe();
|
|
8
|
+
}
|
|
9
|
+
transform(value, itemId, item, actionData) {
|
|
10
|
+
let params = {};
|
|
11
|
+
if (actionData) {
|
|
12
|
+
params = {
|
|
13
|
+
...params,
|
|
14
|
+
...actionData
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (item) {
|
|
18
|
+
params = {
|
|
19
|
+
...params,
|
|
20
|
+
item: StringUtil.escapeHtmlAny(item)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (itemId) {
|
|
24
|
+
params = {
|
|
25
|
+
...params,
|
|
26
|
+
itemId: itemId
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (typeof value === 'string') {
|
|
30
|
+
return this.transformString(value, params);
|
|
31
|
+
}
|
|
32
|
+
else if (Array.isArray(value) && value.length > 0 && typeof value[0] === 'string') {
|
|
33
|
+
return value.map((s) => this.transformString(s, params));
|
|
34
|
+
}
|
|
35
|
+
else if (typeof value === 'object') {
|
|
36
|
+
// process only first level citizens
|
|
37
|
+
const obj = { ...value };
|
|
38
|
+
for (const key in obj) {
|
|
39
|
+
const objProp = obj[key];
|
|
40
|
+
if (typeof objProp === 'string') {
|
|
41
|
+
obj[key] = this.transformString(objProp, params);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
transformString(s, params) {
|
|
51
|
+
if ((s.indexOf('/') >= 0 && s.indexOf(':') >= 0) || s.startsWith(':')) {
|
|
52
|
+
// this is url
|
|
53
|
+
return s
|
|
54
|
+
.split('/')
|
|
55
|
+
.map(s => this.parametrizeStringAsUrl(s, params))
|
|
56
|
+
.join('/');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// parametrize normally
|
|
60
|
+
return this.parametrizeString(s, params);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
parametrizeStringAsUrl(s, params) {
|
|
64
|
+
if (s.startsWith(':')) {
|
|
65
|
+
const itemProperty = s.substring(1);
|
|
66
|
+
return this.jsonPath.transform(params, itemProperty) ?? '';
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return s;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
parametrizeString(s, params) {
|
|
73
|
+
return s.replace(/{{\s?([^{}\s]*)\s?}}/g, (subs, key) => this.jsonPath.transform(params, key) ?? subs);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
MngParametrizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngParametrizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
77
|
+
MngParametrizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: MngParametrizePipe, name: "parametrize" });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngParametrizePipe, decorators: [{
|
|
79
|
+
type: Pipe,
|
|
80
|
+
args: [{
|
|
81
|
+
name: 'parametrize',
|
|
82
|
+
pure: true
|
|
83
|
+
}]
|
|
84
|
+
}] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcGlwZXMvcGFyYW1ldHJpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNOUMsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUtZLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBbUV6QztJQWpFRyxTQUFTLENBQUMsS0FBYyxFQUFFLE1BQWUsRUFBRSxJQUFVLEVBQUUsVUFBdUI7UUFDMUUsSUFBSSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLElBQUksVUFBVSxFQUFFO1lBQ1osTUFBTSxHQUFHO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxHQUFHLFVBQVU7YUFDaEIsQ0FBQztTQUNMO1FBQ0QsSUFBSSxJQUFJLEVBQUU7WUFDTixNQUFNLEdBQUc7Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULElBQUksRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQzthQUN2QyxDQUFDO1NBQ0w7UUFDRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sR0FBRztnQkFDTCxHQUFHLE1BQU07Z0JBQ1QsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQztTQUNMO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM5QzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDakYsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDbEMsb0NBQW9DO1lBQ3BDLE1BQU0sR0FBRyxHQUFRLEVBQUMsR0FBRyxLQUFLLEVBQUMsQ0FBQztZQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtnQkFDbkIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtvQkFDN0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUNwRDthQUNKO1lBQ0QsT0FBTyxHQUFHLENBQUM7U0FDZDthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLENBQVMsRUFBRSxNQUFXO1FBQzFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkUsY0FBYztZQUNkLE9BQU8sQ0FBQztpQkFDSCxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0gsdUJBQXVCO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxDQUFTLEVBQUUsTUFBVztRQUNqRCxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUQ7YUFBTTtZQUNILE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsQ0FBUyxFQUFFLE1BQVc7UUFDNUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzNILENBQUM7OytHQW5FUSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUUsSUFBSTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QWN0aW9uRGF0YX0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzJztcbmltcG9ydCB7SWRUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1N0cmluZ1V0aWx9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7SnNvblBhdGhQaXBlfSBmcm9tICcuL2pzb24tcGF0aC5waXBlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdwYXJhbWV0cml6ZScsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNbmdQYXJhbWV0cml6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIGpzb25QYXRoID0gbmV3IEpzb25QYXRoUGlwZSgpO1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBpdGVtSWQ/OiBJZFR5cGUsIGl0ZW0/OiBhbnksIGFjdGlvbkRhdGE/OiBBY3Rpb25EYXRhKTogYW55IHtcbiAgICAgICAgbGV0IHBhcmFtczogYW55ID0ge307XG4gICAgICAgIGlmIChhY3Rpb25EYXRhKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgICAgICAgIC4uLmFjdGlvbkRhdGFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgaXRlbTogU3RyaW5nVXRpbC5lc2NhcGVIdG1sQW55KGl0ZW0pXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtSWQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdGVtSWRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtU3RyaW5nKHZhbHVlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDAgJiYgdHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoczogc3RyaW5nKSA9PiB0aGlzLnRyYW5zZm9ybVN0cmluZyhzLCBwYXJhbXMpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAvLyBwcm9jZXNzIG9ubHkgZmlyc3QgbGV2ZWwgY2l0aXplbnNcbiAgICAgICAgICAgIGNvbnN0IG9iajogYW55ID0gey4uLnZhbHVlfTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9ialByb3AgPSBvYmpba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9ialByb3AgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gdGhpcy50cmFuc2Zvcm1TdHJpbmcob2JqUHJvcCwgcGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1TdHJpbmcoczogc3RyaW5nLCBwYXJhbXM6IGFueSkge1xuICAgICAgICBpZiAoKHMuaW5kZXhPZignLycpID49IDAgJiYgcy5pbmRleE9mKCc6JykgPj0gMCkgfHwgcy5zdGFydHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgdXJsXG4gICAgICAgICAgICByZXR1cm4gc1xuICAgICAgICAgICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgICAgICAgICAgLm1hcChzID0+IHRoaXMucGFyYW1ldHJpemVTdHJpbmdBc1VybChzLCBwYXJhbXMpKVxuICAgICAgICAgICAgICAgIC5qb2luKCcvJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwYXJhbWV0cml6ZSBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyYW1ldHJpemVTdHJpbmcocywgcGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyYW1ldHJpemVTdHJpbmdBc1VybChzOiBzdHJpbmcsIHBhcmFtczogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHMuc3RhcnRzV2l0aCgnOicpKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtUHJvcGVydHkgPSBzLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmpzb25QYXRoLnRyYW5zZm9ybShwYXJhbXMsIGl0ZW1Qcm9wZXJ0eSkgPz8gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyYW1ldHJpemVTdHJpbmcoczogc3RyaW5nLCBwYXJhbXM6IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBzLnJlcGxhY2UoL3t7XFxzPyhbXnt9XFxzXSopXFxzP319L2csIChzdWJzOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB0aGlzLmpzb25QYXRoLnRyYW5zZm9ybShwYXJhbXMsIGtleSkgPz8gc3Vicyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./parametrize.pipe";
|
|
4
|
+
export class MngTemplatePipe {
|
|
5
|
+
constructor(parametrizePipe) {
|
|
6
|
+
this.parametrizePipe = parametrizePipe;
|
|
7
|
+
}
|
|
8
|
+
transform(value, template) {
|
|
9
|
+
if (typeof template === 'string') {
|
|
10
|
+
return this.parametrizePipe.transform(template, undefined, value);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
MngTemplatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTemplatePipe, deps: [{ token: i1.MngParametrizePipe }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
MngTemplatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: MngTemplatePipe, name: "template" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTemplatePipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'template',
|
|
21
|
+
pure: true
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return [{ type: i1.MngParametrizePipe }]; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcGlwZXMvdGVtcGxhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFlBQW9CLGVBQW1DO1FBQW5DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtJQUFHLENBQUM7SUFFM0QsU0FBUyxDQUFDLEtBQWMsRUFBRSxRQUFpQjtRQUN2QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs0R0FUUSxlQUFlOzBHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLElBQUk7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge01uZ1BhcmFtZXRyaXplUGlwZX0gZnJvbSAnLi9wYXJhbWV0cml6ZS5waXBlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0ZW1wbGF0ZScsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNbmdUZW1wbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtZXRyaXplUGlwZTogTW5nUGFyYW1ldHJpemVQaXBlKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCB0ZW1wbGF0ZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJhbWV0cml6ZVBpcGUudHJhbnNmb3JtKHRlbXBsYXRlLCB1bmRlZmluZWQsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59XG4iXX0=
|