@wavy/fn 0.0.21 → 0.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/dist/main.cjs CHANGED
@@ -27,6 +27,8 @@ __export(main_exports, {
27
27
  blankSpaces: () => blankSpaces,
28
28
  buildArray: () => buildArray,
29
29
  camelCaseToLetter: () => camelCaseToLetter,
30
+ castArray: () => castArray,
31
+ castReturn: () => castReturn,
30
32
  classNameExt: () => classNameExt,
31
33
  classNameResolver: () => classNameResolver,
32
34
  coerceIn: () => coerceIn,
@@ -54,17 +56,22 @@ __export(main_exports, {
54
56
  insertAt: () => insertAt,
55
57
  isEmpty: () => isEmpty,
56
58
  isFile: () => isFile,
59
+ isIterable: () => isIterable,
57
60
  isLetter: () => isLetter,
58
61
  isLocalFile: () => isLocalFile,
59
62
  isNumber: () => isNumber,
63
+ isPromise: () => isPromise,
60
64
  lastIndex: () => lastIndex,
61
65
  map: () => map,
62
66
  mapToArray: () => mapToArray,
63
67
  maxOf: () => maxOf,
64
68
  minOf: () => minOf,
65
69
  negate: () => negate,
70
+ omit: () => omit,
71
+ omitNils: () => omitNils,
66
72
  ordinalIndicator: () => ordinalIndicator,
67
73
  overwrite: () => overwrite,
74
+ pick: () => pick,
68
75
  pluralize: () => pluralize,
69
76
  poll: () => poll,
70
77
  random: () => random,
@@ -597,6 +604,47 @@ function isLocalFile(value) {
597
604
  }
598
605
  return false;
599
606
  }
607
+ function isIterable(value) {
608
+ return !!value && typeof value === "object" && Symbol.iterator in value && typeof value[Symbol.iterator] === "function";
609
+ }
610
+ function isPromise(value) {
611
+ return !!value && (typeof value === "object" || typeof value === "function") && "then" in value && typeof value.then === "function";
612
+ }
613
+ function castArray(value) {
614
+ return Array.isArray(value) ? value : [value];
615
+ }
616
+ function castReturn(value) {
617
+ if (typeof value === "function") return value();
618
+ else return value;
619
+ }
620
+ function pick(value, keys) {
621
+ const result = {};
622
+ if (!value || !keys || keys.length === 0) return value;
623
+ for (const key of keys) {
624
+ if (key in value) result[key] = value[key];
625
+ else result[key] = null;
626
+ }
627
+ return result;
628
+ }
629
+ function omit(value, keys) {
630
+ const result = {};
631
+ if (!value || !keys || keys.length === 0) return value;
632
+ for (const [k, v] of Object.entries(value)) {
633
+ if (!(keys || []).includes(k)) result[k] = v;
634
+ }
635
+ return result;
636
+ }
637
+ function omitNils(value) {
638
+ const result = {};
639
+ if (!value) return value;
640
+ for (const key of Object.keys(value)) {
641
+ const validKey = key;
642
+ const prop = value[validKey];
643
+ if (prop === null || prop === void 0) continue;
644
+ result[validKey] = prop;
645
+ }
646
+ return result;
647
+ }
600
648
  function getMimeTypes(typeAliases) {
601
649
  return distinct(strictArray(typeAliases)).map((alias) => import_types2.LOCAL_FILE_MIME_TYPES[alias]).flat();
602
650
  }
@@ -1094,6 +1142,8 @@ var serverDataAdapter = new ServerDataAdapter().invoke;
1094
1142
  blankSpaces,
1095
1143
  buildArray,
1096
1144
  camelCaseToLetter,
1145
+ castArray,
1146
+ castReturn,
1097
1147
  classNameExt,
1098
1148
  classNameResolver,
1099
1149
  coerceIn,
@@ -1121,17 +1171,22 @@ var serverDataAdapter = new ServerDataAdapter().invoke;
1121
1171
  insertAt,
1122
1172
  isEmpty,
1123
1173
  isFile,
1174
+ isIterable,
1124
1175
  isLetter,
1125
1176
  isLocalFile,
1126
1177
  isNumber,
1178
+ isPromise,
1127
1179
  lastIndex,
1128
1180
  map,
1129
1181
  mapToArray,
1130
1182
  maxOf,
1131
1183
  minOf,
1132
1184
  negate,
1185
+ omit,
1186
+ omitNils,
1133
1187
  ordinalIndicator,
1134
1188
  overwrite,
1189
+ pick,
1135
1190
  pluralize,
1136
1191
  poll,
1137
1192
  random,
package/dist/main.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import "@wavy/types"
2
2
  import * as _wavy_types from '@wavy/types';
3
- import { LocalFile, SanitizeFile, KnownFileTypeAlias, TaskResult, FromServer, NormalizeFromServer } from '@wavy/types';
3
+ import { LocalFile, SanitizeFile, NonFunction, KnownFileTypeAlias, TaskResult, FromServer, NormalizeFromServer } from '@wavy/types';
4
4
 
5
5
  type DateFormat = "MMM dd, yyyy" | "MMM dd, yyyy | hh:mm A" | "MMM dd, yyyy at hh:mm A" | "MMMM" | "yyyy" | "MMM yyyy" | "mm/dd/yyyy" | "mm/dd/yyyy hh:mm A" | "hh:mm A" | "hh:mm:ss A";
6
6
 
@@ -67,6 +67,13 @@ declare function format<Event extends "date" | "money" | "name" | "address" | "f
67
67
  declare function sanitizeLocalFile({ _metadata: _, ...file }: LocalFile): SanitizeFile<LocalFile>;
68
68
  declare function isFile(value: unknown): value is File;
69
69
  declare function isLocalFile(value: unknown): value is LocalFile;
70
+ declare function isIterable<T>(value: unknown): value is Iterable<T>;
71
+ declare function isPromise<T>(value: unknown): value is Promise<T>;
72
+ declare function castArray<T>(value: T | T[]): T[];
73
+ declare function castReturn<T extends NonFunction<any>>(value: T | (() => T)): T;
74
+ declare function pick<O extends object, K extends keyof O>(value: O, keys: K[]): { [Key in K]: O[Key] | null; };
75
+ declare function omit<O extends object, K extends keyof O>(value: O, keys: K[]): { [Key in Exclude<keyof O, K>]: O[Key] | null; };
76
+ declare function omitNils<O extends object>(value: O): O;
70
77
  declare function getMimeTypes(typeAliases: KnownFileTypeAlias[]): string[];
71
78
  declare function classNameResolver(baseClassName: string): (className: string) => string;
72
79
  declare function classNameExt(rootClassName: string): (className: string) => string;
@@ -185,4 +192,4 @@ declare const serverDataAdapter: {
185
192
  }>(event: "unzip", data: DataType): NormalizeFromServer<DataType>;
186
193
  };
187
194
 
188
- export { addArticle, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isLetter, isLocalFile, isNumber, lastIndex, map, mapToArray, maxOf, minOf, negate, ordinalIndicator, overwrite, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, sanitizeLocalFile, serverDataAdapter, someValuesEmpty, sort, strictArray, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, trimString, undefinedIfEmpty, upperFirst, windowed };
195
+ export { addArticle, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isIterable, isLetter, isLocalFile, isNumber, isPromise, lastIndex, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, sanitizeLocalFile, serverDataAdapter, someValuesEmpty, sort, strictArray, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, trimString, undefinedIfEmpty, upperFirst, windowed };
package/dist/main.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import "@wavy/types"
2
2
  import * as _wavy_types from '@wavy/types';
3
- import { LocalFile, SanitizeFile, KnownFileTypeAlias, TaskResult, FromServer, NormalizeFromServer } from '@wavy/types';
3
+ import { LocalFile, SanitizeFile, NonFunction, KnownFileTypeAlias, TaskResult, FromServer, NormalizeFromServer } from '@wavy/types';
4
4
 
5
5
  type DateFormat = "MMM dd, yyyy" | "MMM dd, yyyy | hh:mm A" | "MMM dd, yyyy at hh:mm A" | "MMMM" | "yyyy" | "MMM yyyy" | "mm/dd/yyyy" | "mm/dd/yyyy hh:mm A" | "hh:mm A" | "hh:mm:ss A";
6
6
 
@@ -67,6 +67,13 @@ declare function format<Event extends "date" | "money" | "name" | "address" | "f
67
67
  declare function sanitizeLocalFile({ _metadata: _, ...file }: LocalFile): SanitizeFile<LocalFile>;
68
68
  declare function isFile(value: unknown): value is File;
69
69
  declare function isLocalFile(value: unknown): value is LocalFile;
70
+ declare function isIterable<T>(value: unknown): value is Iterable<T>;
71
+ declare function isPromise<T>(value: unknown): value is Promise<T>;
72
+ declare function castArray<T>(value: T | T[]): T[];
73
+ declare function castReturn<T extends NonFunction<any>>(value: T | (() => T)): T;
74
+ declare function pick<O extends object, K extends keyof O>(value: O, keys: K[]): { [Key in K]: O[Key] | null; };
75
+ declare function omit<O extends object, K extends keyof O>(value: O, keys: K[]): { [Key in Exclude<keyof O, K>]: O[Key] | null; };
76
+ declare function omitNils<O extends object>(value: O): O;
70
77
  declare function getMimeTypes(typeAliases: KnownFileTypeAlias[]): string[];
71
78
  declare function classNameResolver(baseClassName: string): (className: string) => string;
72
79
  declare function classNameExt(rootClassName: string): (className: string) => string;
@@ -185,4 +192,4 @@ declare const serverDataAdapter: {
185
192
  }>(event: "unzip", data: DataType): NormalizeFromServer<DataType>;
186
193
  };
187
194
 
188
- export { addArticle, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isLetter, isLocalFile, isNumber, lastIndex, map, mapToArray, maxOf, minOf, negate, ordinalIndicator, overwrite, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, sanitizeLocalFile, serverDataAdapter, someValuesEmpty, sort, strictArray, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, trimString, undefinedIfEmpty, upperFirst, windowed };
195
+ export { addArticle, arrayWithConst, asyncRun, averageOf, blankSpaces, buildArray, camelCaseToLetter, castArray, castReturn, classNameExt, classNameResolver, coerceIn, copyToClipboard, count, dataSearcher, distinct, drop, dropLast, dropLastWhile, dropWhile, format, getCaps, getFileExt, getFilename, getMimeTypes, group, hasIndex, ifDefined, ifEmpty, inRange, indexOf, indices, inferFilename, insertAt, isEmpty, isFile, isIterable, isLetter, isLocalFile, isNumber, isPromise, lastIndex, map, mapToArray, maxOf, minOf, negate, omit, omitNils, ordinalIndicator, overwrite, pick, pluralize, poll, random, range, readClipboardText, removeAll, repeat, run, sanitizeLocalFile, serverDataAdapter, someValuesEmpty, sort, strictArray, stringToSearch, subObjectList, sumOf, take, takeLast, takeLastWhile, takeWhile, timeDuration, toNumber, toObject, trimString, undefinedIfEmpty, upperFirst, windowed };
package/dist/main.js CHANGED
@@ -502,6 +502,47 @@ function isLocalFile(value) {
502
502
  }
503
503
  return false;
504
504
  }
