@zajno/common 1.5.3 → 1.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/coverage/clover.xml +93 -86
  2. package/coverage/coverage-final.json +3 -3
  3. package/coverage/lcov-report/index.html +26 -26
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/async/timeout.ts.html +1 -1
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +1 -1
  24. package/coverage/lcov-report/src/fields/index.html +14 -14
  25. package/coverage/lcov-report/src/fields/update.ts.html +40 -19
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +19 -19
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  36. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +27 -12
  42. package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
  43. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  44. package/coverage/lcov-report/src/types.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  48. package/coverage/lcov-report/src/validation/index.html +1 -1
  49. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  51. package/coverage/lcov-report/src/validation/validators.ts.html +3 -3
  52. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  54. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  59. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/index.html +1 -1
  62. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  63. package/coverage/lcov.info +227 -206
  64. package/lib/fields/update.d.ts +5 -4
  65. package/lib/fields/update.d.ts.map +1 -1
  66. package/lib/fields/update.js +13 -7
  67. package/lib/fields/update.js.map +1 -1
  68. package/lib/observingCache.d.ts +1 -1
  69. package/lib/observingCache.d.ts.map +1 -1
  70. package/lib/observingCache.js +8 -2
  71. package/lib/observingCache.js.map +1 -1
  72. package/lib/validation/validators.js +1 -1
  73. package/lib/validation/validators.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/fields/update.ts +18 -11
  76. package/src/observingCache.ts +7 -2
  77. package/src/validation/__tests__/validator.test.ts +12 -0
  78. package/src/validation/validators.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"observingCache.js","sourceRoot":"","sources":["../src/observingCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observingCache.js","sourceRoot":"","sources":["../src/observingCache.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ exports.ValidatorsRegExps = {
22
22
  expiryDateCard: /^\d+$/,
23
23
  cvv: /^\d+$/,
24
24
  // eslint-disable-next-line no-useless-escape
25
- website: /^(https?:\/\/)?([a-z0-9]+([a-z0-9\-]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
25
+ website: /^(https?:\/\/)?([a-z0-9]+((((-?[a-z0-9]{2,})+)?)\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
26
26
  linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
27
27
  };
28
28
  exports.Validators = {
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "1.5.3",
3
+ "version": "1.5.6",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,6 +41,7 @@ const DefaultUpdater: Fields.Updater<any> = (v1, v2) => Object.assign(v1, v2);
41
41
 
42
42
  export type UpdateArrayOptions<T> = {
43
43
  additive?: boolean,
44
+ unshift?: boolean,
44
45
  clone?: boolean,
45
46
  comparator?: Comparator<T>,
46
47
  updater?: Fields.Updater<T>,
@@ -49,14 +50,14 @@ export type UpdateArrayOptions<T> = {
49
50
  };
50
51
 
51
52
  export type UpdateArrayHooks<T> = {
52
- onAdded?: (item: T) => void,
53
- onDeleted?: (item: T) => void,
54
- onUpdated?: (previous: T, next: T) => void,
53
+ onAdded?: (item: T, index?: number) => void,
54
+ onDeleted?: (item: T, index?: number) => void,
55
+ onUpdated?: (previous: T, next: T, index?: number) => void,
55
56
  };
56
57
 
57
58
  export function updateArray<T>(
58
59
  target: T[] | null,
59
- source: T[],
60
+ source: T[] | null,
60
61
  options?: UpdateArrayOptions<T>,
61
62
  ): { changed: number, result: T[] } {
62
63
  if (!source) {
@@ -80,7 +81,7 @@ export function updateArray<T>(
80
81
  if (source.find(item => comparator(item, result[i])) == null) {
81
82
  // DELETE
82
83
  const removed = result.splice(i, 1);
83
- safeCall(onDeleted, removed[0]);
84
+ safeCall(onDeleted, removed[0], i);
84
85
 
85
86
  ++changed;
86
87
  --i;
@@ -88,19 +89,25 @@ export function updateArray<T>(
88
89
  }
89
90
  }
90
91
 
92
+ const unshift = options?.unshift || false;
93
+
91
94
  // add all new elements and update existing
92
- source.forEach(i => {
93
- const existingIndex = result.findIndex(item => comparator(i, item));
95
+ source.forEach(item => {
96
+ const existingIndex = result.findIndex(i => comparator(item, i));
94
97
  const existingItem = result[existingIndex];
95
98
  if (existingIndex < 0) {
96
- result.push(i);
97
- safeCall(onAdded, i);
99
+ if (unshift) {
100
+ result.unshift(item);
101
+ } else {
102
+ result.push(item);
103
+ }
104
+ safeCall(onAdded, item, unshift ? 0 : result.length - 1);
98
105
  ++changed;
99
106
  } else if (typeof existingItem === 'object') {
100
107
  const before = onUpdate != null ? { ...existingItem } : undefined;
101
- result[existingIndex] = updater(existingItem, i);
108
+ result[existingIndex] = updater(existingItem, item);
102
109
  if (onUpdate != null) {
103
- onUpdate(before!, result[existingIndex]);
110
+ onUpdate(before!, result[existingIndex], existingIndex);
104
111
  }
105
112
  }
106
113
  });
@@ -3,6 +3,7 @@ import { Disposable } from './disposer';
3
3
  import { PromiseCache, DeferredGetter } from './cache';
4
4
  import { ObserversMap } from './observersMap';
5
5
  import { Fields } from './fields';
6
+ import logger from './logger';
6
7
 
7
8
  export type Unsub = () => void;
8
9
  export type Fetcher<T> = (key: string, cb: (val: T) => Promise<void> | void) => Unsub | Promise<Unsub>;
@@ -62,7 +63,7 @@ export class ObservingCache<T> extends Disposable implements IObservingCache<T>
62
63
  return this._cache.getCurrent(key, false);
63
64
  }
64
65
 
65
- get(key: string, overrideStrategy?: ObserveStrategy): DeferredGetter<T> {
66
+ get(key: string, overrideStrategy?: ObserveStrategy, observingStartedPromise?: (p: Promise<void>) => void): DeferredGetter<T> {
66
67
  if (overrideStrategy !== undefined) {
67
68
  this._observeStrategyOverrides[key] = overrideStrategy;
68
69
  }
@@ -74,7 +75,11 @@ export class ObservingCache<T> extends Disposable implements IObservingCache<T>
74
75
  if (this._cache.hasKey(key)) {
75
76
  // the request has been initiated already
76
77
  const timeout = getObserveTimeout(strategy);
77
- this._observers.enable(key, true, timeout);
78
+ const promise = this._observers.enable(key, true, timeout);
79
+ if (observingStartedPromise) {
80
+ observingStartedPromise(promise);
81
+ }
82
+ promise.catch(err => logger.error('[ObservingCache] Error on starting observe', key, strategy, err));
78
83
  }
79
84
  }
80
85
 
@@ -92,4 +92,16 @@ describe('validation websites', () => {
92
92
  it('valid website with directory path', () => {
93
93
  expect(validation.Validators.website('http://www.regexbuddy.com/index.html?source=library')).toEqual(ValidationErrors.None);
94
94
  });
95
+
96
+ it('valid website with many dashes', () => {
97
+ expect(validation.Validators.website('https://www.test-test-test-test.com')).toEqual(ValidationErrors.None);
98
+ });
99
+
100
+ it('valid website with short domain', () => {
101
+ expect(validation.Validators.website('https://t.me')).toEqual(ValidationErrors.None);
102
+ });
103
+
104
+ it('test url with few dashes in a row', () => {
105
+ expect(validation.Validators.website('https://dashedurl-------.com')).toEqual(ValidationErrors.Website);
106
+ });
95
107
  });
@@ -22,7 +22,7 @@ export const ValidatorsRegExps = {
22
22
  expiryDateCard: /^\d+$/,
23
23
  cvv: /^\d+$/,
24
24
  // eslint-disable-next-line no-useless-escape
25
- website: /^(https?:\/\/)?([a-z0-9]+([a-z0-9\-]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
25
+ website: /^(https?:\/\/)?([a-z0-9]+((((-?[a-z0-9]{2,})+)?)\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
26
26
  linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
27
27
  };
28
28