tnp-helpers 0.0.70 → 13.0.4
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/app.js +2 -1
- package/browser/README.md +24 -0
- package/browser/esm2020/lib/base-component.mjs +48 -0
- package/browser/esm2020/lib/base-formly-component.mjs +124 -0
- package/browser/esm2020/lib/condition-wait.mjs +54 -0
- package/browser/esm2020/lib/constants.mjs +2 -0
- package/browser/esm2020/lib/dual-component-ctrl.mjs +116 -0
- package/browser/esm2020/lib/helpers-array-obj.mjs +81 -0
- package/browser/esm2020/lib/helpers-environment.mjs +21 -0
- package/browser/esm2020/lib/helpers-strings-regexes.mjs +49 -0
- package/browser/esm2020/lib/helpers-strings.mjs +61 -0
- package/browser/esm2020/lib/helpers.mjs +106 -0
- package/browser/esm2020/lib/index.mjs +11 -0
- package/browser/esm2020/lib/long-press.directive.mjs +106 -0
- package/browser/esm2020/lib/project.mjs +90 -0
- package/browser/esm2020/lib/resize-service.mjs +20 -0
- package/browser/esm2020/public-api.mjs +2 -0
- package/browser/esm2020/tnp-helpers.mjs +5 -0
- package/browser/fesm2015/tnp-helpers.mjs +869 -0
- package/browser/fesm2015/tnp-helpers.mjs.map +1 -0
- package/browser/fesm2020/tnp-helpers.mjs +860 -0
- package/browser/fesm2020/tnp-helpers.mjs.map +1 -0
- package/browser/{base-component.d.ts → lib/base-component.d.ts} +3 -0
- package/browser/{base-formly-component.d.ts → lib/base-formly-component.d.ts} +4 -3
- package/browser/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
- package/browser/{constants.d.ts → lib/constants.d.ts} +0 -0
- package/browser/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +0 -0
- package/{helpers-array-obj.d.ts → browser/lib/helpers-array-obj.d.ts} +1 -0
- package/browser/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
- package/browser/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
- package/browser/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
- package/browser/{helpers.d.ts → lib/helpers.d.ts} +2 -4
- package/{client → browser/lib}/index.d.ts +1 -1
- package/{client → browser/lib}/long-press.directive.d.ts +3 -0
- package/browser/{project.d.ts → lib/project.d.ts} +0 -0
- package/{client → browser/lib}/resize-service.d.ts +3 -0
- package/browser/package.json +31 -0
- package/browser/public-api.d.ts +1 -0
- package/browser/tnp-helpers.d.ts +5 -0
- package/client/README.md +24 -0
- package/client/esm2020/lib/base-component.mjs +48 -0
- package/client/esm2020/lib/base-formly-component.mjs +124 -0
- package/client/esm2020/lib/condition-wait.mjs +54 -0
- package/client/esm2020/lib/constants.mjs +2 -0
- package/client/esm2020/lib/dual-component-ctrl.mjs +116 -0
- package/client/esm2020/lib/helpers-array-obj.mjs +81 -0
- package/client/esm2020/lib/helpers-environment.mjs +21 -0
- package/client/esm2020/lib/helpers-strings-regexes.mjs +49 -0
- package/client/esm2020/lib/helpers-strings.mjs +61 -0
- package/client/esm2020/lib/helpers.mjs +106 -0
- package/client/esm2020/lib/index.mjs +11 -0
- package/client/esm2020/lib/long-press.directive.mjs +106 -0
- package/client/esm2020/lib/project.mjs +90 -0
- package/client/esm2020/lib/resize-service.mjs +20 -0
- package/client/esm2020/public-api.mjs +2 -0
- package/client/esm2020/tnp-helpers.mjs +5 -0
- package/client/fesm2015/tnp-helpers.mjs +869 -0
- package/client/fesm2015/tnp-helpers.mjs.map +1 -0
- package/client/fesm2020/tnp-helpers.mjs +860 -0
- package/client/fesm2020/tnp-helpers.mjs.map +1 -0
- package/client/{base-component.d.ts → lib/base-component.d.ts} +3 -0
- package/{base-formly-component.d.ts → client/lib/base-formly-component.d.ts} +4 -3
- package/client/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
- package/client/{constants.d.ts → lib/constants.d.ts} +0 -0
- package/client/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +0 -0
- package/client/{helpers-array-obj.d.ts → lib/helpers-array-obj.d.ts} +1 -0
- package/client/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
- package/client/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
- package/client/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
- package/client/{helpers.d.ts → lib/helpers.d.ts} +2 -4
- package/{browser → client/lib}/index.d.ts +1 -1
- package/{browser → client/lib}/long-press.directive.d.ts +3 -0
- package/client/{project.d.ts → lib/project.d.ts} +0 -0
- package/{resize-service.d.ts → client/lib/resize-service.d.ts} +3 -0
- package/client/package.json +25 -19
- package/client/public-api.d.ts +1 -0
- package/client/tnp-helpers.d.ts +5 -0
- package/index.d.ts +1 -11
- package/index.js +3 -21
- package/index.js.map +1 -1
- package/{base-component.d.ts → lib/base-component.d.ts} +0 -0
- package/{base-component.js → lib/base-component.js} +8 -7
- package/lib/base-component.js.map +1 -0
- package/{client → lib}/base-formly-component.d.ts +1 -3
- package/{base-formly-component.js → lib/base-formly-component.js} +46 -47
- package/lib/base-formly-component.js.map +1 -0
- package/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
- package/{condition-wait.js → lib/condition-wait.js} +10 -9
- package/lib/condition-wait.js.map +1 -0
- package/{constants.d.ts → lib/constants.d.ts} +0 -0
- package/{constants.js → lib/constants.js} +2 -1
- package/lib/constants.js.map +1 -0
- package/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +0 -0
- package/{dual-component-ctrl.js → lib/dual-component-ctrl.js} +2 -1
- package/lib/dual-component-ctrl.js.map +1 -0
- package/{git-project.d.ts → lib/git-project.d.ts} +4 -3
- package/{git-project.js → lib/git-project.js} +20 -11
- package/lib/git-project.js.map +1 -0
- package/{browser → lib}/helpers-array-obj.d.ts +1 -0
- package/{helpers-array-obj.js → lib/helpers-array-obj.js} +8 -1
- package/lib/helpers-array-obj.js.map +1 -0
- package/{helpers-cli-tool.backend.d.ts → lib/helpers-cli-tool.backend.d.ts} +0 -0
- package/{helpers-cli-tool.backend.js → lib/helpers-cli-tool.backend.js} +5 -4
- package/lib/helpers-cli-tool.backend.js.map +1 -0
- package/{helpers-dependencies.backend.d.ts → lib/helpers-dependencies.backend.d.ts} +0 -0
- package/{helpers-dependencies.backend.js → lib/helpers-dependencies.backend.js} +6 -5
- package/lib/helpers-dependencies.backend.js.map +1 -0
- package/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
- package/{helpers-environment.js → lib/helpers-environment.js} +2 -1
- package/lib/helpers-environment.js.map +1 -0
- package/{helpers-file-folders.backend.d.ts → lib/helpers-file-folders.backend.d.ts} +1 -0
- package/{helpers-file-folders.backend.js → lib/helpers-file-folders.backend.js} +66 -47
- package/lib/helpers-file-folders.backend.js.map +1 -0
- package/{helpers-git.backend.d.ts → lib/helpers-git.backend.d.ts} +3 -1
- package/{helpers-git.backend.js → lib/helpers-git.backend.js} +90 -56
- package/lib/helpers-git.backend.js.map +1 -0
- package/{helpers-json5.backend.d.ts → lib/helpers-json5.backend.d.ts} +0 -0
- package/{helpers-json5.backend.js → lib/helpers-json5.backend.js} +3 -2
- package/lib/helpers-json5.backend.js.map +1 -0
- package/{helpers-morphi-framework.backend.d.ts → lib/helpers-morphi-framework.backend.d.ts} +0 -0
- package/{helpers-morphi-framework.backend.js → lib/helpers-morphi-framework.backend.js} +4 -3
- package/lib/helpers-morphi-framework.backend.js.map +1 -0
- package/{helpers-network.backend.d.ts → lib/helpers-network.backend.d.ts} +0 -0
- package/{helpers-network.backend.js → lib/helpers-network.backend.js} +2 -1
- package/lib/helpers-network.backend.js.map +1 -0
- package/{helpers-npm.backend.d.ts → lib/helpers-npm.backend.d.ts} +0 -0
- package/{helpers-npm.backend.js → lib/helpers-npm.backend.js} +2 -1
- package/lib/helpers-npm.backend.js.map +1 -0
- package/{helpers-path.backend.d.ts → lib/helpers-path.backend.d.ts} +0 -0
- package/{helpers-path.backend.js → lib/helpers-path.backend.js} +4 -3
- package/lib/helpers-path.backend.js.map +1 -0
- package/{helpers-process.backend.d.ts → lib/helpers-process.backend.d.ts} +2 -2
- package/{helpers-process.backend.js → lib/helpers-process.backend.js} +54 -53
- package/lib/helpers-process.backend.js.map +1 -0
- package/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
- package/{helpers-strings-regexes.js → lib/helpers-strings-regexes.js} +2 -1
- package/lib/helpers-strings-regexes.js.map +1 -0
- package/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
- package/{helpers-strings.js → lib/helpers-strings.js} +2 -1
- package/lib/helpers-strings.js.map +1 -0
- package/{helpers-system-terminal.backend.d.ts → lib/helpers-system-terminal.backend.d.ts} +1 -1
- package/{helpers-system-terminal.backend.js → lib/helpers-system-terminal.backend.js} +9 -8
- package/lib/helpers-system-terminal.backend.js.map +1 -0
- package/{helpers.d.ts → lib/helpers.d.ts} +6 -6
- package/{helpers.js → lib/helpers.js} +34 -30
- package/lib/helpers.js.map +1 -0
- package/{client/index.js → lib/index.d.ts} +3 -3
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -0
- package/{long-press.directive.d.ts → lib/long-press.directive.d.ts} +0 -0
- package/{long-press.directive.js → lib/long-press.directive.js} +40 -39
- package/lib/long-press.directive.js.map +1 -0
- package/{merge-helpers.backend.d.ts → lib/merge-helpers.backend.d.ts} +0 -0
- package/{merge-helpers.backend.js → lib/merge-helpers.backend.js} +7 -6
- package/lib/merge-helpers.backend.js.map +1 -0
- package/{project.d.ts → lib/project.d.ts} +0 -0
- package/{project.js → lib/project.js} +23 -21
- package/lib/project.js.map +1 -0
- package/{browser → lib}/resize-service.d.ts +0 -0
- package/{resize-service.js → lib/resize-service.js} +5 -4
- package/lib/resize-service.js.map +1 -0
- package/{ts-code-modifier → lib/ts-code}/index.d.ts +0 -0
- package/{ts-code-modifier → lib/ts-code}/index.js +3 -2
- package/lib/ts-code/index.js.map +1 -0
- package/lib/ts-code/ts-code-extractor.d.ts +14 -0
- package/lib/ts-code/ts-code-extractor.js +47 -0
- package/lib/ts-code/ts-code-extractor.js.map +1 -0
- package/{ts-code-modifier → lib/ts-code}/ts-code-modifier.backend.d.ts +0 -0
- package/{ts-code-modifier → lib/ts-code}/ts-code-modifier.backend.js +3 -2
- package/lib/ts-code/ts-code-modifier.backend.js.map +1 -0
- package/package.json +10 -18
- package/package.json_devDependencies.json +50 -50
- package/{package.json_tnp.json → package.json_tnp.json5} +12 -8
- package/tmp-environment.json +86 -123
- package/base-component.js.map +0 -1
- package/base-formly-component.js.map +0 -1
- package/browser/base-component.js +0 -48
- package/browser/base-component.js.map +0 -1
- package/browser/base-formly-component.js +0 -149
- package/browser/base-formly-component.js.map +0 -1
- package/browser/condition-wait.js +0 -57
- package/browser/condition-wait.js.map +0 -1
- package/browser/constants.js +0 -2
- package/browser/constants.js.map +0 -1
- package/browser/dual-component-ctrl.js +0 -118
- package/browser/dual-component-ctrl.js.map +0 -1
- package/browser/es5/base-component.js +0 -89
- package/browser/es5/base-formly-component.js +0 -158
- package/browser/es5/condition-wait.js +0 -135
- package/browser/es5/constants.js +0 -7
- package/browser/es5/dual-component-ctrl.js +0 -164
- package/browser/es5/git-project.js +0 -18
- package/browser/es5/helpers-array-obj.js +0 -129
- package/browser/es5/helpers-environment.js +0 -46
- package/browser/es5/helpers-messages.js +0 -105
- package/browser/es5/helpers-strings-regexes.js +0 -74
- package/browser/es5/helpers-strings.js +0 -96
- package/browser/es5/helpers.js +0 -217
- package/browser/es5/index.js +0 -86
- package/browser/es5/long-press.directive.js +0 -133
- package/browser/es5/project.js +0 -146
- package/browser/es5/resize-service.js +0 -45
- package/browser/git-project.d.ts +0 -2
- package/browser/git-project.js +0 -6
- package/browser/git-project.js.map +0 -1
- package/browser/helpers-array-obj.js +0 -75
- package/browser/helpers-array-obj.js.map +0 -1
- package/browser/helpers-environment.js +0 -21
- package/browser/helpers-environment.js.map +0 -1
- package/browser/helpers-messages.d.ts +0 -7
- package/browser/helpers-messages.js +0 -68
- package/browser/helpers-messages.js.map +0 -1
- package/browser/helpers-strings-regexes.js +0 -49
- package/browser/helpers-strings-regexes.js.map +0 -1
- package/browser/helpers-strings.js +0 -61
- package/browser/helpers-strings.js.map +0 -1
- package/browser/helpers.js +0 -113
- package/browser/helpers.js.map +0 -1
- package/browser/index.js +0 -11
- package/browser/index.js.map +0 -1
- package/browser/long-press.directive.js +0 -125
- package/browser/long-press.directive.js.map +0 -1
- package/browser/project.js +0 -90
- package/browser/project.js.map +0 -1
- package/browser/resize-service.js +0 -20
- package/browser/resize-service.js.map +0 -1
- package/client/base-component.js +0 -48
- package/client/base-component.js.map +0 -1
- package/client/base-formly-component.js +0 -149
- package/client/base-formly-component.js.map +0 -1
- package/client/condition-wait.js +0 -57
- package/client/condition-wait.js.map +0 -1
- package/client/constants.js +0 -2
- package/client/constants.js.map +0 -1
- package/client/dual-component-ctrl.js +0 -118
- package/client/dual-component-ctrl.js.map +0 -1
- package/client/es5/base-component.js +0 -89
- package/client/es5/base-formly-component.js +0 -158
- package/client/es5/condition-wait.js +0 -135
- package/client/es5/constants.js +0 -7
- package/client/es5/dual-component-ctrl.js +0 -164
- package/client/es5/git-project.js +0 -18
- package/client/es5/helpers-array-obj.js +0 -129
- package/client/es5/helpers-environment.js +0 -46
- package/client/es5/helpers-messages.js +0 -105
- package/client/es5/helpers-strings-regexes.js +0 -74
- package/client/es5/helpers-strings.js +0 -96
- package/client/es5/helpers.js +0 -217
- package/client/es5/index.js +0 -86
- package/client/es5/long-press.directive.js +0 -133
- package/client/es5/project.js +0 -146
- package/client/es5/resize-service.js +0 -45
- package/client/git-project.d.ts +0 -2
- package/client/git-project.js +0 -6
- package/client/git-project.js.map +0 -1
- package/client/helpers-array-obj.js +0 -75
- package/client/helpers-array-obj.js.map +0 -1
- package/client/helpers-environment.js +0 -21
- package/client/helpers-environment.js.map +0 -1
- package/client/helpers-messages.d.ts +0 -7
- package/client/helpers-messages.js +0 -68
- package/client/helpers-messages.js.map +0 -1
- package/client/helpers-strings-regexes.js +0 -49
- package/client/helpers-strings-regexes.js.map +0 -1
- package/client/helpers-strings.js +0 -61
- package/client/helpers-strings.js.map +0 -1
- package/client/helpers.js +0 -113
- package/client/helpers.js.map +0 -1
- package/client/index.js.map +0 -1
- package/client/long-press.directive.js +0 -125
- package/client/long-press.directive.js.map +0 -1
- package/client/project.js +0 -90
- package/client/project.js.map +0 -1
- package/client/resize-service.js +0 -20
- package/client/resize-service.js.map +0 -1
- package/condition-wait.js.map +0 -1
- package/constants.js.map +0 -1
- package/dual-component-ctrl.js.map +0 -1
- package/git-project.js.map +0 -1
- package/helpers-array-obj.js.map +0 -1
- package/helpers-cli-tool.backend.js.map +0 -1
- package/helpers-dependencies.backend.js.map +0 -1
- package/helpers-environment.js.map +0 -1
- package/helpers-file-folders.backend.js.map +0 -1
- package/helpers-git.backend.js.map +0 -1
- package/helpers-json5.backend.js.map +0 -1
- package/helpers-messages.d.ts +0 -7
- package/helpers-messages.js +0 -237
- package/helpers-messages.js.map +0 -1
- package/helpers-morphi-framework.backend.js.map +0 -1
- package/helpers-network.backend.js.map +0 -1
- package/helpers-npm.backend.js.map +0 -1
- package/helpers-path.backend.js.map +0 -1
- package/helpers-process.backend.js.map +0 -1
- package/helpers-strings-regexes.js.map +0 -1
- package/helpers-strings.js.map +0 -1
- package/helpers-system-terminal.backend.js.map +0 -1
- package/helpers.js.map +0 -1
- package/long-press.directive.js.map +0 -1
- package/merge-helpers.backend.js.map +0 -1
- package/project.js.map +0 -1
- package/resize-service.js.map +0 -1
- package/ts-code-modifier/index.js.map +0 -1
- package/ts-code-modifier/ts-code-modifier.backend.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-array-obj.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings-regexes.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-environment.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/condition-wait.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/constants.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/project.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/dual-component-ctrl.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-formly-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/resize-service.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/long-press.directive.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport * as fuzzy from 'fuzzy';\nimport { Helpers } from './index';\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n });\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(Helpers.arrays.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n const regex = /(http(s)?\\:\\/\\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\:[0-9]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n const regex = /(((http(s)?\\:\\/\\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+(\\:[0-9]+)?)|((http(s)?\\:\\/\\/)[a-zA-Z0-9-]{1,61}))/;\n return regex;\n }\n }\n }\n}\n","\n\nimport { _, } from 'tnp-core/browser';\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n\n }\n\n isValidGitRepuUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip)\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n console.warn('[ss-logic][helper] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n console.warn('[ss-logic][helper] Parameters are not a object: ', parameters);\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n numValue(pixelsCss: string) {\n // tslint:disable-next-line:radix\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n}\n\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { Helpers } from './index';\n\nexport type Condition = {\n name?: string;\n timeoutCheck?: number;\n timeoutNext?: number;\n callback: (c: Condition) => boolean | Promise<boolean>;\n errorMessage: string;\n}\n\nexport async function conditionWait(conditionAndTimeout: Condition[]) {\n await waitFor(conditionAndTimeout);\n}\n\nfunction waitFor(arr: Condition[], messageToShow: string = void 0) {\n return new Promise(async (resolve, reject) => {\n if (arr.length === 0) {\n resolve(void 0)\n } else {\n // console.log(arr.length)\n const check = arr.shift();\n if (_.isUndefined(check.timeoutCheck)) {\n check.timeoutCheck = 2000;\n }\n if (_.isUndefined(check.timeoutNext)) {\n check.timeoutNext = 4000;\n }\n const { timeoutCheck, timeoutNext, name } = check;\n // console.log(`timeoutCheck: ${timeoutCheck}`);\n // console.log(`timeoutNext: ${timeoutNext}`);\n // console.log(`Checking: ${name}`)\n const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);\n // console.log(`after: ${name}`)\n if (resultTrue) {\n // console.log(`timeout 1 is set to ${timeoutNext}`)\n setTimeout(async () => {\n // console.log(`timeout 1 is over`)\n await waitFor(arr).then(() => {\n resolve(void 0);\n });\n }, timeoutNext);\n } else {\n\n arr.unshift(check);\n if (!messageToShow || check.errorMessage !== messageToShow) {\n Helpers.info(check.errorMessage);\n } else {\n // console.log(`dont show error message ${check.errorMessage}`)\n }\n // console.log(`timeout 2 is set to ${timeoutCheck}, arr.length is ${arr.length}`)\n setTimeout(async () => {\n // console.log(`timeout 2 ${timeoutCheck} ovef`)\n await waitFor(arr, check.errorMessage).then(() => {\n resolve(void 0);\n });\n }, timeoutCheck);\n }\n }\n })\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersEnvironment } from './helpers-environment';\nimport { HelpersStrings } from './helpers-strings';\nimport { conditionWait } from './condition-wait';\n\nimport { config, ConfigModels } from 'tnp-config/browser';\nimport { Helpers } from './index';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Morphi } from 'morphi/browser';\nimport { CoreHelpers } from 'tnp-core/browser';\n\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n\n// @ts-ignore\nexport class HelpersTnp extends CoreHelpers {\n\n private static _instance: HelpersTnp & CoreHelpers;\n public static get Instance() {\n if (!HelpersTnp._instance) {\n HelpersTnp._instance = new HelpersTnp();\n }\n return HelpersTnp._instance;\n }\n\n private constructor(\n\n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n\n ) {\n super();\n }\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n\n\n\n\n async isElevated() {\n\n }\n\n\n\n\n\n\n\n async mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]): Promise<number> {\n var start = new Date()\n await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n\n return end;\n }\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void): number {\n var start = new Date()\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n\n return end;\n }\n\n conditionWait = conditionWait;\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n\n const result = await Helpers.runSyncOrAsync(conditionFn);\n if (result) {\n resolve(void 0)\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n })\n }, howOfftenCheckInMs);\n }\n })\n }\n\n getBrowserVerPath(moduleName?: string) {\n\n }\n\n getMethodName(obj, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(obj).forEach(prop => {\n if (obj[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(obj);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n })\n }\n\n\n\n\n public applyMixins = applyMixins;\n}\n\n// @ts-ignore\nexport interface HelpersTnp extends\n HelpersStringsRegexes,\n HelpersEnvironment\n\n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n\n]);\n","\n\nexport const BaselineSiteJoinprefix = '__';\n","\n\ndeclare const global: any;\nimport { config, LibTypeArr, ConfigModels } from 'tnp-config/browser';\nimport { _, CoreConfig } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Models } from 'tnp-models/browser';\nimport { Morphi } from 'morphi/browser';\nimport { HelpersTnp } from './helpers';\nconst Helpers = HelpersTnp.Instance;\n\nexport type EmptyProjectStructure = {\n includeContent?: boolean;\n relativePath: string;\n relativeLinkFrom?: string;\n};\n\nexport class Project<T extends Project<any> = any>\n\n{\n\n\n protected cache = {};\n\n /**\n * Do use this variable for comparatios\n * ONLY FOR VIEWING\n */\n public readonly _type: ConfigModels.LibType;\n public browser: Pick<Project<any>, 'location' | 'name'> = {} as any;\n public location: string;\n public name: string;\n public genericName: string;\n public isWorkspace: boolean;\n public isVscodeExtension: boolean;\n public isDocker: boolean;\n public isSite: boolean;\n public isSiteInStrictMode?: boolean;\n public isSiteInDependencyMode?: boolean;\n public isCoreProject: boolean;\n public isCommandLineToolOnly: boolean;\n public isGenerated: boolean;\n public isGeneratedForRelease: boolean;\n public isWorkspaceChildProject: boolean;\n public isBasedOnOtherProject: boolean;\n public isForRecreation: boolean;\n public isContainer: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isUnknowNpmProject: boolean;\n public isNaviCli: boolean;\n public useFramework: boolean;\n public defaultPort?: number;\n public version: string;\n public lastNpmVersion?: string;\n public _routerTargetHttp?: string;\n public customizableFilesAndFolders: string[];\n public type: ConfigModels.LibType;\n public backupName: string;\n public resources: string[];\n public env: Models.env.EnvConfig;\n public allowedEnvironments: ConfigModels.EnvironmentName[];\n\n public children: T[];\n public grandpa: T;\n\n public distribution: T;\n\n public childrenThatAreLibs?: T[];\n\n public childrenThatAreClients?: T[];\n\n public childrenThatAreThirdPartyInNodeModules?: T[];\n\n public parent: T;\n\n public preview: T;\n\n public baseline: T;\n\n public static projects: Project<any>[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n public static emptyLocations: string[] = [];\n\n static typeFrom(location: string): ConfigModels.LibType {\n return (void 0);\n }\n\n public static unload(project: Project) {\n Project.projects = Project.projects.filter(f => f !== project);\n }\n\n public static From<T = Project<any>>(location: string): T {\n return (void 0);\n }\n\n public static nearestTo<T = Project>(\n absoluteLocation: string,\n options?: { type?: ConfigModels.LibType; findGitRoot?: boolean; onlyOutSideNodeModules?: boolean }): T {\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n return (void 0);\n }\n\n public static DefaultPortByType(type: ConfigModels.LibType): number {\n if (type === 'workspace') { return 5000; }\n if (type === 'angular-client') { return 4300; }\n if (type === 'angular-lib') { return 4250; }\n if (type === 'electron-client') { return 4350; }\n if (type === 'ionic-client') { return 8080; }\n if (type === 'docker') { return 5000; }\n if (type === 'isomorphic-lib') { return 4000; }\n if (type === 'container' || type === 'unknow-npm-project') {\n return;\n }\n }\n\n public static get isBundleMode() {\n if (Helpers.isBrowser) {\n return true;\n }\n\n }\n\n static get Current(): Project<any> {\n return (void 0);\n }\n\n\n\n static get Tnp(): Project<any> {\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n\n ): T {\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n return (void 0);\n }\n\n public setType(this: Project, type: ConfigModels.LibType) {\n // @ts-ignore\n this._type = type;\n }\n public typeIs(this: Project, ...types: ConfigModels.LibType[]) {\n return this._type && types.includes(this._type);\n }\n\n public typeIsNot(this: Project, ...types: ConfigModels.LibType[]) {\n return !this.typeIs(...types);\n }\n\n forEmptyStructure(): EmptyProjectStructure[] {\n return [\n { relativePath: config.file.package_json, includeContent: true },\n { relativePath: config.folder.src },\n ];\n }\n\n}\n\n\nexport type ProjectBuild = { project: Project; appBuild: boolean; };\n\n\n\n","\n\nimport { Subscription } from 'rxjs';\nimport { OnDestroy, OnInit, Component, Input } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-base-component-meta',\n template: '<div></div>'\n})\nexport abstract class BaseComponent implements OnDestroy {\n\n // @ts-ignore\n @Input() model: any = {};\n\n handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n }\n\n\n}\n\nconst isCalledNgInitAfterInternalRefresh = Symbol()\n\nexport abstract class BaseComponentForRouter extends BaseComponent {\n\n constructor(\n private __router: Router\n ) {\n super();\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n\n\n protected isCalledNgInitAfterInternalRefresh() {\n return !!this[isCalledNgInitAfterInternalRefresh];\n }\n protected reloadNgOninitOnUrlChange() {\n this.handlers.push(this.__router.events.subscribe(event => {\n if (event instanceof NavigationEnd && this['ngOnInit']) {\n this[isCalledNgInitAfterInternalRefresh] = true;\n this['ngOnInit']();\n if (this[isCalledNgInitAfterInternalRefresh]) {\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n }\n }) as any);\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { BaseFormlyComponent } from './base-formly-component';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';\n\nimport { FormControl, FormGroup } from '@angular/forms'\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`DualComponentController`);\n\nexport abstract class DualComponentController<T = any> {\n\n constructor(protected cmp: BaseFormlyComponent, public isFormlyMode = false) {\n\n }\n\n protected getValTemplateOptions(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp.field?.templateOptions[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n protected getValContext(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp?.field[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n get disabled() {\n return this.getValTemplateOptions('disabled') as boolean;\n }\n\n get required() {\n return this.getValTemplateOptions('required') as boolean;\n }\n\n get type() {\n if (!this.isFormlyMode) {\n return CLASS.getNameFromObject(this.cmp)\n }\n return this.getValContext('type') as boolean;\n }\n\n get label() {\n return this.getValTemplateOptions('label') as string;\n }\n\n get placeholder() {\n return this.getValTemplateOptions('placeholder') as string;\n }\n\n get defaultValue(): T {\n return this.getValContext('defaultValue') as any;\n }\n\n get formControl(): FormControl {\n return this.getValContext('formControl') as any;\n }\n\n get key() {\n return this.getValContext('key') as string;\n }\n\n get path() {\n return this.getValContext('path') as string;\n }\n\n __model: any;\n get model(): any {\n if (this.isFormlyMode) {\n return this.getValContext('model') as string;\n } else {\n return this.__model;\n }\n }\n\n set model(v) {\n if (this.isFormlyMode) {\n log.w(`[DualComponentController] You can't set model in formly component mode`);\n } else {\n this.__model = v;\n }\n }\n\n __mode: any;\n get mode(): any {\n if (this.isFormlyMode) {\n return this.getValContext('mode') as string;\n } else {\n return this.__mode;\n }\n }\n\n set mode(v) {\n if (this.isFormlyMode) {\n // this.cmp.field.mode =\n // log.w(`[DualComponentController] You can't set mode in formly component mode`);\n } else {\n this.__mode = v;\n }\n }\n\n\n get value(): T {\n if (this.isFormlyMode) {\n return this.cmp.field.formControl.value;\n }\n if (_.isString(this.path)) {\n return _.get(this.cmp.model, this.path);\n }\n return this.cmp.model;\n }\n\n set value(v) {\n if (this.isFormlyMode) {\n this.cmp.field.formControl.setValue(v);\n this.cmp.change.next(v);\n return;\n }\n if (_.isString(this.path)) {\n _.set(this.cmp.model, this.path, v);\n } else {\n this.cmp.model = v;\n }\n }\n\n\n}\n","\n\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';\n\nimport { FormControl, FormGroup } from '@angular/forms';\n\nimport { Log, Level } from 'ng2-logger/browser';\nimport { DualComponentController } from './dual-component-ctrl';\nimport { EventEmitter } from '@angular/core';\n\nconst log = Log.create('base formly component', Level.__NOTHING)\n\n\n@Component({\n selector: 'app-base-formly-component-meta',\n template: `<div></div>`\n}) // @ts-ignore\nexport abstract class BaseFormlyComponent<T extends DualComponentController = DualComponentController>\n extends FieldType\n implements OnInit, Partial<DualComponentController<T>>, AfterViewInit {\n\n protected DualComponentController = DualComponentController;\n public ctrl: T = {} as any;\n @Input() pizda: any;\n\n // @ts-ignore\n get mode() {\n return this.ctrl.mode;\n }\n\n // @ts-ignore\n @Input() set mode(v) {\n this.ctrl.mode = v;\n }\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Input() label: string;\n @Input() placeholder: string;\n @Input() defaultValue: T;\n\n // @ts-ignore\n @Input() set model(v) {\n this.ctrl.model = v;\n }\n get model() {\n return this.ctrl.model;\n }\n @Input() path: string;\n @Output() change = new EventEmitter();\n\n\n // @ts-ignore\n @Input() set key(value: string) {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return;\n }\n this.path = value;\n }\n get key(): string {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return this.field.key as any;\n }\n return this.path;\n }\n\n // @ts-ignore\n // @Input() formControl: FormControl; // TODO QUICK_FIX\n protected handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n\n }\n\n ngAfterViewInit() {\n\n }\n\n private __field = {\n templateOptions: {\n\n }\n } as FormlyFieldConfig;\n // _model: any;\n ngOnInit() {\n // console.log('model', this.model)\n // console.log('ket', this.key)\n const isFormlyMode = !!this.field;\n log.i(`isFormlyMode: ${isFormlyMode}`);\n if (!isFormlyMode) {\n const that = this;\n Object.defineProperty(this, 'field', {\n get: function () {\n return that.__field;\n },\n set: function (v) {\n that.__field = v;\n }\n })\n }\n\n const existed = this.ctrl;\n this.ctrl = new (this.DualComponentController as any)(this, isFormlyMode);\n // @ts-ignore\n Object.keys(existed).forEach(key => {\n this.ctrl[key] = existed[key];\n });\n\n // if (!this.formControl) {\n // this.formControl = new FormControl({})\n // Object.defineProperty(this, 'field', {\n // get: () => {\n // return {\n // formControl: this.formControl\n // } as FormlyFieldConfig\n // }\n // })\n // // this.formControl = new FormControl({})\n // }\n // @ts-ignore\n this.change.next(this.ctrl.value);\n }\n\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport * as elementResizeDetectorMaker from 'element-resize-detector';\n\n@Injectable()\nexport class ResizeService {\n private resizeDetector: any;\n\n constructor() {\n this.resizeDetector = elementResizeDetectorMaker({ strategy: 'scroll' });\n }\n\n addResizeEventListener(element: HTMLElement, handler: Function) {\n this.resizeDetector.listenTo(element, handler);\n }\n\n removeResizeEventListener(element: HTMLElement) {\n this.resizeDetector.uninstall(element);\n }\n}\n","\n\nimport { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n\nimport { _ } from 'tnp-core/browser';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`[tnp-helpers] long-press`\n , Level.__NOTHING\n)\n\n@Directive({ selector: '[long-press]' })\nexport class LongPress {\n\n @Input() pressDuration: number = 1000;\n\n @Output() onLongPress: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressing: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressEnd: EventEmitter<any> = new EventEmitter();\n\n private pressing: boolean;\n private longPressing: boolean;\n private timeout: any;\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n @HostBinding('class.press')\n get press() { return this.pressing; }\n\n @HostBinding('class.longpress')\n get longPress() { return this.longPressing; }\n\n allowTrigger = false;\n triggerEnd = _.debounce(() => {\n this.endPress();\n }, 500)\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event) {\n // don't do right/middle clicks\n log.d(`MOUSE DOWN `);\n\n if (event.which !== 1) return;\n this.allowTrigger = true;\n\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n\n this.pressing = true;\n this.longPressing = false;\n\n this.timeout = setTimeout(() => {\n if (this.allowTrigger) {\n this.longPressing = true;\n log.d(`long pressing start pressDuration:${this.pressDuration} `);\n this.onLongPress.emit(event);\n this.loop(event);\n }\n }, this.pressDuration);\n\n this.loop(event);\n }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event) {\n if (this.pressing && !this.longPressing) {\n const xThres = (event.clientX - this.mouseX) > 10;\n const yThres = (event.clientY - this.mouseY) > 10;\n if (xThres || yThres) {\n this.endPress();\n }\n }\n }\n\n loop(event) {\n if (this.longPressing) {\n this.timeout = setTimeout(() => {\n log.d(`emil longpressing`)\n this.triggerEnd();\n this.onLongPressing.emit(event);\n this.loop(event);\n }, 50);\n }\n }\n\n endPress(emit = true) {\n this.allowTrigger = false;\n clearTimeout(this.timeout);\n this.longPressing = false;\n this.pressing = false;\n if (emit) {\n log.d(`EMIT END`)\n this.onLongPressEnd.emit(true);\n } else {\n log.d(`NOT EMIT END`)\n }\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.endPress(false);\n }\n\n}\n","\n\nimport { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n\n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\nexport { BaseComponent, BaseComponentForRouter } from './base-component';\nexport { BaseFormlyComponent } from './base-formly-component';\nexport { DualComponentController } from './dual-component-ctrl';\nexport { ResizeService } from './resize-service';\nexport { LongPress } from './long-press.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Helpers","log","Base"],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Subscription } from 'rxjs';
|
|
2
2
|
import { OnDestroy } from '@angular/core';
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
4
5
|
export declare abstract class BaseComponent implements OnDestroy {
|
|
5
6
|
model: any;
|
|
6
7
|
handlers: Subscription[];
|
|
7
8
|
ngOnDestroy(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseComponent, "app-base-component-meta", never, { "model": "model"; }, {}, never, never>;
|
|
8
11
|
}
|
|
9
12
|
export declare abstract class BaseComponentForRouter extends BaseComponent {
|
|
10
13
|
private __router;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Subscription } from 'rxjs';
|
|
2
2
|
import { FieldType } from '@ngx-formly/core';
|
|
3
3
|
import { OnInit, AfterViewInit } from '@angular/core';
|
|
4
|
-
import { FormControl } from '@angular/forms';
|
|
5
4
|
import { DualComponentController } from './dual-component-ctrl';
|
|
6
5
|
import { EventEmitter } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
7
|
export declare abstract class BaseFormlyComponent<T extends DualComponentController = DualComponentController> extends FieldType implements OnInit, Partial<DualComponentController<T>>, AfterViewInit {
|
|
8
8
|
protected DualComponentController: typeof DualComponentController;
|
|
9
9
|
ctrl: T;
|
|
@@ -18,13 +18,14 @@ export declare abstract class BaseFormlyComponent<T extends DualComponentControl
|
|
|
18
18
|
set model(v: any);
|
|
19
19
|
get model(): any;
|
|
20
20
|
path: string;
|
|
21
|
-
change: EventEmitter<
|
|
21
|
+
change: EventEmitter<any>;
|
|
22
22
|
set key(value: string);
|
|
23
23
|
get key(): string;
|
|
24
|
-
formControl: FormControl;
|
|
25
24
|
protected handlers: Subscription[];
|
|
26
25
|
ngOnDestroy(): void;
|
|
27
26
|
ngAfterViewInit(): void;
|
|
28
27
|
private __field;
|
|
29
28
|
ngOnInit(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormlyComponent<any>, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseFormlyComponent<any>, "app-base-formly-component-meta", never, { "pizda": "pizda"; "mode": "mode"; "disabled": "disabled"; "required": "required"; "label": "label"; "placeholder": "placeholder"; "defaultValue": "defaultValue"; "model": "model"; "path": "path"; "key": "key"; }, { "change": "change"; }, never, never>;
|
|
30
31
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare class HelpersArrayObj {
|
|
2
2
|
from(s: string | string[]): string[];
|
|
3
|
+
second(arr: any): any;
|
|
3
4
|
arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T): any[];
|
|
4
5
|
arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T): any[];
|
|
5
6
|
uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)): any[];
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { HelpersArrayObj } from './helpers-array-obj';
|
|
2
|
-
import { HelpersMessages } from './helpers-messages';
|
|
3
2
|
import { HelpersStringsRegexes } from './helpers-strings-regexes';
|
|
4
3
|
import { HelpersEnvironment } from './helpers-environment';
|
|
5
4
|
import { HelpersStrings } from './helpers-strings';
|
|
6
|
-
import { Helpers as HelperNg2Logger } from 'ng2-logger/browser';
|
|
7
5
|
import { conditionWait } from './condition-wait';
|
|
8
6
|
import { CoreHelpers } from 'tnp-core/browser';
|
|
9
7
|
export declare function applyMixins(derivedCtor: any, baseCtors: any[]): void;
|
|
@@ -11,7 +9,7 @@ export declare class HelpersTnp extends CoreHelpers {
|
|
|
11
9
|
arrays: HelpersArrayObj;
|
|
12
10
|
strings: HelpersStrings;
|
|
13
11
|
private static _instance;
|
|
14
|
-
static get Instance(): HelpersTnp &
|
|
12
|
+
static get Instance(): HelpersTnp & CoreHelpers;
|
|
15
13
|
private constructor();
|
|
16
14
|
CLIWRAP(f: Function, name: string): Function;
|
|
17
15
|
isElevated(): Promise<void>;
|
|
@@ -24,5 +22,5 @@ export declare class HelpersTnp extends CoreHelpers {
|
|
|
24
22
|
fixWebpackEnv(env: Object): void;
|
|
25
23
|
applyMixins: typeof applyMixins;
|
|
26
24
|
}
|
|
27
|
-
export interface HelpersTnp extends
|
|
25
|
+
export interface HelpersTnp extends HelpersStringsRegexes, HelpersEnvironment {
|
|
28
26
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HelpersTnp as Base } from './helpers';
|
|
2
2
|
export * from './constants';
|
|
3
3
|
export { Condition } from './condition-wait';
|
|
4
|
-
export declare const Helpers: Base & import("tnp-core
|
|
4
|
+
export declare const Helpers: Base & import("tnp-core").CoreHelpers;
|
|
5
5
|
export * from './project';
|
|
6
6
|
export { BaseComponent, BaseComponentForRouter } from './base-component';
|
|
7
7
|
export { BaseFormlyComponent } from './base-formly-component';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { _ } from 'tnp-core/browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class LongPress {
|
|
4
5
|
pressDuration: number;
|
|
5
6
|
onLongPress: EventEmitter<any>;
|
|
@@ -19,4 +20,6 @@ export declare class LongPress {
|
|
|
19
20
|
loop(event: any): void;
|
|
20
21
|
endPress(emit?: boolean): void;
|
|
21
22
|
onMouseUp(): void;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LongPress, never>;
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LongPress, "[long-press]", never, { "pressDuration": "pressDuration"; }, { "onLongPress": "onLongPress"; "onLongPressing": "onLongPressing"; "onLongPressEnd": "onLongPressEnd"; }, never>;
|
|
22
25
|
}
|
|
File without changes
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
1
2
|
export declare class ResizeService {
|
|
2
3
|
private resizeDetector;
|
|
3
4
|
constructor();
|
|
4
5
|
addResizeEventListener(element: HTMLElement, handler: Function): void;
|
|
5
6
|
removeResizeEventListener(element: HTMLElement): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ResizeService>;
|
|
6
9
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tnp-helpers",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^13.2.0",
|
|
6
|
+
"@angular/core": "^13.2.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"module": "fesm2015/tnp-helpers.mjs",
|
|
12
|
+
"es2020": "fesm2020/tnp-helpers.mjs",
|
|
13
|
+
"esm2020": "esm2020/tnp-helpers.mjs",
|
|
14
|
+
"fesm2020": "fesm2020/tnp-helpers.mjs",
|
|
15
|
+
"fesm2015": "fesm2015/tnp-helpers.mjs",
|
|
16
|
+
"typings": "tnp-helpers.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
"./package.json": {
|
|
19
|
+
"default": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./tnp-helpers.d.ts",
|
|
23
|
+
"esm2020": "./esm2020/tnp-helpers.mjs",
|
|
24
|
+
"es2020": "./fesm2020/tnp-helpers.mjs",
|
|
25
|
+
"es2015": "./fesm2015/tnp-helpers.mjs",
|
|
26
|
+
"node": "./fesm2015/tnp-helpers.mjs",
|
|
27
|
+
"default": "./fesm2020/tnp-helpers.mjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"sideEffects": false
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|
package/client/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BaseComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
this.model = {};
|
|
8
|
+
this.handlers = [];
|
|
9
|
+
}
|
|
10
|
+
ngOnDestroy() {
|
|
11
|
+
this.handlers.forEach(h => h.unsubscribe());
|
|
12
|
+
this.handlers.length = 0;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BaseComponent, selector: "app-base-component-meta", inputs: { model: "model" }, ngImport: i0, template: '<div></div>', isInline: true });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BaseComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{
|
|
20
|
+
selector: 'app-base-component-meta',
|
|
21
|
+
template: '<div></div>'
|
|
22
|
+
}]
|
|
23
|
+
}], propDecorators: { model: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}] } });
|
|
26
|
+
const isCalledNgInitAfterInternalRefresh = Symbol();
|
|
27
|
+
export class BaseComponentForRouter extends BaseComponent {
|
|
28
|
+
constructor(__router) {
|
|
29
|
+
super();
|
|
30
|
+
this.__router = __router;
|
|
31
|
+
this[isCalledNgInitAfterInternalRefresh] = false;
|
|
32
|
+
}
|
|
33
|
+
isCalledNgInitAfterInternalRefresh() {
|
|
34
|
+
return !!this[isCalledNgInitAfterInternalRefresh];
|
|
35
|
+
}
|
|
36
|
+
reloadNgOninitOnUrlChange() {
|
|
37
|
+
this.handlers.push(this.__router.events.subscribe(event => {
|
|
38
|
+
if (event instanceof NavigationEnd && this['ngOnInit']) {
|
|
39
|
+
this[isCalledNgInitAfterInternalRefresh] = true;
|
|
40
|
+
this['ngOnInit']();
|
|
41
|
+
if (this[isCalledNgInitAfterInternalRefresh]) {
|
|
42
|
+
this[isCalledNgInitAfterInternalRefresh] = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPeEQsTUFBTSxPQUFnQixhQUFhO0lBSm5DO1FBTUUsYUFBYTtRQUNKLFVBQUssR0FBUSxFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFtQixFQUFFLENBQUM7S0FRL0I7SUFOQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7MEdBVm1CLGFBQWE7OEZBQWIsYUFBYSwyRkFGdkIsYUFBYTsyRkFFSCxhQUFhO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSxhQUFhO2lCQUN4Qjs4QkFJVSxLQUFLO3NCQUFiLEtBQUs7O0FBWVIsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUVuRCxNQUFNLE9BQWdCLHNCQUF1QixTQUFRLGFBQWE7SUFFaEUsWUFDVSxRQUFnQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQUZBLGFBQVEsR0FBUixRQUFRLENBQVE7UUFHeEIsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFHUyxrQ0FBa0M7UUFDMUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsa0NBQWtDLENBQUMsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNsRDthQUNGO1FBQ0gsQ0FBQyxDQUFRLENBQUMsQ0FBQztJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9uRGVzdHJveSwgT25Jbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iYXNlLWNvbXBvbmVudC1tZXRhJyxcbiAgdGVtcGxhdGU6ICc8ZGl2PjwvZGl2Pidcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBtb2RlbDogYW55ID0ge307XG5cbiAgaGFuZGxlcnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVycy5mb3JFYWNoKGggPT4gaC51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLmhhbmRsZXJzLmxlbmd0aCA9IDA7XG4gIH1cblxuXG59XG5cbmNvbnN0IGlzQ2FsbGVkTmdJbml0QWZ0ZXJJbnRlcm5hbFJlZnJlc2ggPSBTeW1ib2woKVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudEZvclJvdXRlciBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX19yb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXNbaXNDYWxsZWROZ0luaXRBZnRlckludGVybmFsUmVmcmVzaF0gPSBmYWxzZTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGlzQ2FsbGVkTmdJbml0QWZ0ZXJJbnRlcm5hbFJlZnJlc2goKSB7XG4gICAgcmV0dXJuICEhdGhpc1tpc0NhbGxlZE5nSW5pdEFmdGVySW50ZXJuYWxSZWZyZXNoXTtcbiAgfVxuICBwcm90ZWN0ZWQgcmVsb2FkTmdPbmluaXRPblVybENoYW5nZSgpIHtcbiAgICB0aGlzLmhhbmRsZXJzLnB1c2godGhpcy5fX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgdGhpc1snbmdPbkluaXQnXSkge1xuICAgICAgICB0aGlzW2lzQ2FsbGVkTmdJbml0QWZ0ZXJJbnRlcm5hbFJlZnJlc2hdID0gdHJ1ZTtcbiAgICAgICAgdGhpc1snbmdPbkluaXQnXSgpO1xuICAgICAgICBpZiAodGhpc1tpc0NhbGxlZE5nSW5pdEFmdGVySW50ZXJuYWxSZWZyZXNoXSkge1xuICAgICAgICAgIHRoaXNbaXNDYWxsZWROZ0luaXRBZnRlckludGVybmFsUmVmcmVzaF0gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pIGFzIGFueSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { FieldType } from '@ngx-formly/core';
|
|
2
|
+
import { Component, Input, Output, } from '@angular/core';
|
|
3
|
+
import { Log, Level } from 'ng2-logger/browser';
|
|
4
|
+
import { DualComponentController } from './dual-component-ctrl';
|
|
5
|
+
import { EventEmitter } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
const log = Log.create('base formly component', Level.__NOTHING);
|
|
8
|
+
export class BaseFormlyComponent extends FieldType {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.DualComponentController = DualComponentController;
|
|
12
|
+
this.ctrl = {};
|
|
13
|
+
this.change = new EventEmitter();
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
// @Input() formControl: FormControl; // TODO QUICK_FIX
|
|
16
|
+
this.handlers = [];
|
|
17
|
+
this.__field = {
|
|
18
|
+
templateOptions: {}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
get mode() {
|
|
23
|
+
return this.ctrl.mode;
|
|
24
|
+
}
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
set mode(v) {
|
|
27
|
+
this.ctrl.mode = v;
|
|
28
|
+
}
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
set model(v) {
|
|
31
|
+
this.ctrl.model = v;
|
|
32
|
+
}
|
|
33
|
+
get model() {
|
|
34
|
+
return this.ctrl.model;
|
|
35
|
+
}
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
set key(value) {
|
|
38
|
+
if (this.ctrl && this.ctrl.isFormlyMode) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.path = value;
|
|
42
|
+
}
|
|
43
|
+
get key() {
|
|
44
|
+
if (this.ctrl && this.ctrl.isFormlyMode) {
|
|
45
|
+
return this.field.key;
|
|
46
|
+
}
|
|
47
|
+
return this.path;
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
this.handlers.forEach(h => h.unsubscribe());
|
|
51
|
+
this.handlers.length = 0;
|
|
52
|
+
}
|
|
53
|
+
ngAfterViewInit() {
|
|
54
|
+
}
|
|
55
|
+
// _model: any;
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
// console.log('model', this.model)
|
|
58
|
+
// console.log('ket', this.key)
|
|
59
|
+
const isFormlyMode = !!this.field;
|
|
60
|
+
log.i(`isFormlyMode: ${isFormlyMode}`);
|
|
61
|
+
if (!isFormlyMode) {
|
|
62
|
+
const that = this;
|
|
63
|
+
Object.defineProperty(this, 'field', {
|
|
64
|
+
get: function () {
|
|
65
|
+
return that.__field;
|
|
66
|
+
},
|
|
67
|
+
set: function (v) {
|
|
68
|
+
that.__field = v;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const existed = this.ctrl;
|
|
73
|
+
this.ctrl = new this.DualComponentController(this, isFormlyMode);
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
Object.keys(existed).forEach(key => {
|
|
76
|
+
this.ctrl[key] = existed[key];
|
|
77
|
+
});
|
|
78
|
+
// if (!this.formControl) {
|
|
79
|
+
// this.formControl = new FormControl({})
|
|
80
|
+
// Object.defineProperty(this, 'field', {
|
|
81
|
+
// get: () => {
|
|
82
|
+
// return {
|
|
83
|
+
// formControl: this.formControl
|
|
84
|
+
// } as FormlyFieldConfig
|
|
85
|
+
// }
|
|
86
|
+
// })
|
|
87
|
+
// // this.formControl = new FormControl({})
|
|
88
|
+
// }
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
this.change.next(this.ctrl.value);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
BaseFormlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BaseFormlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
BaseFormlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BaseFormlyComponent, selector: "app-base-formly-component-meta", inputs: { pizda: "pizda", mode: "mode", disabled: "disabled", required: "required", label: "label", placeholder: "placeholder", defaultValue: "defaultValue", model: "model", path: "path", key: "key" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: `<div></div>`, isInline: true });
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BaseFormlyComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{
|
|
98
|
+
selector: 'app-base-formly-component-meta',
|
|
99
|
+
template: `<div></div>`
|
|
100
|
+
}]
|
|
101
|
+
}], propDecorators: { pizda: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], mode: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], disabled: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], required: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], label: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], placeholder: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], defaultValue: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], model: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], path: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], change: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}], key: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}] } });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtbHktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UtZm9ybWx5LWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE9BQU8sRUFBSSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sR0FBa0IsTUFBTSxlQUFlLENBQUM7QUFJbkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU3QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQU9oRSxNQUFNLE9BQWdCLG1CQUNwQixTQUFRLFNBQVM7SUFMbkI7O1FBUVksNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDckQsU0FBSSxHQUFNLEVBQVMsQ0FBQztRQTBCakIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFpQnRDLGFBQWE7UUFDYix1REFBdUQ7UUFDN0MsYUFBUSxHQUFtQixFQUFFLENBQUM7UUFZaEMsWUFBTyxHQUFHO1lBQ2hCLGVBQWUsRUFBRSxFQUVoQjtTQUNtQixDQUFDO0tBeUN4QjtJQW5HQyxhQUFhO0lBQ2IsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYTtJQUNiLElBQWEsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJ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QWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHTyxLQUFLO3NCQUFqQixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBSU0sR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5pbXBvcnQgeyAgIENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBBZnRlclZpZXdJbml0LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyAgIEZvcm1Db250cm9sLCAgIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBEdWFsQ29tcG9uZW50Q29udHJvbGxlciB9IGZyb20gJy4vZHVhbC1jb21wb25lbnQtY3RybCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnYmFzZSBmb3JtbHkgY29tcG9uZW50JywgTGV2ZWwuX19OT1RISU5HKVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iYXNlLWZvcm1seS1jb21wb25lbnQtbWV0YScsXG4gIHRlbXBsYXRlOiBgPGRpdj48L2Rpdj5gXG59KSAvLyBAdHMtaWdub3JlXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1seUNvbXBvbmVudDxUIGV4dGVuZHMgRHVhbENvbXBvbmVudENvbnRyb2xsZXIgPSBEdWFsQ29tcG9uZW50Q29udHJvbGxlcj5cbiAgZXh0ZW5kcyBGaWVsZFR5cGVcbiAgaW1wbGVtZW50cyBPbkluaXQsIFBhcnRpYWw8RHVhbENvbXBvbmVudENvbnRyb2xsZXI8VD4+LCBBZnRlclZpZXdJbml0IHtcblxuICBwcm90ZWN0ZWQgRHVhbENvbXBvbmVudENvbnRyb2xsZXIgPSBEdWFsQ29tcG9uZW50Q29udHJvbGxlcjtcbiAgcHVibGljIGN0cmw6IFQgPSB7fSBhcyBhbnk7XG4gIEBJbnB1dCgpIHBpemRhOiBhbnk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBnZXQgbW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdHJsLm1vZGU7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIEBJbnB1dCgpIHNldCBtb2RlKHYpIHtcbiAgICB0aGlzLmN0cmwubW9kZSA9IHY7XG4gIH1cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0VmFsdWU6IFQ7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBzZXQgbW9kZWwodikge1xuICAgIHRoaXMuY3RybC5tb2RlbCA9IHY7XG4gIH1cbiAgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLmN0cmwubW9kZWw7XG4gIH1cbiAgQElucHV0KCkgcGF0aDogc3RyaW5nO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBzZXQga2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5jdHJsICYmIHRoaXMuY3RybC5pc0Zvcm1seU1vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wYXRoID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmN0cmwgJiYgdGhpcy5jdHJsLmlzRm9ybWx5TW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIGFueTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGF0aDtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sOyAvLyBUT0RPIFFVSUNLX0ZJWFxuICBwcm90ZWN0ZWQgaGFuZGxlcnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVycy5mb3JFYWNoKGggPT4gaC51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLmhhbmRsZXJzLmxlbmd0aCA9IDA7XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblxuICB9XG5cbiAgcHJpdmF0ZSBfX2ZpZWxkID0ge1xuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuXG4gICAgfVxuICB9IGFzIEZvcm1seUZpZWxkQ29uZmlnO1xuICAvLyBfbW9kZWw6IGFueTtcbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ21vZGVsJywgdGhpcy5tb2RlbClcbiAgICAvLyBjb25zb2xlLmxvZygna2V0JywgdGhpcy5rZXkpXG4gICAgY29uc3QgaXNGb3JtbHlNb2RlID0gISF0aGlzLmZpZWxkO1xuICAgIGxvZy5pKGBpc0Zvcm1seU1vZGU6ICR7aXNGb3JtbHlNb2RlfWApO1xuICAgIGlmICghaXNGb3JtbHlNb2RlKSB7XG4gICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnZmllbGQnLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiB0aGF0Ll9fZmllbGQ7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHYpIHtcbiAgICAgICAgICB0aGF0Ll9fZmllbGQgPSB2O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0ZWQgPSB0aGlzLmN0cmw7XG4gICAgdGhpcy5jdHJsID0gbmV3ICh0aGlzLkR1YWxDb21wb25lbnRDb250cm9sbGVyIGFzIGFueSkodGhpcywgaXNGb3JtbHlNb2RlKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgT2JqZWN0LmtleXMoZXhpc3RlZCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpcy5jdHJsW2tleV0gPSBleGlzdGVkW2tleV07XG4gICAgfSk7XG5cbiAgICAvLyBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAvLyAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woe30pXG4gICAgLy8gICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2ZpZWxkJywge1xuICAgIC8vICAgICBnZXQ6ICgpID0+IHtcbiAgICAvLyAgICAgICByZXR1cm4ge1xuICAgIC8vICAgICAgICAgZm9ybUNvbnRyb2w6IHRoaXMuZm9ybUNvbnRyb2xcbiAgICAvLyAgICAgICB9IGFzIEZvcm1seUZpZWxkQ29uZmlnXG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH0pXG4gICAgLy8gICAvLyAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woe30pXG4gICAgLy8gfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmNoYW5nZS5uZXh0KHRoaXMuY3RybC52YWx1ZSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { Helpers } from './index';
|
|
3
|
+
export async function conditionWait(conditionAndTimeout) {
|
|
4
|
+
await waitFor(conditionAndTimeout);
|
|
5
|
+
}
|
|
6
|
+
function waitFor(arr, messageToShow = void 0) {
|
|
7
|
+
return new Promise(async (resolve, reject) => {
|
|
8
|
+
if (arr.length === 0) {
|
|
9
|
+
resolve(void 0);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
// console.log(arr.length)
|
|
13
|
+
const check = arr.shift();
|
|
14
|
+
if (_.isUndefined(check.timeoutCheck)) {
|
|
15
|
+
check.timeoutCheck = 2000;
|
|
16
|
+
}
|
|
17
|
+
if (_.isUndefined(check.timeoutNext)) {
|
|
18
|
+
check.timeoutNext = 4000;
|
|
19
|
+
}
|
|
20
|
+
const { timeoutCheck, timeoutNext, name } = check;
|
|
21
|
+
// console.log(`timeoutCheck: ${timeoutCheck}`);
|
|
22
|
+
// console.log(`timeoutNext: ${timeoutNext}`);
|
|
23
|
+
// console.log(`Checking: ${name}`)
|
|
24
|
+
const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);
|
|
25
|
+
// console.log(`after: ${name}`)
|
|
26
|
+
if (resultTrue) {
|
|
27
|
+
// console.log(`timeout 1 is set to ${timeoutNext}`)
|
|
28
|
+
setTimeout(async () => {
|
|
29
|
+
// console.log(`timeout 1 is over`)
|
|
30
|
+
await waitFor(arr).then(() => {
|
|
31
|
+
resolve(void 0);
|
|
32
|
+
});
|
|
33
|
+
}, timeoutNext);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
arr.unshift(check);
|
|
37
|
+
if (!messageToShow || check.errorMessage !== messageToShow) {
|
|
38
|
+
Helpers.info(check.errorMessage);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// console.log(`dont show error message ${check.errorMessage}`)
|
|
42
|
+
}
|
|
43
|
+
// console.log(`timeout 2 is set to ${timeoutCheck}, arr.length is ${arr.length}`)
|
|
44
|
+
setTimeout(async () => {
|
|
45
|
+
// console.log(`timeout 2 ${timeoutCheck} ovef`)
|
|
46
|
+
await waitFor(arr, check.errorMessage).then(() => {
|
|
47
|
+
resolve(void 0);
|
|
48
|
+
});
|
|
49
|
+
}, timeoutCheck);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXdhaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvY29uZGl0aW9uLXdhaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFVbEMsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsbUJBQWdDO0lBQ2xFLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLEdBQWdCLEVBQUUsZ0JBQXdCLEtBQUssQ0FBQztJQUMvRCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtTQUNoQjthQUFNO1lBQ0wsMEJBQTBCO1lBQzFCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNyQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUMzQjtZQUNELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3BDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQzFCO1lBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ2xELGdEQUFnRDtZQUNoRCw4Q0FBOEM7WUFDOUMsbUNBQW1DO1lBQ25DLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLGdDQUFnQztZQUNoQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxvREFBb0Q7Z0JBQ3BELFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDcEIsbUNBQW1DO29CQUNuQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ2pCO2lCQUFNO2dCQUVMLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyxhQUFhLEVBQUU7b0JBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxnRUFBZ0U7aUJBQ2pFO2dCQUNELGtGQUFrRjtnQkFDbEYsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUNwQixnREFBZ0Q7b0JBQ2hELE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ2xCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHR5cGUgQ29uZGl0aW9uID0ge1xuICBuYW1lPzogc3RyaW5nO1xuICB0aW1lb3V0Q2hlY2s/OiBudW1iZXI7XG4gIHRpbWVvdXROZXh0PzogbnVtYmVyO1xuICBjYWxsYmFjazogKGM6IENvbmRpdGlvbikgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZGl0aW9uV2FpdChjb25kaXRpb25BbmRUaW1lb3V0OiBDb25kaXRpb25bXSkge1xuICBhd2FpdCB3YWl0Rm9yKGNvbmRpdGlvbkFuZFRpbWVvdXQpO1xufVxuXG5mdW5jdGlvbiB3YWl0Rm9yKGFycjogQ29uZGl0aW9uW10sIG1lc3NhZ2VUb1Nob3c6IHN0cmluZyA9IHZvaWQgMCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmIChhcnIubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXNvbHZlKHZvaWQgMClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29uc29sZS5sb2coYXJyLmxlbmd0aClcbiAgICAgIGNvbnN0IGNoZWNrID0gYXJyLnNoaWZ0KCk7XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChjaGVjay50aW1lb3V0Q2hlY2spKSB7XG4gICAgICAgIGNoZWNrLnRpbWVvdXRDaGVjayA9IDIwMDA7XG4gICAgICB9XG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChjaGVjay50aW1lb3V0TmV4dCkpIHtcbiAgICAgICAgY2hlY2sudGltZW91dE5leHQgPSA0MDAwO1xuICAgICAgfVxuICAgICAgY29uc3QgeyB0aW1lb3V0Q2hlY2ssIHRpbWVvdXROZXh0LCBuYW1lIH0gPSBjaGVjaztcbiAgICAgIC8vIGNvbnNvbGUubG9nKGB0aW1lb3V0Q2hlY2s6ICR7dGltZW91dENoZWNrfWApO1xuICAgICAgLy8gY29uc29sZS5sb2coYHRpbWVvdXROZXh0OiAke3RpbWVvdXROZXh0fWApO1xuICAgICAgLy8gY29uc29sZS5sb2coYENoZWNraW5nOiAke25hbWV9YClcbiAgICAgIGNvbnN0IHJlc3VsdFRydWUgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKGNoZWNrLmNhbGxiYWNrLCBjaGVjayk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgYWZ0ZXI6ICR7bmFtZX1gKVxuICAgICAgaWYgKHJlc3VsdFRydWUpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHRpbWVvdXQgMSBpcyBzZXQgdG8gJHt0aW1lb3V0TmV4dH1gKVxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgdGltZW91dCAxIGlzIG92ZXJgKVxuICAgICAgICAgIGF3YWl0IHdhaXRGb3IoYXJyKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dE5leHQpO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICBhcnIudW5zaGlmdChjaGVjayk7XG4gICAgICAgIGlmICghbWVzc2FnZVRvU2hvdyB8fCBjaGVjay5lcnJvck1lc3NhZ2UgIT09IG1lc3NhZ2VUb1Nob3cpIHtcbiAgICAgICAgICBIZWxwZXJzLmluZm8oY2hlY2suZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgZG9udCBzaG93IGVycm9yICBtZXNzYWdlICR7Y2hlY2suZXJyb3JNZXNzYWdlfWApXG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coYHRpbWVvdXQgMiBpcyBzZXQgdG8gJHt0aW1lb3V0Q2hlY2t9LCBhcnIubGVuZ3RoIGlzICR7YXJyLmxlbmd0aH1gKVxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgdGltZW91dCAyICR7dGltZW91dENoZWNrfSBvdmVmYClcbiAgICAgICAgICBhd2FpdCB3YWl0Rm9yKGFyciwgY2hlY2suZXJyb3JNZXNzYWdlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dENoZWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const BaselineSiteJoinprefix = '__';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IGNvbnN0IEJhc2VsaW5lU2l0ZUpvaW5wcmVmaXggPSAnX18nO1xuIl19
|