@hello10/etc
v1.0.0
Published
Everyday TypeScript utilities, et cetera
Readme
@hello10/etc
Everyday TypeScript utilities, et cetera. Zero runtime dependencies, fully typed, ESM + CJS.
Install
npm install @hello10/etcUsage
import { capitalize, pmap, randomElement, sleep } from "@hello10/etc";
capitalize("hello"); // "Hello"
await sleep(100);
randomElement([1, 2, 3]);
await pmap([1, 2, 3], async (n) => n * 2, { concurrency: 2 });Everything is exported from the package root.
What's inside
Strings
capitalize,camelCase,pascalCase,snakeCase,constantCase— case conversionspluralize— naive pluralizationwords,splitter— string splitting helpers
Arrays
array— chainable array wrapper (add,contains,insert,remove,replace,toggle,first,last,split,diffFrom,diffTo,sameSet, …)difference— set difference of two arrayscompact— strip null/undefined entriesnonempty— type-guarded non-empty checktimes,range,mapRanges,rangeMapper— iteration and range mappingindexer,indexById— index arrays into lookup objectsflattener— flatten nested structures
Objects
pick,omit,picker,omitter— key selectionmerge,mapo,renameKey,get— transformation and accesshasAllKeys,hasExactKeys,charkeys,camelCaseKeys— key introspection/normalizationomitTypename— strip GraphQL__typenamefieldstoQueryString— object → URL query stringbuildEnum,clipper,singleton,classes— misc object/class helpers
Types & validation
type,isBuiltIn,isObject,isFunction,isArray,isString,isBoolean,isNumber,isDate,isRegExp,isError,isNull,isUndefined,isNullOrUndefined— runtime type checksdefined,identity— tiny building blocksequals,equalArrays,equalObjects,equalMaps,equalSets,equalDates— deep equalityisEmail,isPhone,emailRegex,phoneRegex— input validation
Async & time
sleep— promise-based delaypmap— concurrency-limited async mapinterval— managedsetIntervalwrappernow,dayAndTime— date/time helpers
IDs & random
generateObjectId,isObjectId,ObjectIdRegex— Mongo-style object idsidGenerator,shortcode— id and shortcode generationrandomInt,randomFloat,randomIndex,randomElement,should— randomness helpers
Numbers & geometry
betweener,rounder,bit— numeric helperseuclideanDistance— point distance
Web & UI
html,div,span,input,image,a— HTML string buildersstripTags,escapeHtml— sanitization helpersparseUrl,parsePath,parseUrlOrPath— URL parsingrandomColor,rgb,complementColor,randomColorAndComplement— color utilitiespx,screens— CSS/layout helpersisBrowser,isSupported— environment detection
Development
npm install
npm test # vitest + coverage
npm run check # biome + tsc
npm run build # tsup → dist (esm, cjs, d.ts)