@acorex/core 4.0.24 → 4.1.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.
Files changed (128) hide show
  1. package/README.md +2 -23
  2. package/acorex-core.d.ts +1 -0
  3. package/{esm2015/acorex-core.js → esm2020/acorex-core.mjs} +1 -1
  4. package/esm2020/lib/classes/base-page.class.mjs +28 -0
  5. package/esm2020/lib/classes/color.class.mjs +49 -0
  6. package/esm2020/lib/classes/datetime.class.mjs +315 -0
  7. package/esm2020/lib/classes/menu.class.mjs +27 -0
  8. package/esm2020/lib/classes/navigator.class.mjs +2 -0
  9. package/esm2020/lib/classes/popup.class.mjs +2 -0
  10. package/esm2020/lib/classes/promise.class.mjs +19 -0
  11. package/esm2020/lib/classes/sectionlist.class.mjs +2 -0
  12. package/esm2020/lib/classes/select.class.mjs +3 -0
  13. package/esm2020/lib/core.module.mjs +27 -0
  14. package/esm2020/lib/error/error.class.mjs +2 -0
  15. package/esm2020/lib/error/error.module.mjs +19 -0
  16. package/esm2020/lib/error/error.service.mjs +21 -0
  17. package/esm2020/lib/events/keyboard.mjs +2 -0
  18. package/esm2020/lib/http/http-error.class.mjs +2 -0
  19. package/esm2020/lib/http/http-events.interceptor.mjs +3 -0
  20. package/esm2020/lib/http/http-request.class.mjs +2 -0
  21. package/esm2020/lib/http/http-result.class.mjs +21 -0
  22. package/esm2020/lib/http/http.module.mjs +37 -0
  23. package/esm2020/lib/http/http.service.mjs +145 -0
  24. package/esm2020/lib/locale/en.json +253 -0
  25. package/esm2020/lib/locale/fa.json +242 -0
  26. package/esm2020/lib/pipe/datetime.pipe.mjs +25 -0
  27. package/esm2020/lib/pipe/htmlToText.pipe.mjs +25 -0
  28. package/esm2020/lib/services/config.mjs +29 -0
  29. package/esm2020/lib/services/event.service.mjs +36 -0
  30. package/esm2020/lib/services/navigator.service.mjs +10 -0
  31. package/esm2020/lib/services/storage.service.mjs +16 -0
  32. package/esm2020/lib/translator/translator.mjs +26 -0
  33. package/esm2020/lib/translator/translator.module.mjs +25 -0
  34. package/esm2020/lib/translator/translator.pipe.mjs +24 -0
  35. package/esm2020/lib/translator/translator.service.mjs +21 -0
  36. package/esm2020/lib/utils/array/array-util.mjs +133 -0
  37. package/esm2020/lib/utils/html/html-util.mjs +192 -0
  38. package/esm2020/lib/utils/html/html.module.mjs +19 -0
  39. package/esm2020/lib/utils/math/math-util.mjs +6 -0
  40. package/esm2020/lib/utils/object/object-util.mjs +83 -0
  41. package/esm2020/lib/utils/render/on-demand-preload-strategy.service.mjs +21 -0
  42. package/esm2020/lib/utils/render/render.service.mjs +103 -0
  43. package/esm2020/lib/utils/render/rendering.module.mjs +35 -0
  44. package/esm2020/lib/utils/scroll/scroll.directive.mjs +54 -0
  45. package/esm2020/lib/utils/scroll/scroll.module.mjs +19 -0
  46. package/esm2020/lib/utils/separator/separator.module.mjs +19 -0
  47. package/esm2020/lib/utils/separator/separator.pipe.mjs +33 -0
  48. package/esm2020/public-api.mjs +43 -0
  49. package/fesm2015/acorex-core.mjs +2124 -0
  50. package/fesm2015/acorex-core.mjs.map +1 -0
  51. package/fesm2020/acorex-core.mjs +2120 -0
  52. package/fesm2020/acorex-core.mjs.map +1 -0
  53. package/lib/classes/base-page.class.d.ts +13 -0
  54. package/lib/classes/color.class.d.ts +17 -0
  55. package/lib/classes/datetime.class.d.ts +63 -0
  56. package/lib/classes/menu.class.d.ts +34 -0
  57. package/lib/classes/navigator.class.d.ts +5 -0
  58. package/lib/classes/popup.class.d.ts +12 -0
  59. package/lib/classes/promise.class.d.ts +7 -0
  60. package/lib/classes/sectionlist.class.d.ts +8 -0
  61. package/lib/classes/select.class.d.ts +7 -0
  62. package/lib/core.module.d.ts +9 -0
  63. package/lib/error/error.class.d.ts +4 -0
  64. package/lib/error/error.module.d.ts +7 -0
  65. package/lib/error/error.service.d.ts +13 -0
  66. package/lib/events/keyboard.d.ts +2 -0
  67. package/lib/http/http-error.class.d.ts +7 -0
  68. package/lib/http/http-events.interceptor.d.ts +10 -0
  69. package/lib/http/http-request.class.d.ts +14 -0
  70. package/lib/http/http-result.class.d.ts +11 -0
  71. package/lib/http/http.module.d.ts +10 -0
  72. package/lib/http/http.service.d.ts +23 -0
  73. package/lib/pipe/datetime.pipe.d.ts +8 -0
  74. package/lib/pipe/htmlToText.pipe.d.ts +7 -0
  75. package/lib/{config/configs.d.ts → services/config.d.ts} +1 -1
  76. package/lib/services/event.service.d.ts +9 -0
  77. package/lib/services/navigator.service.d.ts +8 -0
  78. package/lib/services/storage.service.d.ts +7 -0
  79. package/lib/{translation → translator}/translator.d.ts +0 -0
  80. package/lib/translator/translator.module.d.ts +8 -0
  81. package/lib/translator/translator.pipe.d.ts +8 -0
  82. package/lib/translator/translator.service.d.ts +8 -0
  83. package/lib/utils/array/array-util.d.ts +6 -0
  84. package/lib/utils/html/html-util.d.ts +62 -0
  85. package/lib/utils/html/html.module.d.ts +8 -0
  86. package/lib/utils/math/math-util.d.ts +3 -0
  87. package/lib/utils/object/object-util.d.ts +7 -0
  88. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +10 -0
  89. package/lib/utils/render/render.service.d.ts +18 -0
  90. package/lib/utils/render/rendering.module.d.ts +8 -0
  91. package/lib/utils/scroll/scroll.directive.d.ts +18 -0
  92. package/lib/utils/scroll/scroll.module.d.ts +8 -0
  93. package/lib/utils/separator/separator.module.d.ts +8 -0
  94. package/lib/utils/separator/separator.pipe.d.ts +8 -0
  95. package/package.json +24 -12
  96. package/public-api.d.ts +42 -5
  97. package/acorex-core.metadata.json +0 -1
  98. package/bundles/acorex-core.umd.js +0 -831
  99. package/bundles/acorex-core.umd.js.map +0 -1
  100. package/bundles/acorex-core.umd.min.js +0 -2
  101. package/bundles/acorex-core.umd.min.js.map +0 -1
  102. package/esm2015/lib/config/configs.js +0 -29
  103. package/esm2015/lib/dateTime/datetime.class.js +0 -226
  104. package/esm2015/lib/dateTime/datetime.module.js +0 -13
  105. package/esm2015/lib/dateTime/datetime.pipe.js +0 -22
  106. package/esm2015/lib/dateTime/georgian.calendar.js +0 -145
  107. package/esm2015/lib/dateTime/index.js +0 -5
  108. package/esm2015/lib/platform/index.js +0 -2
  109. package/esm2015/lib/platform/platform.service.js +0 -127
  110. package/esm2015/lib/translation/index.js +0 -4
  111. package/esm2015/lib/translation/translation.module.js +0 -13
  112. package/esm2015/lib/translation/translator.js +0 -26
  113. package/esm2015/lib/translation/translator.pipe.js +0 -11
  114. package/esm2015/lib/utils/object-util.js +0 -83
  115. package/esm2015/public-api.js +0 -6
  116. package/fesm2015/acorex-core.js +0 -686
  117. package/fesm2015/acorex-core.js.map +0 -1
  118. package/lib/dateTime/datetime.class.d.ts +0 -83
  119. package/lib/dateTime/datetime.module.d.ts +0 -2
  120. package/lib/dateTime/datetime.pipe.d.ts +0 -5
  121. package/lib/dateTime/georgian.calendar.d.ts +0 -17
  122. package/lib/dateTime/index.d.ts +0 -4
  123. package/lib/platform/index.d.ts +0 -1
  124. package/lib/platform/platform.service.d.ts +0 -17
  125. package/lib/translation/index.d.ts +0 -3
  126. package/lib/translation/translation.module.d.ts +0 -2
  127. package/lib/translation/translator.pipe.d.ts +0 -4
  128. package/lib/utils/object-util.d.ts +0 -7
