Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

deverything

Package Overview
Dependencies
Maintainers
0
Versions
95
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deverything

Everything you need for Dev

  • 1.10.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.5K
increased by28.43%
Maintainers
0
Weekly downloads
 
Created
Source
Screenshot 2023-03-18 at 19 06 18

Everything you constantly need for development (and probably still copy-pasting from other projects)

The promise:

  • ✅ 1 package: say goodbye to lodash, faker, and the other package you don't recall the name of.
  • ⭕ 0 dependencies: keep it simple and lightweight.
  • 🏆 Pick the best: the code is minimal and uses the best practices for max performance.
  • 👪🏼 Typescript: use it, support it and export it.
  • 🌊 Intuitive: favour always the most intuitive API and common usage, never throw error unless asked to.
  • 🙈 Semantic: use simple function names that are easy to remember, no complicated options.

Contributions always welcome!

Validators

  • isArray()
  • isBoolean()
  • isBrowser() to detect if you are on the browser
  • isBuffer() if it's a buffer
  • isClient() same as isBrowser
  • isEmail() this is a relaxed check, use your own validation if you need to be strict
  • isEmpty() to check for empty object, empty array, empty string, null or undefined
    • isEmptyString() trims the string and checks if something is left
    • isEmptyArray() checks if the array has no items
    • isEmptyObject() checks if the object has no keys
  • isFile() if it's a file
  • isFunction()
  • isJsDate() if it's a valid javascript's Date
    • isFutureDate()
    • isPastDate()
    • isStringDate() also checks if the string passed is a valid date
  • isKey() is a real key of an object
  • isLastIndex() is the index is the last item of array
  • isNotEmptyString() must have some text, checks for spaces-only
  • isNumber() if the arg is number, and also usable (no infinity)
    • isInt() if it's an integer
    • isEven()
    • isOdd()
    • isPositiveInt()
    • isNegativeInt()
  • isNumeric() if string is representing a number
  • isObject() if it's a js plain Object
  • isPromise() if it's a promise
  • isPWA() to detect if you are on a PWA
  • isReactElement() if it's a valid React Element
  • isRegExp() if it's a valid RegExp
  • isSame() Compare if dates, functions, arrays, objects or anything else are the same
  • isServer() if you are on the server
  • isString()
  • isURL()
  • isUUID() if it's a valid UUID

Dates

  • isOver18()
  • startOfNextMonth()
  • startOfNextWeek()
  • startOfThisWeek()
  • startOfToday()
  • startOfTomorrow()

Math

  • average()
  • isBetween()
  • isOutside()
  • isStrictlyBetween()
  • max()
  • min()
  • multiply()
  • normaliseArray()
  • normaliseNumber()
  • percentageChange()
  • sum()

Helpers

  • array() create an arbitrary array based on a function
    • arrayDiff() get the difference of two arrays
    • arrayIntersection() get the intersection of two arrays
  • capitalize() word => Word
  • clamp() clamp number in a range
  • cleanSpaces() trims and turns double spaces into single space
  • enumKeys() enum FRUIT { APPLE, PEAR } => ["APPLE", "PEAR"]
  • enumValues() enum FRUIT { APPLE = 1, PEAR = 3 } => [1, 3]
  • filterAlphanumeric() remove non-alphanumeric characters
  • first() get the first element of an array
  • firstKey() get the first key of an object
  • firstValue() get the first value of an object
  • getUrlSearchParam() get URL search param
  • getUrlSearchParams() get URL search params
  • incrementalId() autoincremental SQL-like, process-unique numeric id
  • keysLength() get the length of keys in an object
  • last() get the last element of an array
  • lastIndex() get the last index of an array
  • merge() deep merge objects
  • moveToFirst() move array element to first
  • moveToIndex() move array element to desired index
  • moveToLast() move array element to last
  • normalizeNumber() normalizes between 0 and 1
  • objectDiff() get the difference between two objects
  • parseDate() pass anything Date-Like, and get a JS Date back
  • promiseWithTimeout() takes a promise, a timeoutMs, and an option error as arguments. Returns a new Promise that either resolves with the value of the input promise or rejects with the provided error or a default error message if the input promise does not resolve or reject within the specified timeoutMs.
  • scrambleText() replace alpha chars with random chars
  • seriesAll() executes promises in series, and returns all results
  • setObjectPath() set a value in an object by path
  • setUrlSearchParams() set URL search params
  • shuffle() shuffles elements in an array
  • sleep() promise-based sleep
  • stringify() stringify anything, without breaking on circular dependencies
  • toggleArrayValue() remove/add value in array
  • truncate() truncate text, does not break emojis
  • uniqueValues() gets unique values in an array

