tnp-helpers 13.0.16 → 13.0.19
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/browser/esm2020/lib/base-component.mjs +3 -3
- package/browser/esm2020/lib/base-formly-component.mjs +3 -3
- package/browser/esm2020/lib/helpers-strings.mjs +196 -1
- package/browser/esm2020/lib/index.mjs +1 -1
- package/browser/esm2020/lib/long-press.directive.mjs +3 -3
- package/browser/esm2020/lib/resize-service.mjs +3 -3
- package/browser/fesm2015/tnp-helpers.mjs +207 -12
- package/browser/fesm2015/tnp-helpers.mjs.map +1 -1
- package/browser/fesm2020/tnp-helpers.mjs +207 -12
- package/browser/fesm2020/tnp-helpers.mjs.map +1 -1
- package/browser/lib/helpers-strings.d.ts +23 -0
- package/client/esm2020/lib/base-component.mjs +3 -3
- package/client/esm2020/lib/base-formly-component.mjs +3 -3
- package/client/esm2020/lib/helpers-strings.mjs +196 -1
- package/client/esm2020/lib/index.mjs +1 -1
- package/client/esm2020/lib/long-press.directive.mjs +3 -3
- package/client/esm2020/lib/resize-service.mjs +3 -3
- package/client/fesm2015/tnp-helpers.mjs +207 -12
- package/client/fesm2015/tnp-helpers.mjs.map +1 -1
- package/client/fesm2020/tnp-helpers.mjs +207 -12
- package/client/fesm2020/tnp-helpers.mjs.map +1 -1
- package/client/lib/helpers-strings.d.ts +23 -0
- package/lib/angular.helper.d.ts +22 -0
- package/lib/angular.helper.js +49 -0
- package/lib/angular.helper.js.map +1 -0
- package/lib/helpers-strings.d.ts +23 -0
- package/lib/helpers-strings.js +195 -0
- package/lib/helpers-strings.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/project.js +1 -1
- package/lib/project.js.map +1 -1
- package/package.json +6 -229
- package/tmp-environment.json +36 -35
|
@@ -1 +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":["import { _ } 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","import { _ } 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","import { _, /* */ /* */ } from 'tnp-core/browser';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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","import { _ } 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","import { _ } 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","import { _ } 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n \n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\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/* */\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/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n \n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n/* */\n/* */\n/* */\n \n]);\n","export const BaselineSiteJoinprefix = '__';\n","/* */\n/* */\n/* */\n/* */\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/* */\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 isSmartContainer: boolean;\n public isSmartContainerChild: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isMonorepo: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }\n\n static get Current(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n static get Tnp(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n/* */\n/* */\n \n ): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n","//#region @browser\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//#endregion\n","import { _ } 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/* */\n\nimport { FormControl, FormGroup } from '@angular/forms'/* */\n/* */\n/* */\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(): any {// FormControl { // TODO QUICK_FIX\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 // @ts-ignore\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","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms';/* */\n/* */\n/* */\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//#endregion\n","import { 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","import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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","import { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n/* */\n/* */\n \n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\n//#region @browser\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//#endregion\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
|
+
{"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":["import { _ } 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","import { _ } 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","import { _, /* */ /* */ } from 'tnp-core/browser';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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","import { _ } 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 * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the plural of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n plural(word: string, amount?: number): string {\n if (amount !== undefined && amount === 1) {\n return word\n }\n const plural: { [key: string]: string } = {\n '(quiz)$': \"$1zes\",\n '^(ox)$': \"$1en\",\n '([m|l])ouse$': \"$1ice\",\n '(matr|vert|ind)ix|ex$': \"$1ices\",\n '(x|ch|ss|sh)$': \"$1es\",\n '([^aeiouy]|qu)y$': \"$1ies\",\n '(hive)$': \"$1s\",\n '(?:([^f])fe|([lr])f)$': \"$1$2ves\",\n '(shea|lea|loa|thie)f$': \"$1ves\",\n 'sis$': \"ses\",\n '([ti])um$': \"$1a\",\n '(tomat|potat|ech|her|vet)o$': \"$1oes\",\n '(bu)s$': \"$1ses\",\n '(alias)$': \"$1es\",\n '(octop)us$': \"$1i\",\n '(ax|test)is$': \"$1es\",\n '(us)$': \"$1es\",\n '([^s]+)$': \"$1s\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n // save some time in the case that singular and plural are the same\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n // check for irregular forms\n for (const w in irregular) {\n const pattern = new RegExp(`${w}$`, 'i')\n const replace = irregular[w]\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n // check for matches using regular expressions\n for (const reg in plural) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, plural[reg])\n }\n }\n return word\n }\n\n\n /**\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the singular of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n singular(word: string, amount?: number): string {\n if (amount !== undefined && amount !== 1) {\n return word\n }\n const singular: { [key: string]: string } = {\n '(quiz)zes$': \"$1\",\n '(matr)ices$': \"$1ix\",\n '(vert|ind)ices$': \"$1ex\",\n '^(ox)en$': \"$1\",\n '(alias)es$': \"$1\",\n '(octop|vir)i$': \"$1us\",\n '(cris|ax|test)es$': \"$1is\",\n '(shoe)s$': \"$1\",\n '(o)es$': \"$1\",\n '(bus)es$': \"$1\",\n '([m|l])ice$': \"$1ouse\",\n '(x|ch|ss|sh)es$': \"$1\",\n '(m)ovies$': \"$1ovie\",\n '(s)eries$': \"$1eries\",\n '([^aeiouy]|qu)ies$': \"$1y\",\n '([lr])ves$': \"$1f\",\n '(tive)s$': \"$1\",\n '(hive)s$': \"$1\",\n '(li|wi|kni)ves$': \"$1fe\",\n '(shea|loa|lea|thie)ves$': \"$1f\",\n '(^analy)ses$': \"$1sis\",\n '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': \"$1$2sis\",\n '([ti])a$': \"$1um\",\n '(n)ews$': \"$1ews\",\n '(h|bl)ouses$': \"$1ouse\",\n '(corpse)s$': \"$1\",\n '(us)es$': \"$1\",\n 's$': \"\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n // save some time in the case that singular and plural are the same\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n // check for irregular forms\n for (const w in irregular) {\n const pattern = new RegExp(`${irregular[w]}$`, 'i')\n const replace = w\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n // check for matches using regular expressions\n for (const reg in singular) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, singular[reg])\n }\n }\n return word\n }\n\n}\n\n","import { _ } 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","import { _ } 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n \n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\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/* */\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/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n \n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n/* */\n/* */\n/* */\n \n]);\n","export const BaselineSiteJoinprefix = '__';\n","/* */\n/* */\n/* */\n/* */\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/* */\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 isSmartContainer: boolean;\n public isSmartContainerChild: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isMonorepo: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }\n\n static get Current(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n static get Tnp(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n/* */\n/* */\n \n ): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n","//#region @browser\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//#endregion\n","import { _ } 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/* */\n\nimport { FormControl, FormGroup } from '@angular/forms'/* */\n/* */\n/* */\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(): any {// FormControl { // TODO QUICK_FIX\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 // @ts-ignore\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","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms';/* */\n/* */\n/* */\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//#endregion\n","import { 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","import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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","import { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n/* */\n/* */\n \n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\n\n//#region @browser\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//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Helpers","log","Base"],"mappings":"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"}
|
|
@@ -224,6 +224,201 @@ class HelpersStrings {
|
|
|
224
224
|
s = s?.split('\n').map(f => f.trimRight()).join('\n');
|
|
225
225
|
return s?.replace(/(\r\n|\r|\n){2,}/g, '$1\n');
|
|
226
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
*
|
|
229
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
230
|
+
*
|
|
231
|
+
* Returns the plural of an English word.
|
|
232
|
+
*
|
|
233
|
+
* @export
|
|
234
|
+
* @param {string} word
|
|
235
|
+
* @param {number} [amount]
|
|
236
|
+
* @returns {string}
|
|
237
|
+
*/
|
|
238
|
+
plural(word, amount) {
|
|
239
|
+
if (amount !== undefined && amount === 1) {
|
|
240
|
+
return word;
|
|
241
|
+
}
|
|
242
|
+
const plural = {
|
|
243
|
+
'(quiz)$': "$1zes",
|
|
244
|
+
'^(ox)$': "$1en",
|
|
245
|
+
'([m|l])ouse$': "$1ice",
|
|
246
|
+
'(matr|vert|ind)ix|ex$': "$1ices",
|
|
247
|
+
'(x|ch|ss|sh)$': "$1es",
|
|
248
|
+
'([^aeiouy]|qu)y$': "$1ies",
|
|
249
|
+
'(hive)$': "$1s",
|
|
250
|
+
'(?:([^f])fe|([lr])f)$': "$1$2ves",
|
|
251
|
+
'(shea|lea|loa|thie)f$': "$1ves",
|
|
252
|
+
'sis$': "ses",
|
|
253
|
+
'([ti])um$': "$1a",
|
|
254
|
+
'(tomat|potat|ech|her|vet)o$': "$1oes",
|
|
255
|
+
'(bu)s$': "$1ses",
|
|
256
|
+
'(alias)$': "$1es",
|
|
257
|
+
'(octop)us$': "$1i",
|
|
258
|
+
'(ax|test)is$': "$1es",
|
|
259
|
+
'(us)$': "$1es",
|
|
260
|
+
'([^s]+)$': "$1s"
|
|
261
|
+
};
|
|
262
|
+
const irregular = {
|
|
263
|
+
'move': 'moves',
|
|
264
|
+
'foot': 'feet',
|
|
265
|
+
'goose': 'geese',
|
|
266
|
+
'sex': 'sexes',
|
|
267
|
+
'child': 'children',
|
|
268
|
+
'man': 'men',
|
|
269
|
+
'tooth': 'teeth',
|
|
270
|
+
'person': 'people'
|
|
271
|
+
};
|
|
272
|
+
const uncountable = [
|
|
273
|
+
'sheep',
|
|
274
|
+
'fish',
|
|
275
|
+
'deer',
|
|
276
|
+
'moose',
|
|
277
|
+
'series',
|
|
278
|
+
'species',
|
|
279
|
+
'money',
|
|
280
|
+
'rice',
|
|
281
|
+
'information',
|
|
282
|
+
'equipment',
|
|
283
|
+
'bison',
|
|
284
|
+
'cod',
|
|
285
|
+
'offspring',
|
|
286
|
+
'pike',
|
|
287
|
+
'salmon',
|
|
288
|
+
'shrimp',
|
|
289
|
+
'swine',
|
|
290
|
+
'trout',
|
|
291
|
+
'aircraft',
|
|
292
|
+
'hovercraft',
|
|
293
|
+
'spacecraft',
|
|
294
|
+
'sugar',
|
|
295
|
+
'tuna',
|
|
296
|
+
'you',
|
|
297
|
+
'wood'
|
|
298
|
+
];
|
|
299
|
+
// save some time in the case that singular and plural are the same
|
|
300
|
+
if (uncountable.indexOf(word.toLowerCase()) >= 0) {
|
|
301
|
+
return word;
|
|
302
|
+
}
|
|
303
|
+
// check for irregular forms
|
|
304
|
+
for (const w in irregular) {
|
|
305
|
+
const pattern = new RegExp(`${w}$`, 'i');
|
|
306
|
+
const replace = irregular[w];
|
|
307
|
+
if (pattern.test(word)) {
|
|
308
|
+
return word.replace(pattern, replace);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// check for matches using regular expressions
|
|
312
|
+
for (const reg in plural) {
|
|
313
|
+
const pattern = new RegExp(reg, 'i');
|
|
314
|
+
if (pattern.test(word)) {
|
|
315
|
+
return word.replace(pattern, plural[reg]);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return word;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
322
|
+
*
|
|
323
|
+
* Returns the singular of an English word.
|
|
324
|
+
*
|
|
325
|
+
* @export
|
|
326
|
+
* @param {string} word
|
|
327
|
+
* @param {number} [amount]
|
|
328
|
+
* @returns {string}
|
|
329
|
+
*/
|
|
330
|
+
singular(word, amount) {
|
|
331
|
+
if (amount !== undefined && amount !== 1) {
|
|
332
|
+
return word;
|
|
333
|
+
}
|
|
334
|
+
const singular = {
|
|
335
|
+
'(quiz)zes$': "$1",
|
|
336
|
+
'(matr)ices$': "$1ix",
|
|
337
|
+
'(vert|ind)ices$': "$1ex",
|
|
338
|
+
'^(ox)en$': "$1",
|
|
339
|
+
'(alias)es$': "$1",
|
|
340
|
+
'(octop|vir)i$': "$1us",
|
|
341
|
+
'(cris|ax|test)es$': "$1is",
|
|
342
|
+
'(shoe)s$': "$1",
|
|
343
|
+
'(o)es$': "$1",
|
|
344
|
+
'(bus)es$': "$1",
|
|
345
|
+
'([m|l])ice$': "$1ouse",
|
|
346
|
+
'(x|ch|ss|sh)es$': "$1",
|
|
347
|
+
'(m)ovies$': "$1ovie",
|
|
348
|
+
'(s)eries$': "$1eries",
|
|
349
|
+
'([^aeiouy]|qu)ies$': "$1y",
|
|
350
|
+
'([lr])ves$': "$1f",
|
|
351
|
+
'(tive)s$': "$1",
|
|
352
|
+
'(hive)s$': "$1",
|
|
353
|
+
'(li|wi|kni)ves$': "$1fe",
|
|
354
|
+
'(shea|loa|lea|thie)ves$': "$1f",
|
|
355
|
+
'(^analy)ses$': "$1sis",
|
|
356
|
+
'((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': "$1$2sis",
|
|
357
|
+
'([ti])a$': "$1um",
|
|
358
|
+
'(n)ews$': "$1ews",
|
|
359
|
+
'(h|bl)ouses$': "$1ouse",
|
|
360
|
+
'(corpse)s$': "$1",
|
|
361
|
+
'(us)es$': "$1",
|
|
362
|
+
's$': ""
|
|
363
|
+
};
|
|
364
|
+
const irregular = {
|
|
365
|
+
'move': 'moves',
|
|
366
|
+
'foot': 'feet',
|
|
367
|
+
'goose': 'geese',
|
|
368
|
+
'sex': 'sexes',
|
|
369
|
+
'child': 'children',
|
|
370
|
+
'man': 'men',
|
|
371
|
+
'tooth': 'teeth',
|
|
372
|
+
'person': 'people'
|
|
373
|
+
};
|
|
374
|
+
const uncountable = [
|
|
375
|
+
'sheep',
|
|
376
|
+
'fish',
|
|
377
|
+
'deer',
|
|
378
|
+
'moose',
|
|
379
|
+
'series',
|
|
380
|
+
'species',
|
|
381
|
+
'money',
|
|
382
|
+
'rice',
|
|
383
|
+
'information',
|
|
384
|
+
'equipment',
|
|
385
|
+
'bison',
|
|
386
|
+
'cod',
|
|
387
|
+
'offspring',
|
|
388
|
+
'pike',
|
|
389
|
+
'salmon',
|
|
390
|
+
'shrimp',
|
|
391
|
+
'swine',
|
|
392
|
+
'trout',
|
|
393
|
+
'aircraft',
|
|
394
|
+
'hovercraft',
|
|
395
|
+
'spacecraft',
|
|
396
|
+
'sugar',
|
|
397
|
+
'tuna',
|
|
398
|
+
'you',
|
|
399
|
+
'wood'
|
|
400
|
+
];
|
|
401
|
+
// save some time in the case that singular and plural are the same
|
|
402
|
+
if (uncountable.indexOf(word.toLowerCase()) >= 0) {
|
|
403
|
+
return word;
|
|
404
|
+
}
|
|
405
|
+
// check for irregular forms
|
|
406
|
+
for (const w in irregular) {
|
|
407
|
+
const pattern = new RegExp(`${irregular[w]}$`, 'i');
|
|
408
|
+
const replace = w;
|
|
409
|
+
if (pattern.test(word)) {
|
|
410
|
+
return word.replace(pattern, replace);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
// check for matches using regular expressions
|
|
414
|
+
for (const reg in singular) {
|
|
415
|
+
const pattern = new RegExp(reg, 'i');
|
|
416
|
+
if (pattern.test(word)) {
|
|
417
|
+
return word.replace(pattern, singular[reg]);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
return word;
|
|
421
|
+
}
|
|
227
422
|
}
|
|
228
423
|
|
|
229
424
|
async function conditionWait(conditionAndTimeout) {
|
|
@@ -945,9 +1140,9 @@ class BaseComponent {
|
|
|
945
1140
|
this.handlers.length = 0;
|
|
946
1141
|
}
|
|
947
1142
|
}
|
|
948
|
-
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
949
|
-
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
950
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
1143
|
+
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1144
|
+
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: BaseComponent, selector: "app-base-component-meta", inputs: { model: "model" }, ngImport: i0, template: '<div></div>', isInline: true });
|
|
1145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseComponent, decorators: [{
|
|
951
1146
|
type: Component,
|
|
952
1147
|
args: [{
|
|
953
1148
|
selector: 'app-base-component-meta',
|
|
@@ -1179,9 +1374,9 @@ class BaseFormlyComponent extends FieldType {
|
|
|
1179
1374
|
this.change.next(this.ctrl.value);
|
|
1180
1375
|
}
|
|
1181
1376
|
}
|
|
1182
|
-
BaseFormlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
1183
|
-
BaseFormlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
1184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
1377
|
+
BaseFormlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseFormlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1378
|
+
BaseFormlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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 });
|
|
1379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseFormlyComponent, decorators: [{
|
|
1185
1380
|
type: Component,
|
|
1186
1381
|
args: [{
|
|
1187
1382
|
selector: 'app-base-formly-component-meta',
|
|
@@ -1222,9 +1417,9 @@ class ResizeService {
|
|
|
1222
1417
|
this.resizeDetector.uninstall(element);
|
|
1223
1418
|
}
|
|
1224
1419
|
}
|
|
1225
|
-
ResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
1226
|
-
ResizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.
|
|
1227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
1420
|
+
ResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1421
|
+
ResizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService });
|
|
1422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService, decorators: [{
|
|
1228
1423
|
type: Injectable
|
|
1229
1424
|
}], ctorParameters: function () { return []; } });
|
|
1230
1425
|
|
|
@@ -1300,9 +1495,9 @@ class LongPress {
|
|
|
1300
1495
|
this.endPress(false);
|
|
1301
1496
|
}
|
|
1302
1497
|
}
|
|
1303
|
-
LongPress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
1304
|
-
LongPress.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.
|
|
1305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
1498
|
+
LongPress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1499
|
+
LongPress.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: LongPress, selector: "[long-press]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 });
|
|
1500
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LongPress, decorators: [{
|
|
1306
1501
|
type: Directive,
|
|
1307
1502
|
args: [{ selector: '[long-press]' }]
|
|
1308
1503
|
}], propDecorators: { pressDuration: [{
|