tnp-core 18.0.39 → 18.0.42
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/README.md +20 -20
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/core-imports.mjs +4 -1
- package/browser/esm2022/lib/helpers-isomorphic.mjs +26 -30
- package/browser/esm2022/lib/helpers-messages.mjs +45 -16
- package/browser/esm2022/lib/helpers.mjs +22 -28
- package/browser/esm2022/lib/index.mjs +2 -2
- package/browser/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/browser/esm2022/lib/utils.mjs +308 -2
- package/browser/fesm2022/tnp-core.mjs +1884 -1551
- package/browser/fesm2022/tnp-core.mjs.map +1 -1
- package/browser/lib/helpers-isomorphic.d.ts +20 -0
- package/browser/lib/helpers-messages.d.ts +11 -0
- package/browser/lib/helpers.d.ts +16 -2
- package/browser/lib/index.d.ts +1 -1
- package/{websql/lib/required.d.ts → browser/lib/required-global-npm-packages.d.ts} +4 -0
- package/browser/lib/utils.d.ts +61 -8
- package/cli.backend.js +2 -2
- package/client/README.md +24 -24
- package/client/esm2022/lib/core-imports.mjs +4 -1
- package/client/esm2022/lib/helpers-isomorphic.mjs +26 -30
- package/client/esm2022/lib/helpers-messages.mjs +45 -16
- package/client/esm2022/lib/helpers.mjs +22 -28
- package/client/esm2022/lib/index.mjs +2 -2
- package/client/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/client/esm2022/lib/utils.mjs +308 -2
- package/client/fesm2022/tnp-core.mjs +1884 -1551
- package/client/fesm2022/tnp-core.mjs.map +1 -1
- package/client/lib/helpers-isomorphic.d.ts +20 -0
- package/client/lib/helpers-messages.d.ts +11 -0
- package/client/lib/helpers.d.ts +16 -2
- package/client/lib/index.d.ts +1 -1
- package/{browser/lib/required.d.ts → client/lib/required-global-npm-packages.d.ts} +4 -0
- package/client/lib/utils.d.ts +61 -8
- package/lib/core-cli.js +3 -3
- package/lib/core-cli.js.map +1 -1
- package/lib/core-imports.d.ts +5 -1
- package/lib/core-imports.js.map +1 -1
- package/lib/helpers-isomorphic.d.ts +20 -0
- package/lib/helpers-isomorphic.js +25 -35
- package/lib/helpers-isomorphic.js.map +1 -1
- package/lib/helpers-messages.d.ts +11 -0
- package/lib/helpers-messages.js +58 -16
- package/lib/helpers-messages.js.map +1 -1
- package/lib/helpers.d.ts +14 -0
- package/lib/helpers.js +33 -28
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/node-chalk-mock.js +2 -2
- package/lib/node-path-mock.js +2 -2
- package/lib/{required.d.ts → required-global-npm-packages.d.ts} +6 -2
- package/lib/{required.js → required-global-npm-packages.js} +8 -1
- package/lib/required-global-npm-packages.js.map +1 -0
- package/lib/utils.d.ts +61 -8
- package/lib/utils.js +368 -3
- package/lib/utils.js.map +1 -1
- package/migrations/index.d.ts +1 -0
- package/migrations/index.js +6 -0
- package/migrations/index.js.map +1 -0
- package/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/migrations/migrations_index._auto-generated_.js +4 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -0
- package/package.json +3 -3
- package/taon.jsonc +65 -65
- package/tmp-environment.json +39 -31
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/core-imports.mjs +4 -1
- package/websql/esm2022/lib/helpers-isomorphic.mjs +26 -29
- package/websql/esm2022/lib/helpers-messages.mjs +45 -16
- package/websql/esm2022/lib/helpers.mjs +22 -28
- package/websql/esm2022/lib/index.mjs +2 -2
- package/websql/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/websql/esm2022/lib/utils.mjs +307 -2
- package/websql/fesm2022/tnp-core.mjs +1885 -1552
- package/websql/fesm2022/tnp-core.mjs.map +1 -1
- package/websql/lib/helpers-isomorphic.d.ts +20 -0
- package/websql/lib/helpers-messages.d.ts +11 -0
- package/websql/lib/helpers.d.ts +16 -2
- package/websql/lib/index.d.ts +1 -1
- package/{client/lib/required.d.ts → websql/lib/required-global-npm-packages.d.ts} +4 -0
- package/websql/lib/utils.d.ts +61 -8
- package/browser/esm2022/lib/required.mjs +0 -72
- package/client/esm2022/lib/required.mjs +0 -72
- package/lib/required.js.map +0 -1
- package/websql/esm2022/lib/required.mjs +0 -72
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tnp-core.mjs","sources":["../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/framework-name.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/node-chalk-mock.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/node-path-mock.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-imports.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-models.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers-isomorphic.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers-messages.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-config.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/progress-data.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/utils.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-cli.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/required.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/index.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/tnp-core.ts"],"sourcesContent":["\n\nlet isBrowser = false;\n\nisBrowser = true;\n\n\nconst frameworkNameBeTmp: 'taon' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'taon' : frameworkNameBe;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/framework-name.ts","\n\n\nimport { Chalk } from 'chalk';\n\n\n\n\nconst allObj = {\n black(a) {\n console.log(a);\n },\n gray(a) {\n console.log(a);\n },\n red(a) {\n console.log(a);\n },\n green(a) {\n console.log(a);\n },\n italic(a) {\n console.log(a);\n },\n magenta(a) {\n console.log(a);\n },\n bold(a) {\n console.log(a);\n },\n underline(a) {\n console.log(a);\n },\n};\n\nconst map = new Map<Function, string>();\n\nconst all = Object.keys(allObj).map(key => {\n map.set(allObj[key], key);\n return allObj[key];\n});\n\nfor (let i = 0; i < all.length; i++) {\n const e1 = all[i] as Function;\n for (let j = 0; j < all.length; j++) {\n const e2 = all[j] as Function; // @ts-ignore\n e1[map.get(e2)] = e2;\n }\n}\n\nexport const chalk: Chalk = allObj as any;\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-chalk-mock.ts","\n\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n '[taon-core] Path must be a string. Received ' + JSON.stringify(path),\n );\n }\n}\n\n\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length) code = path.charCodeAt(i);\n else if (code === 47 /*/*/) break;\n else code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (\n res.length < 2 ||\n lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== 46 /*.*/ ||\n res.charCodeAt(res.length - 2) !== 46 /*.*/\n ) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0) res += '/..';\n else res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);\n else res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base =\n pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nexport const path = {\n\n resolve: function resolve(pathToResovle) {\n return pathToResovle;\n },\n\n normalize: function normalize(pathArg) {\n assertPath(pathArg);\n\n if (pathArg.length === 0) return '.';\n\n var isAbsolute = pathArg.charCodeAt(0) === 47; /*/*/\n var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47; /*/*/\n\n\n pathArg = normalizeStringPosix(pathArg, !isAbsolute);\n\n if (pathArg.length === 0 && !isAbsolute) pathArg = '.';\n if (pathArg.length > 0 && trailingSeparator) pathArg += '/';\n\n if (isAbsolute) return '/' + pathArg;\n return pathArg;\n },\n\n isAbsolute: function isAbsolute(pathArg) {\n assertPath(pathArg);\n return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0) return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined) joined = arg;\n else joined += '/' + arg;\n }\n }\n if (joined === undefined) return '.';\n return path.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = path.resolve(from);\n to = path.resolve(to);\n\n if (from === to) return '';\n\n\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/) break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/) break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n\n\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n\n\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n\n\n lastCommonSep = i;\n } else if (i === 0) {\n\n\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode) break;\n else if (fromCode === 47 /*/*/) lastCommonSep = i;\n }\n\n var out = '';\n\n\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0) out += '..';\n else out += '/..';\n }\n }\n\n\n\n if (out.length > 0) return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47; /*/*/\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(pathArg, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(pathArg);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {\n if (ext.length === pathArg.length && ext === pathArg) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n\n\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n\n\n end = i;\n }\n } else {\n\n\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;\n else if (end === -1) end = pathArg.length;\n return pathArg.slice(start, end);\n } else {\n for (i = pathArg.length - 1; i >= 0; --i) {\n if (pathArg.charCodeAt(i) === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return pathArg.slice(start, end);\n }\n },\n\n extname: function extname(pathArg) {\n assertPath(pathArg);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n\n\n var preDotState = 0;\n for (var i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return '';\n }\n return pathArg.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n 'The \"pathObject\" argument must be of type Object. Received type ' +\n typeof pathObject,\n );\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(pathArg) {\n assertPath(pathArg);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (pathArg.length === 0) return ret;\n var code = pathArg.charCodeAt(0);\n var isAbsolute = code === 47; /*/*/\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = pathArg.length - 1;\n\n\n\n var preDotState = 0;\n\n\n for (; i >= start; --i) {\n code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = pathArg.slice(1, end);\n else ret.base = ret.name = pathArg.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = pathArg.slice(1, startDot);\n ret.base = pathArg.slice(1, end);\n } else {\n ret.name = pathArg.slice(startPart, startDot);\n ret.base = pathArg.slice(startPart, end);\n }\n ret.ext = pathArg.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = pathArg.slice(0, startPart - 1);\n else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: {\n // @ts-ignore\n normalize: p => {\n return p;\n },\n },\n posix: null,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts","\n\n\nlet forceTrace = 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\nimport jQuery from 'jquery';\nimport { chalk as chalkMock } from './node-chalk-mock';\nimport { path as pathMock } from './node-path-mock';\n\nimport * as _ from 'lodash';\nimport * as q from 'q';\nimport * as moment from 'moment';\nimport * as dateformat from 'dateformat';\nimport { Chalk } from 'chalk';\nimport * as json5 from 'json5';\nimport type jQueryType from 'jquery';\nimport type chalkBaseType from 'chalk';\nimport type * as pathBaseType from 'path';\n\nimport { Helpers } from './index';\n\n\n\n\nlet $: jQueryType;\n\n$ = jQuery;\n\n/* */\n/* */\n \n\n\n\n\nlet path = void 0 as typeof pathBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\npath = pathMock;\n\n\n\n\n\nlet chalk: Chalk = void 0 as typeof chalkBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\nchalk = chalkMock;\n\n\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/**\n * transform unix path to win32 path\n */\nconst win32Path = (p: string): string => {\n/* */\n/* */\n/* */\n/* */\n \n if (/^\\/[a-z]\\//.test(p)) {\n p = p.replace(/^\\/[a-z]\\//, `${p.charAt(1).toUpperCase()}:/`);\n }\n return path.win32.normalize(p);\n};\n\n\n\n/**\n * This funciton will replace // to /\n */\nconst crossPlatformPath = (\n pathStringOrPathParts: string | string[],\n): string => {\n if (Array.isArray(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.join('/');\n }\n\n if (typeof pathStringOrPathParts !== 'string') {\n return pathStringOrPathParts;\n }\n\n\n\n if (\n typeof pathStringOrPathParts === 'string' &&\n /^[A-Z]\\:/.test(pathStringOrPathParts)\n ) {\n pathStringOrPathParts = _.lowerFirst(pathStringOrPathParts);\n }\n\n const isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(pathStringOrPathParts);\n const hasNonAscii = /[^\\u0000-\\u0080]+/.test(pathStringOrPathParts); // eslint-disable-line no-control-regex\n if (isExtendedLengthPath) {\n console.warn(`[taon-core][crossPlatformPath]: Path starts with \\\\\\\\,\n this is not supported in crossPlatformPath`);\n if (forceTrace) {\n console.trace(`path: \"${pathStringOrPathParts}\"`);\n }\n }\n\n if (hasNonAscii) {\n const allNonAscii = pathStringOrPathParts.match(/[^\\u0000-\\u0080]+/g) || '';\n Helpers.logWarn(\n `[taon-core][crossPlatformPath]: Path contains non-ascii characters: ${allNonAscii}`,\n );\n Helpers.logWarn(pathStringOrPathParts);\n }\n\n pathStringOrPathParts = (pathStringOrPathParts || '')\n .replace(/\\\\/g, '/')\n .replace(/\\/\\//g, '/')\n .replace(/\\/\\//g, '/'); // TODO probably not needed\n\n let isWindows = false;\n/* */\n/* */\n/* */\n/* */\n \n\n const regexWinPath1 = /^(\\/)[a-zA-Z]\\:/;\n\n\n if (isWindows && regexWinPath1.test(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.slice(1);\n }\n\n\n\n\n\n\n\n\n\n\n\n return pathStringOrPathParts;\n};\n\n\n\nexport { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts","\n\nexport namespace CoreModels {\n\n export type Package = {\n name: string;\n version?: string;\n installType?: InstalationType;\n };\n\n\n\n export type NpmInstallOptions = {\n pkg?: CoreModels.Package;\n /**\n * false by default\n */\n silent?: boolean;\n /**\n * false by default\n */\n useYarn?: boolean;\n /**\n * false by default\n */\n force?: boolean;\n /**\n * Reason for installing package(s)\n */\n reason?: string;\n /**\n * true by default\n */\n removeYarnOrPackageJsonLock?: boolean;\n /**\n * false by default\n */\n generateYarnOrPackageJsonLock?: boolean;\n };\n\n\n\n export type InstalationType = '-g' | '--save' | '--save-dev' | 'remove';\n\n export const InstalationTypeArr = ['-g', '--save', '--save-dev'];\n\n\n\n export type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\n export const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n ] as PackageJsonDependencyObj[];\n\n\n\n export type LibraryType = 'angular' | 'typescript';\n\n\n\n export type ReleaseType = 'major' | 'minor' | 'patch';\n export type PreReleaseType = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n export type EnvironmentName =\n | 'local'\n | 'static'\n | 'dev'\n | 'stage'\n | 'prod'\n | 'online'\n | 'test'\n | 'qa'\n | 'custom';\n\n\n\n export type PUSHTYPE =\n | 'feat'\n | 'chore'\n | 'feature'\n | 'refactor'\n | 'perf'\n | 'styles'\n | 'ci'\n | 'build'\n | 'fix'\n | 'bugfix'\n | 'release'\n | 'docs';\n\n\n\n /**\n * @deprecated\n */\n export type UIFramework = 'bootstrap' | 'material' | 'ionic';\n\n\n\n export type FrameworkVersion =\n | 'v1'\n | 'v2'\n | 'v3'\n | 'v4'\n | 'v16'\n | 'v18'\n | 'v20';\n\n\n\n export type CutableFileExt =\n | 'scss'\n | 'css'\n | 'less'\n | 'sass'\n | 'html'\n | 'ts'\n | 'tsx'\n | 'js';\n\n\n\n export type ImageFileExtension = 'jpg' | 'jpeg' | 'png' | 'svg';\n export const ImageFileExtensionArr: CoreModels.ImageFileExtension[] = [\n 'jpg',\n 'jpeg',\n 'png',\n 'svg',\n ];\n\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\n | 'md'\n | CutableFileExt;\n\n\n\n export type HttpMethod =\n | 'get'\n | 'post'\n | 'put'\n | 'delete'\n | 'patch'\n | 'head'\n | 'jsonp';\n\n\n\n export type ParamType = 'Path' | 'Query' | 'Cookie' | 'Header' | 'Body';\n\n\n\n export type TsUsage = 'import' | 'export';\n\n\n\n export type BaseProjectType =\n | 'typescript'\n | 'angular'\n | 'angular-lib'\n | 'unknow'\n | 'unknow-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknow',\n 'unknow-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'docker'\n | 'vscode-ext'\n | 'chrome-ext'\n | 'unknow-npm-project';\n\n\n\n /**\n * @deprecated\n */\n export type NewFactoryType = LibType | 'model' | 'single-file-project';\n\n\n\n /**\n * @deprecated\n */\n export type CoreLibCategory = LibType | 'common';\n\n\n\n export type FileEvent = 'created' | 'changed' | 'removed' | 'rename';\n\n\n\n /**\n * @deprecated\n */\n export type OutFolder = 'dist' | 'browser';\n\n\n\n export type DatabaseType = ':inmemory' | 'mysql' | 'sqljs';\n\n\n\n export interface UploadedBackendFile {\n data:\n | any\n/* */\n/* */\n \n encoding: string;\n md5: string;\n tempFilePath: string;\n mimetype: ContentType;\n mv: (path, callback) => any;\n name: string;\n truncated: boolean;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface ExecuteOptions {\n /** Extract string from line */\n extractFromLine?: (string | Function)[];\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLine: string) => string;\n resolvePromiseMsg?: {\n stdout?: string | string[];\n stderr?: string | string[];\n };\n resolvePromiseMsgCallback?: {\n stdout?: () => any;\n stderr?: () => any;\n };\n prefix?: string;\n detach?: boolean;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n /**\n * TODO @LAST implement this\n *\n * Output from processe with this key\n * will not be displayed twice when\n * 2 processes are running at the same time\n */\n similarProcessKey?: string;\n\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface RunOptions extends ExecuteOptions {\n showCommand?: boolean;\n\n /**\n * Show process output\n */\n output?: boolean;\n\n silence?: boolean;\n stdio?: any;\n\n\n cwd?: string;\n }\n\n\n\n\n\n export const mimeTypes = {\n '.aac': 'audio/aac',\n '.abw': 'application/x-abiword',\n '.arc': 'application/x-freearc',\n '.avi': 'video/x-msvideo',\n '.azw': 'application/vnd.amazon.ebook',\n '.bin': 'application/octet-stream',\n '.bmp': 'image/bmp',\n '.bz': 'application/x-bzip',\n '.bz2': 'application/x-bzip2',\n '.csh': 'application/x-csh',\n '.css': 'text/css',\n '.csv': 'text/csv',\n '.doc': 'application/msword',\n '.docx':\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.eot': 'application/vnd.ms-fontobject',\n '.epub': 'application/epub+zip',\n '.gz': 'application/gzip',\n '.gif': 'image/gif',\n '.htm': 'text/html',\n '.html': 'text/html',\n '.ico': 'image/vnd.microsoft.icon',\n '.ics': 'text/calendar',\n '.jar': 'application/java-archive',\n '.jpeg': 'image/jpeg',\n '.jpg': 'image/jpeg',\n '.js': 'text/javascript',\n '.json': 'application/json',\n '.jsonld': 'application/ld+json',\n '.mid': 'application/midi',\n '.midi': 'application/midi',\n '.mjs': 'text/javascript',\n '.mp3': 'audio/mpeg',\n '.mp4': 'video/mp4',\n '.mpeg': 'video/mpeg',\n '.mpkg': 'application/vnd.apple.installer+xml',\n '.odp': 'application/vnd.oasis.opendocument.presentation',\n '.ods': 'application/vnd.oasis.opendocument.spreadsheet',\n '.odt': 'application/vnd.oasis.opendocument.text',\n '.oga': 'audio/ogg',\n '.ogg': 'audio/ogg',\n '.ogv': 'video/ogg',\n '.ogx': 'application/ogg',\n '.opus': 'audio/opus',\n '.otf': 'font/otf',\n '.png': 'image/png',\n '.pdf': 'application/pdf',\n '.php': 'application/php',\n '.ppt': 'application/vnd.ms-powerpoint',\n '.pptx':\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n '.rar': 'application/vnd.rar',\n '.rtf': 'application/rtf',\n '.sh': 'application/x-sh',\n '.svg': 'image/svg+xml',\n '.swf': 'application/x-shockwave-flash',\n '.tar': 'application/x-tar',\n '.tif': 'image/tiff',\n '.tiff': 'image/tiff',\n '.ts': 'video/mp2t',\n '.ttf': 'font/ttf',\n '.txt': 'text/plain',\n '.vsd': 'application/vnd.visio',\n '.wav': 'audio/wav',\n '.weba': 'audio/webm',\n '.webm': 'video/webm',\n '.webp': 'image/webp',\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.xhtml': 'application/xhtml+xml',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx':\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n '.xml': 'application/xml',\n '.xul': 'application/vnd.mozilla.xul+xml',\n '.zip': 'application/zip',\n '.3gp': 'video/3gpp',\n '.3g2': 'video/3gpp2',\n '.7z': 'application/x-7z-compressed',\n } as const;\n\n export type ContentTypeKeys = keyof typeof mimeTypes;\n export type ContentType =\n | (typeof mimeTypes)[ContentTypeKeys]\n | 'multipart/form-data';\n type ContentType_ = ContentType;\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types\n */\n export type MediaType =\n | 'text'\n | 'image'\n | 'audio'\n | 'font'\n | 'video'\n | 'application'\n | 'multipart'\n | 'message'\n | 'model';\n\n export const MediaTypeAllArr = [\n 'text',\n 'image',\n 'audio',\n 'video',\n 'font',\n 'application',\n 'multipart',\n 'message',\n 'model',\n ] as MediaType[];\n\n export type MimeType = keyof typeof mimeTypes;\n export const MimeTypesObj = mimeTypes;\n\n\n\n export interface ManifestIcon {\n src: string; // \"assets/icons/icon-96x96.png\",\n sizes: string; // \"96x96\",\n type: string; // \"image/png\",\n purpose: string; // \"maskable any\"\n }\n\n export interface PwaManifest {\n name: string; // \"app\",\n short_name: string; // \"app\",\n theme_color: string; // \"#1976d2\",\n background_color: string; // \"#fafafa\",\n display: 'standalone';\n scope: string; // \"./\",\n start_url: string; // \"start_url\": \"./\", => \"start_url\" \"https://darekf77.github.io/bs4-breakpoint/\"\n icons: ManifestIcon[];\n }\n\n\n\n export interface VSCodeSettings {\n 'files.exclude': { [files: string]: boolean };\n 'workbench.colorTheme': 'Default Light+' | 'Kimbie Dark';\n 'workbench.colorCustomizations': {\n 'activityBar.background'?: string;\n 'activityBar.foreground'?: string;\n 'statusBar.background'?: string;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Position {\n x: number;\n y: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Size {\n w: number;\n h: number;\n }\n\n\n\n interface GlobalNpmDependency {\n name: string;\n installName?: string;\n version?: string | number;\n }\n\n interface GlobalCommandLineProgramDependency {\n name: string;\n website: string;\n version?: string;\n }\n export interface GlobalDependencies {\n npm?: GlobalNpmDependency[];\n programs?: GlobalCommandLineProgramDependency[];\n }\n\n\n\n interface AngularCompilerOptions {\n fullTemplateTypeCheck: boolean;\n strictInjectionParameters: boolean;\n compilationMode: string;\n preserveSymlinks: boolean;\n enableIvy: boolean;\n }\n\n interface CompilerOptions {\n baseUrl: string;\n outDir: string;\n sourceMap: boolean;\n declaration: boolean;\n strictNullChecks: boolean;\n downlevelIteration: boolean;\n experimentalDecorators: boolean;\n emitDecoratorMetadata: boolean;\n esModuleInterop: boolean;\n module: string;\n moduleResolution: string;\n importHelpers: boolean;\n skipLibCheck: boolean;\n target: string;\n typeRoots: string[];\n types: string[];\n lib: string[];\n paths: { [fullPackageName: string]: string[] };\n useDefineForClassFields: boolean;\n }\n export interface TsConfigJson {\n extends: string;\n exclude: string[];\n compileOnSave: boolean;\n compilerOptions: CompilerOptions;\n angularCompilerOptions: AngularCompilerOptions;\n }\n\n\n export interface TscCompileOptions {\n cwd: string;\n watch?: boolean;\n outDir?: 'dist';\n generateDeclarations?: boolean;\n tsExe?: string;\n diagnostics?: boolean;\n hideErrors?: boolean;\n debug?: boolean;\n }\n\n\n\n export interface TaonJson {\n type: CoreModels.LibType;\n version?: CoreModels.FrameworkVersion;\n smartContainerBuildTarget?: string;\n smart?: boolean;\n monorepo?: boolean;\n libReleaseOptions: {\n cliBuildObscure?: boolean;\n cliBuildUglify?: boolean;\n cliBuildNoDts?: boolean;\n cliBuildIncludeNodeModules?: boolean;\n };\n /**\n * project is template for other project\n */\n isCoreProject: boolean;\n scripts?: { [script in string]: string };\n description?: string;\n license?: string;\n private?: boolean;\n author?: string;\n homepage?: string;\n overrided: {\n dependencies?: { [name: string]: string };\n };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\nexport class HelpersIsomorphic {\n get isBrowser() {\n/* */\n/* */\n \n return true;\n }\n\n get isWebSQL() {\n/* */\n/* */\n \n\n\n return true;\n\n return false;\n }\n get isNode() {\n/* */\n/* */\n \n return false;\n }\n\n get isElectron() {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\n window.process.type === 'renderer'\n ) {\n return true;\n }\n\n\n // @ts-ignore\n if (\n typeof process !== 'undefined' &&\n typeof process.versions === 'object' &&\n !!process.versions.electron\n ) {\n return true;\n }\n\n\n if (\n typeof navigator === 'object' &&\n typeof navigator.userAgent === 'string' &&\n navigator.userAgent.indexOf('Electron') >= 0\n ) {\n return true;\n }\n\n return false;\n }\n\n contain(arr: any[], item: any): boolean {\n return (\n arr.filter(l => {\n if (l instanceof RegExp) {\n return l.test(item);\n }\n if (l === item) {\n return true;\n }\n if (\n item.match && typeof item.match === 'function' ? item.match(l) : false\n ) {\n return true;\n }\n return false;\n }).length > 0\n );\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts","\n\n/* */\n/* */\n/* */\n \nimport { _ } from './core-imports';\n\n\nimport { Helpers } from './index';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\nimport { frameworkName } from './framework-name';\n\n\n\nconst KEY = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_COUNT = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_IMPORTANTCE = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nconst LIMIT = 10;\n\nexport class HelpersMessages extends HelpersIsomorphic {\n msgCacheClear() {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n renderError(err: Error) {\n if (this.isBrowser) {\n\n console.error(err);\n } else {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n error(details: any, noExit = false, noTrace = false) {\n\n if (Helpers.isBrowser) {\n console.error(details);\n return;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n info(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n success(details: any | string) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n *\n * @param details\n * @param isLogTask is less important log task\n * @returns\n */\n taskStarted(details: any | string, isLogTask: boolean = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n taskDone(details?: any | string, isLessImportant = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n log(details: any, debugLevel = 0) {\n if (Helpers.isBrowser) {\n console.log(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logSuccess(details: any | string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logInfo(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logError(details: any, noExit = false, noTrace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logWarn(details: string, trace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n warn(details: string, trace = false) {\n if (Helpers.isBrowser) {\n console.warn(details);\n return;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n}\n\nfunction transformData(details: any) {\n if (typeof details === 'object') {\n if (Array.isArray(details)) {\n return details.join('\\n');\n }\n try {\n const json = JSON.stringify(details);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\nimport { _, path, crossPlatformPath, /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\nimport { ipcRenderer, webFrame } from 'electron';\nimport type { ChildProcess } from 'child_process';\n\nimport { Subject, Subscription } from 'rxjs';\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\n/* */\n/* */\n \nconst WEBSQL_PROC_MOCK_PROCESSES_PID = {};\nconst WEBSQL_PROC_MOCK_PROCESSES_PPID = {};\n\n\n\n\nexport interface RunSyncOrAsyncOptions {\n functionFn: Function;\n context?: object;\n arrayOfParams?: any[];\n}\n\nexport interface CommandOutputOptions {\n biggerBuffer?: boolean;\n showOnlyLastLine?: boolean;\n showStder?: boolean;\n gatherColors?: boolean;\n showErrorWarning?: boolean;\n}\n\n\n\n\n\n\n\nexport class HelpersCore extends HelpersMessages {\n\n private static _instanceCore: HelpersCore;\n public static get InstanceCore() {\n if (!HelpersCore._instanceCore) {\n HelpersCore._instanceCore = new HelpersCore();\n }\n return HelpersCore._instanceCore;\n }\n\n\n\n/* */\n/* */\n \n readonly bigMaxBuffer = 2024 * 500;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n get isWsl() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n isRunningInDocker() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n clearConsole() {\n Helpers.msgCacheClear();\n console.log('\\x1Bc');\n\n\n\n\n\n\n\n }\n\n\n\n /**\n * get electron browser ipc renderer\n */\n get ipcRenderer(): typeof ipcRenderer {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron')\n .ipcRenderer as typeof ipcRenderer;\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): typeof webFrame {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron').webFrame as typeof webFrame;\n\n }\n\n\n\n /**\n * get electron backend ipc main proces\n */\n get ipcMain() {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getElectronWindow({\n allowRunningInsecureContent = true,\n }: { allowRunningInsecureContent?: boolean } = {}) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n mediaTypeFromSrc(src: string): CoreModels.MediaType {\n const ext = path.extname(src);\n const media = CoreModels.mimeTypes[ext];\n return _.first(media?.split('/'));\n }\n\n\n\n sleep(seconds = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeIfExists(absoluteFileOrFolderPath: string | string[]) {\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\n relative(cwd: string, to: string) {\n return crossPlatformPath(path.relative(cwd, to));\n }\n\n\n removeFileIfExists(absoluteFilePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderIfExists(absoluteFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * leave max 1 empty line\n */\n removeEmptyLineFromString(str: string) {\n const lines = (str || '').split('\\n');\n let previousWasEmpty = false;\n\n return lines\n .filter(line => {\n if (line.trim() === '') {\n if (previousWasEmpty) {\n\n return false;\n } else {\n\n previousWasEmpty = true;\n return true;\n }\n } else {\n\n previousWasEmpty = false;\n return true;\n }\n })\n .join('\\n');\n }\n\n\n\n /**\n * @deprecated\n */\n tryRemoveDir(\n dirpath: string,\n contentOnly = false,\n omitWarningNotExisted = 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 return (void 0);\n }\n\n\n\n remove(fileOrFolderPathOrPatter: string | string[], exactFolder = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n get isRunningInGitBash(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Check if the current shell is supported by Taon framework.\n */\n get isSupportedTaonTerminal(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * check if function is class\n */\n isClass(funcOrClass: any): boolean {\n let isClass = false;\n if (typeof funcOrClass === 'function') {\n\n\n isClass =\n !!funcOrClass.prototype &&\n Object.getOwnPropertyNames(funcOrClass.prototype).filter(\n f => f !== 'constructor',\n ).length > 0;\n }\n\n return isClass;\n }\n\n\n\n /**\n * check if data is nodejs/browser blob\n *\n * @param maybeBlob\n * @returns\n */\n public isBlob(maybeBlob): maybeBlob is Blob {\n\n return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';\n }\n\n\n\n /**\n * Check if data is nodejs buffer\n *\n * @param maybeNodejsBuffer\n * @returns\n */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public removeSlashAtEnd(s: string): string {\n s = s?.endsWith(`/`) ? s.slice(0, s.length - 1) : s;\n return s;\n }\n\n\n\n public removeSlashAtBegin(s: string): string {\n s = s?.startsWith(`/`) ? s.slice(1) : s;\n return s;\n }\n\n\n\n /**\n * stringify to pretty json string\n */\n public stringify(inputObject: any): string {\n\n\n\n\n\n\n\n return JSON.stringify(inputObject, null, 2);\n }\n\n\n\n public async runSyncOrAsync<FUNCTION_RETURN_TYPE = any>(\n fnOrOptions: RunSyncOrAsyncOptions,\n ): Promise<FUNCTION_RETURN_TYPE> {\n if (_.isUndefined(fnOrOptions)) {\n return void 0 as any;\n }\n let promisOrValue: any;\n\n\n\n\n\n\n\n const { functionFn, context, arrayOfParams } = fnOrOptions;\n promisOrValue = functionFn.apply(context, arrayOfParams);\n\n // // @ts-ignore\n\n\n\n\n if (promisOrValue instanceof Promise) {\n\n promisOrValue = Promise.resolve(promisOrValue);\n }\n\n return promisOrValue;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * symlink may have existed or unexisted destiantion url\n * @param destUrl M\n */\n public isSymlinkThatMatchesUrl(\n possibleSymlink: string,\n destUrl: string,\n absoluteFileMatch = false,\n ): 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 return (void 0);\n }\n\n\n\n public isSymlinkFileExitedOrUnexisted(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If symbolnk link that target file does not exits\n */\n isUnexistedLink(filePath: string | string[]): boolean {\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\n\n /**\n * @param existedLink check if source of link exists\n */\n isExistedSymlink(filePath: string | string[]): boolean {\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\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 exists(\n folderOrFilePath: string | string[],\n\n ) {\n/* */\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\n\n /**\n * this is HACK for running procesess inside processes\n */\n public _fixCommand(command: string): string {\n if (\n (command.startsWith('tnp ') || command.startsWith('taon ')) && // TODO every cli projects here that uses run and need to kill process easly!\n command.search('-spinner=false') === -1 &&\n command.search('-spinner=off') === -1\n ) {\n command = `${command} -spinner=false`;\n }\n\n if (\n global.skipCoreCheck &&\n (command.startsWith('tnp ') || command.startsWith('taon '))\n ) {\n command = `${command} --skipCoreCheck`;\n }\n return command;\n }\n\n\n\n public command(command: string) {\n\n command = Helpers._fixCommand(command);\n\n return {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 wait(second: number): Promise<void> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(void 0);\n }, second * 1000);\n });\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 killProcessByPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: 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 return (void 0);\n }\n\n\n\n async killOnPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n return await Helpers.killProcessByPort(portOrPortsToKill, options);\n }\n\n\n\n public killProcess(byPid: number) {\n/* */\n/* */\n \n/* */\n/* */\n/* */\n \n\n if (WEBSQL_PROC_MOCK_PROCESSES_PID[byPid]) {\n const ppid = WEBSQL_PROC_MOCK_PROCESSES_PID[byPid].ppid;\n if (WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid]) {\n const allChilds = WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid]\n .childProcesses as number[];\n WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid].childProcesses = allChilds.filter(\n p => p !== byPid,\n );\n }\n delete WEBSQL_PROC_MOCK_PROCESSES_PID[byPid];\n }\n\n if (WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid]) {\n const childs = WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid]\n .childProcesses as number[];\n for (let index = 0; index < childs.length; index++) {\n const childPid = childs[index];\n delete WEBSQL_PROC_MOCK_PROCESSES_PID[childPid];\n }\n delete WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid];\n }\n\n }\n\n\n\n public run(command: string, options?: CoreModels.RunOptions) {\n command = Helpers._fixCommand(command);\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return {\n /**\n * start command as synchronous nodej proces\n */\n\n sync() {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 /**\n * start command as asynchronous nodej proces\n * @param detach (default: false) - if true process will be detached\n */\n async(\n detach = false,\n\n mockFun?: (\n stdoutCallback: (dataForStdout: any) => any,\n stdErrcCallback: (dataForStder: any) => any,\n shouldProcesBeDead?: () => boolean,\n ) => Promise<number> | number,\n\n ): ChildProcess {\n\n\n\n if (mockFun) {\n const subStdoutSub = new Subject();\n const subStderSub = new Subject();\n const exitSub = new Subject();\n const subscribtions: Subscription[] = [];\n\n const procDummy = {\n stdout: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStdoutSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n stderr: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStderSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n on(action: 'exit', exitFun: any) {\n if (action == 'exit') {\n subscribtions.push(\n exitSub.subscribe(d => {\n exitFun(d);\n }),\n );\n }\n }, // @ts-ignore\n ppid: void 0 as number, // @ts-ignore\n pid: void 0 as number,\n };\n\n procDummy.pid = Math.round(Math.random() * (1000 - 100)) + 100;\n procDummy.ppid = procDummy.pid + 9999;\n\n WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid] = procDummy;\n if (!WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid]) {\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid] = {\n childProcesses: [],\n };\n }\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid].childProcesses.push(\n procDummy.pid,\n );\n\n const checkIfProcessShouldBeDead = () => {\n return (\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid]) ||\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid])\n );\n };\n\n const f = Helpers.runSyncOrAsync({\n functionFn: mockFun,\n arrayOfParams: [\n d => {\n setTimeout(() => {\n subStdoutSub.next(d);\n });\n },\n d => {\n setTimeout(() => {\n subStderSub.next(d);\n });\n },\n () => {\n const shouldBeDead = checkIfProcessShouldBeDead();\n return shouldBeDead;\n },\n ],\n });\n f.then(exitCode => {\n if (_.isNil(exitCode)) {\n exitCode = 0;\n }\n setTimeout(() => {\n exitSub.next(exitCode);\n subscribtions.forEach(s => s.unsubscribe());\n });\n }).catch(e => {\n console.error(e);\n console.error(`Something wrong with your mock funciton`);\n exitSub.next(1);\n subscribtions.forEach(s => s.unsubscribe());\n });\n return procDummy as any;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n },\n\n /**\n * start command as asynchronous nodej proces inside promise\n */\n asyncAsPromise(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n unitlOutput(optionsOutput: {\n stdoutMsg: string | string[];\n stderMsg?: string | string[];\n timeout?: number;\n stdoutOutputContainsCallback?: () => any;\n outputLineReplace?: (outputLine: string) => string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 /**\n * @deprecated use unitlOutput\n * start command as asynchronous nodej proces inside promise\n * and wait until output contains some string\n */\n unitlOutputContains(\n stdoutMsg: string | string[],\n stderMsg?: string | string[],\n timeout = 0,\n stdoutOutputContainsCallback?: () => any,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }\n\n\n\n async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n /**\n * in non interactive mode\n */\n mustAnswerQuestion = 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 return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * Quick fix for object values\n * @deprecated\n */\n public values(obj: any) {\n if (_.isObject(obj) && !Array.isArray(obj)) {\n const values = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n // @ts-ignore\n values.push(obj[key]);\n }\n }\n return values;\n }\n return [];\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n replaceLinesInFile(\n absoluteFilePath: string | string[],\n lineReplaceFn: (line: string) => string,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n hideNodeWarnings() {\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts","\n\nexport const CoreConfig = {\n message: {\n globalSystemToolMode: 'globalSystemToolMode',\n },\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-config.ts","\n\nimport { Helpers } from '.';\nimport { _ } from './core-imports';\nimport { CoreModels } from './core-models';\n\n/* */\n/* */\n \n\nexport interface IPROGRESS_DATA {\n /**\n * How man percent of\n */\n value?: number;\n msg?: string;\n type?: CoreModels.PROGRESS_DATA_TYPE;\n date?: Date;\n}\n\nexport class PROGRESS_DATA implements IPROGRESS_DATA {\n public static log(log: IPROGRESS_DATA) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n public static resolveFrom(\n chunk: string,\n callbackOnFounded?: (json: PROGRESS_DATA) => any,\n checkSplit = true,\n ): PROGRESS_DATA[] {\n let progress;\n let res: PROGRESS_DATA[] = [];\n if (!_.isString(chunk)) {\n return [];\n }\n chunk = chunk.trim();\n\n if (checkSplit) {\n const split = chunk.split(/\\r\\n|\\n|\\r/);\n if (split.length > 1) {\n\n split.forEach(s => {\n res = res.concat(this.resolveFrom(s, callbackOnFounded, false));\n });\n return res;\n }\n }\n\n if (/\\[\\[\\[.*\\]\\]\\]/g.test(chunk)) {\n chunk = chunk.replace(/^\\[\\[\\[/g, '').replace(/\\]\\]\\]$/g, '');\n progress = chunk;\n }\n if (!_.isUndefined(progress)) {\n try {\n const p = JSON.parse(progress);\n const single = _.merge(new PROGRESS_DATA(), p);\n res = res.concat([single]);\n if (_.isFunction(callbackOnFounded)) {\n callbackOnFounded(single);\n }\n } catch (err) {\n Helpers.error(err, true, true);\n Helpers.error(\n `ProgresssBarData: fail to parse \"${progress}\"`,\n true,\n true,\n );\n }\n }\n return res;\n }\n\n public value?: number;\n public msg?: string;\n\n public type: CoreModels.PROGRESS_DATA_TYPE = 'event';\n\n public date?: Date;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts","\n\nimport { CoreModels } from './core-models';\nimport axios, { AxiosResponse } from 'axios';\nimport { path, _ } from './core-imports';\nimport { Helpers } from './index';\n/* */\n/* */\n/* */\n \n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\nexport namespace Utils {\n export const uniqArray = <T = any>(\n array: any[],\n uniqueProperty?: keyof T,\n ) => {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item)\n ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n };\n\n /**\n * Example:\n * new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\\.b\\.c/g\n */\n export const escapeStringForRegEx = (stringForRegExp: string) => {\n return stringForRegExp.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n };\n\n export function removeChalkSpecialChars(str: string): string {\n\n const ansiRegex = /\\u001b\\[[0-9;]*m/g;\n\n\n return str.replace(ansiRegex, '');\n }\n\n export const fullDateTime = () => {\n/* */\n/* */\n return (void 0);\n };\n\n export const fullDate = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n interface AttrJsoncProp {\n name: string;\n value?: any;\n }\n export namespace json {\n export const getAtrributies = (\n jsonDeepPath: string, // lodash path to property in json ex. deep.path.to.prop\n fileContent: string, // jsonc or json5 - json with comments\n ): AttrJsoncProp[] => {\n const lines = fileContent.split('\\n');\n\n const pathParts = jsonDeepPath.split('.').reduce((a, b) => {\n if (a.length === 0) {\n return [b];\n }\n const last: string = a[a.length - 1];\n if (\n (last.startsWith(`['`) && b.endsWith(`']`)) ||\n (last.startsWith(`[\"`) && b.endsWith(`\"]`))\n ) {\n a[a.length - 1] = [last, b].join('.');\n } else {\n a.push(b);\n }\n return a;\n }, []);\n\n\n const keyName = pathParts.pop()!.replace(/^\\[\"(.+)\"\\]$/, '$1');\n let currentPath = '';\n let attributes: AttrJsoncProp[] = [];\n let collectedComments: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n if (trimmedLine.startsWith('//')) {\n\n collectedComments.push(trimmedLine);\n\n\n } else if (trimmedLine.startsWith('\"') || trimmedLine.startsWith(\"'\")) {\n\n const match = trimmedLine.match(/[\"']([^\"']+)[\"']\\s*:/);\n\n if (match) {\n const key = match[1];\n currentPath = currentPath\n ? `${currentPath}.${key.includes('.') ? `['${key}']` : key}`\n : key;\n\n\n if (\n (currentPath.endsWith(keyName) &&\n !currentPath.endsWith('/' + keyName)) ||\n currentPath.endsWith(`['${keyName}']`)\n ) {\n\n\n\n\n\n attributes = extractAttributesFromComments(collectedComments);\n break;\n }\n\n\n collectedComments = [];\n }\n }\n }\n\n return attributes;\n };\n\n const extractAttributesFromComments = (\n comments: string[],\n ): AttrJsoncProp[] => {\n const attributes: AttrJsoncProp[] = [];\n const attrRegex = /@(\\w+)(?:\\s*=\\s*([^\\s@]+))?/g;\n\n for (const comment of comments) {\n let match;\n while ((match = attrRegex.exec(comment)) !== null) {\n const [, name, value] = match;\n\n const existingAttribute = attributes.find(\n attr => attr.name === `@${name}`,\n );\n\n if (existingAttribute) {\n if (value) {\n if (Array.isArray(existingAttribute.value)) {\n existingAttribute.value.push(value);\n } else {\n existingAttribute.value = [existingAttribute.value, value];\n }\n }\n } else {\n attributes.push({\n name: `@${name}`,\n value: value ? value : true,\n });\n }\n }\n }\n\n\n attributes.forEach(attr => {\n if (Array.isArray(attr.value) && attr.value.length === 1) {\n attr.value = attr.value[0];\n }\n });\n\n return attributes;\n };\n }\n\n\n\n\n\n export enum DbBinaryFormatEnum {\n Blob = 'Blob',\n File = 'File',\n string = 'string',\n/* */\n/* */\n \n }\n\n export type DbBinaryFormatForBrowser = Blob | File | string;\n/* */\n/* */\n \n\n /**\n * Binary format that can be stored in database\n *\n * for nodejs => Buffer\n * for sql.js => string (shoulb be blob - but not supported)\n *\n */\n export type DbBinaryFormat =\n | DbBinaryFormatForBrowser\n/* */\n/* */\n \n\n export namespace binary {\n\n\n /**\n * This is for BROWSER ONLY\n *\n * @param buffer\n * @param contentType\n * @returns\n */\n export async function arrayBufferToBlob(\n buffer: ArrayBuffer,\n contentType: CoreModels.ContentType,\n ): Promise<Blob> {\n // @ts-ignore\n return new Blob([buffer], { type: contentType });\n }\n\n\n\n\n /**\n * This is for BROWSER ONLY\n * @param blob\n * @returns\n */\n export async function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('loadend', () => {\n resolve(reader.result as any);\n });\n reader.addEventListener('error', reject); // @ts-ignore\n reader.readAsArrayBuffer(blob);\n });\n }\n\n\n\n /**\n * it is revers to base64toBlob\n * @param blob\n * @returns\n */\n export function blobToBase64(blob: Blob): Promise<string> {\n return new Promise<any>((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result); // @ts-ignore\n reader.readAsDataURL(blob);\n });\n }\n\n\n\n /**\n * it is revers to blobToBase64()\n * @param base64Data\n * @returns\n */\n export async function base64toBlob(\n base64Data: string,\n contentTypeOverride?: CoreModels.ContentType,\n ): Promise<Blob> {\n let content_type: CoreModels.ContentType = void 0 as any;\n let file_base64: string = void 0 as any;\n if (!contentTypeOverride) {\n const m = /^data:(.+?);base64,(.+)$/.exec(base64Data);\n if (!m) {\n throw new Error(\n `[taon-framework][base64toBlob] Not a base64 blob [${base64Data}]`,\n );\n }\n\n var [__, contenttype, filebase64] = m;\n content_type = contenttype as any;\n file_base64 = filebase64;\n }\n content_type = (\n contentTypeOverride ? contentTypeOverride : content_type || ''\n ) as any;\n base64Data = contentTypeOverride ? base64Data : file_base64;\n const sliceSize = 1024;\n const byteCharacters = atob(base64Data);\n const bytesLength = byteCharacters.length;\n const slicesCount = Math.ceil(bytesLength / sliceSize);\n const byteArrays = new Array(slicesCount);\n\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n const begin = sliceIndex * sliceSize;\n const end = Math.min(begin + sliceSize, bytesLength);\n\n const bytes = new Array(end - begin);\n\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: content_type });\n }\n\n\n\n\n export async function base64toDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await base64toBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToBase64(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToBase64(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n\n export async function textToDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await textToBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToText(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToText(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function fileToBlob(file: File) {\n return new Blob([new Uint8Array(await file.arrayBuffer())], {\n type: file.type,\n });\n }\n\n\n\n export async function blobToFile(\n blob: Blob,\n nameForFile: string = 'my-file-name',\n ): Promise<File> {\n if (!nameForFile) {\n nameForFile = 'nonamefile' + new Date().getTime();\n }\n // @ts-ignore\n return new File([blob], nameForFile);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function textToBlob(\n text: string,\n type: CoreModels.ContentType = 'text/plain',\n ): Promise<Blob> {\n const blob = new Blob([text], { type });\n return blob;\n }\n\n\n\n export async function blobToText(blob: Blob): Promise<string> {\n return await blob.text();\n }\n\n\n\n export async function textToFile(\n text: string,\n fileRelativePathOrName: string,\n ): Promise<File> {\n\n const ext = path.extname(fileRelativePathOrName);\n\n const type = CoreModels.mimeTypes[ext];\n const blob = new Blob([text], { type });\n const file = await blobToFile(blob, fileRelativePathOrName);\n\n\n\n\n\n return file;\n }\n\n\n\n export async function fileToText(file: File): Promise<string> {\n return await file.text();\n }\n\n\n\n export async function jsonToBlob(jsonObj: object): Promise<Blob> {\n const blob = new Blob([JSON.stringify(jsonObj, null, 2)], {\n type: 'application/json',\n });\n return blob;\n }\n\n\n\n /**\n * TODO NOT TESTED\n */\n export async function blobToJson(blob: Blob): Promise<string> {\n return JSON.parse(await blob.text());\n }\n\n\n\n export async function getBlobFrom(url: string): Promise<Blob> {\n const response: AxiosResponse<Blob> = await axios({\n url,\n method: 'get',\n responseType: 'blob',\n });\n return response.data;\n }\n\n }\n\n\n\n export namespace css {\n\n /**\n *\n * @param pixelsCss pixels ex. 100px\n * @returns\n */\n export function numValue(pixelsCss: string | number): number {\n\n return parseInt(\n pixelsCss?.toString()?.replace('px', ''),\n\n\n );\n }\n\n }\n\n}\n\n\nexport namespace UtilsProcess {\n export interface ProcessStartOptions {\n /**\n * by default is process.cwd();\n */\n cwd?: string;\n showCommand?: boolean;\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLineStderOrStdout: string) => string;\n resolvePromiseMsg?: {\n /**\n * unitil this string is in output of stdout\n */\n stdout?: string | string[];\n /**\n * unitil this string is in output of stderr\n */\n stderr?: string | string[];\n /**\n * by default only resolve when exit code is 0\n */\n resolveAfterAnyExitCode?: boolean;\n };\n /**\n * Prefix messages output from child_prcess\n */\n prefix?: string;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n };\n }\n\n /**\n * TODO IMPLEMENT\n */\n export async function startAsync(\n command: string,\n options?: ProcessStartOptions & { detach?: boolean },\n ) {\n\n }\n\n /**\n * TODO IMPLEMENT\n */\n export function startSync(command: string, options?: ProcessStartOptions) {\n\n }\n\n export const getBashOrShellName = ():\n | 'cmd'\n | 'powershell'\n | 'gitbash'\n | 'cygwin'\n | 'unknown'\n | 'bash'\n | 'zsh'\n | 'fish'\n | 'sh' => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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\n\n\nexport namespace UtilsString {\n export const kebabCaseNoSplitNumbers = (input: string): string => {\n return (\n input\n\n .replace(/\\s+/g, '-')\n\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\n .toLowerCase()\n );\n };\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/utils.ts","\n\nimport { chalk } from './core-imports';\nimport { Helpers } from './index';\nimport { frameworkName } from './framework-name';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class CLI {\n\n/* */\n/* */\n/* */\n \n\n public static chalk = chalk;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-cli.ts","\n\nexport const requiredForDev = {\n npm: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n niceTools: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n programs: [\n ,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/required.ts","\n\nexport * from './framework-name';\nexport * from './core-imports';\nexport * from './core-models';\nimport { HelpersCore as Base } from './helpers';\nexport * from './core-config';\nexport * from './progress-data';\nexport * from './utils';\nexport * from './core-cli';\nexport * from './required';\nexport { HelpersCore as CoreHelpers, CommandOutputOptions } from './helpers';\nexport let Helpers = Base.InstanceCore;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["chalk","path","pathMock","chalkMock","Base"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tnp-core.mjs","sources":["../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/framework-name.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/node-chalk-mock.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/node-path-mock.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-imports.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-models.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/utils.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers-isomorphic.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers-messages.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/helpers.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-config.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/progress-data.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/core-cli.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/required-global-npm-packages.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/lib/index.ts","../../../tmp-libs-for-dist-websql/tnp-core/projects/tnp-core/src/tnp-core.ts"],"sourcesContent":["\n\nlet isBrowser = false;\n\nisBrowser = true;\n\n\nconst frameworkNameBeTmp: 'taon' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'taon' : frameworkNameBe;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/framework-name.ts","\n\n\nimport { Chalk } from 'chalk';\n\n\n\n\nconst allObj = {\n black(a) {\n console.log(a);\n },\n gray(a) {\n console.log(a);\n },\n red(a) {\n console.log(a);\n },\n green(a) {\n console.log(a);\n },\n italic(a) {\n console.log(a);\n },\n magenta(a) {\n console.log(a);\n },\n bold(a) {\n console.log(a);\n },\n underline(a) {\n console.log(a);\n },\n};\n\nconst map = new Map<Function, string>();\n\nconst all = Object.keys(allObj).map(key => {\n map.set(allObj[key], key);\n return allObj[key];\n});\n\nfor (let i = 0; i < all.length; i++) {\n const e1 = all[i] as Function;\n for (let j = 0; j < all.length; j++) {\n const e2 = all[j] as Function; // @ts-ignore\n e1[map.get(e2)] = e2;\n }\n}\n\nexport const chalk: Chalk = allObj as any;\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-chalk-mock.ts","\n\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n '[taon-core] Path must be a string. Received ' + JSON.stringify(path),\n );\n }\n}\n\n\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length) code = path.charCodeAt(i);\n else if (code === 47 /*/*/) break;\n else code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (\n res.length < 2 ||\n lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== 46 /*.*/ ||\n res.charCodeAt(res.length - 2) !== 46 /*.*/\n ) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0) res += '/..';\n else res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);\n else res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base =\n pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nexport const path = {\n\n resolve: function resolve(pathToResovle) {\n return pathToResovle;\n },\n\n normalize: function normalize(pathArg) {\n assertPath(pathArg);\n\n if (pathArg.length === 0) return '.';\n\n var isAbsolute = pathArg.charCodeAt(0) === 47; /*/*/\n var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47; /*/*/\n\n\n pathArg = normalizeStringPosix(pathArg, !isAbsolute);\n\n if (pathArg.length === 0 && !isAbsolute) pathArg = '.';\n if (pathArg.length > 0 && trailingSeparator) pathArg += '/';\n\n if (isAbsolute) return '/' + pathArg;\n return pathArg;\n },\n\n isAbsolute: function isAbsolute(pathArg) {\n assertPath(pathArg);\n return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0) return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined) joined = arg;\n else joined += '/' + arg;\n }\n }\n if (joined === undefined) return '.';\n return path.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = path.resolve(from);\n to = path.resolve(to);\n\n if (from === to) return '';\n\n\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/) break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/) break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n\n\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n\n\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n\n\n lastCommonSep = i;\n } else if (i === 0) {\n\n\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode) break;\n else if (fromCode === 47 /*/*/) lastCommonSep = i;\n }\n\n var out = '';\n\n\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0) out += '..';\n else out += '/..';\n }\n }\n\n\n\n if (out.length > 0) return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47; /*/*/\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(pathArg, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(pathArg);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {\n if (ext.length === pathArg.length && ext === pathArg) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n\n\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n\n\n end = i;\n }\n } else {\n\n\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;\n else if (end === -1) end = pathArg.length;\n return pathArg.slice(start, end);\n } else {\n for (i = pathArg.length - 1; i >= 0; --i) {\n if (pathArg.charCodeAt(i) === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return pathArg.slice(start, end);\n }\n },\n\n extname: function extname(pathArg) {\n assertPath(pathArg);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n\n\n var preDotState = 0;\n for (var i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return '';\n }\n return pathArg.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n 'The \"pathObject\" argument must be of type Object. Received type ' +\n typeof pathObject,\n );\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(pathArg) {\n assertPath(pathArg);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (pathArg.length === 0) return ret;\n var code = pathArg.charCodeAt(0);\n var isAbsolute = code === 47; /*/*/\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = pathArg.length - 1;\n\n\n\n var preDotState = 0;\n\n\n for (; i >= start; --i) {\n code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = pathArg.slice(1, end);\n else ret.base = ret.name = pathArg.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = pathArg.slice(1, startDot);\n ret.base = pathArg.slice(1, end);\n } else {\n ret.name = pathArg.slice(startPart, startDot);\n ret.base = pathArg.slice(startPart, end);\n }\n ret.ext = pathArg.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = pathArg.slice(0, startPart - 1);\n else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: {\n // @ts-ignore\n normalize: p => {\n return p;\n },\n },\n posix: null,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts","\n\n\nlet forceTrace = 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\nimport jQuery from 'jquery';\nimport { chalk as chalkMock } from './node-chalk-mock';\nimport { path as pathMock } from './node-path-mock';\n\nimport * as _ from 'lodash';\nimport * as q from 'q';\nimport * as moment from 'moment';\nimport * as dateformat from 'dateformat';\nimport { Chalk } from 'chalk';\nimport * as json5 from 'json5';\nimport type jQueryType from 'jquery';\nimport type chalkBaseType from 'chalk';\nimport type * as pathBaseType from 'path';\n\nimport { Helpers } from './index';\n\n\n\n\nlet $: jQueryType;\n\n$ = jQuery;\n\n/* */\n/* */\n \n\n\n\n\nlet path = void 0 as typeof pathBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\npath = pathMock;\n\n\n\n\n\nlet chalk: Chalk = void 0 as typeof chalkBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\nchalk = chalkMock;\n\n\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/**\n * transform unix path to win32 path\n */\nconst win32Path = (p: string): string => {\n/* */\n/* */\n/* */\n/* */\n \n if (/^\\/[a-z]\\//.test(p)) {\n p = p.replace(/^\\/[a-z]\\//, `${p.charAt(1).toUpperCase()}:/`);\n }\n return path.win32.normalize(p);\n};\n\n\n\n/**\n * This funciton will replace // to /\n */\nconst crossPlatformPath = (\n pathStringOrPathParts: string | string[],\n): string => {\n if (Array.isArray(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.join('/');\n }\n\n if (typeof pathStringOrPathParts !== 'string') {\n return pathStringOrPathParts;\n }\n\n\n\n if (\n typeof pathStringOrPathParts === 'string' &&\n /^[A-Z]\\:/.test(pathStringOrPathParts)\n ) {\n pathStringOrPathParts = _.lowerFirst(pathStringOrPathParts);\n }\n\n const isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(pathStringOrPathParts);\n const hasNonAscii = /[^\\u0000-\\u0080]+/.test(pathStringOrPathParts); // eslint-disable-line no-control-regex\n if (isExtendedLengthPath) {\n console.warn(`[taon-core][crossPlatformPath]: Path starts with \\\\\\\\,\n this is not supported in crossPlatformPath`);\n if (forceTrace) {\n console.trace(`path: \"${pathStringOrPathParts}\"`);\n }\n }\n\n if (hasNonAscii) {\n const allNonAscii = pathStringOrPathParts.match(/[^\\u0000-\\u0080]+/g) || '';\n Helpers.logWarn(\n `[taon-core][crossPlatformPath]: Path contains non-ascii characters: ${allNonAscii}`,\n );\n Helpers.logWarn(pathStringOrPathParts);\n }\n\n pathStringOrPathParts = (pathStringOrPathParts || '')\n .replace(/\\\\/g, '/')\n .replace(/\\/\\//g, '/')\n .replace(/\\/\\//g, '/'); // TODO probably not needed\n\n let isWindows = false;\n/* */\n/* */\n/* */\n/* */\n \n\n const regexWinPath1 = /^(\\/)[a-zA-Z]\\:/;\n\n\n if (isWindows && regexWinPath1.test(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.slice(1);\n }\n\n\n\n\n\n\n\n\n\n\n\n return pathStringOrPathParts;\n};\n\n\n\nexport { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts","\n\nexport namespace CoreModels {\n\n export type Package = {\n name: string;\n version?: string;\n installType?: InstalationType;\n };\n\n\n\n export type NpmInstallOptions = {\n pkg?: CoreModels.Package;\n /**\n * false by default\n */\n silent?: boolean;\n /**\n * false by default\n */\n useYarn?: boolean;\n /**\n * false by default\n */\n force?: boolean;\n /**\n * Reason for installing package(s)\n */\n reason?: string;\n /**\n * true by default\n */\n removeYarnOrPackageJsonLock?: boolean;\n /**\n * false by default\n */\n generateYarnOrPackageJsonLock?: boolean;\n };\n\n\n\n export type InstalationType = '-g' | '--save' | '--save-dev' | 'remove';\n\n export const InstalationTypeArr = ['-g', '--save', '--save-dev'];\n\n\n\n export type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\n export const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n ] as PackageJsonDependencyObj[];\n\n\n\n export type LibraryType = 'angular' | 'typescript';\n\n\n\n export type ReleaseType = 'major' | 'minor' | 'patch';\n export type PreReleaseType = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n export type EnvironmentName =\n | 'local'\n | 'static'\n | 'dev'\n | 'stage'\n | 'prod'\n | 'online'\n | 'test'\n | 'qa'\n | 'custom';\n\n\n\n export type PUSHTYPE =\n | 'feat'\n | 'chore'\n | 'feature'\n | 'refactor'\n | 'perf'\n | 'styles'\n | 'ci'\n | 'build'\n | 'fix'\n | 'bugfix'\n | 'release'\n | 'docs';\n\n\n\n /**\n * @deprecated\n */\n export type UIFramework = 'bootstrap' | 'material' | 'ionic';\n\n\n\n export type FrameworkVersion =\n | 'v1'\n | 'v2'\n | 'v3'\n | 'v4'\n | 'v16'\n | 'v18'\n | 'v20';\n\n\n\n export type CutableFileExt =\n | 'scss'\n | 'css'\n | 'less'\n | 'sass'\n | 'html'\n | 'ts'\n | 'tsx'\n | 'js';\n\n\n\n export type ImageFileExtension = 'jpg' | 'jpeg' | 'png' | 'svg';\n export const ImageFileExtensionArr: CoreModels.ImageFileExtension[] = [\n 'jpg',\n 'jpeg',\n 'png',\n 'svg',\n ];\n\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\n | 'md'\n | CutableFileExt;\n\n\n\n export type HttpMethod =\n | 'get'\n | 'post'\n | 'put'\n | 'delete'\n | 'patch'\n | 'head'\n | 'jsonp';\n\n\n\n export type ParamType = 'Path' | 'Query' | 'Cookie' | 'Header' | 'Body';\n\n\n\n export type TsUsage = 'import' | 'export';\n\n\n\n export type BaseProjectType =\n | 'typescript'\n | 'angular'\n | 'angular-lib'\n | 'unknow'\n | 'unknow-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknow',\n 'unknow-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'docker'\n | 'vscode-ext'\n | 'chrome-ext'\n | 'unknow-npm-project';\n\n\n\n /**\n * @deprecated\n */\n export type NewFactoryType = LibType | 'model' | 'single-file-project';\n\n\n\n /**\n * @deprecated\n */\n export type CoreLibCategory = LibType | 'common';\n\n\n\n export type FileEvent = 'created' | 'changed' | 'removed' | 'rename';\n\n\n\n /**\n * @deprecated\n */\n export type OutFolder = 'dist' | 'browser';\n\n\n\n export type DatabaseType = ':inmemory' | 'mysql' | 'sqljs';\n\n\n\n export interface UploadedBackendFile {\n data:\n | any\n/* */\n/* */\n \n encoding: string;\n md5: string;\n tempFilePath: string;\n mimetype: ContentType;\n mv: (path, callback) => any;\n name: string;\n truncated: boolean;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface ExecuteOptions {\n /** Extract string from line */\n extractFromLine?: (string | Function)[];\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLine: string) => string;\n resolvePromiseMsg?: {\n stdout?: string | string[];\n stderr?: string | string[];\n };\n resolvePromiseMsgCallback?: {\n stdout?: () => any;\n stderr?: () => any;\n };\n prefix?: string;\n detach?: boolean;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n /**\n * TODO @LAST implement this\n *\n * Output from processe with this key\n * will not be displayed twice when\n * 2 processes are running at the same time\n */\n similarProcessKey?: string;\n\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface RunOptions extends ExecuteOptions {\n showCommand?: boolean;\n\n /**\n * Show process output\n */\n output?: boolean;\n\n silence?: boolean;\n stdio?: any;\n\n\n cwd?: string;\n }\n\n\n\n\n\n export const mimeTypes = {\n '.aac': 'audio/aac',\n '.abw': 'application/x-abiword',\n '.arc': 'application/x-freearc',\n '.avi': 'video/x-msvideo',\n '.azw': 'application/vnd.amazon.ebook',\n '.bin': 'application/octet-stream',\n '.bmp': 'image/bmp',\n '.bz': 'application/x-bzip',\n '.bz2': 'application/x-bzip2',\n '.csh': 'application/x-csh',\n '.css': 'text/css',\n '.csv': 'text/csv',\n '.doc': 'application/msword',\n '.docx':\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.eot': 'application/vnd.ms-fontobject',\n '.epub': 'application/epub+zip',\n '.gz': 'application/gzip',\n '.gif': 'image/gif',\n '.htm': 'text/html',\n '.html': 'text/html',\n '.ico': 'image/vnd.microsoft.icon',\n '.ics': 'text/calendar',\n '.jar': 'application/java-archive',\n '.jpeg': 'image/jpeg',\n '.jpg': 'image/jpeg',\n '.js': 'text/javascript',\n '.json': 'application/json',\n '.jsonld': 'application/ld+json',\n '.mid': 'application/midi',\n '.midi': 'application/midi',\n '.mjs': 'text/javascript',\n '.mp3': 'audio/mpeg',\n '.mp4': 'video/mp4',\n '.mpeg': 'video/mpeg',\n '.mpkg': 'application/vnd.apple.installer+xml',\n '.odp': 'application/vnd.oasis.opendocument.presentation',\n '.ods': 'application/vnd.oasis.opendocument.spreadsheet',\n '.odt': 'application/vnd.oasis.opendocument.text',\n '.oga': 'audio/ogg',\n '.ogg': 'audio/ogg',\n '.ogv': 'video/ogg',\n '.ogx': 'application/ogg',\n '.opus': 'audio/opus',\n '.otf': 'font/otf',\n '.png': 'image/png',\n '.pdf': 'application/pdf',\n '.php': 'application/php',\n '.ppt': 'application/vnd.ms-powerpoint',\n '.pptx':\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n '.rar': 'application/vnd.rar',\n '.rtf': 'application/rtf',\n '.sh': 'application/x-sh',\n '.svg': 'image/svg+xml',\n '.swf': 'application/x-shockwave-flash',\n '.tar': 'application/x-tar',\n '.tif': 'image/tiff',\n '.tiff': 'image/tiff',\n '.ts': 'video/mp2t',\n '.ttf': 'font/ttf',\n '.txt': 'text/plain',\n '.vsd': 'application/vnd.visio',\n '.wav': 'audio/wav',\n '.weba': 'audio/webm',\n '.webm': 'video/webm',\n '.webp': 'image/webp',\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.xhtml': 'application/xhtml+xml',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx':\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n '.xml': 'application/xml',\n '.xul': 'application/vnd.mozilla.xul+xml',\n '.zip': 'application/zip',\n '.3gp': 'video/3gpp',\n '.3g2': 'video/3gpp2',\n '.7z': 'application/x-7z-compressed',\n } as const;\n\n export type ContentTypeKeys = keyof typeof mimeTypes;\n export type ContentType =\n | (typeof mimeTypes)[ContentTypeKeys]\n | 'multipart/form-data';\n type ContentType_ = ContentType;\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types\n */\n export type MediaType =\n | 'text'\n | 'image'\n | 'audio'\n | 'font'\n | 'video'\n | 'application'\n | 'multipart'\n | 'message'\n | 'model';\n\n export const MediaTypeAllArr = [\n 'text',\n 'image',\n 'audio',\n 'video',\n 'font',\n 'application',\n 'multipart',\n 'message',\n 'model',\n ] as MediaType[];\n\n export type MimeType = keyof typeof mimeTypes;\n export const MimeTypesObj = mimeTypes;\n\n\n\n export interface ManifestIcon {\n src: string; // \"assets/icons/icon-96x96.png\",\n sizes: string; // \"96x96\",\n type: string; // \"image/png\",\n purpose: string; // \"maskable any\"\n }\n\n export interface PwaManifest {\n name: string; // \"app\",\n short_name: string; // \"app\",\n theme_color: string; // \"#1976d2\",\n background_color: string; // \"#fafafa\",\n display: 'standalone';\n scope: string; // \"./\",\n start_url: string; // \"start_url\": \"./\", => \"start_url\" \"https://darekf77.github.io/bs4-breakpoint/\"\n icons: ManifestIcon[];\n }\n\n\n\n export interface VSCodeSettings {\n 'files.exclude': { [files: string]: boolean };\n 'workbench.colorTheme': 'Default Light+' | 'Kimbie Dark';\n 'workbench.colorCustomizations': {\n 'activityBar.background'?: string;\n 'activityBar.foreground'?: string;\n 'statusBar.background'?: string;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Position {\n x: number;\n y: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Size {\n w: number;\n h: number;\n }\n\n\n\n interface GlobalNpmDependency {\n name: string;\n installName?: string;\n version?: string | number;\n }\n\n interface GlobalCommandLineProgramDependency {\n name: string;\n website: string;\n version?: string;\n }\n export interface GlobalDependencies {\n npm?: GlobalNpmDependency[];\n programs?: GlobalCommandLineProgramDependency[];\n }\n\n\n\n interface AngularCompilerOptions {\n fullTemplateTypeCheck: boolean;\n strictInjectionParameters: boolean;\n compilationMode: string;\n preserveSymlinks: boolean;\n enableIvy: boolean;\n }\n\n interface CompilerOptions {\n baseUrl: string;\n outDir: string;\n sourceMap: boolean;\n declaration: boolean;\n strictNullChecks: boolean;\n downlevelIteration: boolean;\n experimentalDecorators: boolean;\n emitDecoratorMetadata: boolean;\n esModuleInterop: boolean;\n module: string;\n moduleResolution: string;\n importHelpers: boolean;\n skipLibCheck: boolean;\n target: string;\n typeRoots: string[];\n types: string[];\n lib: string[];\n paths: { [fullPackageName: string]: string[] };\n useDefineForClassFields: boolean;\n }\n export interface TsConfigJson {\n extends: string;\n exclude: string[];\n compileOnSave: boolean;\n compilerOptions: CompilerOptions;\n angularCompilerOptions: AngularCompilerOptions;\n }\n\n\n export interface TscCompileOptions {\n cwd: string;\n watch?: boolean;\n outDir?: 'dist';\n generateDeclarations?: boolean;\n tsExe?: string;\n diagnostics?: boolean;\n hideErrors?: boolean;\n debug?: boolean;\n }\n\n\n\n export interface TaonJson {\n type: CoreModels.LibType;\n version?: CoreModels.FrameworkVersion;\n smartContainerBuildTarget?: string;\n smart?: boolean;\n monorepo?: boolean;\n libReleaseOptions: {\n cliBuildObscure?: boolean;\n cliBuildUglify?: boolean;\n cliBuildNoDts?: boolean;\n cliBuildIncludeNodeModules?: boolean;\n };\n /**\n * project is template for other project\n */\n isCoreProject: boolean;\n scripts?: { [script in string]: string };\n description?: string;\n license?: string;\n private?: boolean;\n author?: string;\n homepage?: string;\n overrided: {\n dependencies?: { [name: string]: string };\n };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\nimport { CoreModels } from './core-models';\nimport axios, { AxiosResponse } from 'axios';\nimport { path, _, crossPlatformPath, /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from './index';\nimport { dateformat } from './core-imports';\n/* */\n/* */\n/* */\n/* */\n \n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\n\nexport namespace Utils {\n\n export const uniqArray = <T = any>(\n array: any[],\n uniqueProperty?: keyof T,\n ) => {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item)\n ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n };\n\n\n\n /**\n * Example:\n * new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\\.b\\.c/g\n */\n export const escapeStringForRegEx = (stringForRegExp: string) => {\n return stringForRegExp.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n };\n\n\n\n export function removeChalkSpecialChars(str: string): string {\n\n const ansiRegex = /\\u001b\\[[0-9;]*m/g;\n\n\n return str.replace(ansiRegex, '');\n }\n\n\n\n export const fullDateTime = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const fullDate = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const takenPorts = [];\n export const getFreePort = async (options?: {\n startFrom?: number;\n howManyFreePortsAfterThatPort?: number;\n }): Promise<number> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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\n\n interface AttrJsoncProp {\n name: string;\n value?: any;\n }\n export namespace json {\n export const getAtrributies = (\n jsonDeepPath: string, // lodash path to property in json ex. deep.path.to.prop\n fileContent: string, // jsonc or json5 - json with comments\n ): AttrJsoncProp[] => {\n const lines = fileContent.split('\\n');\n\n const pathParts = jsonDeepPath.split('.').reduce((a, b) => {\n if (a.length === 0) {\n return [b];\n }\n const last: string = a[a.length - 1];\n if (\n (last.startsWith(`['`) && b.endsWith(`']`)) ||\n (last.startsWith(`[\"`) && b.endsWith(`\"]`))\n ) {\n a[a.length - 1] = [last, b].join('.');\n } else {\n a.push(b);\n }\n return a;\n }, []);\n\n\n const keyName = pathParts.pop()!.replace(/^\\[\"(.+)\"\\]$/, '$1');\n let currentPath = '';\n let attributes: AttrJsoncProp[] = [];\n let collectedComments: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n if (trimmedLine.startsWith('//')) {\n\n collectedComments.push(trimmedLine);\n\n\n } else if (trimmedLine.startsWith('\"') || trimmedLine.startsWith(\"'\")) {\n\n const match = trimmedLine.match(/[\"']([^\"']+)[\"']\\s*:/);\n\n if (match) {\n const key = match[1];\n currentPath = currentPath\n ? `${currentPath}.${key.includes('.') ? `['${key}']` : key}`\n : key;\n\n\n if (\n (currentPath.endsWith(keyName) &&\n !currentPath.endsWith('/' + keyName)) ||\n currentPath.endsWith(`['${keyName}']`)\n ) {\n\n\n\n\n\n attributes = extractAttributesFromComments(collectedComments);\n break;\n }\n\n\n collectedComments = [];\n }\n }\n }\n\n return attributes;\n };\n\n const extractAttributesFromComments = (\n comments: string[],\n ): AttrJsoncProp[] => {\n const attributes: AttrJsoncProp[] = [];\n const attrRegex = /@(\\w+)(?:\\s*=\\s*([^\\s@]+))?/g;\n\n for (const comment of comments) {\n let match;\n while ((match = attrRegex.exec(comment)) !== null) {\n const [, name, value] = match;\n\n const existingAttribute = attributes.find(\n attr => attr.name === `@${name}`,\n );\n\n if (existingAttribute) {\n if (value) {\n if (Array.isArray(existingAttribute.value)) {\n existingAttribute.value.push(value);\n } else {\n existingAttribute.value = [existingAttribute.value, value];\n }\n }\n } else {\n attributes.push({\n name: `@${name}`,\n value: value ? value : true,\n });\n }\n }\n }\n\n\n attributes.forEach(attr => {\n if (Array.isArray(attr.value) && attr.value.length === 1) {\n attr.value = attr.value[0];\n }\n });\n\n return attributes;\n };\n }\n\n\n\n\n\n export enum DbBinaryFormatEnum {\n Blob = 'Blob',\n File = 'File',\n string = 'string',\n/* */\n/* */\n \n }\n\n export type DbBinaryFormatForBrowser = Blob | File | string;\n/* */\n/* */\n \n\n /**\n * Binary format that can be stored in database\n *\n * for nodejs => Buffer\n * for sql.js => string (shoulb be blob - but not supported)\n *\n */\n export type DbBinaryFormat =\n | DbBinaryFormatForBrowser\n/* */\n/* */\n \n\n export namespace binary {\n\n\n /**\n * This is for BROWSER ONLY\n *\n * @param buffer\n * @param contentType\n * @returns\n */\n export async function arrayBufferToBlob(\n buffer: ArrayBuffer,\n contentType: CoreModels.ContentType,\n ): Promise<Blob> {\n // @ts-ignore\n return new Blob([buffer], { type: contentType });\n }\n\n\n\n\n /**\n * This is for BROWSER ONLY\n * @param blob\n * @returns\n */\n export async function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('loadend', () => {\n resolve(reader.result as any);\n });\n reader.addEventListener('error', reject); // @ts-ignore\n reader.readAsArrayBuffer(blob);\n });\n }\n\n\n\n /**\n * it is revers to base64toBlob\n * @param blob\n * @returns\n */\n export function blobToBase64(blob: Blob): Promise<string> {\n return new Promise<any>((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result); // @ts-ignore\n reader.readAsDataURL(blob);\n });\n }\n\n\n\n /**\n * it is revers to blobToBase64()\n * @param base64Data\n * @returns\n */\n export async function base64toBlob(\n base64Data: string,\n contentTypeOverride?: CoreModels.ContentType,\n ): Promise<Blob> {\n let content_type: CoreModels.ContentType = void 0 as any;\n let file_base64: string = void 0 as any;\n if (!contentTypeOverride) {\n const m = /^data:(.+?);base64,(.+)$/.exec(base64Data);\n if (!m) {\n throw new Error(\n `[taon-framework][base64toBlob] Not a base64 blob [${base64Data}]`,\n );\n }\n\n var [__, contenttype, filebase64] = m;\n content_type = contenttype as any;\n file_base64 = filebase64;\n }\n content_type = (\n contentTypeOverride ? contentTypeOverride : content_type || ''\n ) as any;\n base64Data = contentTypeOverride ? base64Data : file_base64;\n const sliceSize = 1024;\n const byteCharacters = atob(base64Data);\n const bytesLength = byteCharacters.length;\n const slicesCount = Math.ceil(bytesLength / sliceSize);\n const byteArrays = new Array(slicesCount);\n\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n const begin = sliceIndex * sliceSize;\n const end = Math.min(begin + sliceSize, bytesLength);\n\n const bytes = new Array(end - begin);\n\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: content_type });\n }\n\n\n\n\n export async function base64toDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await base64toBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToBase64(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToBase64(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n\n export async function textToDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await textToBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToText(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToText(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function fileToBlob(file: File) {\n return new Blob([new Uint8Array(await file.arrayBuffer())], {\n type: file.type,\n });\n }\n\n\n\n export async function blobToFile(\n blob: Blob,\n nameForFile: string = 'my-file-name',\n ): Promise<File> {\n if (!nameForFile) {\n nameForFile = 'nonamefile' + new Date().getTime();\n }\n // @ts-ignore\n return new File([blob], nameForFile);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function textToBlob(\n text: string,\n type: CoreModels.ContentType = 'text/plain',\n ): Promise<Blob> {\n const blob = new Blob([text], { type });\n return blob;\n }\n\n\n\n export async function blobToText(blob: Blob): Promise<string> {\n return await blob.text();\n }\n\n\n\n export async function textToFile(\n text: string,\n fileRelativePathOrName: string,\n ): Promise<File> {\n\n const ext = path.extname(fileRelativePathOrName);\n\n const type = CoreModels.mimeTypes[ext];\n const blob = new Blob([text], { type });\n const file = await blobToFile(blob, fileRelativePathOrName);\n\n\n\n\n\n return file;\n }\n\n\n\n export async function fileToText(file: File): Promise<string> {\n return await file.text();\n }\n\n\n\n export async function jsonToBlob(jsonObj: object): Promise<Blob> {\n const blob = new Blob([JSON.stringify(jsonObj, null, 2)], {\n type: 'application/json',\n });\n return blob;\n }\n\n\n\n /**\n * TODO NOT TESTED\n */\n export async function blobToJson(blob: Blob): Promise<string> {\n return JSON.parse(await blob.text());\n }\n\n\n\n export async function getBlobFrom(url: string): Promise<Blob> {\n const response: AxiosResponse<Blob> = await axios({\n url,\n method: 'get',\n responseType: 'blob',\n });\n return response.data;\n }\n\n }\n\n\n\n export namespace css {\n\n /**\n *\n * @param pixelsCss pixels ex. 100px\n * @returns\n */\n export function numValue(pixelsCss: string | number): number {\n\n return parseInt(\n pixelsCss?.toString()?.replace('px', ''),\n\n\n );\n }\n\n }\n\n}\n\n\n\nexport namespace UtilsProcess {\n\n export interface ProcessStartOptions {\n /**\n * by default is process.cwd();\n */\n cwd?: string;\n /**\n * by default is false\n */\n showCommand?: boolean;\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLineStderOrStdout: string) => string;\n resolvePromiseMsg?: {\n /**\n * until this string is in output of stdout\n */\n stdout?: string | string[];\n /**\n * until this string is in output of stderr\n */\n stderr?: string | string[];\n /**\n * by default only resolve when exit code is 0\n */\n resolveAfterAnyExitCode?: boolean;\n };\n /**\n * Prefix messages output from child_process\n */\n prefix?: string;\n /**\n * Try command again after fail after n milliseconds\n */\n tryAgainWhenFailAfter?: number;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * Use big buffer for big webpack logs\n * (it may slow down smaller processes execution)\n */\n biggerBuffer?: boolean;\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n };\n }\n\n\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export async function startAsync(\n command: string,\n options?: ProcessStartOptions,\n ) {\n\n }\n\n\n\n /**\n * TODO IMPLEMENT\n */\n export function startSync(command: string, options?: ProcessStartOptions) {\n\n }\n\n\n\n export const getGitBashPath = () => {\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\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export const startInNewTerminalWindow = (\n command: string,\n options?: Pick<ProcessStartOptions, 'cwd' | 'hideOutput'>,\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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\n\n export const getBashOrShellName = ():\n | 'browser'\n | 'cmd'\n | 'powershell'\n | 'gitbash'\n | 'cygwin'\n | 'unknown'\n | 'bash'\n | 'zsh'\n | 'fish'\n | 'sh' => {\n\n return 'browser';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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}\n\n\n\n\nexport namespace UtilsOs {\n\n /**\n * check if script is running in client browser\n * (websql model -> is also considered as browser\n * because it is running in browser)\n */\n export const isRunningInBrowser = (): boolean => {\n/* */\n/* */\n \n return true;\n };\n\n\n\n /**\n * check if script is running in nodejs\n * (backend script or electron script)\n */\n export const isRunningInNode = (): boolean => {\n/* */\n/* */\n \n return false;\n };\n\n\n\n /**\n * check if script is running special\n * browser mode that has sql.js backend\n * and executes sql queries in browser\n */\n export const isRunningInWebSQL = (): boolean => {\n/* */\n/* */\n \n\n\n return true;\n\n return false;\n };\n\n\n\n /**\n * check whether the current process is running inside\n * Electron backend or browser.\n */\n export const isRunningInElectron = (): boolean => {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\n window.process.type === 'renderer'\n ) {\n return true;\n }\n\n\n // @ts-ignore\n if (\n typeof process !== 'undefined' &&\n typeof process.versions === 'object' &&\n !!process.versions.electron\n ) {\n return true;\n }\n\n\n if (\n typeof navigator === 'object' &&\n typeof navigator.userAgent === 'string' &&\n navigator.userAgent.indexOf('Electron') >= 0\n ) {\n return true;\n }\n\n return false;\n };\n\n\n\n /**\n * Check wether the current process is running inside\n * windows subsystem for linux (WSL).\n */\n export const isRunningInWsl = (): boolean => {\n\n return false;\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\n\n export const isRunningInDocker = (): boolean => {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const isRunningInLinuxGraphicsCapableEnvironment = (): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n}\n\n\n\nexport namespace UtilsString {\n\n export const kebabCaseNoSplitNumbers = (input: string): string => {\n return (\n input\n\n .replace(/\\s+/g, '-')\n\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\n .toLowerCase()\n );\n };\n\n}\n\n\n\n/**\n * Taon migration utilities\n */\nexport namespace UtilsMigrations {\n export const getTimestampFromClassName = (\n className: string,\n ): number | undefined => {\n const [maybeTimestamp1, maybeTimestamp2] = className.split('_') || [];\n\n const timestamp1 = parseInt(maybeTimestamp1);\n const timestamp2 = parseInt(maybeTimestamp2);\n const timestamp = !_.isNaN(timestamp1) ? timestamp1 : timestamp2;\n return isValidTimestamp(timestamp) ? timestamp : void 0;\n };\n\n export const getFormattedTimestampFromClassName = (\n className: string,\n ): string | undefined => {\n const timestamp = getTimestampFromClassName(className);\n if (!timestamp) {\n return void 0;\n }\n return formatTimestamp(timestamp);\n };\n\n export const formatTimestamp = (timestamp: number): string => {\n const dateFromTimestamp: Date = new Date(timestamp);\n return `${dateformat(dateFromTimestamp, 'dd-mm-yyyy HH:MM:ss')}`;\n }\n\n export const isValidTimestamp = (value: any): boolean => {\n if (typeof value !== 'number') {\n return false; // Must be a number\n }\n\n const minTimestamp = 0; // Minimum possible timestamp (Unix epoch)\n const maxTimestamp = 8640000000000000; // Max safe timestamp in JS (represents year ~275760)\n\n return value >= minTimestamp && value <= maxTimestamp;\n };\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/utils.ts","\n\nimport { UtilsOs } from './utils';\n\nexport class HelpersIsomorphic {\n /**\n * @deprecated\n * use UtilsOs.isRunningInBrowser() instead\n */\n get isBrowser() {\n return UtilsOs.isRunningInBrowser();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInWebSQL() instead\n */\n get isWebSQL() {\n return UtilsOs.isRunningInWebSQL();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInNode() instead\n */\n get isNode() {\n return UtilsOs.isRunningInNode();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInElectron() instead\n */\n get isElectron() {\n return UtilsOs.isRunningInElectron();\n }\n\n /**\n * TODO what is the purpose of this function?\n * @deprecated\n */\n contain(arr: any[], item: any): boolean {\n return (\n arr.filter(l => {\n if (l instanceof RegExp) {\n return l.test(item);\n }\n if (l === item) {\n return true;\n }\n if (\n item.match && typeof item.match === 'function' ? item.match(l) : false\n ) {\n return true;\n }\n return false;\n }).length > 0\n );\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts","\n\n/* */\n/* */\n/* */\n \nimport { _ } from './core-imports';\n\n\nimport { Helpers } from './index';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\nimport { frameworkName } from './framework-name';\n\n\n\nconst KEY = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_COUNT = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_IMPORTANTCE = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nconst LIMIT = 10;\n\n\n/**\n * @param details any data to be transformed\n * @returns string ready to be displayed\n */\nconst transformData = (details: any): string => {\n if (typeof details === 'object') {\n\n\n\n try {\n const json = JSON.stringify(details, null, 2);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n};\n\n\nexport class HelpersMessages extends HelpersIsomorphic {\n msgCacheClear() {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n renderError(err: Error) {\n if (this.isBrowser) {\n\n console.error(err);\n } else {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n /**\n * Throw error and exit process\n * make sure browser or nodejs will not continue\n * @param details\n */\n throw(details: string) {\n if (this.isBrowser) {\n\n document.body.innerHTML =\n '<h1>Application has encountered an error and stopped.</h1>';\n document.body.style.pointerEvents = 'none';\n\n/* */\n/* */\n/* */\n/* */\n \n }\n throw new Error(details);\n }\n\n tryCatchError(error: any) {\n Helpers.error(error, true, true);\n }\n\n error(details: any, noExit = false, noTrace = false) {\n\n if (Helpers.isBrowser) {\n console.error(details);\n return;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n info(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n success(details: any | string) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n *\n * @param details\n * @param isLogTask is less important log task\n * @returns\n */\n taskStarted(details: any | string, isLogTask: boolean = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n taskDone(details?: any | string, isLessImportant = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n get isVerboseMode() {\n\n return true; // TODO what it means in browser\n\n/* */\n/* */\n \n }\n\n\n /**\n * log messages only available in verbose mode\n */\n log(details: any, debugLevel = 0) {\n if (Helpers.isBrowser) {\n console.log(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logSuccess(details: any | string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logInfo(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logError(details: any, noExit = false, noTrace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logWarn(details: string, trace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n warn(details: string, trace = false) {\n if (Helpers.isBrowser) {\n console.warn(details);\n return;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\nimport { _, path, crossPlatformPath, /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers, Utils, UtilsOs } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\nimport { ipcRenderer, webFrame } from 'electron';\nimport type { ChildProcess } from 'child_process';\n\nimport { Subject, Subscription } from 'rxjs';\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\n/* */\n/* */\n \nconst WEBSQL_PROC_MOCK_PROCESSES_PID = {};\nconst WEBSQL_PROC_MOCK_PROCESSES_PPID = {};\n\n\n\n\nexport interface RunSyncOrAsyncOptions {\n functionFn: Function;\n context?: object;\n arrayOfParams?: any[];\n}\n\nexport interface CommandOutputOptions {\n biggerBuffer?: boolean;\n showOnlyLastLine?: boolean;\n showStder?: boolean;\n gatherColors?: boolean;\n showErrorWarning?: boolean;\n}\n\n\n\n\n\n\n\nexport class HelpersCore extends HelpersMessages {\n\n private static _instanceCore: HelpersCore;\n public static get InstanceCore() {\n if (!HelpersCore._instanceCore) {\n HelpersCore._instanceCore = new HelpersCore();\n }\n return HelpersCore._instanceCore;\n }\n\n\n\n/* */\n/* */\n \n readonly bigMaxBuffer = 2024 * 500;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInsideWsl()\n */\n get isWsl() {\n return UtilsOs.isRunningInWsl();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInDocker\n */\n isRunningInDocker() {\n return UtilsOs.isRunningInDocker();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInLinuxGraphicEnvironment\n */\n isRunningInLinuxGraphicsCapableEnvironment() {\n return UtilsOs.isRunningInLinuxGraphicsCapableEnvironment();\n }\n\n\n\n clearConsole() {\n Helpers.msgCacheClear();\n console.log('\\x1Bc');\n\n\n\n\n\n\n\n }\n\n\n\n /**\n * get electron browser ipc renderer\n */\n get ipcRenderer(): typeof ipcRenderer {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron')\n .ipcRenderer as typeof ipcRenderer;\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): typeof webFrame {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron').webFrame as typeof webFrame;\n\n }\n\n\n\n /**\n * get electron backend ipc main proces\n */\n get ipcMain() {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getElectronWindow({\n allowRunningInsecureContent = true,\n }: { allowRunningInsecureContent?: boolean } = {}) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n mediaTypeFromSrc(src: string): CoreModels.MediaType {\n const ext = path.extname(src);\n const media = CoreModels.mimeTypes[ext];\n return _.first(media?.split('/'));\n }\n\n\n\n sleep(seconds = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeIfExists(absoluteFileOrFolderPath: string | string[]) {\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\n\n /**\n * path.relative that return cross platform path\n */\n relative(cwd: string, to: string) {\n return crossPlatformPath(path.relative(cwd, to));\n }\n\n\n\n removeFileIfExists(absoluteFilePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderIfExists(absoluteFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * leave max 1 empty line\n */\n removeEmptyLineFromString(str: string) {\n const lines = (str || '').split('\\n');\n let previousWasEmpty = false;\n\n return lines\n .filter(line => {\n if (line.trim() === '') {\n if (previousWasEmpty) {\n\n return false;\n } else {\n\n previousWasEmpty = true;\n return true;\n }\n } else {\n\n previousWasEmpty = false;\n return true;\n }\n })\n .join('\\n');\n }\n\n\n\n /**\n * @deprecated\n */\n tryRemoveDir(\n dirpath: string,\n contentOnly = false,\n omitWarningNotExisted = 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 return (void 0);\n }\n\n\n\n remove(fileOrFolderPathOrPatter: string | string[], exactFolder = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n get isRunningInGitBash(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Check if the current shell is supported by Taon framework.\n */\n get isSupportedTaonTerminal(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * check if function is class\n */\n isClass(funcOrClass: any): boolean {\n let isClass = false;\n if (typeof funcOrClass === 'function') {\n\n\n isClass =\n !!funcOrClass.prototype &&\n Object.getOwnPropertyNames(funcOrClass.prototype).filter(\n f => f !== 'constructor',\n ).length > 0;\n }\n\n return isClass;\n }\n\n\n\n /**\n * check if data is nodejs/browser blob\n *\n * @param maybeBlob\n * @returns\n */\n public isBlob(maybeBlob): maybeBlob is Blob {\n\n return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';\n }\n\n\n\n /**\n * Check if data is nodejs buffer\n *\n * @param maybeNodejsBuffer\n * @returns\n */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public removeSlashAtEnd(s: string): string {\n s = s?.endsWith(`/`) ? s.slice(0, s.length - 1) : s;\n return s;\n }\n\n\n\n public removeSlashAtBegin(s: string): string {\n s = s?.startsWith(`/`) ? s.slice(1) : s;\n return s;\n }\n\n\n\n /**\n * stringify to pretty json string\n */\n public stringify(inputObject: any): string {\n\n\n\n\n\n\n\n return JSON.stringify(inputObject, null, 2);\n }\n\n\n\n public async runSyncOrAsync<FUNCTION_RETURN_TYPE = any>(\n fnOrOptions: RunSyncOrAsyncOptions,\n ): Promise<FUNCTION_RETURN_TYPE> {\n if (_.isUndefined(fnOrOptions)) {\n return void 0 as any;\n }\n let promisOrValue: any;\n\n\n\n\n\n\n\n const { functionFn, context, arrayOfParams } = fnOrOptions;\n promisOrValue = functionFn.apply(context, arrayOfParams);\n\n // // @ts-ignore\n\n\n\n\n if (promisOrValue instanceof Promise) {\n\n promisOrValue = Promise.resolve(promisOrValue);\n }\n\n return promisOrValue;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * symlink may have existed or unexisted destiantion url\n * @param destUrl M\n */\n public isSymlinkThatMatchesUrl(\n possibleSymlink: string,\n destUrl: string,\n absoluteFileMatch = false,\n ): 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 return (void 0);\n }\n\n\n\n public isSymlinkFileExitedOrUnexisted(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If symbolnk link that target file does not exits\n */\n isUnexistedLink(filePath: string | string[]): boolean {\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\n\n /**\n * @param existedLink check if source of link exists\n */\n isExistedSymlink(filePath: string | string[]): boolean {\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\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 exists(\n folderOrFilePath: string | string[],\n\n ) {\n/* */\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\n\n /**\n * this is HACK for running procesess inside processes\n */\n public _fixCommand(command: string): string {\n if (\n (command.startsWith('tnp ') || command.startsWith('taon ')) && // TODO every cli projects here that uses run and need to kill process easly!\n command.search('-spinner=false') === -1 &&\n command.search('-spinner=off') === -1\n ) {\n command = `${command} -spinner=false`;\n }\n\n if (\n global.skipCoreCheck &&\n (command.startsWith('tnp ') || command.startsWith('taon '))\n ) {\n command = `${command} --skipCoreCheck`;\n }\n return command;\n }\n\n\n\n public command(command: string) {\n\n command = Helpers._fixCommand(command);\n\n return {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 wait(second: number): Promise<void> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(void 0);\n }, second * 1000);\n });\n }\n\n public async timeout(seconds: number): Promise<void> {\n return await Helpers.wait(seconds);\n }\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 killProcessByPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: 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 return (void 0);\n }\n\n\n\n async killOnPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n return await Helpers.killProcessByPort(portOrPortsToKill, options);\n }\n\n\n\n public killProcess(byPid: number) {\n/* */\n/* */\n \n/* */\n/* */\n/* */\n \n\n if (WEBSQL_PROC_MOCK_PROCESSES_PID[byPid]) {\n const ppid = WEBSQL_PROC_MOCK_PROCESSES_PID[byPid].ppid;\n if (WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid]) {\n const allChilds = WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid]\n .childProcesses as number[];\n WEBSQL_PROC_MOCK_PROCESSES_PPID[ppid].childProcesses = allChilds.filter(\n p => p !== byPid,\n );\n }\n delete WEBSQL_PROC_MOCK_PROCESSES_PID[byPid];\n }\n\n if (WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid]) {\n const childs = WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid]\n .childProcesses as number[];\n for (let index = 0; index < childs.length; index++) {\n const childPid = childs[index];\n delete WEBSQL_PROC_MOCK_PROCESSES_PID[childPid];\n }\n delete WEBSQL_PROC_MOCK_PROCESSES_PPID[byPid];\n }\n\n }\n\n\n\n public run(command: string, options?: CoreModels.RunOptions) {\n command = Helpers._fixCommand(command);\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return {\n /**\n * start command as synchronous nodej proces\n */\n\n sync() {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 /**\n * start command as asynchronous nodej proces\n * @param detach (default: false) - if true process will be detached\n */\n async(\n detach = false,\n\n mockFun?: (\n stdoutCallback: (dataForStdout: any) => any,\n stdErrcCallback: (dataForStder: any) => any,\n shouldProcesBeDead?: () => boolean,\n ) => Promise<number> | number,\n\n ): ChildProcess {\n\n\n\n if (mockFun) {\n const subStdoutSub = new Subject();\n const subStderSub = new Subject();\n const exitSub = new Subject();\n const subscribtions: Subscription[] = [];\n\n const procDummy = {\n stdout: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStdoutSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n stderr: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStderSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n on(action: 'exit', exitFun: any) {\n if (action == 'exit') {\n subscribtions.push(\n exitSub.subscribe(d => {\n exitFun(d);\n }),\n );\n }\n }, // @ts-ignore\n ppid: void 0 as number, // @ts-ignore\n pid: void 0 as number,\n };\n\n procDummy.pid = Math.round(Math.random() * (1000 - 100)) + 100;\n procDummy.ppid = procDummy.pid + 9999;\n\n WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid] = procDummy;\n if (!WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid]) {\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid] = {\n childProcesses: [],\n };\n }\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid].childProcesses.push(\n procDummy.pid,\n );\n\n const checkIfProcessShouldBeDead = () => {\n return (\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid]) ||\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid])\n );\n };\n\n const f = Helpers.runSyncOrAsync({\n functionFn: mockFun,\n arrayOfParams: [\n d => {\n setTimeout(() => {\n subStdoutSub.next(d);\n });\n },\n d => {\n setTimeout(() => {\n subStderSub.next(d);\n });\n },\n () => {\n const shouldBeDead = checkIfProcessShouldBeDead();\n return shouldBeDead;\n },\n ],\n });\n f.then(exitCode => {\n if (_.isNil(exitCode)) {\n exitCode = 0;\n }\n setTimeout(() => {\n exitSub.next(exitCode);\n subscribtions.forEach(s => s.unsubscribe());\n });\n }).catch(e => {\n console.error(e);\n console.error(`Something wrong with your mock funciton`);\n exitSub.next(1);\n subscribtions.forEach(s => s.unsubscribe());\n });\n return procDummy as any;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n },\n\n /**\n * start command as asynchronous nodej proces inside promise\n */\n asyncAsPromise(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n unitlOutput(optionsOutput: {\n stdoutMsg: string | string[];\n stderMsg?: string | string[];\n timeout?: number;\n stdoutOutputContainsCallback?: () => any;\n outputLineReplace?: (outputLine: string) => string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 /**\n * @deprecated use unitlOutput\n * start command as asynchronous nodej proces inside promise\n * and wait until output contains some string\n */\n unitlOutputContains(\n stdoutMsg: string | string[],\n stderMsg?: string | string[],\n timeout = 0,\n stdoutOutputContainsCallback?: () => any,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }\n\n\n\n async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n /**\n * in non interactive mode\n */\n mustAnswerQuestion = 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 return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * Quick fix for object values\n * @deprecated\n */\n public values(obj: any) {\n if (_.isObject(obj) && !Array.isArray(obj)) {\n const values = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n // @ts-ignore\n values.push(obj[key]);\n }\n }\n return values;\n }\n return [];\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n replaceLinesInFile(\n absoluteFilePath: string | string[],\n lineReplaceFn: (line: string) => string,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n hideNodeWarnings() {\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts","\n\nexport const CoreConfig = {\n message: {\n globalSystemToolMode: 'globalSystemToolMode',\n },\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-config.ts","\n\nimport { Helpers } from '.';\nimport { _ } from './core-imports';\nimport { CoreModels } from './core-models';\n\n/* */\n/* */\n \n\nexport interface IPROGRESS_DATA {\n /**\n * How man percent of\n */\n value?: number;\n msg?: string;\n type?: CoreModels.PROGRESS_DATA_TYPE;\n date?: Date;\n}\n\nexport class PROGRESS_DATA implements IPROGRESS_DATA {\n public static log(log: IPROGRESS_DATA) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n public static resolveFrom(\n chunk: string,\n callbackOnFounded?: (json: PROGRESS_DATA) => any,\n checkSplit = true,\n ): PROGRESS_DATA[] {\n let progress;\n let res: PROGRESS_DATA[] = [];\n if (!_.isString(chunk)) {\n return [];\n }\n chunk = chunk.trim();\n\n if (checkSplit) {\n const split = chunk.split(/\\r\\n|\\n|\\r/);\n if (split.length > 1) {\n\n split.forEach(s => {\n res = res.concat(this.resolveFrom(s, callbackOnFounded, false));\n });\n return res;\n }\n }\n\n if (/\\[\\[\\[.*\\]\\]\\]/g.test(chunk)) {\n chunk = chunk.replace(/^\\[\\[\\[/g, '').replace(/\\]\\]\\]$/g, '');\n progress = chunk;\n }\n if (!_.isUndefined(progress)) {\n try {\n const p = JSON.parse(progress);\n const single = _.merge(new PROGRESS_DATA(), p);\n res = res.concat([single]);\n if (_.isFunction(callbackOnFounded)) {\n callbackOnFounded(single);\n }\n } catch (err) {\n Helpers.error(err, true, true);\n Helpers.error(\n `ProgresssBarData: fail to parse \"${progress}\"`,\n true,\n true,\n );\n }\n }\n return res;\n }\n\n public value?: number;\n public msg?: string;\n\n public type: CoreModels.PROGRESS_DATA_TYPE = 'event';\n\n public date?: Date;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts","\n\nimport { chalk } from './core-imports';\nimport { Helpers } from './index';\nimport { frameworkName } from './framework-name';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class CLI {\n\n/* */\n/* */\n/* */\n \n\n public static chalk = chalk;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-cli.ts","\n\n/**\n * TODO slowly refactor this.. only actually globally needed are:\n * pm2, yarn, npm-run, ts-node ???\n */\nexport const requiredForDev = {\n npm: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n niceTools: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n programs: [\n ,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/required-global-npm-packages.ts","\n\nexport * from './framework-name';\nexport * from './core-imports';\nexport * from './core-models';\nimport { HelpersCore as Base } from './helpers';\nexport * from './core-config';\nexport * from './progress-data';\nexport * from './utils';\nexport * from './core-cli';\nexport * from './required-global-npm-packages';\nexport { HelpersCore as CoreHelpers, CommandOutputOptions } from './helpers';\nexport let Helpers = Base.InstanceCore;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["chalk","path","pathMock","chalkMock","Base"],"mappings":"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"}
|