Skip to content

Commit 9fc8229

Browse files
committed
add helper functions to ignore list
1 parent 2f0b09b commit 9fc8229

File tree

6 files changed

+266
-650
lines changed

6 files changed

+266
-650
lines changed

benchmarks/all-functions.json

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
[
2-
"assertAlphanumericString",
3-
"assertNumericString",
4-
"assertUUID",
52
"camelCase",
63
"capitalize",
74
"classifyText",
@@ -26,9 +23,6 @@
2623
"isNumeric",
2724
"isUUID",
2825
"isUrl",
29-
"isValidAlphanumeric",
30-
"isValidNumeric",
31-
"isValidUUID",
3226
"kebabCase",
3327
"levenshtein",
3428
"levenshteinNormalized",
@@ -55,12 +49,6 @@
5549
"templateSafe",
5650
"titleCase",
5751
"toASCII",
58-
"toAlphanumericString",
59-
"toNumericString",
60-
"toUUID",
6152
"truncate",
62-
"unsafeAlphanumericString",
63-
"unsafeNumericString",
64-
"unsafeUUID",
6553
"wordCount"
6654
]

benchmarks/bundle-sizes.json

Lines changed: 5 additions & 197 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,7 @@
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": {
@@ -455,54 +407,6 @@
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": {
@@ -956,54 +860,6 @@
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": {
@@ -1024,54 +880,6 @@
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": {
@@ -1090,11 +898,11 @@
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
}

benchmarks/extract-functions.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff 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',

0 commit comments

Comments
 (0)