Formatters

  • formatCamelCase()
  • formatCookies() { cookie1: "1", cookie2: "2" } => "cookie1=1; cookie2=2"
  • formatNumber() 1000 => "1,000" or "1K" or 0.112 => "11.2%"
  • formatPercentage() 0.11 => "11%"
  • formatProgress() => "[2/10]"
  • stringToCSSUnicode() "hello" => "\000068\000065\00006c\00006c\00006f" use this for CSS
  • stringToUnicode() "hello" => "\u0068\u0065\u006c\u006c\u006f"

Random data generators

These functions are optimized for low entropy random data generation useful for Unit Testing, Storybook, Pass real validations, Reverse hacking, Penetration testing...

  • randomAddress()
  • randomAlphaNumericCode()
  • randomArray()
  • randomArrayItem() now supporting non-uniform distribution
  • randomBankAccount()
  • randomBool()
  • randomChar()
  • randomCompany()
  • randomCoords()
    • randomLat()
    • randomLng()
  • randomDate() a safe range in decade
    • randomMaxDate() a range in the Max dates allowed by JS
    • randomFutureDate()
    • randomPastDate()
    • randomDateRange() => { startDate, endDate }
  • randomEmail()
  • randomEmoji()
  • randomEnumKey() enum FRUIT { APPLE, PEAR } => APPLE
  • randomEnumValue() enum FRUIT { APPLE = 1, PEAR = 3 } => 3
  • randomFile()
  • randomFloat()
  • randomObject()
  • randomHandle() useful for social identifiers, or slugs
  • randomHexColor()
  • randomHexValue()
  • randomHtmlColorName()
  • randomIBAN()
  • randomInt()
    • randomBigInt()
    • randomMaxInt() Range within the Maximum integer supported by js
    • randomMaxSafeInt() Range of very BIG integers, which are still safe to use tho
    • randomNegativeInt() < 0
    • randomPositiveInt() > 0
  • randomIP()
  • randomName()
    • randomFirstName()
    • randomLastName()
    • randomFullName()
  • randomNumericCode()
  • randomObject()
  • randomParagraph()
  • randomPassword()
  • randomPath() /path/to/something
  • randomPhoneNumber()
  • randomString()
  • randomSymbol()
  • randomUUID() lightweight uuid generation, passing UUID validation
  • randomValue()
  • randomWord()

TypeScript Helpers & Generics

  • Coords
  • DateLike
  • Dimensions
  • HashMap<>
    • BoolMap
    • NumberMap
    • StringMap
    • TrueMap
  • Forbid<>
  • Key
  • Maybe<>
    • MaybePromise<>
    • MaybePromiseOrValue<>
    • MaybePromiseOrValueArray<>
  • NonUndefined
  • ObjectEntries<>
  • ObjectEntry<>
  • ObjectKey<>
  • ObjectKeys<>
  • ObjectValue<>
  • ObjectValues<>
  • PlainObject use this instead of Record<,> or extends object, also makes sure it's not an array
  • PickRequired<>
  • PlainKey
  • Point
  • Required<>
  • VoidFn

Development

After changes, run

pnpm release

To bump the version. CI will take care of publishing the package when merged.

Keywords

FAQs

Package last updated on 08 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc