@depthbomb/common 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/guards.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return!Number.isNaN(e.getTime())}function t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function n(e){return typeof e==`string`&&e.length>0}function r(e){return typeof e==`number`&&Number.isFinite(e)}function i(t){return t instanceof Date?e(t):typeof t==`number`?Number.isFinite(t)&&e(new Date(t)):typeof t==`string`?t.length>0&&e(new Date(t)):!1}exports.isDateLike=i,exports.isNonEmptyString=n,exports.isNumber=r,exports.isRecord=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return typeof e==`string`}function t(t){return e(t)&&t.length>0}function n(e){return typeof e==`number`&&Number.isFinite(e)}function r(e){return n(e)&&e>0}function i(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function a(e){return typeof e==`function`}function o(e){return a(e)&&e.toString().startsWith(`class`)}function s(e){return e===null}function c(e){return e===void 0}function l(e){return s(e)||c(e)}function u(e){return typeof e==`boolean`}function d(e){return!!e}function f(e){return!e}function p(t){return t instanceof Date?h(t):n(t)||e(t)?h(new Date(t)):!1}const m={string:e,nonEmptyString:t,number:n,positiveNumber:r,record:i,function:a,class:o,null:s,undefined:c,nullOrUndefined:l,boolean:u,truthy:d,falsy:f,dateLike:p};function h(e){return!Number.isNaN(e.getTime())}exports.is=m,exports.isBoolean=u,exports.isClass=o,exports.isDateLike=p,exports.isFalsy=f,exports.isFunction=a,exports.isNonEmptyString=t,exports.isNull=s,exports.isNullOrUndefined=l,exports.isNumber=n,exports.isPositiveNumber=r,exports.isRecord=i,exports.isString=e,exports.isTruthy=d,exports.isUndefined=c;
package/dist/guards.d.cts CHANGED
@@ -1,7 +1,37 @@
1
+ import { Class } from "./typing.cjs";
2
+
1
3
  //#region src/guards.d.ts
2
- declare function isRecord(value: unknown): value is Record<string, unknown>;
4
+ type Falsy = false | 0 | 0n | '' | null | undefined;
5
+ type DateLike = Date | string | number;
6
+ declare function isString(value: unknown): value is string;
3
7
  declare function isNonEmptyString(value: unknown): value is string;
4
8
  declare function isNumber(value: unknown): value is number;
5
- declare function isDateLike(value: unknown): value is Date | number | string;
9
+ declare function isPositiveNumber(value: unknown): value is number;
10
+ declare function isRecord(value: unknown): value is Record<string, unknown>;
11
+ declare function isFunction(value: unknown): value is Function;
12
+ declare function isClass<T = unknown>(value: unknown): value is Class<T>;
13
+ declare function isNull(value: unknown): value is null;
14
+ declare function isUndefined(value: unknown): value is undefined;
15
+ declare function isNullOrUndefined(value: unknown): value is null | undefined;
16
+ declare function isBoolean(value: unknown): value is boolean;
17
+ declare function isTruthy<T>(value: T | Falsy): value is T;
18
+ declare function isFalsy(value: unknown): value is Falsy;
19
+ declare function isDateLike(value: unknown): value is DateLike;
20
+ declare const is: {
21
+ string: typeof isString;
22
+ nonEmptyString: typeof isNonEmptyString;
23
+ number: typeof isNumber;
24
+ positiveNumber: typeof isPositiveNumber;
25
+ record: typeof isRecord;
26
+ function: typeof isFunction;
27
+ class: typeof isClass;
28
+ null: typeof isNull;
29
+ undefined: typeof isUndefined;
30
+ nullOrUndefined: typeof isNullOrUndefined;
31
+ boolean: typeof isBoolean;
32
+ truthy: typeof isTruthy;
33
+ falsy: typeof isFalsy;
34
+ dateLike: typeof isDateLike;
35
+ };
6
36
  //#endregion
7
- export { isDateLike, isNonEmptyString, isNumber, isRecord };
37
+ export { DateLike, Falsy, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isPositiveNumber, isRecord, isString, isTruthy, isUndefined };
package/dist/guards.d.mts CHANGED
@@ -1,7 +1,37 @@
1
+ import { Class } from "./typing.mjs";
2
+
1
3
  //#region src/guards.d.ts
2
- declare function isRecord(value: unknown): value is Record<string, unknown>;
4
+ type Falsy = false | 0 | 0n | '' | null | undefined;
5
+ type DateLike = Date | string | number;
6
+ declare function isString(value: unknown): value is string;
3
7
  declare function isNonEmptyString(value: unknown): value is string;
4
8
  declare function isNumber(value: unknown): value is number;
5
- declare function isDateLike(value: unknown): value is Date | number | string;
9
+ declare function isPositiveNumber(value: unknown): value is number;
10
+ declare function isRecord(value: unknown): value is Record<string, unknown>;
11
+ declare function isFunction(value: unknown): value is Function;
12
+ declare function isClass<T = unknown>(value: unknown): value is Class<T>;
13
+ declare function isNull(value: unknown): value is null;
14
+ declare function isUndefined(value: unknown): value is undefined;
15
+ declare function isNullOrUndefined(value: unknown): value is null | undefined;
16
+ declare function isBoolean(value: unknown): value is boolean;
17
+ declare function isTruthy<T>(value: T | Falsy): value is T;
18
+ declare function isFalsy(value: unknown): value is Falsy;
19
+ declare function isDateLike(value: unknown): value is DateLike;
20
+ declare const is: {
21
+ string: typeof isString;
22
+ nonEmptyString: typeof isNonEmptyString;
23
+ number: typeof isNumber;
24
+ positiveNumber: typeof isPositiveNumber;
25
+ record: typeof isRecord;
26
+ function: typeof isFunction;
27
+ class: typeof isClass;
28
+ null: typeof isNull;
29
+ undefined: typeof isUndefined;
30
+ nullOrUndefined: typeof isNullOrUndefined;
31
+ boolean: typeof isBoolean;
32
+ truthy: typeof isTruthy;
33
+ falsy: typeof isFalsy;
34
+ dateLike: typeof isDateLike;
35
+ };
6
36
  //#endregion
7
- export { isDateLike, isNonEmptyString, isNumber, isRecord };
37
+ export { DateLike, Falsy, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isPositiveNumber, isRecord, isString, isTruthy, isUndefined };
package/dist/guards.mjs CHANGED
@@ -1 +1 @@
1
- function e(e){return!Number.isNaN(e.getTime())}function t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function n(e){return typeof e==`string`&&e.length>0}function r(e){return typeof e==`number`&&Number.isFinite(e)}function i(t){return t instanceof Date?e(t):typeof t==`number`?Number.isFinite(t)&&e(new Date(t)):typeof t==`string`?t.length>0&&e(new Date(t)):!1}export{i as isDateLike,n as isNonEmptyString,r as isNumber,t as isRecord};
1
+ function e(e){return typeof e==`string`}function t(t){return e(t)&&t.length>0}function n(e){return typeof e==`number`&&Number.isFinite(e)}function r(e){return n(e)&&e>0}function i(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function a(e){return typeof e==`function`}function o(e){return a(e)&&e.toString().startsWith(`class`)}function s(e){return e===null}function c(e){return e===void 0}function l(e){return s(e)||c(e)}function u(e){return typeof e==`boolean`}function d(e){return!!e}function f(e){return!e}function p(t){return t instanceof Date?h(t):n(t)||e(t)?h(new Date(t)):!1}const m={string:e,nonEmptyString:t,number:n,positiveNumber:r,record:i,function:a,class:o,null:s,undefined:c,nullOrUndefined:l,boolean:u,truthy:d,falsy:f,dateLike:p};function h(e){return!Number.isNaN(e.getTime())}export{m as is,u as isBoolean,o as isClass,p as isDateLike,f as isFalsy,a as isFunction,t as isNonEmptyString,s as isNull,l as isNullOrUndefined,n as isNumber,r as isPositiveNumber,i as isRecord,e as isString,d as isTruthy,c as isUndefined};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./collections.cjs`),t=require(`./decorators.cjs`),n=require(`./functional.cjs`),r=require(`./guards.cjs`),i=require(`./timing.cjs`),a=require(`./promise.cjs`),o=require(`./lazy.cjs`),s=require(`./number.cjs`),c=require(`./random.cjs`),l=require(`./state.cjs`),u=require(`./typing.cjs`),d=require(`./url.cjs`);exports.BoundedQueue=e.BoundedQueue,exports.BoundedQueueOverflow=e.BoundedQueueOverflow,exports.Flag=l.Flag,exports.Queue=e.Queue,exports.ResettableValue=l.ResettableValue,exports.RetryJitter=i.RetryJitter,exports.URLPath=d.URLPath,exports.abortAfter=i.abortAfter,exports.allSettledDetailed=a.allSettledDetailed,exports.allSettledSuccessful=a.allSettledSuccessful,exports.assume=u.assume,exports.average=s.average,exports.cache=t.cache,exports.cast=u.cast,exports.clamp=s.clamp,exports.err=u.err,exports.inRange=s.inRange,exports.isDateLike=r.isDateLike,exports.isNonEmptyString=r.isNonEmptyString,exports.isNumber=r.isNumber,exports.isOk=u.isOk,exports.isRecord=r.isRecord,exports.lazy=o.lazy,exports.lazyAsync=o.lazyAsync,exports.mapErr=u.mapErr,exports.mapOk=u.mapOk,exports.ok=u.ok,exports.once=n.once,exports.pMap=a.pMap,exports.pickRandom=c.pickRandom,exports.pickWeighted=c.pickWeighted,exports.pollUntil=i.pollUntil,exports.pool=a.pool,exports.raceSignals=i.raceSignals,exports.randomFloat=c.randomFloat,exports.randomInt=c.randomInt,exports.rejectionTimeout=i.rejectionTimeout,exports.resettableLazy=l.resettableLazy,exports.resettableLazyAsync=l.resettableLazyAsync,exports.retry=i.retry,exports.roundTo=s.roundTo,exports.sequential=a.sequential,exports.sum=s.sum,exports.timeout=i.timeout,exports.tryCatchAsync=u.tryCatchAsync,exports.typedEntries=u.typedEntries,exports.url=d.url,exports.withAbort=i.withAbort,exports.withTimeout=i.withTimeout;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./collections.cjs`),t=require(`./decorators.cjs`),n=require(`./functional.cjs`),r=require(`./guards.cjs`),i=require(`./timing.cjs`),a=require(`./promise.cjs`),o=require(`./lazy.cjs`),s=require(`./number.cjs`),c=require(`./random.cjs`),l=require(`./state.cjs`),u=require(`./typing.cjs`),d=require(`./url.cjs`);exports.BoundedQueue=e.BoundedQueue,exports.BoundedQueueOverflow=e.BoundedQueueOverflow,exports.Flag=l.Flag,exports.Queue=e.Queue,exports.ResettableValue=l.ResettableValue,exports.RetryJitter=i.RetryJitter,exports.URLPath=d.URLPath,exports.abortAfter=i.abortAfter,exports.allSettledDetailed=a.allSettledDetailed,exports.allSettledSuccessful=a.allSettledSuccessful,exports.assume=u.assume,exports.average=s.average,exports.cache=t.cache,exports.cast=u.cast,exports.clamp=s.clamp,exports.err=u.err,exports.inRange=s.inRange,exports.is=r.is,exports.isBoolean=r.isBoolean,exports.isClass=r.isClass,exports.isDateLike=r.isDateLike,exports.isFalsy=r.isFalsy,exports.isFunction=r.isFunction,exports.isNonEmptyString=r.isNonEmptyString,exports.isNull=r.isNull,exports.isNullOrUndefined=r.isNullOrUndefined,exports.isNumber=r.isNumber,exports.isOk=u.isOk,exports.isPositiveNumber=r.isPositiveNumber,exports.isRecord=r.isRecord,exports.isString=r.isString,exports.isTruthy=r.isTruthy,exports.isUndefined=r.isUndefined,exports.lazy=o.lazy,exports.lazyAsync=o.lazyAsync,exports.mapErr=u.mapErr,exports.mapOk=u.mapOk,exports.ok=u.ok,exports.once=n.once,exports.pMap=a.pMap,exports.pickRandom=c.pickRandom,exports.pickWeighted=c.pickWeighted,exports.pollUntil=i.pollUntil,exports.pool=a.pool,exports.raceSignals=i.raceSignals,exports.randomFloat=c.randomFloat,exports.randomInt=c.randomInt,exports.rejectionTimeout=i.rejectionTimeout,exports.resettableLazy=l.resettableLazy,exports.resettableLazyAsync=l.resettableLazyAsync,exports.retry=i.retry,exports.roundTo=s.roundTo,exports.sequential=a.sequential,exports.sum=s.sum,exports.timeout=i.timeout,exports.tryCatchAsync=u.tryCatchAsync,exports.typedEntries=u.typedEntries,exports.url=d.url,exports.withAbort=i.withAbort,exports.withTimeout=i.withTimeout;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
- import { Awaitable, Maybe, Nullable, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries } from "./typing.cjs";
1
+ import { Arrayable, Awaitable, Class, Maybe, Nullable, Prettify, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries } from "./typing.cjs";
2
2
  import { BoundedQueue, BoundedQueueOverflow, IBoundedQueueOptions, Queue } from "./collections.cjs";
3
3
  import { cache } from "./decorators.cjs";
4
4
  import { once } from "./functional.cjs";
5
- import { isDateLike, isNonEmptyString, isNumber, isRecord } from "./guards.cjs";
5
+ import { DateLike, Falsy, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isPositiveNumber, isRecord, isString, isTruthy, isUndefined } from "./guards.cjs";
6
6
  import { IRetryOptions, RetryJitter, abortAfter, pollUntil, raceSignals, rejectionTimeout, retry, timeout, withAbort, withTimeout } from "./timing.cjs";
7
7
  import { IConcurrencyOptions, SettledDetailed, allSettledDetailed, allSettledSuccessful, pMap, pool, sequential } from "./promise.cjs";
8
8
  import { lazy, lazyAsync } from "./lazy.cjs";
@@ -10,4 +10,4 @@ import { average, clamp, inRange, roundTo, sum } from "./number.cjs";
10
10
  import { IWeightedItem, pickRandom, pickWeighted, randomFloat, randomInt } from "./random.cjs";
11
11
  import { Flag, ResettableValue, resettableLazy, resettableLazyAsync } from "./state.cjs";
12
12
  import { QueryObject, QueryValue, URLLike, URLPath, url } from "./url.cjs";
13
- export { Awaitable, BoundedQueue, BoundedQueueOverflow, Flag, IBoundedQueueOptions, IConcurrencyOptions, IRetryOptions, IWeightedItem, Maybe, Nullable, QueryObject, QueryValue, Queue, ResettableValue, Result, RetryJitter, SettledDetailed, URLLike, URLPath, abortAfter, allSettledDetailed, allSettledSuccessful, assume, average, cache, cast, clamp, err, inRange, isDateLike, isNonEmptyString, isNumber, isOk, isRecord, lazy, lazyAsync, mapErr, mapOk, ok, once, pMap, pickRandom, pickWeighted, pollUntil, pool, raceSignals, randomFloat, randomInt, rejectionTimeout, resettableLazy, resettableLazyAsync, retry, roundTo, sequential, sum, timeout, tryCatchAsync, typedEntries, url, withAbort, withTimeout };
13
+ export { Arrayable, Awaitable, BoundedQueue, BoundedQueueOverflow, Class, DateLike, Falsy, Flag, IBoundedQueueOptions, IConcurrencyOptions, IRetryOptions, IWeightedItem, Maybe, Nullable, Prettify, QueryObject, QueryValue, Queue, ResettableValue, Result, RetryJitter, SettledDetailed, URLLike, URLPath, abortAfter, allSettledDetailed, allSettledSuccessful, assume, average, cache, cast, clamp, err, inRange, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isOk, isPositiveNumber, isRecord, isString, isTruthy, isUndefined, lazy, lazyAsync, mapErr, mapOk, ok, once, pMap, pickRandom, pickWeighted, pollUntil, pool, raceSignals, randomFloat, randomInt, rejectionTimeout, resettableLazy, resettableLazyAsync, retry, roundTo, sequential, sum, timeout, tryCatchAsync, typedEntries, url, withAbort, withTimeout };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { Awaitable, Maybe, Nullable, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries } from "./typing.mjs";
1
+ import { Arrayable, Awaitable, Class, Maybe, Nullable, Prettify, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries } from "./typing.mjs";
2
2
  import { BoundedQueue, BoundedQueueOverflow, IBoundedQueueOptions, Queue } from "./collections.mjs";
3
3
  import { cache } from "./decorators.mjs";
4
4
  import { once } from "./functional.mjs";
5
- import { isDateLike, isNonEmptyString, isNumber, isRecord } from "./guards.mjs";
5
+ import { DateLike, Falsy, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isPositiveNumber, isRecord, isString, isTruthy, isUndefined } from "./guards.mjs";
6
6
  import { IRetryOptions, RetryJitter, abortAfter, pollUntil, raceSignals, rejectionTimeout, retry, timeout, withAbort, withTimeout } from "./timing.mjs";
7
7
  import { IConcurrencyOptions, SettledDetailed, allSettledDetailed, allSettledSuccessful, pMap, pool, sequential } from "./promise.mjs";
8
8
  import { lazy, lazyAsync } from "./lazy.mjs";
@@ -10,4 +10,4 @@ import { average, clamp, inRange, roundTo, sum } from "./number.mjs";
10
10
  import { IWeightedItem, pickRandom, pickWeighted, randomFloat, randomInt } from "./random.mjs";
11
11
  import { Flag, ResettableValue, resettableLazy, resettableLazyAsync } from "./state.mjs";
12
12
  import { QueryObject, QueryValue, URLLike, URLPath, url } from "./url.mjs";
13
- export { Awaitable, BoundedQueue, BoundedQueueOverflow, Flag, IBoundedQueueOptions, IConcurrencyOptions, IRetryOptions, IWeightedItem, Maybe, Nullable, QueryObject, QueryValue, Queue, ResettableValue, Result, RetryJitter, SettledDetailed, URLLike, URLPath, abortAfter, allSettledDetailed, allSettledSuccessful, assume, average, cache, cast, clamp, err, inRange, isDateLike, isNonEmptyString, isNumber, isOk, isRecord, lazy, lazyAsync, mapErr, mapOk, ok, once, pMap, pickRandom, pickWeighted, pollUntil, pool, raceSignals, randomFloat, randomInt, rejectionTimeout, resettableLazy, resettableLazyAsync, retry, roundTo, sequential, sum, timeout, tryCatchAsync, typedEntries, url, withAbort, withTimeout };
13
+ export { Arrayable, Awaitable, BoundedQueue, BoundedQueueOverflow, Class, DateLike, Falsy, Flag, IBoundedQueueOptions, IConcurrencyOptions, IRetryOptions, IWeightedItem, Maybe, Nullable, Prettify, QueryObject, QueryValue, Queue, ResettableValue, Result, RetryJitter, SettledDetailed, URLLike, URLPath, abortAfter, allSettledDetailed, allSettledSuccessful, assume, average, cache, cast, clamp, err, inRange, is, isBoolean, isClass, isDateLike, isFalsy, isFunction, isNonEmptyString, isNull, isNullOrUndefined, isNumber, isOk, isPositiveNumber, isRecord, isString, isTruthy, isUndefined, lazy, lazyAsync, mapErr, mapOk, ok, once, pMap, pickRandom, pickWeighted, pollUntil, pool, raceSignals, randomFloat, randomInt, rejectionTimeout, resettableLazy, resettableLazyAsync, retry, roundTo, sequential, sum, timeout, tryCatchAsync, typedEntries, url, withAbort, withTimeout };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{BoundedQueue as e,BoundedQueueOverflow as t,Queue as n}from"./collections.mjs";import{cache as r}from"./decorators.mjs";import{once as i}from"./functional.mjs";import{isDateLike as a,isNonEmptyString as o,isNumber as s,isRecord as c}from"./guards.mjs";import{RetryJitter as l,abortAfter as u,pollUntil as d,raceSignals as f,rejectionTimeout as p,retry as m,timeout as h,withAbort as g,withTimeout as _}from"./timing.mjs";import{allSettledDetailed as v,allSettledSuccessful as y,pMap as b,pool as x,sequential as S}from"./promise.mjs";import{lazy as C,lazyAsync as w}from"./lazy.mjs";import{average as T,clamp as E,inRange as D,roundTo as O,sum as k}from"./number.mjs";import{pickRandom as A,pickWeighted as j,randomFloat as M,randomInt as N}from"./random.mjs";import{Flag as P,ResettableValue as F,resettableLazy as I,resettableLazyAsync as L}from"./state.mjs";import{assume as R,cast as z,err as B,isOk as V,mapErr as H,mapOk as U,ok as W,tryCatchAsync as G,typedEntries as K}from"./typing.mjs";import{URLPath as q,url as J}from"./url.mjs";export{e as BoundedQueue,t as BoundedQueueOverflow,P as Flag,n as Queue,F as ResettableValue,l as RetryJitter,q as URLPath,u as abortAfter,v as allSettledDetailed,y as allSettledSuccessful,R as assume,T as average,r as cache,z as cast,E as clamp,B as err,D as inRange,a as isDateLike,o as isNonEmptyString,s as isNumber,V as isOk,c as isRecord,C as lazy,w as lazyAsync,H as mapErr,U as mapOk,W as ok,i as once,b as pMap,A as pickRandom,j as pickWeighted,d as pollUntil,x as pool,f as raceSignals,M as randomFloat,N as randomInt,p as rejectionTimeout,I as resettableLazy,L as resettableLazyAsync,m as retry,O as roundTo,S as sequential,k as sum,h as timeout,G as tryCatchAsync,K as typedEntries,J as url,g as withAbort,_ as withTimeout};
1
+ import{BoundedQueue as e,BoundedQueueOverflow as t,Queue as n}from"./collections.mjs";import{cache as r}from"./decorators.mjs";import{once as i}from"./functional.mjs";import{is as a,isBoolean as o,isClass as s,isDateLike as c,isFalsy as l,isFunction as u,isNonEmptyString as d,isNull as f,isNullOrUndefined as p,isNumber as m,isPositiveNumber as h,isRecord as g,isString as _,isTruthy as v,isUndefined as y}from"./guards.mjs";import{RetryJitter as b,abortAfter as x,pollUntil as S,raceSignals as C,rejectionTimeout as w,retry as T,timeout as E,withAbort as D,withTimeout as O}from"./timing.mjs";import{allSettledDetailed as k,allSettledSuccessful as A,pMap as j,pool as M,sequential as N}from"./promise.mjs";import{lazy as P,lazyAsync as F}from"./lazy.mjs";import{average as I,clamp as L,inRange as R,roundTo as z,sum as B}from"./number.mjs";import{pickRandom as V,pickWeighted as H,randomFloat as U,randomInt as W}from"./random.mjs";import{Flag as G,ResettableValue as K,resettableLazy as q,resettableLazyAsync as J}from"./state.mjs";import{assume as Y,cast as X,err as Z,isOk as Q,mapErr as $,mapOk as ee,ok as te,tryCatchAsync as ne,typedEntries as re}from"./typing.mjs";import{URLPath as ie,url as ae}from"./url.mjs";export{e as BoundedQueue,t as BoundedQueueOverflow,G as Flag,n as Queue,K as ResettableValue,b as RetryJitter,ie as URLPath,x as abortAfter,k as allSettledDetailed,A as allSettledSuccessful,Y as assume,I as average,r as cache,X as cast,L as clamp,Z as err,R as inRange,a as is,o as isBoolean,s as isClass,c as isDateLike,l as isFalsy,u as isFunction,d as isNonEmptyString,f as isNull,p as isNullOrUndefined,m as isNumber,Q as isOk,h as isPositiveNumber,g as isRecord,_ as isString,v as isTruthy,y as isUndefined,P as lazy,F as lazyAsync,$ as mapErr,ee as mapOk,te as ok,i as once,j as pMap,V as pickRandom,H as pickWeighted,S as pollUntil,M as pool,C as raceSignals,U as randomFloat,W as randomInt,w as rejectionTimeout,q as resettableLazy,J as resettableLazyAsync,T as retry,z as roundTo,N as sequential,B as sum,E as timeout,ne as tryCatchAsync,re as typedEntries,ae as url,D as withAbort,O as withTimeout};
package/dist/random.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))throw Error(`min and max must be finite numbers`);if(e>t)throw Error(`min must be <= max`)}function t(t=0,n=1){return e(t,n),Math.random()*(n-t)+t}function n(n,r){if(!Number.isInteger(n)||!Number.isInteger(r))throw Error(`min and max must be integers`);return e(n,r),Math.floor(t(n,r+1))}function r(e){if(e.length===0)throw Error(`cannot pick from empty array`);return e[n(0,e.length-1)]}function i(e){if(e.length===0)throw Error(`cannot pick from empty weighted items`);let n=0;for(let t of e){if(!Number.isFinite(t.weight)||t.weight<0)throw Error(`weights must be finite numbers >= 0`);n+=t.weight}if(n<=0)throw Error(`total weight must be > 0`);let r=t(0,n);for(let t of e)if(r-=t.weight,r<=0)return t.value;return e[e.length-1].value}exports.pickRandom=r,exports.pickWeighted=i,exports.randomFloat=t,exports.randomInt=n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e=0,t=1){return i(e,t),Math.random()*(t-e)+e}function t(t,n){if(!Number.isInteger(t)||!Number.isInteger(n))throw Error(`min and max must be integers`);return i(t,n),Math.floor(e(t,n+1))}function n(e){if(e.length===0)throw Error(`cannot pick from empty array`);return e[t(0,e.length-1)]}function r(t){if(t.length===0)throw Error(`cannot pick from empty weighted items`);let n=0;for(let e of t){if(!Number.isFinite(e.weight)||e.weight<0)throw Error(`weights must be finite numbers >= 0`);n+=e.weight}if(n<=0)throw Error(`total weight must be > 0`);let r=e(0,n);for(let e of t)if(r-=e.weight,r<=0)return e.value;return t[t.length-1].value}function i(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))throw Error(`min and max must be finite numbers`);if(e>t)throw Error(`min must be <= max`)}exports.pickRandom=n,exports.pickWeighted=r,exports.randomFloat=e,exports.randomInt=t;
package/dist/random.mjs CHANGED
@@ -1 +1 @@
1
- function e(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))throw Error(`min and max must be finite numbers`);if(e>t)throw Error(`min must be <= max`)}function t(t=0,n=1){return e(t,n),Math.random()*(n-t)+t}function n(n,r){if(!Number.isInteger(n)||!Number.isInteger(r))throw Error(`min and max must be integers`);return e(n,r),Math.floor(t(n,r+1))}function r(e){if(e.length===0)throw Error(`cannot pick from empty array`);return e[n(0,e.length-1)]}function i(e){if(e.length===0)throw Error(`cannot pick from empty weighted items`);let n=0;for(let t of e){if(!Number.isFinite(t.weight)||t.weight<0)throw Error(`weights must be finite numbers >= 0`);n+=t.weight}if(n<=0)throw Error(`total weight must be > 0`);let r=t(0,n);for(let t of e)if(r-=t.weight,r<=0)return t.value;return e[e.length-1].value}export{r as pickRandom,i as pickWeighted,t as randomFloat,n as randomInt};
1
+ function e(e=0,t=1){return i(e,t),Math.random()*(t-e)+e}function t(t,n){if(!Number.isInteger(t)||!Number.isInteger(n))throw Error(`min and max must be integers`);return i(t,n),Math.floor(e(t,n+1))}function n(e){if(e.length===0)throw Error(`cannot pick from empty array`);return e[t(0,e.length-1)]}function r(t){if(t.length===0)throw Error(`cannot pick from empty weighted items`);let n=0;for(let e of t){if(!Number.isFinite(e.weight)||e.weight<0)throw Error(`weights must be finite numbers >= 0`);n+=e.weight}if(n<=0)throw Error(`total weight must be > 0`);let r=e(0,n);for(let e of t)if(r-=e.weight,r<=0)return e.value;return t[t.length-1].value}function i(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))throw Error(`min and max must be finite numbers`);if(e>t)throw Error(`min must be <= max`)}export{n as pickRandom,r as pickWeighted,e as randomFloat,t as randomInt};
package/dist/typing.d.cts CHANGED
@@ -2,6 +2,8 @@
2
2
  type Awaitable<T> = PromiseLike<T> | T;