@@ -0,0 +1,242 @@
1
+ {
2
+ "common": {
3
+ "search": "جستجو",
4
+ "yes": "بله",
5
+ "no": "خیر",
6
+ "confirm": "تایید",
7
+ "okay": "تایید",
8
+ "cancel": "انصراف",
9
+ "remove": "حذف",
10
+ "edit": "ویرایش",
11
+ "configs": "پیکربندی",
12
+ "noDataFound": "موردی یافت نشد!",
13
+ "searching": "درحال جستجو ...",
14
+ "save-as": "ذخیره به عنوان ...",
15
+ "title": "عنوان",
16
+ "description": "توضیحات",
17
+ "name": "نام",
18
+ "uniquename": "نام شناسه یکتا",
19
+ "size": "اندازه",
20
+ "add-item": "افزودن",
21
+ "color": "رنگ",
22
+ "display": "نمایش",
23
+ "value": "مقدار",
24
+ "min-value": "مقدار کمینه",
25
+ "max-value": "مقدار بیشینه",
26
+ "refresh-rate": "نرخ بروز رسانی",
27
+ "refresh": "بروز رسانی",
28
+ "reload": "بارگزاری مجدد",
29
+ "condition": "شرط"
30
+ },
31
+ "dateTime": {
32
+ "weekdaysShort": {
33
+ "sun": "ی",
34
+ "mon": "د",
35
+ "tue": "س",
36
+ "wed": "چ",
37
+ "thu": "پ",
38
+ "fri": "ج",
39
+ "sat": "ش"
40
+ },
41
+ "dayTime": {
42
+ "am": "ق ظ",
43
+ "pm": "ب ظُ",
44
+ "m": ".ظ",
45
+ "a": "ق",
46
+ "p": "ب"
47
+ },
48
+ "today": "امروز",
49
+ "duration": {
50
+ "format_second": "{0} ثانیه",
51
+ "format_minute": "{0} دقیقه"
52
+ }
53
+ },
54
+ "queryBuilder": {
55
+ "contains": "شامل",
56
+ "not-contains": "به غیر از",
57
+ "contains-all": "شامل همه",
58
+ "start-with": "شروع شود با",
59
+ "end-with": "پایان با",
60
+ "equal": "برابر با",
61
+ "not-equal": "نا برابر با",
62
+ "null": " خالی باشد",
63
+ "not-null": "خالی نباشد",
64
+ "greater-than": "بزرگ تر",
65
+ "gt": "بزرگ تر",
66
+ "greater-than-equal": "بزرگتر مساوی",
67
+ "gte": "بزرگتر مساوی",
68
+ "less-than": "کوچکتر",
69
+ "lt": "کوچکتر",
70
+ "less-than-equal": "کوچکتر مساوی",
71
+ "lte": "کوچکتر مساوی",
72
+ "true": "true",
73
+ "false": "false"
74
+ },
75
+ "validation": {
76
+ "messages": {
77
+ "required": "مقدار این فیلد الزامی می باشد!",
78
+ "email": "این آدرس ایمیل معتبر نمی باشد!",
79
+ "phone": "این شماره تلفن معتبر نمی باشد!"
80
+ }
81
+ },
82
+ "dataGrid": {
83
+ "page": "صفحه",
84
+ "more": "بیشتر",
85
+ "to": "تا",
86
+ "of": "از",
87
+ "next": "بعدی",
88
+ "last": "آخرین",
89
+ "first": "اولین",
90
+ "previous": "قبلی",
91
+ "loadingOoo": "... لطفا منتظر بمانید",
92
+ "selectAll": "انتخاب همه",
93
+ "searchOoo": "جستجو ...",
94
+ "blanks": "جای خالی",
95
+ "filterOoo": "فیلتر ...",
96
+ "equals": "برابر",
97
+ "notEqual": "نابرابر",
98
+ "lessThan": "کوچکتر از",
99
+ "greaterThan": "بزرگتر از",
100
+ "lessThanOrEqual": "کوچکتر مساوی",
101
+ "greaterThanOrEqual": "بزرکتر مساوی",
102
+ "inRange": "در محدوده",
103
+ "inRangeStart": "تا",
104
+ "inRangeEnd": "از",
105
+ "contains": "شامل",
106
+ "notContains": "شامل نمی شود",
107
+ "startsWith": "شروع شود با",
108
+ "endsWith": "پایان با",
109
+ "andCondition": "و",
110
+ "orCondition": "یا",
111
+ "applyFilter": "اعمال",
112
+ "resetFilter": "تنظیم مجدد فیلتر",
113
+ "clearFilter": "پاک کردن فیلتر",
114
+ "group": "گروه",
115
+ "columns": "ستون ها",
116
+ "filters": "فیاتر ها",
117
+ "groups": "گروه ها ",
118
+ "values": "مقدار ها",
119
+ "enabled": "فعال شده",
120
+ "pinColumn": "سنجاق",
121
+ "groupBy": "دسته بندی بر اساس",
122
+ "ungroupBy": "حذف دسته بندی",
123
+ "resetColumns": "تنظیم مجدد ستون ها",
124
+ "expandAll": "باز کردن همه",
125
+ "collapseAll": "بستن همه",
126
+ "toolPanel": "پنل ابزار",
127
+ "export": "خروجی",
128
+ "csvExport": "csv خروجی",
129
+ "excelExport": "خروجی اکسل (.xlsx)",
130
+ "excelXmlExport": "خروجی اکسل (.xml)",
131
+ "chartRange": "محدوده نمودار",
132
+ "columnChart": "ستون",
133
+ "groupedColumn": "دسته بندی شده",
134
+ "stackedColumn": "انباشته",
135
+ "normalizedColumn": "ستون نرمال",
136
+ "barChart": "نمودار میله ای",
137
+ "groupedBar": "دسته بندی شده",
138
+ "stackedBar": "انباشته",
139
+ "normalizedBar": "نوار ",
140
+ "pie": "پای",
141
+ "doughnut": "Doughnut",
142
+ "line": "خط",
143
+ "xyChart": "X Y (پراکندگی)",
144
+ "scatter": "پراکندگی",
145
+ "bubble": "حباب",
146
+ "areaChart": "حوزه",
147
+ "area": "حوزه",
148
+ "stackedArea": "انباشته ",
149
+ "normalizedArea": "100% انباشته",
150
+ "histogramChart": "هیستوگرام",
151
+ "pinLeft": "سنجاق چپ",
152
+ "pinRight": "سنجاق راست",
153
+ "noPin": "حذف سنجاق",
154
+ "sum": "مجموع",
155
+ "min": "مینیمم",
156
+ "max": "ماکزیمم",
157
+ "none": "هیچ",
158
+ "count": "شمردن",
159
+ "avg": "میانگین",
160
+ "filteredRows": "فیلتر شده",
161
+ "selectedRows": "انتخاب شده",
162
+ "totalRows": "مجموع ردیف ها",
163
+ "totalAndFilteredRows": "سطر ها",
164
+ "copy": "کپی",
165
+ "copyWithHeaders": "کپی با هدر ها",
166
+ "ctrlC": "Ctrl C",
167
+ "paste": "جایگزینی",
168
+ "ctrlV": "Ctrl V",
169
+ "pivotChartTitle": "نمودار محوری",
170
+ "rangeChartTitle": "نمودار محدوده",
171
+ "settings": "تنظیمات",
172
+ "data": "تاریخ",
173
+ "format": "قالب",
174
+ "categories": "دسته بندی ها",
175
+ "series": "Series",
176
+ "xyValues": "X Y مقادیر",
177
+ "paired": "حالت زوج",
178
+ "axis": "محور",
179
+ "color": "رنگ",
180
+ "thickness": "ضخامت",
181
+ "xType": "X Type",
182
+ "automatic": "خودکار",
183
+ "category": "دسته بندی",
184
+ "number": "عدد",
185
+ "time": "زمان",
186
+ "xRotation": "X چرخش",
187
+ "yRotation": "Y چرخش",
188
+ "ticks": "نمادها",
189
+ "width": "عرض",
190
+ "length": "طول",
191
+ "padding": "لایه گزاری",
192
+ "chart": "جدول",
193
+ "title": "عنوان",
194
+ "background": "زمینه",
195
+ "font": "فونت",
196
+ "top": "بالا",
197
+ "right": "راست",
198
+ "bottom": "پایین",
199
+ "left": "چپ",
200
+ "labels": "برچسب",
201
+ "size": "اندازه",
202
+ "minSize": "حداقل اندازه",
203
+ "maxSize": "بیشترین اندازه",
204
+ "position": "موقعیت",
205
+ "markerSize": "اندازه نشانگر",
206
+ "callout": "فراخوان",
207
+ "markers": "نشانه گرها",
208
+ "shadow": "سایه",
209
+ "blur": "محو شدن",
210
+ "xOffset": "X انحراف",
211
+ "yOffset": "Y انحراف",
212
+ "lineWidth": "عرض خط",
213
+ "normal": "نرمال",
214
+ "italic": "Italic",
215
+ "boldItalic": "Bold Italic",
216
+ "predefined": "Predefined",
217
+ "fillOpacity": "Fill Opacity",
218
+ "strokeOpacity": "Line Opacity",
219
+ "histogramBinCount": "Bin Count",
220
+ "columnGroup": "ستون",
221
+ "barGroup": "Bar",
222
+ "pieGroup": "Pie",
223
+ "lineGroup": "خط",
224
+ "areaGroup": "حوزه",
225
+ "histogramGroup": "هیستوگرام",
226
+ "groupedColumnTooltip": "دسته بندی شده",
227
+ "stackedColumnTooltip": "Stacked",
228
+ "normalizedColumnTooltip": "100% Stacked",
229
+ "groupedBarTooltip": "دسته بندی شده",
230
+ "stackedBarTooltip": "Stacked",
231
+ "pieTooltip": "Pie",
232
+ "doughnutTooltip": "Doughnut",
233
+ "lineTooltip": "خط",
234
+ "groupedAreaTooltip": "گروه بندی شده",
235
+ "stackedAreaTooltip": "Stacked",
236
+ "scatterTooltip": "Scatter",
237
+ "bubbleTooltip": "حباب",
238
+ "histogramTooltip": "هیستوگرام",
239
+ "autosizeThiscolumn": "تنظیم اندازه ستون ",
240
+ "autosizeAllColumns": "تنظیم اندازه همه ستون ها"
241
+ }
242
+ }
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { AXDateTime } from '../classes/datetime.class';
3
+ import * as i0 from "@angular/core";
4
+ export class AXDateTimePipe {
5
+ constructor() { }
6
+ transform(value, format) {
7
+ const date = AXDateTime.convert(value);
8
+ if (value == null) {
9
+ return '';
10
+ }
11
+ if (!format) {
12
+ return date.toString();
13
+ }
14
+ else {
15
+ return date.format(format);
16
+ }
17
+ }
18
+ }
19
+ AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXDateTimePipe, name: "dt" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXDateTimePipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{ name: 'dt' }]
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvcGlwZS9kYXRldGltZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsZ0JBQWdCLENBQUM7SUFFakIsU0FBUyxDQUFDLEtBQVUsRUFBRSxNQUFlO1FBQ2pDLE1BQU0sSUFBSSxHQUFlLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxQjthQUNJO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs7MkdBZFEsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnLi4vY2xhc3Nlcy9kYXRldGltZS5jbGFzcyc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdkdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGRhdGU6IEFYRGF0ZVRpbWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUpO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFmb3JtYXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmZvcm1hdChmb3JtYXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXHtmlToTextPipe {
4
+ transform(value) {
5
+ if (value) {
6
+ const regexHtml = /<\/?[^>]+>/gi;
7
+ const regexNbsp = /&nbsp;/gi;
8
+ const regexAmp = /&amp;/gi;
9
+ return value
10
+ .replace(regexHtml, '')
11
+ .replace(regexNbsp, '')
12
+ .replace(regexAmp, '');
13
+ }
14
+ else {
15
+ return '';
16
+ }
17
+ }
18
+ }
19
+ AXHtmlToTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXHtmlToTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ AXHtmlToTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXHtmlToTextPipe, name: "html2text" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXHtmlToTextPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{ name: 'html2text' }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbFRvVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi9waXBlL2h0bWxUb1RleHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO1lBQzNCLE9BQU8sS0FBSztpQkFDVCxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztpQkFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7aUJBQ3RCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDOzs2R0FiVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2h0bWwydGV4dCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYSHRtbFRvVGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHJlZ2V4SHRtbCA9IC88XFwvP1tePl0rPi9naTtcclxuICAgICAgY29uc3QgcmVnZXhOYnNwID0gLyZuYnNwOy9naTtcclxuICAgICAgY29uc3QgcmVnZXhBbXAgPSAvJmFtcDsvZ2k7XHJcbiAgICAgIHJldHVybiB2YWx1ZVxyXG4gICAgICAgIC5yZXBsYWNlKHJlZ2V4SHRtbCwgJycpXHJcbiAgICAgICAgLnJlcGxhY2UocmVnZXhOYnNwLCAnJylcclxuICAgICAgICAucmVwbGFjZShyZWdleEFtcCwgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Subject } from 'rxjs';
2
+ import { getPropByPath, setPropByPath } from '../utils/object/object-util';
3
+ // @dynamic
4
+ export class AXConfig {
5
+ static get onChange() {
6
+ return AXConfig.dataChangeSubject.asObservable();
7
+ }
8
+ static set(arg1, arg2) {
9
+ if (arg1 && typeof arg1 == 'string') {
10
+ setPropByPath(AXConfig.dataModel, arg1, arg2);
11
+ AXConfig.dataChangeSubject.next(AXConfig.dataModel);
12
+ return;
13
+ }
14
+ if (arg1 && typeof arg1 == 'object') {
15
+ Object.assign(AXConfig.dataModel, arg1);
16
+ AXConfig.dataChangeSubject.next(AXConfig.dataModel);
17
+ return;
18
+ }
19
+ if (!arg1 && !arg2) {
20
+ return AXConfig.dataChangeSubject.asObservable();
21
+ }
22
+ }
23
+ static get(path) {
24
+ return getPropByPath(AXConfig.dataModel, path);
25
+ }
26
+ }
27
+ AXConfig.dataModel = {};
28
+ AXConfig.dataChangeSubject = new Subject();
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUTtJQUtqQixNQUFNLEtBQUssUUFBUTtRQUNmLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFJRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVUsRUFBRSxJQUFVO1FBRTdCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUNqQyxhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEQsT0FBTztTQUNWO1FBQ0QsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2hCLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUNuQixPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBN0JjLGtCQUFTLEdBQVEsRUFBRSxDQUFDO0FBQ3BCLDBCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGdldFByb3BCeVBhdGgsIHNldFByb3BCeVBhdGggfSBmcm9tICcuLi91dGlscy9vYmplY3Qvb2JqZWN0LXV0aWwnO1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYQ29uZmlnIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGRhdGFNb2RlbDogYW55ID0ge307XHJcbiAgICBwcml2YXRlIHN0YXRpYyBkYXRhQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcblxyXG4gICAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc2V0KGNvbmZpZzogYW55KTogYW55O1xyXG4gICAgc3RhdGljIHNldChwYXRoOiBzdHJpbmcsIHZhbHVlPzogYW55KTogdm9pZDtcclxuICAgIHN0YXRpYyBzZXQoYXJnMT86IGFueSwgYXJnMj86IGFueSkge1xyXG5cclxuICAgICAgICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBzZXRQcm9wQnlQYXRoKEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSwgYXJnMik7XHJcbiAgICAgICAgICAgIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0Lm5leHQoQVhDb25maWcuZGF0YU1vZGVsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSk7XHJcbiAgICAgICAgICAgIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0Lm5leHQoQVhDb25maWcuZGF0YU1vZGVsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWFyZzEgJiYgIWFyZzIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0KHBhdGg6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGdldFByb3BCeVBhdGgoQVhDb25maWcuZGF0YU1vZGVsLCBwYXRoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXEventService {
4
+ constructor() {
5
+ this.list = [];
6
+ }
7
+ broadcast(key, options) {
8
+ const d = this.list.find(c => c.key === key);
9
+ if (d) {
10
+ d.events.forEach(c => {
11
+ c(options);
12
+ });
13
+ }
14
+ }
15
+ on(key, callback) {
16
+ let d = this.list.find(c => c.key === key);
17
+ if (!d) {
18
+ d = { key, events: [] };
19
+ this.list.push(d);
20
+ }
21
+ d.events.push(callback);
22
+ }
23
+ destroy(key, callback) {
24
+ const d = this.list.find(c => c.key === key);
25
+ if (d) {
26
+ d.events = [];
27
+ }
28
+ }
29
+ }
30
+ AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXEventService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXEventService, decorators: [{
33
+ type: Injectable,
34
+ args: [{ providedIn: 'root' }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvc2VydmljZXMvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVZLFNBQUksR0FBVSxFQUFFLENBQUM7S0EwQjVCO0lBeEJVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBYTtRQUN2QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEVBQUU7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxFQUFFLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3BELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxPQUFPLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3pELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsRUFBRTtZQUNILENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs7MkdBMUJRLGNBQWM7K0dBQWQsY0FBYyxjQURELE1BQU07MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgbGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgYnJvYWRjYXN0KGtleTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZCA9IHRoaXMubGlzdC5maW5kKGMgPT4gYy5rZXkgPT09IGtleSk7XHJcbiAgICAgICAgaWYgKGQpIHtcclxuICAgICAgICAgICAgZC5ldmVudHMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGMob3B0aW9ucyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb24oa2V5OiBzdHJpbmcsIGNhbGxiYWNrOiAob3B0aW9ucz86IGFueSkgPT4gdm9pZCkge1xyXG4gICAgICAgIGxldCBkID0gdGhpcy5saXN0LmZpbmQoYyA9PiBjLmtleSA9PT0ga2V5KTtcclxuICAgICAgICBpZiAoIWQpIHtcclxuICAgICAgICAgICAgZCA9IHsga2V5LCBldmVudHM6IFtdIH07XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5wdXNoKGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVzdHJveShrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZCA9IHRoaXMubGlzdC5maW5kKGMgPT4gYy5rZXkgPT09IGtleSk7XHJcbiAgICAgICAgaWYgKGQpIHtcclxuICAgICAgICAgICAgZC5ldmVudHMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,10 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXNavigator {
4
+ }
5
+ AXNavigator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXNavigator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ AXNavigator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXNavigator });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXNavigator, decorators: [{
8
+ type: Injectable
9
+ }] });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3NlcnZpY2VzL25hdmlnYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBZ0IsV0FBVzs7d0dBQVgsV0FBVzs0R0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYTmF2aWdhdG9yUGFyYW0gfSBmcm9tICcuLi9jbGFzc2VzL25hdmlnYXRvci5jbGFzcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE5hdmlnYXRvciB7XHJcbiAgICBhYnN0cmFjdCBuYXZpZ2F0ZShwYXJhbXM6IEFYTmF2aWdhdG9yUGFyYW0pO1xyXG4gICAgYWJzdHJhY3QgcG9wdXAocGFyYW1zOiBBWE5hdmlnYXRvclBhcmFtKTtcclxufSJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXStorageService {
4
+ get(key) {
5
+ return localStorage.getItem(key);
6
+ }
7
+ set(key, value) {
8
+ localStorage.setItem(key, value);
9
+ }
10
+ }
11
+ AXStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ AXStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXStorageService });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXStorageService, decorators: [{
14
+ type: Injectable
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMxQixHQUFHLENBQUMsR0FBVztRQUNaLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQVEsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3hCLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OzZHQU5TLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWFN0b3JhZ2VTZXJ2aWNlIHtcclxuICAgZ2V0KGtleTogc3RyaW5nKTogYW55IHtcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkgYXMgYW55O1xyXG4gICB9XHJcbiAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlIGFzIHN0cmluZyk7XHJcbiAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Subject } from 'rxjs';
2
+ import { getPropByPath } from '../utils/object/object-util';
3
+ import merge from 'lodash-es/merge';
4
+ // @dynamic
5
+ export class AXTranslator {
6
+ static get onChange() {
7
+ return AXTranslator.dataChangeSubject.asObservable();
8
+ }
9
+ static load(lang, value) {
10
+ if (typeof value === 'object') {
11
+ if (!AXTranslator[`__data__${lang}`]) {
12
+ AXTranslator[`__data__${lang}`] = {};
13
+ }
14
+ AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);
15
+ }
16
+ }
17
+ static use(lang) {
18
+ AXTranslator.lang = lang;
19
+ }
20
+ static get(key, lang) {
21
+ return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;
22
+ }
23
+ }
24
+ AXTranslator.lang = 'en';
25
+ AXTranslator.dataChangeSubject = new Subject();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBRXBDLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUtyQixNQUFNLEtBQUssUUFBUTtRQUNmLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN4QztZQUNELFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFhO1FBQ3hDLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDM0YsQ0FBQzs7QUF2QmMsaUJBQUksR0FBVyxJQUFJLENBQUM7QUFDcEIsOEJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZ2V0UHJvcEJ5UGF0aH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0L29iamVjdC11dGlsJztcclxuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC1lcy9tZXJnZSc7XHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGxhbmc6IHN0cmluZyA9ICdlbic7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBkYXRhQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcblxyXG4gICAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZGF0YUNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBsb2FkKGxhbmc6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIGlmICghQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSkge1xyXG4gICAgICAgICAgICAgICAgQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0gPSBtZXJnZShBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdLCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgdXNlKGxhbmc6IHN0cmluZykge1xyXG4gICAgICAgIEFYVHJhbnNsYXRvci5sYW5nID0gbGFuZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldChrZXk6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGdldFByb3BCeVBhdGgoQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZyB8fCBBWFRyYW5zbGF0b3IubGFuZ31gXSwga2V5KSB8fCBrZXk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXTranslatorPipe } from './translator.pipe';
3
+ import * as en from '../locale/en.json';
4
+ import * as fa from '../locale/fa.json';
5
+ import { AXTranslator } from './translator';
6
+ import * as i0 from "@angular/core";
7
+ export class AXTranslatorModule {
8
+ constructor() {
9
+ AXTranslator.load('en', en);
10
+ AXTranslator.load('fa', fa);
11
+ }
12
+ }
13
+ AXTranslatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ AXTranslatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
15
+ AXTranslatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorModule, providers: [], imports: [[]] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: [],
20
+ exports: [AXTranslatorPipe],
21
+ declarations: [AXTranslatorPipe],
22
+ providers: [],
23
+ }]
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3RyYW5zbGF0b3IvdHJhbnNsYXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFTNUMsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQjtRQUNJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OytHQUpRLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUhaLGdCQUFnQixhQURyQixnQkFBZ0I7Z0hBSWpCLGtCQUFrQixhQUZoQixFQUFFLFlBSEosRUFBRTsyRkFLRixrQkFBa0I7a0JBTjlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xyXG5pbXBvcnQgKiBhcyBlbiBmcm9tICcuLi9sb2NhbGUvZW4uanNvbic7XHJcbmltcG9ydCAqIGFzIGZhIGZyb20gJy4uL2xvY2FsZS9mYS5qc29uJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICBleHBvcnRzOiBbQVhUcmFuc2xhdG9yUGlwZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgQVhUcmFuc2xhdG9yLmxvYWQoJ2VuJywgZW4pO1xyXG4gICAgICAgIEFYVHJhbnNsYXRvci5sb2FkKCdmYScsIGZhKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { AXTranslator } from './translator';
3
+ import * as i0 from "@angular/core";
4
+ export class AXTranslatorPipe {
5
+ constructor() { }
6
+ // transform(value: string, lang?: string): Promise<string> {
7
+ // return new Promise<string>((resolve, reject) => {
8
+ // if (!value) {
9
+ // resolve(value);
10
+ // }
11
+ // resolve(this.translate.get(value, lang));
12
+ // });
13
+ // }
14
+ transform(value, lang) {
15
+ return AXTranslator.get(value, lang);
16
+ }
17
+ }
18
+ AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
+ AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{ name: 'trans', pure: true }]
23
+ }], ctorParameters: function () { return []; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUc1QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLGdCQUFnQixDQUFDO0lBRWpCLDZEQUE2RDtJQUM3RCx3REFBd0Q7SUFDeEQsd0JBQXdCO0lBQ3hCLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osb0RBQW9EO0lBQ3BELFVBQVU7SUFFVixJQUFJO0lBRUosU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFhO1FBQ2xDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7NkdBaEJRLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJy4vdHJhbnNsYXRvcic7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICd0cmFucycsIHB1cmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8vIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBsYW5nPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIC8vICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAvLyAgICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgIC8vICAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIHJlc29sdmUodGhpcy50cmFuc2xhdGUuZ2V0KHZhbHVlLCBsYW5nKSk7XHJcbiAgICAvLyAgICAgfSk7XHJcblxyXG4gICAgLy8gfVxyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBsYW5nPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQVhUcmFuc2xhdG9yLmdldCh2YWx1ZSwgbGFuZyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AXTranslator } from './translator';
3
+ import * as i0 from "@angular/core";
4
+ export class AXTranslatorService {
5
+ load(lang, value) {
6
+ AXTranslator.load(lang, value);
7
+ }
8
+ use(lang) {
9
+ AXTranslator.use(lang);
10
+ }
11
+ get(key, lang) {
12
+ return AXTranslator.get(lang, lang);
13
+ }
14
+ }
15
+ AXTranslatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ AXTranslatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorService, providedIn: 'platform' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AXTranslatorService, decorators: [{
18
+ type: Injectable,
19
+ args: [{ providedIn: 'platform' }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRzVDLE1BQU0sT0FBTyxtQkFBbUI7SUFFckIsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2hDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxHQUFHLENBQUMsSUFBWTtRQUNuQixZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDakMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOztnSEFaUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLFVBQVU7MkZBQ3ZCLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJy4vdHJhbnNsYXRvcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdwbGF0Zm9ybScgfSlcclxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclNlcnZpY2Uge1xyXG5cclxuICAgIHB1YmxpYyBsb2FkKGxhbmc6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgICAgIEFYVHJhbnNsYXRvci5sb2FkKGxhbmcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXNlKGxhbmc6IHN0cmluZykge1xyXG4gICAgICAgIEFYVHJhbnNsYXRvci51c2UobGFuZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIEFYVHJhbnNsYXRvci5nZXQobGFuZywgbGFuZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==