File tree Expand file tree Collapse file tree 6 files changed +266
-650
lines changed Expand file tree Collapse file tree 6 files changed +266
-650
lines changed Original file line number Diff line number Diff line change 11[
2- " assertAlphanumericString" ,
3- " assertNumericString" ,
4- " assertUUID" ,
52 " camelCase" ,
63 " capitalize" ,
74 " classifyText" ,
2623 " isNumeric" ,
2724 " isUUID" ,
2825 " isUrl" ,
29- " isValidAlphanumeric" ,
30- " isValidNumeric" ,
31- " isValidUUID" ,
3226 " kebabCase" ,
3327 " levenshtein" ,
3428 " levenshteinNormalized" ,
5549 " templateSafe" ,
5650 " titleCase" ,
5751 " toASCII" ,
58- " toAlphanumericString" ,
59- " toNumericString" ,
60- " toUUID" ,
6152 " truncate" ,
62- " unsafeAlphanumericString" ,
63- " unsafeNumericString" ,
64- " unsafeUUID" ,
6553 " wordCount"
6654]
Original file line number Diff line number Diff line change 11{
2- "generated" : " 2025-10-21T21:28:34.252Z " ,
3- "totalFunctions" : 64 ,
2+ "generated" : " 2025-10-21T22:00:10.658Z " ,
3+ "totalFunctions" : 52 ,
44 "functions" : [
5- {
6- "name" : " assertAlphanumericString" ,
7- "nano" : {
8- "bundled" : {
9- "raw" : 272 ,
10- "gzip" : 226
11- },
12- "treeShaken" : {
13- "raw" : 272 ,
14- "gzip" : 226
15- }
16- },
17- "lodash" : null ,
18- "esToolkit" : null ,
19- "winner" : " nano"
20- },
21- {
22- "name" : " assertNumericString" ,
23- "nano" : {
24- "bundled" : {
25- "raw" : 306 ,
26- "gzip" : 246
27- },
28- "treeShaken" : {
29- "raw" : 306 ,
30- "gzip" : 246
31- }
32- },
33- "lodash" : null ,
34- "esToolkit" : null ,
35- "winner" : " nano"
36- },
37- {
38- "name" : " assertUUID" ,
39- "nano" : {
40- "bundled" : {
41- "raw" : 293 ,
42- "gzip" : 226
43- },
44- "treeShaken" : {
45- "raw" : 293 ,
46- "gzip" : 226
47- }
48- },
49- "lodash" : null ,
50- "esToolkit" : null ,
51- "winner" : " nano"
52- },
535 {
546 "name" : " camelCase" ,
557 "nano" : {
455407 "esToolkit" : null ,
456408 "winner" : " nano"
457409 },
458- {
459- "name" : " isValidAlphanumeric" ,
460- "nano" : {
461- "bundled" : {
462- "raw" : 99 ,
463- "gzip" : 117
464- },
465- "treeShaken" : {
466- "raw" : 99 ,
467- "gzip" : 117
468- }
469- },
470- "lodash" : null ,
471- "esToolkit" : null ,
472- "winner" : " nano"
473- },
474- {
475- "name" : " isValidNumeric" ,
476- "nano" : {
477- "bundled" : {
478- "raw" : 138 ,
479- "gzip" : 140
480- },
481- "treeShaken" : {
482- "raw" : 138 ,
483- "gzip" : 140
484- }
485- },
486- "lodash" : null ,
487- "esToolkit" : null ,
488- "winner" : " nano"
489- },
490- {
491- "name" : " isValidUUID" ,
492- "nano" : {
493- "bundled" : {
494- "raw" : 140 ,
495- "gzip" : 117
496- },
497- "treeShaken" : {
498- "raw" : 140 ,
499- "gzip" : 117
500- }
501- },
502- "lodash" : null ,
503- "esToolkit" : null ,
504- "winner" : " nano"
505- },
506410 {
507411 "name" : " kebabCase" ,
508412 "nano" : {
956860 "esToolkit" : null ,
957861 "winner" : " nano"
958862 },
959- {
960- "name" : " toAlphanumericString" ,
961- "nano" : {
962- "bundled" : {
963- "raw" : 133 ,
964- "gzip" : 132
965- },
966- "treeShaken" : {
967- "raw" : 133 ,
968- "gzip" : 132
969- }
970- },
971- "lodash" : null ,
972- "esToolkit" : null ,
973- "winner" : " nano"
974- },
975- {
976- "name" : " toNumericString" ,
977- "nano" : {
978- "bundled" : {
979- "raw" : 172 ,
980- "gzip" : 154
981- },
982- "treeShaken" : {
983- "raw" : 172 ,
984- "gzip" : 154
985- }
986- },
987- "lodash" : null ,
988- "esToolkit" : null ,
989- "winner" : " nano"
990- },
991- {
992- "name" : " toUUID" ,
993- "nano" : {
994- "bundled" : {
995- "raw" : 168 ,
996- "gzip" : 127
997- },
998- "treeShaken" : {
999- "raw" : 168 ,
1000- "gzip" : 127
1001- }
1002- },
1003- "lodash" : null ,
1004- "esToolkit" : null ,
1005- "winner" : " nano"
1006- },
1007863 {
1008864 "name" : " truncate" ,
1009865 "nano" : {
1024880 "winner" : " nano" ,
1025881 "percentSavings" : 91
1026882 },
1027- {
1028- "name" : " unsafeAlphanumericString" ,
1029- "nano" : {
1030- "bundled" : {
1031- "raw" : 62 ,
1032- "gzip" : 82
1033- },
1034- "treeShaken" : {
1035- "raw" : 62 ,
1036- "gzip" : 82
1037- }
1038- },
1039- "lodash" : null ,
1040- "esToolkit" : null ,
1041- "winner" : " nano"
1042- },
1043- {
1044- "name" : " unsafeNumericString" ,
1045- "nano" : {
1046- "bundled" : {
1047- "raw" : 57 ,
1048- "gzip" : 77
1049- },
1050- "treeShaken" : {
1051- "raw" : 57 ,
1052- "gzip" : 77
1053- }
1054- },
1055- "lodash" : null ,
1056- "esToolkit" : null ,
1057- "winner" : " nano"
1058- },
1059- {
1060- "name" : " unsafeUUID" ,
1061- "nano" : {
1062- "bundled" : {
1063- "raw" : 48 ,
1064- "gzip" : 68
1065- },
1066- "treeShaken" : {
1067- "raw" : 48 ,
1068- "gzip" : 68
1069- }
1070- },
1071- "lodash" : null ,
1072- "esToolkit" : null ,
1073- "winner" : " nano"
1074- },
1075883 {
1076884 "name" : " wordCount" ,
1077885 "nano" : {
1090898 }
1091899 ],
1092900 "summary" : {
1093- "totalNanoWins" : 61 ,
901+ "totalNanoWins" : 49 ,
1094902 "totalEsToolkitWins" : 3 ,
1095903 "totalLodashWins" : 0 ,
1096- "averageSavings" : 5 ,
1097- "smallestFunction" : " unsafeUUID " ,
904+ "averageSavings" : 6 ,
905+ "smallestFunction" : " stripHtml " ,
1098906 "largestFunction" : " toASCII"
1099907 }
1100908}
Original file line number Diff line number Diff line change @@ -40,26 +40,38 @@ const EXCLUDED_FUNCTIONS = new Set([
4040 'assertHexColor' ,
4141 'assertSlug' ,
4242 'assertUrl' ,
43+ 'assertNumericString' ,
44+ 'assertAlphanumericString' ,
45+ 'assertUUID' ,
4346
4447 // Branded type guards (duplicates of core validators with type narrowing)
4548 'isValidEmail' , // wraps isEmail
4649 'isValidHexColor' , // wraps isHexColor
4750 'isValidUrl' , // wraps isUrl
4851 'isSlug' , // internal helper, not a general utility
52+ 'isValidNumeric' ,
53+ 'isValidAlphanumeric' ,
54+ 'isValidUUID' ,
4955
5056 // Branded type builders (validation + type casting)
5157 'toEmail' ,
5258 'toHexColor' ,
5359 'toSafeHTML' ,
5460 'toSlug' ,
5561 'toUrl' ,
62+ 'toNumericString' ,
63+ 'toAlphanumericString' ,
64+ 'toUUID' ,
5665
5766 // Unsafe casts (no validation, just type casting)
5867 'unsafeEmail' ,
5968 'unsafeHexColor' ,
6069 'unsafeSafeHTML' ,
6170 'unsafeSlug' ,
6271 'unsafeUrl' ,
72+ 'unsafeNumericString' ,
73+ 'unsafeAlphanumericString' ,
74+ 'unsafeUUID' ,
6375
6476 // Utility helpers
6577 'ensureSlug' ,
You can’t perform that action at this time.
0 commit comments