UNPKG

@tempots/std

Version:

Std library for TypeScript. Natural complement to the Tempo libraries.

276 lines (275 loc) 11 kB
import { applyArrayDiffOperations as t, areArraysEqual as i, arrayDiffOperations as a, arrayHasValues as s, arrayHead as n, arrayTail as o, buildArray as m, chunk as l, compareArrays as p, fillArray as d, filterMapArray as c, filterNullsFromArray as f, groupBy as y, isArrayEmpty as u, joinArrayWithConjunction as g, partition as A, range as S, rankArray as b, removeAllFromArray as x, removeAllFromArrayByPredicate as C, removeOneFromArray as h, removeOneFromArrayByPredicate as O, uniqueByPrimitive as I } from "./array.js"; import { AsyncResult as E } from "./async-result.js"; import { biAbs as B, biCeilDiv as D, biCompare as P, biFloorDiv as W, biGcd as j, biIsEven as N, biIsNegative as T, biIsOdd as k, biIsOne as q, biIsPositive as L, biIsPrime as M, biIsZero as w, biLcm as H, biMax as z, biMin as V, biNextPrime as R, biPow as U, biPrevPrime as J } from "./bigint.js"; import { booleanToInt as K, canParseBoolean as G, compareBooleans as Z, parseBoolean as Y, xorBoolean as X } from "./boolean.js"; import { addDays as $, addHours as ee, addMinutes as re, compareDates as te, diffInDays as ie, diffInHours as ae, endOfDay as se, endOfWeek as ne, isSameDay as oe, isSameHour as me, isSameMinute as le, isSameMonth as pe, isSameSecond as de, isSameWeek as ce, isSameYear as fe, isValidDate as ye, isWeekend as ue, startOfDay as ge, startOfWeek as Ae } from "./date.js"; import { deferred as be } from "./deferred.js"; import { deepEqual as Ce, looseEqual as he, strictEqual as Oe } from "./equal.js"; import { compose as ve, curryLeft as Ee, flip as Fe, identity as Be, memoize as De, negate as Pe, once as We, partial as je, pipe as Ne } from "./function.js"; import { chain as ke, every as qe, filter as Le, find as Me, map as we, reduce as He, skip as ze, some as Ve, take as Re, toArray as Ue } from "./iterator.js"; import { isJSON as Qe, isJSONArray as Ke, isJSONObject as Ge, isJSONPrimitive as Ze, parseJSON as Ye } from "./json.js"; import { mapEntries as _e, mapFilter as $e, mapFromEntries as er, mapGroupBy as rr, mapIsEmpty as tr, mapKeys as ir, mapMap as ar, mapMerge as sr, mapToObject as nr, mapValues as or } from "./map.js"; import { EPSILON as lr, angleDifference as pr, ceilTo as dr, clamp as cr, clampInt as fr, clampSym as yr, compareNumbers as ur, floorTo as gr, interpolate as Ar, interpolateAngle as Sr, interpolateAngleCCW as br, interpolateAngleCW as xr, interpolateWidestAngle as Cr, nearEqual as hr, nearEqualAngles as Or, nearZero as Ir, root as vr, roundTo as Er, toHex as Fr, widestAngleDifference as Br, wrap as Dr, wrapCircular as Pr } from "./number.js"; import { deepClone as jr, isEmptyObject as Nr, isObject as Tr, mergeObjects as kr, objectEntries as qr, objectFromEntries as Lr, objectKeys as Mr, objectValues as wr, omit as Hr, pick as zr, removeObjectFields as Vr, sameObjectKeys as Rr } from "./object.js"; import { sleep as Jr } from "./promise.js"; import { randomBytes as Kr, randomChoice as Gr, randomChoices as Zr, randomFloat as Yr, randomHex as Xr, randomInt as _r, randomUuid as $r, seedRandom as et, shuffle as rt, shuffled as tt } from "./random.js"; import { mapRegExp as at } from "./regexp.js"; import { R as nt, V as ot } from "./result-CGd0jCdl.js"; import { setDifference as lt, setFilter as pt, setFromArray as dt, setIntersection as ct, setIsEmpty as ft, setIsSubset as yt, setIsSuperset as ut, setMap as gt, setSymmetricDifference as At, setToArray as St, setUnion as bt } from "./set.js"; import { canonicalizeNewlines as Ct, capitalize as ht, capitalizeWords as Ot, chunkString as It, collapseText as vt, compareCaseInsensitive as Et, compareStrings as Ft, containsAllText as Bt, containsAllTextCaseInsensitive as Dt, containsAnyText as Pt, containsAnyTextCaseInsensitive as Wt, countStringOccurrences as jt, dasherize as Nt, decodeBase64 as Tt, deleteFirstFromString as kt, deleteStringAfter as qt, deleteStringBefore as Lt, deleteSubstring as Mt, ellipsis as wt, ellipsisMiddle as Ht, encodeBase64 as zt, filterCharcodes as Vt, filterChars as Rt, humanize as Ut, ifEmptyString as Jt, isAlpha as Qt, isAlphaNum as Kt, isBreakingWhitespace as Gt, isDigitsOnly as Zt, isEmptyString as Yt, isLowerCase as Xt, isSpaceAt as _t, isUpperCase as $t, jsQuote as ei, lowerCaseFirst as ri, lpad as ti, mapChars as ii, quote as ai, randomStringSequence as si, randomStringSequenceBase64 as ni, randomSubString as oi, reverseString as mi, rpad as li, smartQuote as pi, splitStringOnFirst as di, splitStringOnLast as ci, splitStringOnce as fi, stringEndsWithAny as yi, stringHasContent as ui, stringHashCode as gi, stringStartsWithAny as Ai, stringToCharcodes as Si, stringsDifferAtIndex as bi, substringAfter as xi, substringAfterLast as Ci, substringBefore as hi, substringBeforeLast as Oi, surroundString as Ii, textContainsCaseInsensitive as vi, textEndsWithAnyCaseInsensitive as Ei, textEndsWithCaseInsensitive as Fi, textStartsWithAnyCaseInsensitive as Bi, textStartsWithCaseInsensitive as Di, textToLines as Pi, trimChars as Wi, trimCharsLeft as ji, trimCharsRight as Ni, trimStringSlice as Ti, underscore as ki, upperCaseFirst as qi, wrapColumns as Li, wrapLine as Mi } from "./string.js"; import { debounce as Hi, delayed as zi, delayedAnimationFrame as Vi, interval as Ri, intervalAnimationFrame as Ui, throttle as Ji } from "./timer.js"; import { buildUrl as Ki, getBaseName as Gi, getFileExtension as Zi, getFileName as Yi, getQueryParams as Xi, isValidUrl as _i, joinPaths as $i, normalizePath as ea, parseUrl as ra, removeQueryParam as ta, setQueryParam as ia } from "./url.js"; export { E as AsyncResult, lr as EPSILON, nt as Result, ot as Validation, $ as addDays, ee as addHours, re as addMinutes, pr as angleDifference, t as applyArrayDiffOperations, i as areArraysEqual, a as arrayDiffOperations, s as arrayHasValues, n as arrayHead, o as arrayTail, B as biAbs, D as biCeilDiv, P as biCompare, W as biFloorDiv, j as biGcd, N as biIsEven, T as biIsNegative, k as biIsOdd, q as biIsOne, L as biIsPositive, M as biIsPrime, w as biIsZero, H as biLcm, z as biMax, V as biMin, R as biNextPrime, U as biPow, J as biPrevPrime, K as booleanToInt, m as buildArray, Ki as buildUrl, G as canParseBoolean, Ct as canonicalizeNewlines, ht as capitalize, Ot as capitalizeWords, dr as ceilTo, ke as chain, l as chunk, It as chunkString, cr as clamp, fr as clampInt, yr as clampSym, vt as collapseText, p as compareArrays, Z as compareBooleans, Et as compareCaseInsensitive, te as compareDates, ur as compareNumbers, Ft as compareStrings, ve as compose, Bt as containsAllText, Dt as containsAllTextCaseInsensitive, Pt as containsAnyText, Wt as containsAnyTextCaseInsensitive, jt as countStringOccurrences, Ee as curryLeft, Nt as dasherize, Hi as debounce, Tt as decodeBase64, jr as deepClone, Ce as deepEqual, be as deferred, zi as delayed, Vi as delayedAnimationFrame, kt as deleteFirstFromString, qt as deleteStringAfter, Lt as deleteStringBefore, Mt as deleteSubstring, ie as diffInDays, ae as diffInHours, wt as ellipsis, Ht as ellipsisMiddle, zt as encodeBase64, se as endOfDay, ne as endOfWeek, qe as every, d as fillArray, Le as filter, Vt as filterCharcodes, Rt as filterChars, c as filterMapArray, f as filterNullsFromArray, Me as find, Fe as flip, gr as floorTo, Gi as getBaseName, Zi as getFileExtension, Yi as getFileName, Xi as getQueryParams, y as groupBy, Ut as humanize, Be as identity, Jt as ifEmptyString, Ar as interpolate, Sr as interpolateAngle, br as interpolateAngleCCW, xr as interpolateAngleCW, Cr as interpolateWidestAngle, Ri as interval, Ui as intervalAnimationFrame, Qt as isAlpha, Kt as isAlphaNum, u as isArrayEmpty, Gt as isBreakingWhitespace, Zt as isDigitsOnly, Nr as isEmptyObject, Yt as isEmptyString, Qe as isJSON, Ke as isJSONArray, Ge as isJSONObject, Ze as isJSONPrimitive, Xt as isLowerCase, Tr as isObject, oe as isSameDay, me as isSameHour, le as isSameMinute, pe as isSameMonth, de as isSameSecond, ce as isSameWeek, fe as isSameYear, _t as isSpaceAt, $t as isUpperCase, ye as isValidDate, _i as isValidUrl, ue as isWeekend, g as joinArrayWithConjunction, $i as joinPaths, ei as jsQuote, he as looseEqual, ri as lowerCaseFirst, ti as lpad, we as map, ii as mapChars, _e as mapEntries, $e as mapFilter, er as mapFromEntries, rr as mapGroupBy, tr as mapIsEmpty, ir as mapKeys, ar as mapMap, sr as mapMerge, at as mapRegExp, nr as mapToObject, or as mapValues, De as memoize, kr as mergeObjects, hr as nearEqual, Or as nearEqualAngles, Ir as nearZero, Pe as negate, ea as normalizePath, qr as objectEntries, Lr as objectFromEntries, Mr as objectKeys, wr as objectValues, Hr as omit, We as once, Y as parseBoolean, Ye as parseJSON, ra as parseUrl, je as partial, A as partition, zr as pick, Ne as pipe, ai as quote, Kr as randomBytes, Gr as randomChoice, Zr as randomChoices, Yr as randomFloat, Xr as randomHex, _r as randomInt, si as randomStringSequence, ni as randomStringSequenceBase64, oi as randomSubString, $r as randomUuid, S as range, b as rankArray, He as reduce, x as removeAllFromArray, C as removeAllFromArrayByPredicate, Vr as removeObjectFields, h as removeOneFromArray, O as removeOneFromArrayByPredicate, ta as removeQueryParam, mi as reverseString, vr as root, Er as roundTo, li as rpad, Rr as sameObjectKeys, et as seedRandom, lt as setDifference, pt as setFilter, dt as setFromArray, ct as setIntersection, ft as setIsEmpty, yt as setIsSubset, ut as setIsSuperset, gt as setMap, ia as setQueryParam, At as setSymmetricDifference, St as setToArray, bt as setUnion, rt as shuffle, tt as shuffled, ze as skip, Jr as sleep, pi as smartQuote, Ve as some, di as splitStringOnFirst, ci as splitStringOnLast, fi as splitStringOnce, ge as startOfDay, Ae as startOfWeek, Oe as strictEqual, yi as stringEndsWithAny, ui as stringHasContent, gi as stringHashCode, Ai as stringStartsWithAny, Si as stringToCharcodes, bi as stringsDifferAtIndex, xi as substringAfter, Ci as substringAfterLast, hi as substringBefore, Oi as substringBeforeLast, Ii as surroundString, Re as take, vi as textContainsCaseInsensitive, Ei as textEndsWithAnyCaseInsensitive, Fi as textEndsWithCaseInsensitive, Bi as textStartsWithAnyCaseInsensitive, Di as textStartsWithCaseInsensitive, Pi as textToLines, Ji as throttle, Ue as toArray, Fr as toHex, Wi as trimChars, ji as trimCharsLeft, Ni as trimCharsRight, Ti as trimStringSlice, ki as underscore, I as uniqueByPrimitive, qi as upperCaseFirst, Br as widestAngleDifference, Dr as wrap, Pr as wrapCircular, Li as wrapColumns, Mi as wrapLine, X as xorBoolean };