@naturalcycles/js-lib 14.42.0 → 14.45.0

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 (135) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/index.d.ts +4 -3
  3. package/dist/index.js +5 -3
  4. package/dist/json-schema/jsonSchema.model.d.ts +7 -0
  5. package/dist/json-schema/jsonSchemaBuilder.d.ts +13 -7
  6. package/dist/json-schema/jsonSchemaBuilder.js +9 -1
  7. package/dist/string/stringifyAny.d.ts +1 -1
  8. package/dist/string/stringifyAny.js +1 -1
  9. package/dist/typeFest.d.ts +16 -0
  10. package/dist/vendor/is.d.ts +224 -0
  11. package/dist/vendor/is.js +466 -0
  12. package/dist-esm/array/array.util.js +0 -1
  13. package/dist-esm/array/range.js +0 -1
  14. package/dist-esm/decorators/createPromiseDecorator.js +0 -1
  15. package/dist-esm/decorators/debounce.decorator.js +0 -1
  16. package/dist-esm/decorators/debounce.js +0 -1
  17. package/dist-esm/decorators/decorator.util.js +0 -1
  18. package/dist-esm/decorators/logMethod.decorator.js +0 -1
  19. package/dist-esm/decorators/memo.decorator.js +0 -1
  20. package/dist-esm/decorators/memo.util.js +0 -1
  21. package/dist-esm/decorators/memoFn.js +0 -1
  22. package/dist-esm/decorators/memoSimple.decorator.js +0 -1
  23. package/dist-esm/decorators/retry.decorator.js +0 -1
  24. package/dist-esm/decorators/timeout.decorator.js +0 -1
  25. package/dist-esm/error/app.error.js +0 -1
  26. package/dist-esm/error/assert.js +0 -1
  27. package/dist-esm/error/error.model.js +0 -1
  28. package/dist-esm/error/error.util.js +0 -1
  29. package/dist-esm/error/errorMode.js +0 -1
  30. package/dist-esm/error/http.error.js +0 -1
  31. package/dist-esm/error/try.js +0 -1
  32. package/dist-esm/error/tryCatch.js +0 -1
  33. package/dist-esm/index.js +3 -3
  34. package/dist-esm/json-schema/jsonSchema.cnst.js +0 -1
  35. package/dist-esm/json-schema/jsonSchema.model.js +0 -1
  36. package/dist-esm/json-schema/jsonSchema.util.js +0 -1
  37. package/dist-esm/json-schema/jsonSchemaBuilder.js +9 -2
  38. package/dist-esm/json-schema/jsonSchemas.js +0 -1
  39. package/dist-esm/lodash.types.js +0 -1
  40. package/dist-esm/math/math.util.js +0 -1
  41. package/dist-esm/math/sma.js +0 -1
  42. package/dist-esm/number/createDeterministicRandom.js +0 -1
  43. package/dist-esm/number/number.util.js +0 -1
  44. package/dist-esm/object/deepEquals.js +0 -1
  45. package/dist-esm/object/object.util.js +0 -1
  46. package/dist-esm/object/sortObject.js +0 -1
  47. package/dist-esm/object/sortObjectDeep.js +0 -1
  48. package/dist-esm/promise/AggregatedError.js +0 -1
  49. package/dist-esm/promise/pBatch.js +0 -1
  50. package/dist-esm/promise/pDefer.js +0 -1
  51. package/dist-esm/promise/pDelay.js +0 -1
  52. package/dist-esm/promise/pFilter.js +0 -1
  53. package/dist-esm/promise/pHang.js +0 -1
  54. package/dist-esm/promise/pMap.js +0 -1
  55. package/dist-esm/promise/pProps.js +0 -1
  56. package/dist-esm/promise/pRetry.js +0 -1
  57. package/dist-esm/promise/pState.js +0 -1
  58. package/dist-esm/promise/pTimeout.js +0 -1
  59. package/dist-esm/promise/pTuple.js +0 -1
  60. package/dist-esm/string/case.js +0 -1
  61. package/dist-esm/string/json.util.js +0 -1
  62. package/dist-esm/string/lodash/unicodeWords.js +0 -1
  63. package/dist-esm/string/lodash/words.js +0 -1
  64. package/dist-esm/string/string.util.js +0 -1
  65. package/dist-esm/string/stringifyAny.js +1 -2
  66. package/dist-esm/time/time.util.js +0 -1
  67. package/dist-esm/typeFest.js +0 -1
  68. package/dist-esm/types.js +0 -1
  69. package/dist-esm/unit/size.util.js +0 -1
  70. package/dist-esm/vendor/is.js +463 -0
  71. package/package.json +2 -1
  72. package/src/index.ts +8 -1
  73. package/src/json-schema/jsonSchema.model.ts +8 -0
  74. package/src/json-schema/jsonSchemaBuilder.ts +27 -18
  75. package/src/string/stringifyAny.ts +2 -2
  76. package/src/typeFest.ts +30 -0
  77. package/src/vendor/is.ts +837 -0
  78. package/dist-esm/array/array.util.js.map +0 -1
  79. package/dist-esm/array/range.js.map +0 -1
  80. package/dist-esm/decorators/createPromiseDecorator.js.map +0 -1
  81. package/dist-esm/decorators/debounce.decorator.js.map +0 -1
  82. package/dist-esm/decorators/debounce.js.map +0 -1
  83. package/dist-esm/decorators/decorator.util.js.map +0 -1
  84. package/dist-esm/decorators/logMethod.decorator.js.map +0 -1
  85. package/dist-esm/decorators/memo.decorator.js.map +0 -1
  86. package/dist-esm/decorators/memo.util.js.map +0 -1
  87. package/dist-esm/decorators/memoFn.js.map +0 -1
  88. package/dist-esm/decorators/memoSimple.decorator.js.map +0 -1
  89. package/dist-esm/decorators/retry.decorator.js.map +0 -1
  90. package/dist-esm/decorators/timeout.decorator.js.map +0 -1
  91. package/dist-esm/error/app.error.js.map +0 -1
  92. package/dist-esm/error/assert.js.map +0 -1
  93. package/dist-esm/error/error.model.js.map +0 -1
  94. package/dist-esm/error/error.util.js.map +0 -1
  95. package/dist-esm/error/errorMode.js.map +0 -1
  96. package/dist-esm/error/http.error.js.map +0 -1
  97. package/dist-esm/error/try.js.map +0 -1
  98. package/dist-esm/error/tryCatch.js.map +0 -1
  99. package/dist-esm/index.js.map +0 -1
  100. package/dist-esm/json-schema/jsonSchema.cnst.js.map +0 -1
  101. package/dist-esm/json-schema/jsonSchema.model.js.map +0 -1
  102. package/dist-esm/json-schema/jsonSchema.util.js.map +0 -1
  103. package/dist-esm/json-schema/jsonSchemaBuilder.js.map +0 -1
  104. package/dist-esm/json-schema/jsonSchemas.js.map +0 -1
  105. package/dist-esm/lodash.types.js.map +0 -1
  106. package/dist-esm/math/math.util.js.map +0 -1
  107. package/dist-esm/math/sma.js.map +0 -1
  108. package/dist-esm/number/createDeterministicRandom.js.map +0 -1
  109. package/dist-esm/number/number.util.js.map +0 -1
  110. package/dist-esm/object/deepEquals.js.map +0 -1
  111. package/dist-esm/object/object.util.js.map +0 -1
  112. package/dist-esm/object/sortObject.js.map +0 -1
  113. package/dist-esm/object/sortObjectDeep.js.map +0 -1
  114. package/dist-esm/promise/AggregatedError.js.map +0 -1
  115. package/dist-esm/promise/pBatch.js.map +0 -1
  116. package/dist-esm/promise/pDefer.js.map +0 -1
  117. package/dist-esm/promise/pDelay.js.map +0 -1
  118. package/dist-esm/promise/pFilter.js.map +0 -1
  119. package/dist-esm/promise/pHang.js.map +0 -1
  120. package/dist-esm/promise/pMap.js.map +0 -1
  121. package/dist-esm/promise/pProps.js.map +0 -1
  122. package/dist-esm/promise/pRetry.js.map +0 -1
  123. package/dist-esm/promise/pState.js.map +0 -1
  124. package/dist-esm/promise/pTimeout.js.map +0 -1
  125. package/dist-esm/promise/pTuple.js.map +0 -1
  126. package/dist-esm/string/case.js.map +0 -1
  127. package/dist-esm/string/json.util.js.map +0 -1
  128. package/dist-esm/string/lodash/unicodeWords.js.map +0 -1
  129. package/dist-esm/string/lodash/words.js.map +0 -1
  130. package/dist-esm/string/string.util.js.map +0 -1
  131. package/dist-esm/string/stringifyAny.js.map +0 -1
  132. package/dist-esm/time/time.util.js.map +0 -1
  133. package/dist-esm/typeFest.js.map +0 -1
  134. package/dist-esm/types.js.map +0 -1
  135. package/dist-esm/unit/size.util.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  import { _uniq } from '../array/array.util';