3
3
  type Maybe<T> = T | undefined;
4
4
  type Nullable<T> = T | null;
5
+ type Arrayable<T> = T | Array<T>;
6
+ type Prettify<T> = { [K in keyof T]: T[K] } & {};
5
7
  type Result<T, E = unknown> = {
6
8
  ok: true;
7
9
  value: T;
@@ -9,6 +11,7 @@ type Result<T, E = unknown> = {
9
11
  ok: false;
10
12
  error: E;
11
13
  };
14
+ type Class<T, Args extends unknown[] = any[]> = new (...args: Args) => T;
12
15
  declare const cast: <T, U extends T>(value: U) => U;
13
16
  declare function assume<T>(value: unknown): asserts value is T;
14
17
  declare function typedEntries<T extends object>(obj: T): { [K in keyof T]: [K, T[K]] }[keyof T][];
@@ -23,4 +26,4 @@ declare function mapErr<T, E, F>(result: Result<T, E>, mapper: (error: E) => F):
23
26
  declare function tryCatchAsync<T>(operation: () => Awaitable<T>): Promise<Result<T, unknown>>;
24
27
  declare function tryCatchAsync<T, E>(operation: () => Awaitable<T>, mapError: (error: unknown) => E): Promise<Result<T, E>>;
25
28
  //#endregion
26
- export { Awaitable, Maybe, Nullable, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries };
29
+ export { Arrayable, Awaitable, Class, Maybe, Nullable, Prettify, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries };
package/dist/typing.d.mts CHANGED
@@ -2,6 +2,8 @@
2
2
  type Awaitable<T> = PromiseLike<T> | T;
3
3
  type Maybe<T> = T | undefined;
4
4
  type Nullable<T> = T | null;
5
+ type Arrayable<T> = T | Array<T>;
6
+ type Prettify<T> = { [K in keyof T]: T[K] } & {};
5
7
  type Result<T, E = unknown> = {
6
8
  ok: true;
7
9
  value: T;
@@ -9,6 +11,7 @@ type Result<T, E = unknown> = {
9
11
  ok: false;
10
12
  error: E;
11
13
  };
14
+ type Class<T, Args extends unknown[] = any[]> = new (...args: Args) => T;
12
15
  declare const cast: <T, U extends T>(value: U) => U;
13
16
  declare function assume<T>(value: unknown): asserts value is T;
14
17
  declare function typedEntries<T extends object>(obj: T): { [K in keyof T]: [K, T[K]] }[keyof T][];
@@ -23,4 +26,4 @@ declare function mapErr<T, E, F>(result: Result<T, E>, mapper: (error: E) => F):
23
26
  declare function tryCatchAsync<T>(operation: () => Awaitable<T>): Promise<Result<T, unknown>>;
24
27
  declare function tryCatchAsync<T, E>(operation: () => Awaitable<T>, mapError: (error: unknown) => E): Promise<Result<T, E>>;
25
28
  //#endregion
26
- export { Awaitable, Maybe, Nullable, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries };
29
+ export { Arrayable, Awaitable, Class, Maybe, Nullable, Prettify, Result, assume, cast, err, isOk, mapErr, mapOk, ok, tryCatchAsync, typedEntries };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depthbomb/common",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "A set of common utilities for TypeScript/JavaScript",
5
5
  "license": "MIT",
6
6
  "engines": {