tnp-helpers 13.0.18 → 13.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/esm2020/lib/helpers-strings.mjs +196 -1
- package/browser/fesm2015/tnp-helpers.mjs +195 -0
- package/browser/fesm2015/tnp-helpers.mjs.map +1 -1
- package/browser/fesm2020/tnp-helpers.mjs +195 -0
- package/browser/fesm2020/tnp-helpers.mjs.map +1 -1
- package/browser/lib/helpers-strings.d.ts +23 -0
- package/client/esm2020/lib/helpers-strings.mjs +196 -1
- package/client/fesm2015/tnp-helpers.mjs +195 -0
- package/client/fesm2015/tnp-helpers.mjs.map +1 -1
- package/client/fesm2020/tnp-helpers.mjs +195 -0
- package/client/fesm2020/tnp-helpers.mjs.map +1 -1
- package/client/lib/helpers-strings.d.ts +23 -0
- package/lib/git-project.d.ts +1 -0
- package/lib/git-project.js +3 -0
- package/lib/git-project.js.map +1 -1
- package/lib/helpers-git.backend.d.ts +2 -1
- package/lib/helpers-git.backend.js +68 -20
- package/lib/helpers-git.backend.js.map +1 -1
- package/lib/helpers-strings.d.ts +23 -0
- package/lib/helpers-strings.js +195 -0
- package/lib/helpers-strings.js.map +1 -1
- package/package.json +5 -5
- package/tmp-environment.json +36 -35
|
@@ -224,6 +224,201 @@ class HelpersStrings {
|
|
|
224
224
|
s = s?.split('\n').map(f => f.trimRight()).join('\n');
|
|
225
225
|
return s?.replace(/(\r\n|\r|\n){2,}/g, '$1\n');
|
|
226
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
*
|
|
229
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
230
|
+
*
|
|
231
|
+
* Returns the plural of an English word.
|
|
232
|
+
*
|
|
233
|
+
* @export
|
|
234
|
+
* @param {string} word
|
|
235
|
+
* @param {number} [amount]
|
|
236
|
+
* @returns {string}
|
|
237
|
+
*/
|
|
238
|
+
plural(word, amount) {
|
|
239
|
+
if (amount !== undefined && amount === 1) {
|
|
240
|
+
return word;
|
|
241
|
+
}
|
|
242
|
+
const plural = {
|
|
243
|
+
'(quiz)$': "$1zes",
|
|
244
|
+
'^(ox)$': "$1en",
|
|
245
|
+
'([m|l])ouse$': "$1ice",
|
|
246
|
+
'(matr|vert|ind)ix|ex$': "$1ices",
|
|
247
|
+
'(x|ch|ss|sh)$': "$1es",
|
|
248
|
+
'([^aeiouy]|qu)y$': "$1ies",
|
|
249
|
+
'(hive)$': "$1s",
|
|
250
|
+
'(?:([^f])fe|([lr])f)$': "$1$2ves",
|
|
251
|
+
'(shea|lea|loa|thie)f$': "$1ves",
|
|
252
|
+
'sis$': "ses",
|
|
253
|
+
'([ti])um$': "$1a",
|
|
254
|
+
'(tomat|potat|ech|her|vet)o$': "$1oes",
|
|
255
|
+
'(bu)s$': "$1ses",
|
|
256
|
+
'(alias)$': "$1es",
|
|
257
|
+
'(octop)us$': "$1i",
|
|
258
|
+
'(ax|test)is$': "$1es",
|
|
259
|
+
'(us)$': "$1es",
|
|
260
|
+
'([^s]+)$': "$1s"
|
|
261
|
+
};
|
|
262
|
+
const irregular = {
|
|
263
|
+
'move': 'moves',
|
|
264
|
+
'foot': 'feet',
|
|
265
|
+
'goose': 'geese',
|
|
266
|
+
'sex': 'sexes',
|
|
267
|
+
'child': 'children',
|
|
268
|
+
'man': 'men',
|
|
269
|
+
'tooth': 'teeth',
|
|
270
|
+
'person': 'people'
|
|
271
|
+
};
|
|
272
|
+
const uncountable = [
|
|
273
|
+
'sheep',
|
|
274
|
+
'fish',
|
|
275
|
+
'deer',
|
|
276
|
+
'moose',
|
|
277
|
+
'series',
|
|
278
|
+
'species',
|
|
279
|
+
'money',
|
|
280
|
+
'rice',
|
|
281
|
+
'information',
|
|
282
|
+
'equipment',
|
|
283
|
+
'bison',
|
|
284
|
+
'cod',
|
|
285
|
+
'offspring',
|
|
286
|
+
'pike',
|
|
287
|
+
'salmon',
|
|
288
|
+
'shrimp',
|
|
289
|
+
'swine',
|
|
290
|
+
'trout',
|
|
291
|
+
'aircraft',
|
|
292
|
+
'hovercraft',
|
|
293
|
+
'spacecraft',
|
|
294
|
+
'sugar',
|
|
295
|
+
'tuna',
|
|
296
|
+
'you',
|
|
297
|
+
'wood'
|
|
298
|
+
];
|
|
299
|
+
// save some time in the case that singular and plural are the same
|
|
300
|
+
if (uncountable.indexOf(word.toLowerCase()) >= 0) {
|
|
301
|
+
return word;
|
|
302
|
+
}
|
|
303
|
+
// check for irregular forms
|
|
304
|
+
for (const w in irregular) {
|
|
305
|
+
const pattern = new RegExp(`${w}$`, 'i');
|
|
306
|
+
const replace = irregular[w];
|
|
307
|
+
if (pattern.test(word)) {
|
|
308
|
+
return word.replace(pattern, replace);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// check for matches using regular expressions
|
|
312
|
+
for (const reg in plural) {
|
|
313
|
+
const pattern = new RegExp(reg, 'i');
|
|
314
|
+
if (pattern.test(word)) {
|
|
315
|
+
return word.replace(pattern, plural[reg]);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return word;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
322
|
+
*
|
|
323
|
+
* Returns the singular of an English word.
|
|
324
|
+
*
|
|
325
|
+
* @export
|
|
326
|
+
* @param {string} word
|
|
327
|
+
* @param {number} [amount]
|
|
328
|
+
* @returns {string}
|
|
329
|
+
*/
|
|
330
|
+
singular(word, amount) {
|
|
331
|
+
if (amount !== undefined && amount !== 1) {
|
|
332
|
+
return word;
|
|
333
|
+
}
|
|
334
|
+
const singular = {
|
|
335
|
+
'(quiz)zes$': "$1",
|
|
336
|
+
'(matr)ices$': "$1ix",
|
|
337
|
+
'(vert|ind)ices$': "$1ex",
|
|
338
|
+
'^(ox)en$': "$1",
|
|
339
|
+
'(alias)es$': "$1",
|
|
340
|
+
'(octop|vir)i$': "$1us",
|
|
341
|
+
'(cris|ax|test)es$': "$1is",
|
|
342
|
+
'(shoe)s$': "$1",
|
|
343
|
+
'(o)es$': "$1",
|
|
344
|
+
'(bus)es$': "$1",
|
|
345
|
+
'([m|l])ice$': "$1ouse",
|
|
346
|
+
'(x|ch|ss|sh)es$': "$1",
|
|
347
|
+
'(m)ovies$': "$1ovie",
|
|
348
|
+
'(s)eries$': "$1eries",
|
|
349
|
+
'([^aeiouy]|qu)ies$': "$1y",
|
|
350
|
+
'([lr])ves$': "$1f",
|
|
351
|
+
'(tive)s$': "$1",
|
|
352
|
+
'(hive)s$': "$1",
|
|
353
|
+
'(li|wi|kni)ves$': "$1fe",
|
|
354
|
+
'(shea|loa|lea|thie)ves$': "$1f",
|
|
355
|
+
'(^analy)ses$': "$1sis",
|
|
356
|
+
'((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': "$1$2sis",
|
|
357
|
+
'([ti])a$': "$1um",
|
|
358
|
+
'(n)ews$': "$1ews",
|
|
359
|
+
'(h|bl)ouses$': "$1ouse",
|
|
360
|
+
'(corpse)s$': "$1",
|
|
361
|
+
'(us)es$': "$1",
|
|
362
|
+
's$': ""
|
|
363
|
+
};
|
|
364
|
+
const irregular = {
|
|
365
|
+
'move': 'moves',
|
|
366
|
+
'foot': 'feet',
|
|
367
|
+
'goose': 'geese',
|
|
368
|
+
'sex': 'sexes',
|
|
369
|
+
'child': 'children',
|
|
370
|
+
'man': 'men',
|
|
371
|
+
'tooth': 'teeth',
|
|
372
|
+
'person': 'people'
|
|
373
|
+
};
|
|
374
|
+
const uncountable = [
|
|
375
|
+
'sheep',
|
|
376
|
+
'fish',
|
|
377
|
+
'deer',
|
|
378
|
+
'moose',
|
|
379
|
+
'series',
|
|
380
|
+
'species',
|
|
381
|
+
'money',
|
|
382
|
+
'rice',
|
|
383
|
+
'information',
|
|
384
|
+
'equipment',
|
|
385
|
+
'bison',
|
|
386
|
+
'cod',
|
|
387
|
+
'offspring',
|
|
388
|
+
'pike',
|
|
389
|
+
'salmon',
|
|
390
|
+
'shrimp',
|
|
391
|
+
'swine',
|
|
392
|
+
'trout',
|
|
393
|
+
'aircraft',
|
|
394
|
+
'hovercraft',
|
|
395
|
+
'spacecraft',
|
|
396
|
+
'sugar',
|
|
397
|
+
'tuna',
|
|
398
|
+
'you',
|
|
399
|
+
'wood'
|
|
400
|
+
];
|
|
401
|
+
// save some time in the case that singular and plural are the same
|
|
402
|
+
if (uncountable.indexOf(word.toLowerCase()) >= 0) {
|
|
403
|
+
return word;
|
|
404
|
+
}
|
|
405
|
+
// check for irregular forms
|
|
406
|
+
for (const w in irregular) {
|
|
407
|
+
const pattern = new RegExp(`${irregular[w]}$`, 'i');
|
|
408
|
+
const replace = w;
|
|
409
|
+
if (pattern.test(word)) {
|
|
410
|
+
return word.replace(pattern, replace);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
// check for matches using regular expressions
|
|
414
|
+
for (const reg in singular) {
|
|
415
|
+
const pattern = new RegExp(reg, 'i');
|
|
416
|
+
if (pattern.test(word)) {
|
|
417
|
+
return word.replace(pattern, singular[reg]);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
return word;
|
|
421
|
+
}
|
|
227
422
|
}
|
|
228
423
|
|
|
229
424
|
async function conditionWait(conditionAndTimeout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-array-obj.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings-regexes.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-environment.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/condition-wait.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/constants.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/project.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/dual-component-ctrl.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-formly-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/resize-service.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/long-press.directive.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["import { _ } from 'tnp-core/browser';\nimport * as fuzzy from 'fuzzy';\nimport { Helpers } from './index';\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n });\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(Helpers.arrays.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n","import { _ } from 'tnp-core/browser';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n const regex = /(http(s)?\\:\\/\\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\:[0-9]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n const regex = /(((http(s)?\\:\\/\\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+(\\:[0-9]+)?)|((http(s)?\\:\\/\\/)[a-zA-Z0-9-]{1,61}))/;\n return regex;\n }\n }\n }\n}\n","import { _, /* */ /* */ } from 'tnp-core/browser';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n isValidGitRepuUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip)\n }\n\n}\n","import { _ } from 'tnp-core/browser';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n console.warn('[ss-logic][helper] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n console.warn('[ss-logic][helper] Parameters are not a object: ', parameters);\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n numValue(pixelsCss: string) {\n // tslint:disable-next-line:radix\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n}\n\n","import { _ } from 'tnp-core/browser';\nimport { Helpers } from './index';\n\nexport type Condition = {\n name?: string;\n timeoutCheck?: number;\n timeoutNext?: number;\n callback: (c: Condition) => boolean | Promise<boolean>;\n errorMessage: string;\n}\n\nexport async function conditionWait(conditionAndTimeout: Condition[]) {\n await waitFor(conditionAndTimeout);\n}\n\nfunction waitFor(arr: Condition[], messageToShow: string = void 0) {\n return new Promise(async (resolve, reject) => {\n if (arr.length === 0) {\n resolve(void 0)\n } else {\n // console.log(arr.length)\n const check = arr.shift();\n if (_.isUndefined(check.timeoutCheck)) {\n check.timeoutCheck = 2000;\n }\n if (_.isUndefined(check.timeoutNext)) {\n check.timeoutNext = 4000;\n }\n const { timeoutCheck, timeoutNext, name } = check;\n // console.log(`timeoutCheck: ${timeoutCheck}`);\n // console.log(`timeoutNext: ${timeoutNext}`);\n // console.log(`Checking: ${name}`)\n const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);\n // console.log(`after: ${name}`)\n if (resultTrue) {\n // console.log(`timeout 1 is set to ${timeoutNext}`)\n setTimeout(async () => {\n // console.log(`timeout 1 is over`)\n await waitFor(arr).then(() => {\n resolve(void 0);\n });\n }, timeoutNext);\n } else {\n\n arr.unshift(check);\n if (!messageToShow || check.errorMessage !== messageToShow) {\n Helpers.info(check.errorMessage);\n } else {\n // console.log(`dont show error message ${check.errorMessage}`)\n }\n // console.log(`timeout 2 is set to ${timeoutCheck}, arr.length is ${arr.length}`)\n setTimeout(async () => {\n // console.log(`timeout 2 ${timeoutCheck} ovef`)\n await waitFor(arr, check.errorMessage).then(() => {\n resolve(void 0);\n });\n }, timeoutCheck);\n }\n }\n })\n}\n","import { _ } from 'tnp-core/browser';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersEnvironment } from './helpers-environment';\nimport { HelpersStrings } from './helpers-strings';\nimport { conditionWait } from './condition-wait';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { config, ConfigModels } from 'tnp-config/browser';\nimport { Helpers } from './index';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Morphi } from 'morphi/browser';\nimport { CoreHelpers } from 'tnp-core/browser';\n\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n\n// @ts-ignore\nexport class HelpersTnp extends CoreHelpers {\n\n private static _instance: HelpersTnp & CoreHelpers;\n public static get Instance() {\n if (!HelpersTnp._instance) {\n HelpersTnp._instance = new HelpersTnp();\n }\n return HelpersTnp._instance;\n }\n\n private constructor(\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n\n ) {\n super();\n }\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n \n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n async mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]): Promise<number> {\n var start = new Date()\n await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n \n return end;\n }\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void): number {\n var start = new Date()\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n \n return end;\n }\n\n conditionWait = conditionWait;\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n\n const result = await Helpers.runSyncOrAsync(conditionFn);\n if (result) {\n resolve(void 0)\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n })\n }, howOfftenCheckInMs);\n }\n })\n }\n\n getBrowserVerPath(moduleName?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n getMethodName(obj, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(obj).forEach(prop => {\n if (obj[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(obj);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n })\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n \n public applyMixins = applyMixins;\n}\n\n// @ts-ignore\nexport interface HelpersTnp extends\n HelpersStringsRegexes,\n HelpersEnvironment\n/* */\n/* */\n/* */\n/* */\n \n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n/* */\n/* */\n/* */\n \n]);\n","export const BaselineSiteJoinprefix = '__';\n","/* */\n/* */\n/* */\n/* */\n/* */\n \ndeclare const global: any;\nimport { config, LibTypeArr, ConfigModels } from 'tnp-config/browser';\nimport { _, CoreConfig } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Models } from 'tnp-models/browser';\nimport { Morphi } from 'morphi/browser';\nimport { HelpersTnp } from './helpers';\nconst Helpers = HelpersTnp.Instance;\n\nexport type EmptyProjectStructure = {\n includeContent?: boolean;\n relativePath: string;\n relativeLinkFrom?: string;\n};\n\nexport class Project<T extends Project<any> = any>\n/* */\n/* */\n \n{\n/* */\n/* */\n \n\n protected cache = {};\n\n /**\n * Do use this variable for comparatios\n * ONLY FOR VIEWING\n */\n public readonly _type: ConfigModels.LibType;\n public browser: Pick<Project<any>, 'location' | 'name'> = {} as any;\n public location: string;\n public name: string;\n public genericName: string;\n public isWorkspace: boolean;\n public isVscodeExtension: boolean;\n public isDocker: boolean;\n public isSite: boolean;\n public isSiteInStrictMode?: boolean;\n public isSiteInDependencyMode?: boolean;\n public isCoreProject: boolean;\n public isCommandLineToolOnly: boolean;\n public isGenerated: boolean;\n public isGeneratedForRelease: boolean;\n public isWorkspaceChildProject: boolean;\n public isBasedOnOtherProject: boolean;\n public isForRecreation: boolean;\n public isContainer: boolean;\n public isSmartContainer: boolean;\n public isSmartContainerChild: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isMonorepo: boolean;\n public isUnknowNpmProject: boolean;\n public isNaviCli: boolean;\n public useFramework: boolean;\n public defaultPort?: number;\n public version: string;\n public lastNpmVersion?: string;\n public _routerTargetHttp?: string;\n public customizableFilesAndFolders: string[];\n public type: ConfigModels.LibType;\n public backupName: string;\n public resources: string[];\n public env: Models.env.EnvConfig;\n public allowedEnvironments: ConfigModels.EnvironmentName[];\n\n public children: T[];\n public grandpa: T;\n\n public distribution: T;\n\n public childrenThatAreLibs?: T[];\n\n public childrenThatAreClients?: T[];\n\n public childrenThatAreThirdPartyInNodeModules?: T[];\n\n public parent: T;\n\n public preview: T;\n\n public baseline: T;\n\n public static projects: Project<any>[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n public static emptyLocations: string[] = [];\n\n static typeFrom(location: string): ConfigModels.LibType {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static unload(project: Project) {\n Project.projects = Project.projects.filter(f => f !== project);\n }\n\n public static From<T = Project<any>>(location: string): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static nearestTo<T = Project>(\n absoluteLocation: string,\n options?: { type?: ConfigModels.LibType; findGitRoot?: boolean; onlyOutSideNodeModules?: boolean }): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static DefaultPortByType(type: ConfigModels.LibType): number {\n if (type === 'workspace') { return 5000; }\n if (type === 'angular-client') { return 4300; }\n if (type === 'angular-lib') { return 4250; }\n if (type === 'electron-client') { return 4350; }\n if (type === 'ionic-client') { return 8080; }\n if (type === 'docker') { return 5000; }\n if (type === 'isomorphic-lib') { return 4000; }\n if (type === 'container' || type === 'unknow-npm-project') {\n return;\n }\n }\n\n public static get isBundleMode() {\n if (Helpers.isBrowser) {\n return true;\n }\n/* */\n/* */\n \n }\n\n static get Current(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n static get Tnp(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n/* */\n/* */\n \n ): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public setType(this: Project, type: ConfigModels.LibType) {\n // @ts-ignore\n this._type = type;\n }\n public typeIs(this: Project, ...types: ConfigModels.LibType[]) {\n return this._type && types.includes(this._type);\n }\n\n public typeIsNot(this: Project, ...types: ConfigModels.LibType[]) {\n return !this.typeIs(...types);\n }\n\n forEmptyStructure(): EmptyProjectStructure[] {\n return [\n { relativePath: config.file.package_json, includeContent: true },\n { relativePath: config.folder.src },\n ];\n }\n\n}\n\n\nexport type ProjectBuild = { project: Project; appBuild: boolean; };\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { OnDestroy, OnInit, Component, Input } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-base-component-meta',\n template: '<div></div>'\n})\nexport abstract class BaseComponent implements OnDestroy {\n\n // @ts-ignore\n @Input() model: any = {};\n\n handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n }\n\n\n}\n\nconst isCalledNgInitAfterInternalRefresh = Symbol()\n\nexport abstract class BaseComponentForRouter extends BaseComponent {\n\n constructor(\n private __router: Router\n ) {\n super();\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n\n\n protected isCalledNgInitAfterInternalRefresh() {\n return !!this[isCalledNgInitAfterInternalRefresh];\n }\n protected reloadNgOninitOnUrlChange() {\n this.handlers.push(this.__router.events.subscribe(event => {\n if (event instanceof NavigationEnd && this['ngOnInit']) {\n this[isCalledNgInitAfterInternalRefresh] = true;\n this['ngOnInit']();\n if (this[isCalledNgInitAfterInternalRefresh]) {\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n }\n }) as any);\n }\n\n}\n//#endregion\n","import { _ } from 'tnp-core/browser';\nimport { BaseFormlyComponent } from './base-formly-component';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms'/* */\n/* */\n/* */\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`DualComponentController`);\n\nexport abstract class DualComponentController<T = any> {\n\n constructor(protected cmp: BaseFormlyComponent, public isFormlyMode = false) {\n\n }\n\n protected getValTemplateOptions(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp.field?.templateOptions[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n protected getValContext(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp?.field[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n get disabled() {\n return this.getValTemplateOptions('disabled') as boolean;\n }\n\n get required() {\n return this.getValTemplateOptions('required') as boolean;\n }\n\n get type() {\n if (!this.isFormlyMode) {\n return CLASS.getNameFromObject(this.cmp)\n }\n return this.getValContext('type') as boolean;\n }\n\n get label() {\n return this.getValTemplateOptions('label') as string;\n }\n\n get placeholder() {\n return this.getValTemplateOptions('placeholder') as string;\n }\n\n get defaultValue(): T {\n return this.getValContext('defaultValue') as any;\n }\n\n get formControl(): any {// FormControl { // TODO QUICK_FIX\n return this.getValContext('formControl') as any;\n }\n\n get key() {\n return this.getValContext('key') as string;\n }\n\n get path() {\n return this.getValContext('path') as string;\n }\n\n __model: any;\n get model(): any {\n if (this.isFormlyMode) {\n return this.getValContext('model') as string;\n } else {\n return this.__model;\n }\n }\n\n set model(v) {\n if (this.isFormlyMode) {\n log.w(`[DualComponentController] You can't set model in formly component mode`);\n } else {\n this.__model = v;\n }\n }\n\n __mode: any;\n get mode(): any {\n if (this.isFormlyMode) {\n return this.getValContext('mode') as string;\n } else {\n return this.__mode;\n }\n }\n\n set mode(v) {\n if (this.isFormlyMode) {\n // this.cmp.field.mode =\n // log.w(`[DualComponentController] You can't set mode in formly component mode`);\n } else {\n this.__mode = v;\n }\n }\n\n\n get value(): T {\n if (this.isFormlyMode) {\n return this.cmp.field.formControl.value;\n }\n if (_.isString(this.path)) {\n return _.get(this.cmp.model, this.path);\n }\n return this.cmp.model;\n }\n\n set value(v) {\n if (this.isFormlyMode) {\n this.cmp.field.formControl.setValue(v);\n // @ts-ignore\n this.cmp.change.next(v);\n return;\n }\n if (_.isString(this.path)) {\n _.set(this.cmp.model, this.path, v);\n } else {\n this.cmp.model = v;\n }\n }\n\n\n}\n","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms';/* */\n/* */\n/* */\n\nimport { Log, Level } from 'ng2-logger/browser';\nimport { DualComponentController } from './dual-component-ctrl';\nimport { EventEmitter } from '@angular/core';\n\nconst log = Log.create('base formly component', Level.__NOTHING)\n\n\n@Component({\n selector: 'app-base-formly-component-meta',\n template: `<div></div>`\n}) // @ts-ignore\nexport abstract class BaseFormlyComponent<T extends DualComponentController = DualComponentController>\n extends FieldType\n implements OnInit, Partial<DualComponentController<T>>, AfterViewInit {\n\n protected DualComponentController = DualComponentController;\n public ctrl: T = {} as any;\n @Input() pizda: any;\n\n // @ts-ignore\n get mode() {\n return this.ctrl.mode;\n }\n\n // @ts-ignore\n @Input() set mode(v) {\n this.ctrl.mode = v;\n }\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Input() label: string;\n @Input() placeholder: string;\n @Input() defaultValue: T;\n\n // @ts-ignore\n @Input() set model(v) {\n this.ctrl.model = v;\n }\n get model() {\n return this.ctrl.model;\n }\n @Input() path: string;\n @Output() change = new EventEmitter();\n\n\n // @ts-ignore\n @Input() set key(value: string) {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return;\n }\n this.path = value;\n }\n get key(): string {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return this.field.key as any;\n }\n return this.path;\n }\n\n // @ts-ignore\n // @Input() formControl: FormControl; // TODO QUICK_FIX\n protected handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n\n }\n\n ngAfterViewInit() {\n\n }\n\n private __field = {\n templateOptions: {\n\n }\n } as FormlyFieldConfig;\n // _model: any;\n ngOnInit() {\n // console.log('model', this.model)\n // console.log('ket', this.key)\n const isFormlyMode = !!this.field;\n log.i(`isFormlyMode: ${isFormlyMode}`);\n if (!isFormlyMode) {\n const that = this;\n Object.defineProperty(this, 'field', {\n get: function () {\n return that.__field;\n },\n set: function (v) {\n that.__field = v;\n }\n })\n }\n\n const existed = this.ctrl;\n this.ctrl = new (this.DualComponentController as any)(this, isFormlyMode);\n // @ts-ignore\n Object.keys(existed).forEach(key => {\n this.ctrl[key] = existed[key];\n });\n\n // if (!this.formControl) {\n // this.formControl = new FormControl({})\n // Object.defineProperty(this, 'field', {\n // get: () => {\n // return {\n // formControl: this.formControl\n // } as FormlyFieldConfig\n // }\n // })\n // // this.formControl = new FormControl({})\n // }\n // @ts-ignore\n this.change.next(this.ctrl.value);\n }\n\n}\n//#endregion\n","import { Injectable } from '@angular/core';\nimport * as elementResizeDetectorMaker from 'element-resize-detector';\n\n@Injectable()\nexport class ResizeService {\n private resizeDetector: any;\n\n constructor() {\n this.resizeDetector = elementResizeDetectorMaker({ strategy: 'scroll' });\n }\n\n addResizeEventListener(element: HTMLElement, handler: Function) {\n this.resizeDetector.listenTo(element, handler);\n }\n\n removeResizeEventListener(element: HTMLElement) {\n this.resizeDetector.uninstall(element);\n }\n}\n","import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { _ } from 'tnp-core/browser';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`[tnp-helpers] long-press`\n , Level.__NOTHING\n)\n\n@Directive({ selector: '[long-press]' })\nexport class LongPress {\n\n @Input() pressDuration: number = 1000;\n\n @Output() onLongPress: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressing: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressEnd: EventEmitter<any> = new EventEmitter();\n\n private pressing: boolean;\n private longPressing: boolean;\n private timeout: any;\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n @HostBinding('class.press')\n get press() { return this.pressing; }\n\n @HostBinding('class.longpress')\n get longPress() { return this.longPressing; }\n\n allowTrigger = false;\n triggerEnd = _.debounce(() => {\n this.endPress();\n }, 500)\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event) {\n // don't do right/middle clicks\n log.d(`MOUSE DOWN `);\n\n if (event.which !== 1) return;\n this.allowTrigger = true;\n\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n\n this.pressing = true;\n this.longPressing = false;\n\n this.timeout = setTimeout(() => {\n if (this.allowTrigger) {\n this.longPressing = true;\n log.d(`long pressing start pressDuration:${this.pressDuration} `);\n this.onLongPress.emit(event);\n this.loop(event);\n }\n }, this.pressDuration);\n\n this.loop(event);\n }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event) {\n if (this.pressing && !this.longPressing) {\n const xThres = (event.clientX - this.mouseX) > 10;\n const yThres = (event.clientY - this.mouseY) > 10;\n if (xThres || yThres) {\n this.endPress();\n }\n }\n }\n\n loop(event) {\n if (this.longPressing) {\n this.timeout = setTimeout(() => {\n log.d(`emil longpressing`)\n this.triggerEnd();\n this.onLongPressing.emit(event);\n this.loop(event);\n }, 50);\n }\n }\n\n endPress(emit = true) {\n this.allowTrigger = false;\n clearTimeout(this.timeout);\n this.longPressing = false;\n this.pressing = false;\n if (emit) {\n log.d(`EMIT END`)\n this.onLongPressEnd.emit(true);\n } else {\n log.d(`NOT EMIT END`)\n }\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.endPress(false);\n }\n\n}\n","import { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n/* */\n/* */\n \n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\n\n//#region @browser\nexport { BaseComponent, BaseComponentForRouter } from './base-component';\nexport { BaseFormlyComponent } from './base-formly-component';\nexport { DualComponentController } from './dual-component-ctrl';\nexport { ResizeService } from './resize-service';\nexport { LongPress } from './long-press.directive';\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Helpers","log","Base"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-array-obj.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings-regexes.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-environment.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/condition-wait.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/constants.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/project.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/dual-component-ctrl.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-formly-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/resize-service.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/long-press.directive.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["import { _ } from 'tnp-core/browser';\nimport * as fuzzy from 'fuzzy';\nimport { Helpers } from './index';\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n });\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(Helpers.arrays.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n","import { _ } from 'tnp-core/browser';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n const regex = /(http(s)?\\:\\/\\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\:[0-9]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n const regex = /(((http(s)?\\:\\/\\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+(\\:[0-9]+)?)|((http(s)?\\:\\/\\/)[a-zA-Z0-9-]{1,61}))/;\n return regex;\n }\n }\n }\n}\n","import { _, /* */ /* */ } from 'tnp-core/browser';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n isValidGitRepuUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip)\n }\n\n}\n","import { _ } from 'tnp-core/browser';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n console.warn('[ss-logic][helper] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n console.warn('[ss-logic][helper] Parameters are not a object: ', parameters);\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n numValue(pixelsCss: string) {\n // tslint:disable-next-line:radix\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n /**\n *\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the plural of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n plural(word: string, amount?: number): string {\n if (amount !== undefined && amount === 1) {\n return word\n }\n const plural: { [key: string]: string } = {\n '(quiz)$': \"$1zes\",\n '^(ox)$': \"$1en\",\n '([m|l])ouse$': \"$1ice\",\n '(matr|vert|ind)ix|ex$': \"$1ices\",\n '(x|ch|ss|sh)$': \"$1es\",\n '([^aeiouy]|qu)y$': \"$1ies\",\n '(hive)$': \"$1s\",\n '(?:([^f])fe|([lr])f)$': \"$1$2ves\",\n '(shea|lea|loa|thie)f$': \"$1ves\",\n 'sis$': \"ses\",\n '([ti])um$': \"$1a\",\n '(tomat|potat|ech|her|vet)o$': \"$1oes\",\n '(bu)s$': \"$1ses\",\n '(alias)$': \"$1es\",\n '(octop)us$': \"$1i\",\n '(ax|test)is$': \"$1es\",\n '(us)$': \"$1es\",\n '([^s]+)$': \"$1s\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n // save some time in the case that singular and plural are the same\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n // check for irregular forms\n for (const w in irregular) {\n const pattern = new RegExp(`${w}$`, 'i')\n const replace = irregular[w]\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n // check for matches using regular expressions\n for (const reg in plural) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, plural[reg])\n }\n }\n return word\n }\n\n\n /**\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the singular of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n singular(word: string, amount?: number): string {\n if (amount !== undefined && amount !== 1) {\n return word\n }\n const singular: { [key: string]: string } = {\n '(quiz)zes$': \"$1\",\n '(matr)ices$': \"$1ix\",\n '(vert|ind)ices$': \"$1ex\",\n '^(ox)en$': \"$1\",\n '(alias)es$': \"$1\",\n '(octop|vir)i$': \"$1us\",\n '(cris|ax|test)es$': \"$1is\",\n '(shoe)s$': \"$1\",\n '(o)es$': \"$1\",\n '(bus)es$': \"$1\",\n '([m|l])ice$': \"$1ouse\",\n '(x|ch|ss|sh)es$': \"$1\",\n '(m)ovies$': \"$1ovie\",\n '(s)eries$': \"$1eries\",\n '([^aeiouy]|qu)ies$': \"$1y\",\n '([lr])ves$': \"$1f\",\n '(tive)s$': \"$1\",\n '(hive)s$': \"$1\",\n '(li|wi|kni)ves$': \"$1fe\",\n '(shea|loa|lea|thie)ves$': \"$1f\",\n '(^analy)ses$': \"$1sis\",\n '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': \"$1$2sis\",\n '([ti])a$': \"$1um\",\n '(n)ews$': \"$1ews\",\n '(h|bl)ouses$': \"$1ouse\",\n '(corpse)s$': \"$1\",\n '(us)es$': \"$1\",\n 's$': \"\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n // save some time in the case that singular and plural are the same\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n // check for irregular forms\n for (const w in irregular) {\n const pattern = new RegExp(`${irregular[w]}$`, 'i')\n const replace = w\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n // check for matches using regular expressions\n for (const reg in singular) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, singular[reg])\n }\n }\n return word\n }\n\n}\n\n","import { _ } from 'tnp-core/browser';\nimport { Helpers } from './index';\n\nexport type Condition = {\n name?: string;\n timeoutCheck?: number;\n timeoutNext?: number;\n callback: (c: Condition) => boolean | Promise<boolean>;\n errorMessage: string;\n}\n\nexport async function conditionWait(conditionAndTimeout: Condition[]) {\n await waitFor(conditionAndTimeout);\n}\n\nfunction waitFor(arr: Condition[], messageToShow: string = void 0) {\n return new Promise(async (resolve, reject) => {\n if (arr.length === 0) {\n resolve(void 0)\n } else {\n // console.log(arr.length)\n const check = arr.shift();\n if (_.isUndefined(check.timeoutCheck)) {\n check.timeoutCheck = 2000;\n }\n if (_.isUndefined(check.timeoutNext)) {\n check.timeoutNext = 4000;\n }\n const { timeoutCheck, timeoutNext, name } = check;\n // console.log(`timeoutCheck: ${timeoutCheck}`);\n // console.log(`timeoutNext: ${timeoutNext}`);\n // console.log(`Checking: ${name}`)\n const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);\n // console.log(`after: ${name}`)\n if (resultTrue) {\n // console.log(`timeout 1 is set to ${timeoutNext}`)\n setTimeout(async () => {\n // console.log(`timeout 1 is over`)\n await waitFor(arr).then(() => {\n resolve(void 0);\n });\n }, timeoutNext);\n } else {\n\n arr.unshift(check);\n if (!messageToShow || check.errorMessage !== messageToShow) {\n Helpers.info(check.errorMessage);\n } else {\n // console.log(`dont show error message ${check.errorMessage}`)\n }\n // console.log(`timeout 2 is set to ${timeoutCheck}, arr.length is ${arr.length}`)\n setTimeout(async () => {\n // console.log(`timeout 2 ${timeoutCheck} ovef`)\n await waitFor(arr, check.errorMessage).then(() => {\n resolve(void 0);\n });\n }, timeoutCheck);\n }\n }\n })\n}\n","import { _ } from 'tnp-core/browser';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersEnvironment } from './helpers-environment';\nimport { HelpersStrings } from './helpers-strings';\nimport { conditionWait } from './condition-wait';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { config, ConfigModels } from 'tnp-config/browser';\nimport { Helpers } from './index';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Morphi } from 'morphi/browser';\nimport { CoreHelpers } from 'tnp-core/browser';\n\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n\n// @ts-ignore\nexport class HelpersTnp extends CoreHelpers {\n\n private static _instance: HelpersTnp & CoreHelpers;\n public static get Instance() {\n if (!HelpersTnp._instance) {\n HelpersTnp._instance = new HelpersTnp();\n }\n return HelpersTnp._instance;\n }\n\n private constructor(\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n\n ) {\n super();\n }\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n \n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n async mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]): Promise<number> {\n var start = new Date()\n await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n \n return end;\n }\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void): number {\n var start = new Date()\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n \n return end;\n }\n\n conditionWait = conditionWait;\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n\n const result = await Helpers.runSyncOrAsync(conditionFn);\n if (result) {\n resolve(void 0)\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n })\n }, howOfftenCheckInMs);\n }\n })\n }\n\n getBrowserVerPath(moduleName?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n getMethodName(obj, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(obj).forEach(prop => {\n if (obj[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(obj);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n })\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n \n public applyMixins = applyMixins;\n}\n\n// @ts-ignore\nexport interface HelpersTnp extends\n HelpersStringsRegexes,\n HelpersEnvironment\n/* */\n/* */\n/* */\n/* */\n \n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n/* */\n/* */\n/* */\n \n]);\n","export const BaselineSiteJoinprefix = '__';\n","/* */\n/* */\n/* */\n/* */\n/* */\n \ndeclare const global: any;\nimport { config, LibTypeArr, ConfigModels } from 'tnp-config/browser';\nimport { _, CoreConfig } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Models } from 'tnp-models/browser';\nimport { Morphi } from 'morphi/browser';\nimport { HelpersTnp } from './helpers';\nconst Helpers = HelpersTnp.Instance;\n\nexport type EmptyProjectStructure = {\n includeContent?: boolean;\n relativePath: string;\n relativeLinkFrom?: string;\n};\n\nexport class Project<T extends Project<any> = any>\n/* */\n/* */\n \n{\n/* */\n/* */\n \n\n protected cache = {};\n\n /**\n * Do use this variable for comparatios\n * ONLY FOR VIEWING\n */\n public readonly _type: ConfigModels.LibType;\n public browser: Pick<Project<any>, 'location' | 'name'> = {} as any;\n public location: string;\n public name: string;\n public genericName: string;\n public isWorkspace: boolean;\n public isVscodeExtension: boolean;\n public isDocker: boolean;\n public isSite: boolean;\n public isSiteInStrictMode?: boolean;\n public isSiteInDependencyMode?: boolean;\n public isCoreProject: boolean;\n public isCommandLineToolOnly: boolean;\n public isGenerated: boolean;\n public isGeneratedForRelease: boolean;\n public isWorkspaceChildProject: boolean;\n public isBasedOnOtherProject: boolean;\n public isForRecreation: boolean;\n public isContainer: boolean;\n public isSmartContainer: boolean;\n public isSmartContainerChild: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isMonorepo: boolean;\n public isUnknowNpmProject: boolean;\n public isNaviCli: boolean;\n public useFramework: boolean;\n public defaultPort?: number;\n public version: string;\n public lastNpmVersion?: string;\n public _routerTargetHttp?: string;\n public customizableFilesAndFolders: string[];\n public type: ConfigModels.LibType;\n public backupName: string;\n public resources: string[];\n public env: Models.env.EnvConfig;\n public allowedEnvironments: ConfigModels.EnvironmentName[];\n\n public children: T[];\n public grandpa: T;\n\n public distribution: T;\n\n public childrenThatAreLibs?: T[];\n\n public childrenThatAreClients?: T[];\n\n public childrenThatAreThirdPartyInNodeModules?: T[];\n\n public parent: T;\n\n public preview: T;\n\n public baseline: T;\n\n public static projects: Project<any>[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n public static emptyLocations: string[] = [];\n\n static typeFrom(location: string): ConfigModels.LibType {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static unload(project: Project) {\n Project.projects = Project.projects.filter(f => f !== project);\n }\n\n public static From<T = Project<any>>(location: string): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static nearestTo<T = Project>(\n absoluteLocation: string,\n options?: { type?: ConfigModels.LibType; findGitRoot?: boolean; onlyOutSideNodeModules?: boolean }): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static DefaultPortByType(type: ConfigModels.LibType): number {\n if (type === 'workspace') { return 5000; }\n if (type === 'angular-client') { return 4300; }\n if (type === 'angular-lib') { return 4250; }\n if (type === 'electron-client') { return 4350; }\n if (type === 'ionic-client') { return 8080; }\n if (type === 'docker') { return 5000; }\n if (type === 'isomorphic-lib') { return 4000; }\n if (type === 'container' || type === 'unknow-npm-project') {\n return;\n }\n }\n\n public static get isBundleMode() {\n if (Helpers.isBrowser) {\n return true;\n }\n/* */\n/* */\n \n }\n\n static get Current(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n/* */\n/* */\n/* */\n/* */\n \n\n static get Tnp(): Project<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n/* */\n/* */\n \n ): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public setType(this: Project, type: ConfigModels.LibType) {\n // @ts-ignore\n this._type = type;\n }\n public typeIs(this: Project, ...types: ConfigModels.LibType[]) {\n return this._type && types.includes(this._type);\n }\n\n public typeIsNot(this: Project, ...types: ConfigModels.LibType[]) {\n return !this.typeIs(...types);\n }\n\n forEmptyStructure(): EmptyProjectStructure[] {\n return [\n { relativePath: config.file.package_json, includeContent: true },\n { relativePath: config.folder.src },\n ];\n }\n\n}\n\n\nexport type ProjectBuild = { project: Project; appBuild: boolean; };\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { OnDestroy, OnInit, Component, Input } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-base-component-meta',\n template: '<div></div>'\n})\nexport abstract class BaseComponent implements OnDestroy {\n\n // @ts-ignore\n @Input() model: any = {};\n\n handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n }\n\n\n}\n\nconst isCalledNgInitAfterInternalRefresh = Symbol()\n\nexport abstract class BaseComponentForRouter extends BaseComponent {\n\n constructor(\n private __router: Router\n ) {\n super();\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n\n\n protected isCalledNgInitAfterInternalRefresh() {\n return !!this[isCalledNgInitAfterInternalRefresh];\n }\n protected reloadNgOninitOnUrlChange() {\n this.handlers.push(this.__router.events.subscribe(event => {\n if (event instanceof NavigationEnd && this['ngOnInit']) {\n this[isCalledNgInitAfterInternalRefresh] = true;\n this['ngOnInit']();\n if (this[isCalledNgInitAfterInternalRefresh]) {\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n }\n }) as any);\n }\n\n}\n//#endregion\n","import { _ } from 'tnp-core/browser';\nimport { BaseFormlyComponent } from './base-formly-component';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms'/* */\n/* */\n/* */\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`DualComponentController`);\n\nexport abstract class DualComponentController<T = any> {\n\n constructor(protected cmp: BaseFormlyComponent, public isFormlyMode = false) {\n\n }\n\n protected getValTemplateOptions(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp.field?.templateOptions[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n protected getValContext(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp?.field[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n get disabled() {\n return this.getValTemplateOptions('disabled') as boolean;\n }\n\n get required() {\n return this.getValTemplateOptions('required') as boolean;\n }\n\n get type() {\n if (!this.isFormlyMode) {\n return CLASS.getNameFromObject(this.cmp)\n }\n return this.getValContext('type') as boolean;\n }\n\n get label() {\n return this.getValTemplateOptions('label') as string;\n }\n\n get placeholder() {\n return this.getValTemplateOptions('placeholder') as string;\n }\n\n get defaultValue(): T {\n return this.getValContext('defaultValue') as any;\n }\n\n get formControl(): any {// FormControl { // TODO QUICK_FIX\n return this.getValContext('formControl') as any;\n }\n\n get key() {\n return this.getValContext('key') as string;\n }\n\n get path() {\n return this.getValContext('path') as string;\n }\n\n __model: any;\n get model(): any {\n if (this.isFormlyMode) {\n return this.getValContext('model') as string;\n } else {\n return this.__model;\n }\n }\n\n set model(v) {\n if (this.isFormlyMode) {\n log.w(`[DualComponentController] You can't set model in formly component mode`);\n } else {\n this.__model = v;\n }\n }\n\n __mode: any;\n get mode(): any {\n if (this.isFormlyMode) {\n return this.getValContext('mode') as string;\n } else {\n return this.__mode;\n }\n }\n\n set mode(v) {\n if (this.isFormlyMode) {\n // this.cmp.field.mode =\n // log.w(`[DualComponentController] You can't set mode in formly component mode`);\n } else {\n this.__mode = v;\n }\n }\n\n\n get value(): T {\n if (this.isFormlyMode) {\n return this.cmp.field.formControl.value;\n }\n if (_.isString(this.path)) {\n return _.get(this.cmp.model, this.path);\n }\n return this.cmp.model;\n }\n\n set value(v) {\n if (this.isFormlyMode) {\n this.cmp.field.formControl.setValue(v);\n // @ts-ignore\n this.cmp.change.next(v);\n return;\n }\n if (_.isString(this.path)) {\n _.set(this.cmp.model, this.path, v);\n } else {\n this.cmp.model = v;\n }\n }\n\n\n}\n","//#region @browser\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';/* */\n/* */\n\nimport { FormControl, FormGroup } from '@angular/forms';/* */\n/* */\n/* */\n\nimport { Log, Level } from 'ng2-logger/browser';\nimport { DualComponentController } from './dual-component-ctrl';\nimport { EventEmitter } from '@angular/core';\n\nconst log = Log.create('base formly component', Level.__NOTHING)\n\n\n@Component({\n selector: 'app-base-formly-component-meta',\n template: `<div></div>`\n}) // @ts-ignore\nexport abstract class BaseFormlyComponent<T extends DualComponentController = DualComponentController>\n extends FieldType\n implements OnInit, Partial<DualComponentController<T>>, AfterViewInit {\n\n protected DualComponentController = DualComponentController;\n public ctrl: T = {} as any;\n @Input() pizda: any;\n\n // @ts-ignore\n get mode() {\n return this.ctrl.mode;\n }\n\n // @ts-ignore\n @Input() set mode(v) {\n this.ctrl.mode = v;\n }\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Input() label: string;\n @Input() placeholder: string;\n @Input() defaultValue: T;\n\n // @ts-ignore\n @Input() set model(v) {\n this.ctrl.model = v;\n }\n get model() {\n return this.ctrl.model;\n }\n @Input() path: string;\n @Output() change = new EventEmitter();\n\n\n // @ts-ignore\n @Input() set key(value: string) {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return;\n }\n this.path = value;\n }\n get key(): string {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return this.field.key as any;\n }\n return this.path;\n }\n\n // @ts-ignore\n // @Input() formControl: FormControl; // TODO QUICK_FIX\n protected handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n\n }\n\n ngAfterViewInit() {\n\n }\n\n private __field = {\n templateOptions: {\n\n }\n } as FormlyFieldConfig;\n // _model: any;\n ngOnInit() {\n // console.log('model', this.model)\n // console.log('ket', this.key)\n const isFormlyMode = !!this.field;\n log.i(`isFormlyMode: ${isFormlyMode}`);\n if (!isFormlyMode) {\n const that = this;\n Object.defineProperty(this, 'field', {\n get: function () {\n return that.__field;\n },\n set: function (v) {\n that.__field = v;\n }\n })\n }\n\n const existed = this.ctrl;\n this.ctrl = new (this.DualComponentController as any)(this, isFormlyMode);\n // @ts-ignore\n Object.keys(existed).forEach(key => {\n this.ctrl[key] = existed[key];\n });\n\n // if (!this.formControl) {\n // this.formControl = new FormControl({})\n // Object.defineProperty(this, 'field', {\n // get: () => {\n // return {\n // formControl: this.formControl\n // } as FormlyFieldConfig\n // }\n // })\n // // this.formControl = new FormControl({})\n // }\n // @ts-ignore\n this.change.next(this.ctrl.value);\n }\n\n}\n//#endregion\n","import { Injectable } from '@angular/core';\nimport * as elementResizeDetectorMaker from 'element-resize-detector';\n\n@Injectable()\nexport class ResizeService {\n private resizeDetector: any;\n\n constructor() {\n this.resizeDetector = elementResizeDetectorMaker({ strategy: 'scroll' });\n }\n\n addResizeEventListener(element: HTMLElement, handler: Function) {\n this.resizeDetector.listenTo(element, handler);\n }\n\n removeResizeEventListener(element: HTMLElement) {\n this.resizeDetector.uninstall(element);\n }\n}\n","import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { _ } from 'tnp-core/browser';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`[tnp-helpers] long-press`\n , Level.__NOTHING\n)\n\n@Directive({ selector: '[long-press]' })\nexport class LongPress {\n\n @Input() pressDuration: number = 1000;\n\n @Output() onLongPress: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressing: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressEnd: EventEmitter<any> = new EventEmitter();\n\n private pressing: boolean;\n private longPressing: boolean;\n private timeout: any;\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n @HostBinding('class.press')\n get press() { return this.pressing; }\n\n @HostBinding('class.longpress')\n get longPress() { return this.longPressing; }\n\n allowTrigger = false;\n triggerEnd = _.debounce(() => {\n this.endPress();\n }, 500)\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event) {\n // don't do right/middle clicks\n log.d(`MOUSE DOWN `);\n\n if (event.which !== 1) return;\n this.allowTrigger = true;\n\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n\n this.pressing = true;\n this.longPressing = false;\n\n this.timeout = setTimeout(() => {\n if (this.allowTrigger) {\n this.longPressing = true;\n log.d(`long pressing start pressDuration:${this.pressDuration} `);\n this.onLongPress.emit(event);\n this.loop(event);\n }\n }, this.pressDuration);\n\n this.loop(event);\n }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event) {\n if (this.pressing && !this.longPressing) {\n const xThres = (event.clientX - this.mouseX) > 10;\n const yThres = (event.clientY - this.mouseY) > 10;\n if (xThres || yThres) {\n this.endPress();\n }\n }\n }\n\n loop(event) {\n if (this.longPressing) {\n this.timeout = setTimeout(() => {\n log.d(`emil longpressing`)\n this.triggerEnd();\n this.onLongPressing.emit(event);\n this.loop(event);\n }, 50);\n }\n }\n\n endPress(emit = true) {\n this.allowTrigger = false;\n clearTimeout(this.timeout);\n this.longPressing = false;\n this.pressing = false;\n if (emit) {\n log.d(`EMIT END`)\n this.onLongPressEnd.emit(true);\n } else {\n log.d(`NOT EMIT END`)\n }\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.endPress(false);\n }\n\n}\n","import { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n/* */\n/* */\n \n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\n\n//#region @browser\nexport { BaseComponent, BaseComponentForRouter } from './base-component';\nexport { BaseFormlyComponent } from './base-formly-component';\nexport { DualComponentController } from './dual-component-ctrl';\nexport { ResizeService } from './resize-service';\nexport { LongPress } from './long-press.directive';\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Helpers","log","Base"],"mappings":"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"}
|
|
@@ -24,4 +24,27 @@ export declare class HelpersStrings {
|
|
|
24
24
|
*/
|
|
25
25
|
splitIfNeed(stringOrArr: string | string[]): string[];
|
|
26
26
|
removeDoubleOrMoreEmptyLines(s: string): string;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
30
|
+
*
|
|
31
|
+
* Returns the plural of an English word.
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @param {string} word
|
|
35
|
+
* @param {number} [amount]
|
|
36
|
+
* @returns {string}
|
|
37
|
+
*/
|
|
38
|
+
plural(word: string, amount?: number): string;
|
|
39
|
+
/**
|
|
40
|
+
* https://stackoverflow.com/a/57129703/1345101
|
|
41
|
+
*
|
|
42
|
+
* Returns the singular of an English word.
|
|
43
|
+
*
|
|
44
|
+
* @export
|
|
45
|
+
* @param {string} word
|
|
46
|
+
* @param {number} [amount]
|
|
47
|
+
* @returns {string}
|
|
48
|
+
*/
|
|
49
|
+
singular(word: string, amount?: number): string;
|
|
27
50
|
}
|
package/lib/git-project.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare abstract class ProjectGit {
|
|
|
22
22
|
thereAreSomeUncommitedChangeExcept(filesList?: string[]): boolean;
|
|
23
23
|
pullCurrentBranch(askToRetry?: boolean): Promise<void>;
|
|
24
24
|
readonly currentBranchName: string;
|
|
25
|
+
getBranchesNamesBy(pattern: string | RegExp): string[];
|
|
25
26
|
resetHard(): void;
|
|
26
27
|
countComits(): number;
|
|
27
28
|
lastCommitDate(): Date;
|
package/lib/git-project.js
CHANGED
|
@@ -100,6 +100,9 @@ var ProjectGit = /** @class */ (function () {
|
|
|
100
100
|
get currentBranchName() {
|
|
101
101
|
return Helpers.git.currentBranchName(self.location);
|
|
102
102
|
},
|
|
103
|
+
getBranchesNamesBy: function (pattern) {
|
|
104
|
+
return Helpers.git.getBranchesNames(self.location, pattern);
|
|
105
|
+
},
|
|
103
106
|
resetHard: function () {
|
|
104
107
|
self.run("git reset --hard").sync();
|
|
105
108
|
},
|
package/lib/git-project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-project.js","sourceRoot":"","sources":["../../src/lib/git-project.ts"],"names":[],"mappings":";;;;AAAA,qCAKkB;AAClB,qCAAoC;AACpC,qCAAuC;AACvC,kBAAkB;AAClB,mCAA8B;AAC9B,YAAY;AACZ,IAAM,OAAO,GAAG,oBAAU,CAAC,QAAQ,CAAC;AAGpC;IAAA;
|
|
1
|
+
{"version":3,"file":"git-project.js","sourceRoot":"","sources":["../../src/lib/git-project.ts"],"names":[],"mappings":"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"}
|