505
+ function isIterable(value) {
506
+ return !!value && typeof value === "object" && Symbol.iterator in value && typeof value[Symbol.iterator] === "function";
507
+ }
508
+ function isPromise(value) {
509
+ return !!value && (typeof value === "object" || typeof value === "function") && "then" in value && typeof value.then === "function";
510
+ }
511
+ function castArray(value) {
512
+ return Array.isArray(value) ? value : [value];
513
+ }
514
+ function castReturn(value) {
515
+ if (typeof value === "function") return value();
516
+ else return value;
517
+ }
518
+ function pick(value, keys) {
519
+ const result = {};
520
+ if (!value || !keys || keys.length === 0) return value;
521
+ for (const key of keys) {
522
+ if (key in value) result[key] = value[key];
523
+ else result[key] = null;
524
+ }
525
+ return result;
526
+ }
527
+ function omit(value, keys) {
528
+ const result = {};
529
+ if (!value || !keys || keys.length === 0) return value;
530
+ for (const [k, v] of Object.entries(value)) {
531
+ if (!(keys || []).includes(k)) result[k] = v;
532
+ }
533
+ return result;
534
+ }
535
+ function omitNils(value) {
536
+ const result = {};
537
+ if (!value) return value;
538
+ for (const key of Object.keys(value)) {
539
+ const validKey = key;
540
+ const prop = value[validKey];
541
+ if (prop === null || prop === void 0) continue;
542
+ result[validKey] = prop;
543
+ }
544
+ return result;
545
+ }
505
546
  function getMimeTypes(typeAliases) {
506
547
  return distinct(strictArray(typeAliases)).map((alias) => LOCAL_FILE_MIME_TYPES2[alias]).flat();
507
548
  }
@@ -998,6 +1039,8 @@ export {
998
1039
  blankSpaces,
999
1040
  buildArray,
1000
1041
  camelCaseToLetter,
1042
+ castArray,
1043
+ castReturn,
1001
1044
  classNameExt,
1002
1045
  classNameResolver,
1003
1046
  coerceIn,
@@ -1025,17 +1068,22 @@ export {
1025
1068
  insertAt,
1026
1069
  isEmpty,
1027
1070
  isFile,
1071
+ isIterable,
1028
1072
  isLetter,
1029
1073
  isLocalFile,
1030
1074
  isNumber,
1075
+ isPromise,
1031
1076
  lastIndex,
1032
1077
  map,
1033
1078
  mapToArray,
1034
1079
  maxOf,
1035
1080
  minOf,
1036
1081
  negate,
1082
+ omit,
1083
+ omitNils,
1037
1084
  ordinalIndicator,
1038
1085
  overwrite,
1086
+ pick,
1039
1087
  pluralize,
1040
1088
  poll,
1041
1089
  random,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavy/fn",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "main": "./dist/main.js",
5
5
  "module": "./dist/main.cjs",
6
6
  "types": "./dist/main.d.ts",