@bigbinary/neeto-commons-frontend 2.0.11 → 2.0.13

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/pure.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export type Primitives = symbol | string | number | boolean | null | undefined;
2
2
  export type ObjectAndPrimitives = Primitives | object;
3
3
  type KeyType = string | number | symbol;
4
+ type NilOr<T> = T | null | undefined;
4
5
 
5
6
  type Matchable<Obj, Parent, key extends keyof Obj> =
6
7
  | ((object: Obj[key], parent: Parent) => boolean)
@@ -21,7 +22,10 @@ type MatchPattern<Obj = any, Parent = Obj> = Obj extends any[]
21
22
  };
22
23
 
23
24
  export function camelToSnakeCase(string: string): string;
25
+ export function _camelToSnakeCase(string: NilOr<string>): NilOr<string>;
26
+
24
27
  export function capitalize(string: string): string;
28
+ export function _capitalize(string: NilOr<string>): NilOr<string>;
25
29
 
26
30
  export function copyKeys<T>(
27
31
  keyMap: { [key in keyof Partial<T>]: string },
@@ -30,16 +34,37 @@ export function copyKeys<T>(
30
34
  export function copyKeys(keyMap: {
31
35
  [key: string]: string;
32
36
  }): <T>(objectArray: T[]) => (T & { [key: string]: any })[];
37
+ export function _copyKeys<T>(
38
+ keyMap: { [key in keyof Partial<T>]: string },
39
+ objectArray: NilOr<T[]>
40
+ ): NilOr<(T & { [key: string]: any })[]>;
41
+ export function _copyKeys(keyMap: {
42
+ [key: string]: string;
43
+ }): <T>(objectArray: NilOr<T[]>) => NilOr<(T & { [key: string]: any })[]>;
33
44
 
34
45
  export function copyKeysDeep(keyMap: object, objectArray: object[]): object[];
35
46
  export function copyKeysDeep(
36
47
  keyMap: object
37
48
  ): (objectArray: object[]) => object[];
49
+ export function _copyKeysDeep(
50
+ keyMap: object,
51
+ objectArray: NilOr<object[]>
52
+ ): NilOr<object[]>;
53
+ export function _copyKeysDeep(
54
+ keyMap: object
55
+ ): (objectArray: NilOr<object[]>) => NilOr<object[]>;
38
56
 
39
57
  export function countBy<T>(pattern: MatchPattern<T>, entityArray: T[]): number;
40
58
  export function countBy(
41
59
  pattern: MatchPattern
42
60
  ): (entityArray: object[]) => number;
61
+ export function _countBy<T>(
62
+ pattern: MatchPattern<T>,
63
+ entityArray: NilOr<T[]>
64
+ ): NilOr<number>;
65
+ export function _countBy(
66
+ pattern: MatchPattern
67
+ ): (entityArray: NilOr<object[]>) => NilOr<number>;
43
68
 
44
69
  export function deepFreezeObject<T>(object: T): Readonly<T>;
45
70
 
@@ -56,19 +81,51 @@ export function existsBy(
56
81
  pattern: MatchPattern
57
82
  ): (entityArray: object[]) => boolean;
58
83
 
84
+ export function _existsBy<T>(
85
+ pattern: MatchPattern<T>,
86
+ entityArray: NilOr<T[]>
87
+ ): NilOr<boolean>;
88
+ export function _existsBy(
89
+ pattern: MatchPattern
90
+ ): (entityArray: NilOr<object[]>) => NilOr<boolean>;
91
+
59
92
  export function existsById(id: any, entityArray: object[]): boolean;
60
93
  export function existsById(id: any): (entityArray: object[]) => boolean;
94
+ export function _existsById(
95
+ id: any,
96
+ entityArray: NilOr<object[]>
97
+ ): NilOr<boolean>;
98
+ export function _existsById(
99
+ id: any
100
+ ): (entityArray: NilOr<object[]>) => NilOr<boolean>;
61
101
 
62
102
  export function filterBy<T>(pattern: MatchPattern<T>, entityArray: T[]): T[];
63
103
  export function filterBy(pattern: MatchPattern): <T>(entityArray: T[]) => T[];
104
+ export function _filterBy<T>(
105
+ pattern: MatchPattern<T>,
106
+ entityArray: NilOr<T[]>
107
+ ): NilOr<T[]>;
108
+ export function _filterBy(
109
+ pattern: MatchPattern
110
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T[]>;
64
111
 
65
112
  export function filterNonNull(object: object): object;
113
+ export function _filterNonNull(object: NilOr<object>): NilOr<object>;
66
114
 
67
115
  export function findBy<T>(pattern: MatchPattern<T>, entityArray: T[]): T;
68
116
  export function findBy(pattern: MatchPattern): <T>(entityArray: T[]) => T;
117
+ export function _findBy<T>(
118
+ pattern: MatchPattern<T>,
119
+ entityArray: NilOr<T[]>
120
+ ): NilOr<T>;
121
+ export function _findBy(
122
+ pattern: MatchPattern
123
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T>;
69
124
 
70
125
  export function findById<T>(id: any, entityArray: T[]): T;
71
126
  export function findById(id: any): <T>(entityArray: T[]) => T;
127
+ export function _findById<T>(id: any, entityArray: NilOr<T[]>): NilOr<T>;
128
+ export function _findById(id: any): <T>(entityArray: NilOr<T[]>) => NilOr<T>;
72
129
 
73
130
  export function findIndexBy<T>(
74
131
  pattern: MatchPattern<T>,
@@ -77,18 +134,47 @@ export function findIndexBy<T>(
77
134
  export function findIndexBy(
78
135
  pattern: MatchPattern
79
136
  ): (entityArray: object[]) => number;
137
+ export function _findIndexBy<T>(
138
+ pattern: MatchPattern<T>,
139
+ entityArray: NilOr<T[]>
140
+ ): NilOr<number>;
141
+ export function _findIndexBy(
142
+ pattern: MatchPattern
143
+ ): (entityArray: NilOr<object[]>) => NilOr<number>;
80
144
 
81
145
  export function findIndexById(id: any, entityArray: object[]): number;
82
146
  export function findIndexById(id: any): (entityArray: object[]) => number;
147
+ export function _findIndexById(
148
+ id: any,
149
+ entityArray: NilOr<object[]>
150
+ ): NilOr<number>;
151
+ export function _findIndexById(
152
+ id: any
153
+ ): (entityArray: NilOr<object[]>) => NilOr<number>;
83
154
 
84
155
  export function findLastBy<T>(pattern: MatchPattern<T>, entityArray: T[]): T;
85
156
  export function findLastBy(pattern: MatchPattern): <T>(entityArray: T[]) => T;
157
+ export function _findLastBy<T>(
158
+ pattern: MatchPattern<T>,
159
+ entityArray: NilOr<T[]>
160
+ ): NilOr<T>;
161
+ export function _findLastBy(
162
+ pattern: MatchPattern
163
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T>;
86
164
 
87
165
  export function findLastIndexBy(id: any, entityArray: object[]): number;
88
166
  export function findLastIndexBy(id: any): (entityArray: object[]) => number;
167
+ export function _findLastIndexBy(
168
+ id: any,
169
+ entityArray: NilOr<object[]>
170
+ ): NilOr<number>;
171
+ export function _findLastIndexBy(
172
+ id: any
173
+ ): (entityArray: NilOr<object[]>) => NilOr<number>;
89
174
 
90
175
  export function getRandomInt(a?: number, b?: number): number;
91
176
  export function humanize(string: string): string;
177
+ export function _humanize(string: NilOr<string>): NilOr<string>;
92
178
 
93
179
  export function isNot(a: any, b: any): boolean;
94
180
  export function isNot(a: any): (b: any) => boolean;
@@ -121,6 +207,21 @@ export function modifyBy(
121
207
  export function modifyBy(
122
208
  pattern: MatchPattern
123
209
  ): <T>(modifier: (previous: T) => T) => (entityArray: T[]) => T[];
210
+ export function _modifyBy<T>(
211
+ pattern: MatchPattern<T>,
212
+ modifier: (previous: T) => T,
213
+ entityArray: NilOr<T[]>
214
+ ): NilOr<T[]>;
215
+ export function _modifyBy<T>(
216
+ pattern: MatchPattern<T>,
217
+ modifier: (previous: T) => T
218
+ ): (entityArray: NilOr<T[]>) => NilOr<T[]>;
219
+ export function _modifyBy(
220
+ pattern: MatchPattern
221
+ ): <T>(modifier: (previous: T) => T, entityArray: NilOr<T[]>) => NilOr<T[]>;
222
+ export function _modifyBy(
223
+ pattern: MatchPattern
224
+ ): <T>(modifier: (previous: T) => T) => (entityArray: NilOr<T[]>) => NilOr<T[]>;
124
225
 
125
226
  export function modifyById<T>(
126
227
  id: any,
@@ -137,6 +238,21 @@ export function modifyById(
137
238
  export function modifyById(
138
239
  id: any
139
240
  ): <T>(modifier: (previous: T) => T) => (entityArray: T[]) => T[];
241
+ export function _modifyById<T>(
242
+ id: any,
243
+ modifier: (previous: T) => T,
244
+ entityArray: NilOr<T[]>
245
+ ): NilOr<T[]>;
246
+ export function _modifyById<T>(
247
+ id: any,
248
+ modifier: (previous: T) => T
249
+ ): (entityArray: NilOr<T[]>) => NilOr<T[]>;
250
+ export function _modifyById(
251
+ id: any
252
+ ): <T>(modifier: (previous: T) => T, entityArray: NilOr<T[]>) => NilOr<T[]>;
253
+ export function _modifyById(
254
+ id: any
255
+ ): <T>(modifier: (previous: T) => T) => (entityArray: NilOr<T[]>) => NilOr<T[]>;
140
256
 
141
257
  export function noop(...args: any[]): void;
142
258
 
@@ -150,29 +266,64 @@ export function randomPick<T>(...args: T[]): T;
150
266
 
151
267
  export function removeBy<T>(pattern: MatchPattern<T>, entityArray: T[]): T[];
152
268
  export function removeBy(pattern: MatchPattern): <T>(entityArray: T[]) => T[];
269
+ export function _removeBy<T>(
270
+ pattern: MatchPattern<T>,
271
+ entityArray: NilOr<T[]>
272
+ ): NilOr<T[]>;
273
+ export function _removeBy(
274
+ pattern: MatchPattern
275
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T[]>;
153
276
 
154
277
  export function removeById<T>(id: any, entityArray: T[]): T[];
155
278
  export function removeById(id: any): <T>(entityArray: T[]) => T[];
279
+ export function _removeById<T>(id: any, entityArray: NilOr<T[]>): NilOr<T[]>;
280
+ export function _removeById(
281
+ id: any
282
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T[]>;
156
283
 
157
284
  export function renameKeys<T, M extends { [key in keyof Partial<T>]: string }>(
158
285
  keyMap: M,
159
286
  entityArray: T[]
160
287
  ): (Omit<T, keyof M> & { [key: string]: any })[];
161
-
162
288
  export function renameKeys<M extends { [key: string]: string }>(
163
289
  keyMap: M
164
290
  ): <T>(entityArray: T[]) => (Omit<T, keyof M> & { [key: string]: any })[];
291
+ export function _renameKeys<T, M extends { [key in keyof Partial<T>]: string }>(
292
+ keyMap: M,
293
+ entityArray: NilOr<T[]>
294
+ ): NilOr<(Omit<T, keyof M> & { [key: string]: any })[]>;
295
+ export function _renameKeys<M extends { [key: string]: string }>(
296
+ keyMap: M
297
+ ): <T>(
298
+ entityArray: NilOr<T[]>
299
+ ) => NilOr<(Omit<T, keyof M> & { [key: string]: any })[]>;
165
300
 
166
301
  export function replaceBy<T>(pattern: MatchPattern<T>, entityArray: T[]): T[];
167
302
  export function replaceBy(pattern: MatchPattern): <T>(entityArray: T[]) => T[];
303
+ export function _replaceBy<T>(
304
+ pattern: MatchPattern<T>,
305
+ entityArray: NilOr<T[]>
306
+ ): NilOr<T[]>;
307
+ export function _replaceBy(
308
+ pattern: MatchPattern
309
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T[]>;
168
310
 
169
311
  export function replaceById<T>(id: any, entityArray: T[]): T[];
170
312
  export function replaceById(id: any): <T>(entityArray: T[]) => T[];
313
+ export function _replaceById<T>(id: any, entityArray: NilOr<T[]>): NilOr<T[]>;
314
+ export function _replaceById(
315
+ id: any
316
+ ): <T>(entityArray: NilOr<T[]>) => NilOr<T[]>;
171
317
 
172
318
  export function serializeKeysToSnakeCase(object: object): object;
173
319
  export function preprocessForSerialization(object: object): object;
320
+
174
321
  export function slugify(string: string): string;
322
+ export function _slugify(string: NilOr<string>): NilOr<string>;
323
+
175
324
  export function snakeToCamelCase(string: string): string;
325
+ export function _snakeToCamelCase(string: NilOr<string>): NilOr<string>;
326
+
176
327
  export function toLabelAndValue(string: string): {
177
328
  label: string;
178
329
  value: string;
@@ -184,3 +335,8 @@ export function transformObjectDeep(
184
335
  ): object;
185
336
 
186
337
  export function truncate(string: string, length: number): string;
338
+ export function truncate(string: NilOr<string>, length: number): NilOr<string>;
339
+
340
+ export function nullSafe<T extends Function>(
341
+ func: T
342
+ ): (...args: any) => ReturnType<T>;
package/pure.js CHANGED
@@ -1,4 +1,4 @@
1
- import { concat, slice, curry, isNil, complement, findLast, findLastIndex, count, fromPairs, toPairs, path, isEmpty, equals } from 'ramda';
1
+ import { curryN, isNil, complement, isEmpty, curry, equals, concat, slice, findLast, findLastIndex, count, fromPairs, toPairs, path } from 'ramda';
2
2
 
3
3
  function _arrayWithHoles(arr) {
4
4
  if (Array.isArray(arr)) return arr;
@@ -71,6 +71,67 @@ function _typeof(obj) {
71
71
  }, _typeof(obj);
72
72
  }
73
73
 
74
+ /**
75
+ * @template {Function} T
76
+ * @param {T} func
77
+ * @returns {T}
78
+ */
79
+
80
+ var nullSafe = function nullSafe(func) {
81
+ return (// @ts-ignore
82
+ curryN(func.length, function () {
83
+ var _ref;
84
+
85
+ var dataArg = (_ref = func.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref]);
86
+ return isNil(dataArg) ? dataArg : func.apply(void 0, arguments);
87
+ })
88
+ );
89
+ };
90
+ var noop = function noop() {};
91
+ var toLabelAndValue = function toLabelAndValue(string) {
92
+ return {
93
+ label: string,
94
+ value: string
95
+ };
96
+ };
97
+ var getRandomInt = function getRandomInt() {
98
+ var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;
99
+ var b = arguments.length > 1 ? arguments[1] : undefined;
100
+
101
+ if (b) {
102
+ a = Math.ceil(a);
103
+ b = Math.floor(b);
104
+ } else {
105
+ b = a;
106
+ a = 0;
107
+ }
108
+
109
+ return Math.floor(Math.random() * (b - a) + a);
110
+ };
111
+ var randomPick = function randomPick() {
112
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
113
+ args[_key] = arguments[_key];
114
+ }
115
+
116
+ var randomNumber = getRandomInt(0, args.length);
117
+ return args[randomNumber];
118
+ };
119
+ var dynamicArray = function dynamicArray(count, elementGenerator) {
120
+ return Array.from({
121
+ length: count
122
+ }, function (_, index) {
123
+ return elementGenerator(index);
124
+ });
125
+ };
126
+ var isNotNil = /*#__PURE__*/complement(isNil);
127
+ var isNotEmpty = /*#__PURE__*/complement(isEmpty);
128
+ var notEquals = /*#__PURE__*/curry(function (x, y) {
129
+ return x !== y;
130
+ });
131
+ var isNot = notEquals;
132
+ var notEqualsDeep = /*#__PURE__*/complement(equals);
133
+ var isNotEqualDeep = notEqualsDeep;
134
+
74
135
  var slugify = function slugify(string) {
75
136
  return string.toString().toLowerCase().replace(/\s+/g, "-") // Replace spaces with -
76
137
  .replace(/&/g, "-and-") // Replace & with 'and'
@@ -101,6 +162,14 @@ var capitalize = function capitalize(string) {
101
162
  var truncate = function truncate(string, length) {
102
163
  return string.length > length ? concat(slice(0, length, string), "...") : string;
103
164
  };
165
+ var _slugify = nullSafe(slugify);
166
+ var _humanize = nullSafe(humanize);
167
+ var _snakeToCamelCase = nullSafe(snakeToCamelCase);
168
+ var _camelToSnakeCase = nullSafe(camelToSnakeCase);
169
+ var _capitalize = nullSafe(capitalize);
170
+ var _truncate = function _truncate(string, length) {
171
+ return isNil(string) ? string : truncate(string, length);
172
+ };
104
173
 
105
174
  var matchesImpl = function matchesImpl(pattern, object) {
106
175
  var __parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
@@ -192,6 +261,7 @@ var filterNonNull = function filterNonNull(object) {
192
261
  return [k, _typeof(v) === "object" && !Array.isArray(v) ? filterNonNull(v) : v];
193
262
  }));
194
263
  };
264
+ var _filterNonNull = nullSafe(filterNonNull);
195
265
 
196
266
  function _defineProperty(obj, key, value) {
197
267
  if (key in obj) {
@@ -322,50 +392,24 @@ var copyKeysDeep = /*#__PURE__*/curry(function (keyMap, objectArray) {
322
392
  return copyKeysSingleObject(object, keyMap);
323
393
  });
324
394
  });
325
-
326
- var noop = function noop() {};
327
- var toLabelAndValue = function toLabelAndValue(string) {
328
- return {
329
- label: string,
330
- value: string
331
- };
332
- };
333
- var getRandomInt = function getRandomInt() {
334
- var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;
335
- var b = arguments.length > 1 ? arguments[1] : undefined;
336
-
337
- if (b) {
338
- a = Math.ceil(a);
339
- b = Math.floor(b);
340
- } else {
341
- b = a;
342
- a = 0;
343
- }
344
-
345
- return Math.floor(Math.random() * (b - a) + a);
346
- };
347
- var randomPick = function randomPick() {
348
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
349
- args[_key] = arguments[_key];
350
- }
351
-
352
- var randomNumber = getRandomInt(0, args.length);
353
- return args[randomNumber];
354
- };
355
- var dynamicArray = function dynamicArray(count, elementGenerator) {
356
- return Array.from({
357
- length: count
358
- }, function (_, index) {
359
- return elementGenerator(index);
360
- });
361
- };
362
- var isNotNil = /*#__PURE__*/complement(isNil);
363
- var isNotEmpty = /*#__PURE__*/complement(isEmpty);
364
- var notEquals = /*#__PURE__*/curry(function (x, y) {
365
- return x !== y;
366
- });
367
- var isNot = notEquals;
368
- var notEqualsDeep = /*#__PURE__*/complement(equals);
369
- var isNotEqualDeep = notEqualsDeep;
370
-
371
- export { camelToSnakeCase, capitalize, copyKeys, copyKeysDeep, countBy, deepFreezeObject, dynamicArray, existsBy, existsById, filterBy, filterNonNull, findBy, findById, findIndexBy, findIndexById, findLastBy, findLastIndexBy, getRandomInt, humanize, isNot, isNotEmpty, isNotEqualDeep, isNotNil, keysToCamelCase, keysToSnakeCase, matches, modifyBy, modifyById, noop, notEquals, notEqualsDeep, preprocessForSerialization, randomPick, removeBy, removeById, renameKeys, replaceBy, replaceById, serializeKeysToSnakeCase, slugify, snakeToCamelCase, toLabelAndValue, transformObjectDeep, truncate };
395
+ var _removeById = /*#__PURE__*/nullSafe(removeById);
396
+ var _findById = /*#__PURE__*/nullSafe(findById);
397
+ var _replaceById = /*#__PURE__*/nullSafe(replaceById);
398
+ var _modifyById = /*#__PURE__*/nullSafe(modifyById);
399
+ var _findBy = /*#__PURE__*/nullSafe(findBy);
400
+ var _removeBy = /*#__PURE__*/nullSafe(removeBy);
401
+ var _replaceBy = /*#__PURE__*/nullSafe(replaceBy);
402
+ var _modifyBy = /*#__PURE__*/nullSafe(modifyBy);
403
+ var _existsById = /*#__PURE__*/nullSafe(existsById);
404
+ var _existsBy = /*#__PURE__*/nullSafe(existsBy);
405
+ var _findLastBy = /*#__PURE__*/nullSafe(findLastBy);
406
+ var _findIndexById = /*#__PURE__*/nullSafe(findIndexById);
407
+ var _findIndexBy = /*#__PURE__*/nullSafe(findIndexBy);
408
+ var _findLastIndexBy = /*#__PURE__*/nullSafe(findLastIndexBy);
409
+ var _filterBy = /*#__PURE__*/nullSafe(filterBy);
410
+ var _countBy = /*#__PURE__*/nullSafe(countBy);
411
+ var _copyKeys = /*#__PURE__*/nullSafe(copyKeys);
412
+ var _renameKeys = /*#__PURE__*/nullSafe(renameKeys);
413
+ var _copyKeysDeep = /*#__PURE__*/nullSafe(copyKeysDeep);
414
+
415
+ export { _camelToSnakeCase, _capitalize, _copyKeys, _copyKeysDeep, _countBy, _existsBy, _existsById, _filterBy, _filterNonNull, _findBy, _findById, _findIndexBy, _findIndexById, _findLastBy, _findLastIndexBy, _humanize, _modifyBy, _modifyById, _removeBy, _removeById, _renameKeys, _replaceBy, _replaceById, _slugify, _snakeToCamelCase, _truncate, camelToSnakeCase, capitalize, copyKeys, copyKeysDeep, countBy, deepFreezeObject, dynamicArray, existsBy, existsById, filterBy, filterNonNull, findBy, findById, findIndexBy, findIndexById, findLastBy, findLastIndexBy, getRandomInt, humanize, isNot, isNotEmpty, isNotEqualDeep, isNotNil, keysToCamelCase, keysToSnakeCase, matches, modifyBy, modifyById, noop, notEquals, notEqualsDeep, nullSafe, preprocessForSerialization, randomPick, removeBy, removeById, renameKeys, replaceBy, replaceById, serializeKeysToSnakeCase, slugify, snakeToCamelCase, toLabelAndValue, transformObjectDeep, truncate };