@wavy/fn 0.0.40 → 0.0.41

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/dist/main.cjs CHANGED
@@ -77,8 +77,8 @@ __export(main_exports, {
77
77
  ordinalIndicator: () => ordinalIndicator,
78
78
  overwrite: () => overwrite,
79
79
  parseAddress: () => parseAddress,
80
+ parseBytes: () => parseBytes,
80
81
  parseDate: () => parseDate,
81
- parseFileSize: () => parseFileSize,
82
82
  parseMoney: () => parseMoney,
83
83
  parseName: () => parseName,
84
84
  pick: () => pick,
@@ -185,8 +185,8 @@ var Overloader = class {
185
185
  var toObject = new Overloader().invoke;
186
186
  var ObjectConverter_default = toObject;
187
187
 
188
- // src/helper-functions/components/formatter/FileSizeFormatter.ts
189
- var FileSizeFormatter = class {
188
+ // src/helper-functions/components/formatter/ByteFormatter.ts
189
+ var ByteFormatter = class {
190
190
  constructor(bytes) {
191
191
  this.bytes = bytes;
192
192
  }
@@ -590,14 +590,17 @@ function format(event, ...args) {
590
590
  return getCaller(toMoney);
591
591
  case "name":
592
592
  return getCaller(nameToString);
593
- case "file-size":
594
- return new FileSizeFormatter(args[0]).format();
593
+ case "bytes":
594
+ return new ByteFormatter(args[0]).format();
595
595
  default:
596
596
  return event;
597
597
  }
598
598
  }
599
- function TODO(message) {
600
- throw new Error(`Todo: ${message}`);
599
+ function TODO(message, options) {
600
+ const error = new Error(`Todo: ${message}`);
601
+ console.error(error);
602
+ if (options?.subtle) return;
603
+ throw error;
601
604
  }
602
605
  function isFile(value) {
603
606
  const requiredKeys = [
@@ -688,11 +691,7 @@ function arrayEquals(...args) {
688
691
  if (args.length === 1) return true;
689
692
  return args.every((array, i) => {
690
693
  const compareTo = args[i - 1] ?? args[i + 1];
691
- return array.length === compareTo.length && array.every((item, idx) => {
692
- if (Array.isArray(item)) {
693
- args.push(item);
694
- return true;
695
- }
694
+ return Array.isArray(array) && array.length === compareTo.length && array.every((item, idx) => {
696
695
  return typeof item === typeof compareTo[idx] && (typeof item === "object" ? findChanges(item, compareTo[idx]).length < 1 : JSON.stringify(item).trim().toLowerCase() === JSON.stringify(compareTo[idx]).trim().toLowerCase());
697
696
  });
698
697
  });
@@ -750,8 +749,8 @@ function parseAddress(address, ...args) {
750
749
  }
751
750
  return null;
752
751
  }
753
- function parseFileSize(bytes) {
754
- return new FileSizeFormatter(bytes).format();
752
+ function parseBytes(bytes) {
753
+ return new ByteFormatter(bytes).format();
755
754
  }
756
755
  function limit(array, limit2) {
757
756
  const newArray = [];
@@ -790,11 +789,10 @@ function omitNils(value) {
790
789
  const result = {};
791
790
  if (!value) return value;
792
791
  if (Array.isArray(value)) return value.filter((d) => !!d);
793
- for (const key of Object.keys(value)) {
794
- const validKey = key;
795
- const prop = value[validKey];
796
- if (prop === null || prop === void 0) continue;
797
- result[validKey] = prop;
792
+ for (const [k, v] of Object.entries(value)) {
793
+ const validKey = k;
794
+ if (typeof v === "number" && isNaN(v) || v === null || v === void 0) continue;
795
+ result[validKey] = v;
798
796
  }
799
797
  return result;
800
798
  }
@@ -1172,8 +1170,8 @@ function arrayWithConst(array) {
1172
1170
  ordinalIndicator,
1173
1171
  overwrite,
1174
1172
  parseAddress,
1173
+ parseBytes,
1175
1174
  parseDate,
1176
- parseFileSize,
1177
1175
  parseMoney,
1178
1176
  parseName,
1179
1177
  pick,
package/dist/main.d.cts CHANGED
@@ -79,10 +79,18 @@ declare const addressToString: (address: Address | undefined, inline?: boolean)
79
79
  declare const toMoney: (value: string | number, options?: NumberFormatterTypes["options"]["money"]) => string;
80
80
  /**
81
81
  * @deprecated Migrate to individual function calls.
82
- * @example parseDate, parseMoney, parseName, parseAddress, parseFileSize
82
+ * @example parseDate, parseMoney, parseName, parseAddress, parseBytes
83
83
  */
84
- declare function format<Event extends "date" | "money" | "name" | "address" | "file-size">(event: Event, ...args: Event extends "date" ? Parameters<typeof dateFormat> : Event extends "money" ? Parameters<typeof toMoney> : Event extends "name" ? Parameters<typeof nameToString> : Event extends "address" ? Parameters<typeof addressToString> : Event extends "file-size" ? [bytes: number] : never): Event extends "date" | "money" | "name" | "address" | "file-size" ? string : never;
85
- declare function TODO(message: string): void;
84
+ declare function format<Event extends "date" | "money" | "name" | "address" | "bytes">(event: Event, ...args: {
85
+ date: Parameters<typeof dateFormat>;
86
+ money: Parameters<typeof toMoney>;
87
+ name: Parameters<typeof nameToString>;
88
+ address: Parameters<typeof addressToString>;
89
+ bytes: [bytes: number];
90
+ }[Event]): typeof event extends Event ? string : never;
91
+ declare function TODO(message: string, options?: Partial<{
92
+ subtle: boolean;
93
+ }>): void;
86
94
  declare function isFile(value: unknown): value is File;
87
95
  declare function isFileDetails(value: unknown): value is FileDetails;
88
96
  declare function traverse(obj: object, path: string): object;
@@ -120,13 +128,13 @@ declare function parseAddress<T extends Address | string>(address: T, ...args: T
120
128
  syntax?: (keyof Address)[];
121
129
  }>
122
130
  ] : T extends Address ? [inline?: boolean] : []): (T extends Address ? string : T extends string ? Address : never) | null;
123
- declare function parseFileSize(bytes: number): string;
131
+ declare function parseBytes(bytes: number): string;
124
132
  declare function limit<T>(array: T[], limit: number): T[] | undefined;
125
133
  declare function castArray<T>(value: T | T[]): T[];
126
134
  declare function castReturn<T extends NonFunction<any>>(value: T | (() => T)): T;
127
135
  declare function pick<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): { [Key in K]: O[Key] | null; };
128
- declare function omit<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): { [Key in Exclude<keyof O, K>]: O[Key] | null; };
129
- declare function omitNils<T extends object | any[]>(value: T): any[] | T;
136
+ declare function omit<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): Omit<O, K>;
137
+ declare function omitNils<T extends object | any[]>(value: T): T;
130
138
  declare function map<T>(arr: T[], callback: (value: T, index: number, array: T[], end: () => void) => T): T[];
131
139
  declare function getMimeTypes(typeAliases: KnownFileAlias[]): string[];
132
140
  declare function classNameResolver(baseClassName: string): (className: string) => string;
@@ -236,4 +244,4 @@ declare function arrayWithConst<T>(array: T[]): {
236
244
  asConst: readonly T[];
237
245
  };
238
246
 
239
- export { TODO, addArticle, arrayEquals, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, findChanges, findObjectChanges, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isFileDetails, isIterable, isLetter, isNumber, isPromise, lastIndex, limit, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, parseAddress, parseDate, parseFileSize, parseMoney, parseName, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, someValuesEmpty, sort, strictArray, strictArrayEquals, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, traverse, trimString, undefinedIfEmpty, upperFirst, windowed };
247
+ export { TODO, addArticle, arrayEquals, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, findChanges, findObjectChanges, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isFileDetails, isIterable, isLetter, isNumber, isPromise, lastIndex, limit, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, parseAddress, parseBytes, parseDate, parseMoney, parseName, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, someValuesEmpty, sort, strictArray, strictArrayEquals, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, traverse, trimString, undefinedIfEmpty, upperFirst, windowed };
package/dist/main.d.ts CHANGED
@@ -79,10 +79,18 @@ declare const addressToString: (address: Address | undefined, inline?: boolean)
79
79
  declare const toMoney: (value: string | number, options?: NumberFormatterTypes["options"]["money"]) => string;
80
80
  /**
81
81
  * @deprecated Migrate to individual function calls.
82
- * @example parseDate, parseMoney, parseName, parseAddress, parseFileSize
82
+ * @example parseDate, parseMoney, parseName, parseAddress, parseBytes
83
83
  */
84
- declare function format<Event extends "date" | "money" | "name" | "address" | "file-size">(event: Event, ...args: Event extends "date" ? Parameters<typeof dateFormat> : Event extends "money" ? Parameters<typeof toMoney> : Event extends "name" ? Parameters<typeof nameToString> : Event extends "address" ? Parameters<typeof addressToString> : Event extends "file-size" ? [bytes: number] : never): Event extends "date" | "money" | "name" | "address" | "file-size" ? string : never;
85
- declare function TODO(message: string): void;
84
+ declare function format<Event extends "date" | "money" | "name" | "address" | "bytes">(event: Event, ...args: {
85
+ date: Parameters<typeof dateFormat>;
86
+ money: Parameters<typeof toMoney>;
87
+ name: Parameters<typeof nameToString>;
88
+ address: Parameters<typeof addressToString>;
89
+ bytes: [bytes: number];
90
+ }[Event]): typeof event extends Event ? string : never;
91
+ declare function TODO(message: string, options?: Partial<{
92
+ subtle: boolean;
93
+ }>): void;
86
94
  declare function isFile(value: unknown): value is File;
87
95
  declare function isFileDetails(value: unknown): value is FileDetails;
88
96
  declare function traverse(obj: object, path: string): object;
@@ -120,13 +128,13 @@ declare function parseAddress<T extends Address | string>(address: T, ...args: T
120
128
  syntax?: (keyof Address)[];
121
129
  }>
122
130
  ] : T extends Address ? [inline?: boolean] : []): (T extends Address ? string : T extends string ? Address : never) | null;
123
- declare function parseFileSize(bytes: number): string;
131
+ declare function parseBytes(bytes: number): string;
124
132
  declare function limit<T>(array: T[], limit: number): T[] | undefined;
125
133
  declare function castArray<T>(value: T | T[]): T[];
126
134
  declare function castReturn<T extends NonFunction<any>>(value: T | (() => T)): T;
127
135
  declare function pick<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): { [Key in K]: O[Key] | null; };
128
- declare function omit<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): { [Key in Exclude<keyof O, K>]: O[Key] | null; };
129
- declare function omitNils<T extends object | any[]>(value: T): any[] | T;
136
+ declare function omit<O extends object, K extends keyof O = keyof O>(value: O, keys: K[]): Omit<O, K>;
137
+ declare function omitNils<T extends object | any[]>(value: T): T;
130
138
  declare function map<T>(arr: T[], callback: (value: T, index: number, array: T[], end: () => void) => T): T[];
131
139
  declare function getMimeTypes(typeAliases: KnownFileAlias[]): string[];
132
140
  declare function classNameResolver(baseClassName: string): (className: string) => string;
@@ -236,4 +244,4 @@ declare function arrayWithConst<T>(array: T[]): {
236
244
  asConst: readonly T[];
237
245
  };
238
246
 
239
- export { TODO, addArticle, arrayEquals, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, findChanges, findObjectChanges, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isFileDetails, isIterable, isLetter, isNumber, isPromise, lastIndex, limit, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, parseAddress, parseDate, parseFileSize, parseMoney, parseName, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, someValuesEmpty, sort, strictArray, strictArrayEquals, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, traverse, trimString, undefinedIfEmpty, upperFirst, windowed };
247
+ export { TODO, addArticle, arrayEquals, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, findChanges, findObjectChanges, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isFileDetails, isIterable, isLetter, isNumber, isPromise, lastIndex, limit, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, parseAddress, parseBytes, parseDate, parseMoney, parseName, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, someValuesEmpty, sort, strictArray, strictArrayEquals, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, traverse, trimString, undefinedIfEmpty, upperFirst, windowed };
package/dist/main.js CHANGED
@@ -74,8 +74,8 @@ var Overloader = class {
74
74
  var toObject = new Overloader().invoke;
75
75
  var ObjectConverter_default = toObject;
76
76
 
77
- // src/helper-functions/components/formatter/FileSizeFormatter.ts
78
- var FileSizeFormatter = class {
77
+ // src/helper-functions/components/formatter/ByteFormatter.ts
78
+ var ByteFormatter = class {
79
79
  constructor(bytes) {
80
80
  this.bytes = bytes;
81
81
  }
@@ -479,14 +479,17 @@ function format(event, ...args) {
479
479
  return getCaller(toMoney);
480
480
  case "name":
481
481
  return getCaller(nameToString);
482
- case "file-size":
483
- return new FileSizeFormatter(args[0]).format();
482
+ case "bytes":
483
+ return new ByteFormatter(args[0]).format();
484
484
  default:
485
485
  return event;
486
486
  }
487
487
  }
488
- function TODO(message) {
489
- throw new Error(`Todo: ${message}`);
488
+ function TODO(message, options) {
489
+ const error = new Error(`Todo: ${message}`);
490
+ console.error(error);
491
+ if (options?.subtle) return;
492
+ throw error;
490
493
  }
491
494
  function isFile(value) {
492
495
  const requiredKeys = [
@@ -577,11 +580,7 @@ function arrayEquals(...args) {
577
580
  if (args.length === 1) return true;
578
581
  return args.every((array, i) => {
579
582
  const compareTo = args[i - 1] ?? args[i + 1];
580
- return array.length === compareTo.length && array.every((item, idx) => {
581
- if (Array.isArray(item)) {
582
- args.push(item);
583
- return true;
584
- }
583
+ return Array.isArray(array) && array.length === compareTo.length && array.every((item, idx) => {
585
584
  return typeof item === typeof compareTo[idx] && (typeof item === "object" ? findChanges(item, compareTo[idx]).length < 1 : JSON.stringify(item).trim().toLowerCase() === JSON.stringify(compareTo[idx]).trim().toLowerCase());
586
585
  });
587
586
  });
@@ -639,8 +638,8 @@ function parseAddress(address, ...args) {
639
638
  }
640
639
  return null;
641
640
  }
642
- function parseFileSize(bytes) {
643
- return new FileSizeFormatter(bytes).format();
641
+ function parseBytes(bytes) {
642
+ return new ByteFormatter(bytes).format();
644
643
  }
645
644
  function limit(array, limit2) {
646
645
  const newArray = [];
@@ -679,11 +678,10 @@ function omitNils(value) {
679
678
  const result = {};
680
679
  if (!value) return value;
681
680
  if (Array.isArray(value)) return value.filter((d) => !!d);
682
- for (const key of Object.keys(value)) {
683
- const validKey = key;
684
- const prop = value[validKey];
685
- if (prop === null || prop === void 0) continue;
686
- result[validKey] = prop;
681
+ for (const [k, v] of Object.entries(value)) {
682
+ const validKey = k;
683
+ if (typeof v === "number" && isNaN(v) || v === null || v === void 0) continue;
684
+ result[validKey] = v;
687
685
  }
688
686
  return result;
689
687
  }
@@ -1060,8 +1058,8 @@ export {
1060
1058
  ordinalIndicator,
1061
1059
  overwrite,
1062
1060
  parseAddress,
1061
+ parseBytes,
1063
1062
  parseDate,
1064
- parseFileSize,
1065
1063
  parseMoney,
1066
1064
  parseName,
1067
1065
  pick,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavy/fn",
3
- "version": "0.0.40",
3
+ "version": "0.0.41",
4
4
  "main": "./dist/main.js",
5
5
  "module": "./dist/main.cjs",
6
6
  "types": "./dist/main.d.ts",