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

@wixc3/common

Package Overview
Dependencies
Maintainers
68
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wixc3/common

Common utils, usable in all environments

  • 16.2.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
increased by32.64%
Maintainers
68
Weekly downloads
 
Created
Source

npm version @wixc3/common on Github

Home > @wixc3/common

common package

Useful utils for strings, iterables, objects, maps, promises and other commonly used structures

Classes

ClassDescription
ErrorWithCodeCreates an error with error code. Helpful when instanceof can't be used because the error was serialized and then deserialized.
UnreachableCaseErrorAllows the type checker to detect non-exhaustive switch statements.

Enumerations

EnumerationDescription
NamingConvention

Functions

FunctionDescription
assertIsString(value, errorMessage)Throws if value is not a string
at(iterable, index)Finds element by index, including negative index
awaitRecord(obj)Awaits a record of promises, and returns a record of their results.
capitalizeFirstLetter(val)Capitalize the first letter of a string
chain(value)Chain iterable operations, each acting on the output of the previous step
chain(value)Chain iterable operations, each acting on the output of the previous step
clamp(value, min, max)
concat(iterables)
createRandomIntWithSeed(seed)
defaults(_source, _defaultValues, deep, shouldUseDefault)Returns an object where missing keys and values/keys that satisfy shouldUseDefault to the value in shouldUseDefault.
delayed(fn, wait)Ensures func will be called with at least wait ms between runs.
enforceSequentialExecution(fn)Ensures that when the async function fn is called twice in a row, the second call only begins after the first one has finished (successfully or not).
enumValues(enumObj)
enumValues(enumObj)
equalIdents(reference, modified, newline)Matches the indentation of modified to the one of reference
errorToPlainObject(error)
escapeRegExp(str)Returns a string safe to be used in RegExp
every(iterable, predicate)
exclude(excluded)
filter(iterable, predicate)
find(iterable, predicate)
first(iterable)Picks the first element of an iterable
flat(iterable, deep)
flatMap(iterable, mapFn)
forEach(iterable, fn)
get(obj, key)Similar to Map.get, but works for plain objects, and returns undefined for null maps and missing keys
get(obj, key)
getCartesianProduct(arrays)
getErrorCode(error)Returns error.code property if the error object has it, otherwise returns undefined.
getIn(obj, path)
getValue(map, key, errorMessage)Returns a value by key, throws if the value is missing or the map null
getValue(map, key, errorMessage)
getValue(map, key, errorMessage)
groupBy(elements, property)Groups elements by the value of a property
has(obj, key)Similar to Map.has, but works for plain objects, and returns false for null maps
has(obj, key)Similar to Map.has, but works for plain objects, and returns false for null maps
has(obj, key)
histogram(iterable)Calculate a histogram of iterable elements
includes(iterable, item)
includesCaseInsensitive(str, substr)Checks if str contains substr ignoring capitalization
indexToLineAndColumn(content, pos, newline)Finds line an column by position index
isDefined(value)Given a value of type Nullable, validates value is T
isEmpty(iterable)Checks if an iterable is empty
isErrorLikeObject(error)Checks if the error is an object compatible with the Error interface; that is, it has properties 'name' and 'message' of type string. The object could be an instance of an Error, or it could be some other kind of object that has these properties.
isIterable(x)
isObject(value)

Checks if value is an object, e.g. a plain object, an array, a function, a regex, but not a primitive value.

Common usage scenario:

isObject(value) && value.foo === 'bar';
// Instead of:
typeof value === 'object' && value !== null && 'foo' in value && value.foo === 'bar';

| | isPlainObject(value) | Checks that value is a POJO | | isValidNamingConvention(namingConvention) | Checks if namingConvention is supported | | join(iterable, separator) | | | keys(map) | | | keys(map) | | | last(iterable) | Picks the last element of an iterable | | map(iterable, mapFn) | Map iterable elements | | mapKeys(obj, mapping) | Maps values of a plain object | | mapObject(obj, mapping) | Maps key value pairs of a plain object | | mapValues(obj, mapping) | Maps values of a plain object | | memoize(fn, argsHash) | | | minimalIndent(str) | Shifts all indentation to the left using the line with the least indentation as a baseline | | mulberry32(a) | | | next(iterable, item) | Find the element following an item | | noIdents(modified, separator) | Remove line indentation (heading whitespace) | | normToRage(normal, min, max) | | | noWhiteSpace(str) | Remove white spaces including empty lines | | once(fn) | Make a function executable only once, following calls are ignored | | partition(data, bucketsCount, predicate) | Partition unordered data into buckets of similar total weight | | pick(record, keys) | returns an object composed of the picked object properties | | prev(iterable, item) | Find the element before an item | | randomizedOrder(size) | | | reduce(iterable, reducer, initial) | | | reportError_2(ex) | Logs an error | | reverseObject(obj) | Reverses keys-values of an object, ignoring falsy values. First takes on value collisions. | | same(a, b, unordered) | Deep comparison of two objects | | shuffle(array) | Shuffles an array | | size(iterable) | Evaluate the size of an iterable | | skip(iterable, count) | Skips the first elements of an iterable | | some(iterable, predicate) | | | sort(iterable, by) | | | stringifyErrorStack(error) | | | swap(array, i, j) | Swaps elements of an array in place | | templateCompilerProvider(context) | Similar to templated string, given a fixed context object returns a function that parses strings in it | | toCamelCase(str) | Converts a string to camelCase | | toCSSCamelCase(str) | like toCamelCase(), but capitalizes first character if input starts with '-' | | toCSSKebabCase(str) | like toKebabCase(), but prepends '-' if first character of input is UpperCase | | toError(value) | Convert any kind of value to an error instance. Unless the value is already an error instance, it's stringified and used as the error message. | | toKebabCase(str) | Converts a string to kebab-case | | toNamingConvention(str, namingConvention) | Converts string formatting to a naming convention | | toPascalCase(str) | Converts a string to PascalCase | | toPascalCaseJsIdentifier(str) | Similar to toPascalCase(), but drops heading non-letters | | unique(iterable, by) | Creates iterable of unique elements | | values(map) | | | values(map) | |

Variables

VariableDescription
addToSet
asyncNoop
escapeCSSReplaced non alphanumeric character with CSS unicode representation
getOs
isElectronRendererProcess
isMac
isMapValidates s is an instance of Map
isSetValidates s is an instance of Set
isStringChecks is value is a string
isWindows
newMacrotask
noop
remapremaps keys of obj based on rename map object,
seededRandomInt
splitIntoWordsBreaks down a string to words, dropping non letters and numbers
toMapCoverts and object into a Map

Type Aliases

Type AliasDescription
Awaited_2The resolved value of T (if a promise, otherwise simply T)
Chain
Flat
Iter
IterableChain
Mapping
MapValue
NotIterable
NullableT or null/undefined
ObjValue
Predicate
Remap
RemapFunc
Remapped
UnionToIntersectionMake an intersection type from union
ValueChain
ValueOfunion of all fields of T

FAQs

Package last updated on 10 Mar 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