2
2
  import { mergeJsonSchemaObjects, _deepCopy, _sortObject, } from '../index';
3
3
  import { JSON_SCHEMA_ORDER } from './jsonSchema.cnst';
4
- /* eslint-disable id-blacklist, @typescript-eslint/explicit-module-boundary-types */
5
4
  /**
6
5
  * Fluent (chainable) API to manually create Json Schemas.
7
6
  * Inspired by Joi
@@ -33,6 +32,11 @@ export const jsonSchema = {
33
32
  type: 'boolean',
34
33
  });
35
34
  },
35
+ buffer() {
36
+ return new JsonSchemaAnyBuilder({
37
+ instanceof: 'Buffer',
38
+ });
39
+ },
36
40
  // number types
37
41
  number() {
38
42
  return new JsonSchemaNumberBuilder();
@@ -125,6 +129,10 @@ export class JsonSchemaAnyBuilder {
125
129
  Object.assign(this.schema, { allOf: schemas });
126
130
  return this;
127
131
  }
132
+ instanceof(of) {
133
+ this.schema.instanceof = of;
134
+ return this;
135
+ }
128
136
  optional(optional = true) {
129
137
  if (optional) {
130
138
  this.schema.optionalField = true;
@@ -341,4 +349,3 @@ export class JsonSchemaTupleBuilder extends JsonSchemaAnyBuilder {
341
349
  });
342
350
  }
343
351
  }
344
- //# sourceMappingURL=jsonSchemaBuilder.js.map
@@ -9,4 +9,3 @@ export const savedDBEntityJsonSchema = jsonSchema.object({
9
9
  created: jsonSchema.unixTimestamp(),
10
10
  updated: jsonSchema.unixTimestamp(),
11
11
  });
12
- //# sourceMappingURL=jsonSchemas.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=lodash.types.js.map
@@ -51,4 +51,3 @@ export function _percentile(values, pc) {
51
51
  export function _median(values) {
52
52
  return _percentile(values, 50);
53
53
  }
54
- //# sourceMappingURL=math.util.js.map
@@ -29,4 +29,3 @@ export class SimpleMovingAverage {
29
29
  : 0);
30
30
  }
31
31
  }
32
- //# sourceMappingURL=sma.js.map
@@ -18,4 +18,3 @@ export function _createDeterministicRandom() {
18
18
  return (seed & 0xfffffff) / 0x10000000;
19
19
  };
20
20
  }
21
- //# sourceMappingURL=createDeterministicRandom.js.map
@@ -73,4 +73,3 @@ export function _round(n, precisionUnit) {
73
73
  const v = Math.floor(n) + Math.round((n % 1) / precisionUnit) * precisionUnit;
74
74
  return Number(v.toFixed(String(precisionUnit).length - 2)); // '0.
75
75
  }
76
- //# sourceMappingURL=number.util.js.map
@@ -54,4 +54,3 @@ export function _deepEquals(a, b) {
54
54
  }
55
55
  return a !== a && b !== b;
56
56
  }
57
- //# sourceMappingURL=deepEquals.js.map
@@ -379,4 +379,3 @@ export function _has(obj, path) {
379
379
  const v = _get(obj, path);
380
380
  return v !== undefined && v !== null;
381
381
  }
382
- //# sourceMappingURL=object.util.js.map
@@ -16,4 +16,3 @@ export function _sortObject(obj, keyOrder) {
16
16
  });
17
17
  return r;
18
18
  }
19
- //# sourceMappingURL=sortObject.js.map
@@ -19,4 +19,3 @@ export function _sortObjectDeep(o) {
19
19
  }
20
20
  return o;
21
21
  }
22
- //# sourceMappingURL=sortObjectDeep.js.map
@@ -34,4 +34,3 @@ export class AggregatedError extends Error {
34
34
  }
35
35
  }
36
36
  }
37
- //# sourceMappingURL=AggregatedError.js.map
@@ -21,4 +21,3 @@ export async function pBatch(iterable, mapper, opt) {
21
21
  };
22
22
  }
23
23
  }
24
- //# sourceMappingURL=pBatch.js.map
@@ -12,4 +12,3 @@ export function pDefer() {
12
12
  promise.reject = reject;
13
13
  return promise;
14
14
  }
15
- //# sourceMappingURL=pDefer.js.map
@@ -1,4 +1,3 @@
1
1
  export async function pDelay(ms = 0, value) {
2
2
  return new Promise(resolve => setTimeout(() => resolve(value), ms));
3
3
  }
4
- //# sourceMappingURL=pDelay.js.map
@@ -3,4 +3,3 @@ export async function pFilter(iterable, filterFn, opt) {
3
3
  const values = await pMap(iterable, async (item, index) => await Promise.all([filterFn(item, index), item]), opt);
4
4
  return values.filter(value => Boolean(value[0])).map(value => value[1]);
5
5
  }
6
- //# sourceMappingURL=pFilter.js.map
@@ -4,4 +4,3 @@
4
4
  export async function pHang() {
5
5
  return new Promise(() => void 0);
6
6
  }
7
- //# sourceMappingURL=pHang.js.map
@@ -90,4 +90,3 @@ export async function pMap(iterable, mapper, opt = {}) {
90
90
  }
91
91
  });
92
92
  }
93
- //# sourceMappingURL=pMap.js.map
@@ -21,4 +21,3 @@ export async function pProps(input, opt) {
21
21
  });
22
22
  return r;
23
23
  }
24
- //# sourceMappingURL=pProps.js.map
@@ -53,4 +53,3 @@ export function pRetry(fn, opt = {}) {
53
53
  });
54
54
  };
55
55
  }
56
- //# sourceMappingURL=pRetry.js.map
@@ -12,4 +12,3 @@ export async function pState(p) {
12
12
  return v === UNIQUE_VALUE ? 'pending' : 'resolved';
13
13
  }, () => 'rejected');
14
14
  }
15
- //# sourceMappingURL=pState.js.map
@@ -37,4 +37,3 @@ export function pTimeout(fn, opt) {
37
37
  });
38
38
  };
39
39
  }
40
- //# sourceMappingURL=pTimeout.js.map
@@ -11,4 +11,3 @@ export async function pTuple(promise) {
11
11
  return [err, undefined];
12
12
  });
13
13
  }
14
- //# sourceMappingURL=pTuple.js.map
@@ -13,4 +13,3 @@ export function _snakeCase(s) {
13
13
  export function _kebabCase(s) {
14
14
  return words(s.replace(/['\u2019]/g, '')).reduce((result, word, index) => result + (index ? '-' : '') + word.toLowerCase(), '');
15
15
  }
16
- //# sourceMappingURL=case.js.map
@@ -11,4 +11,3 @@ export function _jsonParseIfPossible(obj, reviver) {
11
11
  }
12
12
  return obj;
13
13
  }
14
- //# sourceMappingURL=json.util.js.map
@@ -66,4 +66,3 @@ const reUnicodeWords = new RegExp([
66
66
  export function unicodeWords(s) {
67
67
  return s.match(reUnicodeWords);
68
68
  }
69
- //# sourceMappingURL=unicodeWords.js.map
@@ -28,4 +28,3 @@ export function words(s, pattern) {
28
28
  }
29
29
  return s.match(pattern) || [];
30
30
  }
31
- //# sourceMappingURL=words.js.map
@@ -88,4 +88,3 @@ export function _replaceAll(s, find, replaceWith) {
88
88
  export function _nl2br(s) {
89
89
  return s.replace(/\n/g, '<br>\n');
90
90
  }
91
- //# sourceMappingURL=string.util.js.map
@@ -91,10 +91,9 @@ export function _stringifyAny(obj, opt = {}) {
91
91
  if (s === undefined)
92
92
  return 'undefined';
93
93
  // Handle maxLen
94
- const { maxLen = 1000 } = opt;
94
+ const { maxLen = 10000 } = opt;
95
95
  if (maxLen && s.length > maxLen) {
96
96
  s = s.slice(0, maxLen) + `... ${Math.ceil(s.length / 1024)} KB message truncated`;
97
97
  }
98
98
  return s;
99
99
  }
100
- //# sourceMappingURL=stringifyAny.js.map
@@ -36,4 +36,3 @@ export function _ms(millis) {
36
36
  // >= 24h
37
37
  return `${Math.round(hrs + min / 60)}h`;
38
38
  }
39
- //# sourceMappingURL=time.util.js.map
@@ -1,4 +1,3 @@
1
1
  /* eslint-disable */
2
2
  /* tslint:disable */
3
3
  export {};
4
- //# sourceMappingURL=typeFest.js.map
package/dist-esm/types.js CHANGED
@@ -29,4 +29,3 @@ export function _stringMapEntries(m) {
29
29
  export function _objectKeys(obj) {
30
30
  return Object.keys(obj);
31
31
  }
32
- //# sourceMappingURL=types.js.map
@@ -19,4 +19,3 @@ export function _hb(b = 0) {
19
19
  return `${Math.round(b / 1024 / 1024)} Mb`;
20
20
  return `${Math.round(b / 1024 / 1024 / 1024)} Gb`;
21
21
  }
22
- //# sourceMappingURL=size.util.js.map