Socket
Socket
Sign inDemoInstall

@js-toolkit/utils

Package Overview
Dependencies
1
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.49.7 to 1.50.0

1

asUniqueArray.d.ts
export declare function asUniqueArray<A extends ReadonlyArray<any>>(array: AsUniqueArray<A>): A;
export default asUniqueArray;

2

asUniqueArray.js

@@ -1,1 +0,1 @@

export function asUniqueArray(r){return r}export default asUniqueArray;
export function asUniqueArray(r){return r}
export declare function beforeCall<F extends AnyFunction, C extends (...args: Parameters<F>) => void | Promise<void>>(fn: F, beforeCallback: C, context?: any): C extends AnyAsyncFunction ? ((...args: Parameters<F>) => Promise<ReturnType<F>>) & AsObject<F> : F;
export default beforeCall;

@@ -1,1 +0,1 @@

import{copyFnProps}from"./copyFnProps";export function beforeCall(o,p,r=void 0){return copyFnProps(o,((...e)=>{const n=p.apply(r,e);return n instanceof Promise?n.finally((()=>o.apply(r,e))):o.apply(r,e)}))}export default beforeCall;
import{copyFnProps}from"./copyFnProps";export function beforeCall(o,p,r=void 0){return copyFnProps(o,((...n)=>{const e=p.apply(r,n);return e instanceof Promise?e.finally((()=>o.apply(r,n))):o.apply(r,n)}))}

@@ -6,2 +6,1 @@ export declare class CacheMap<K, V> extends Map<K, V> {

}
export default CacheMap;

@@ -1,1 +0,1 @@

import{__awaiter}from"tslib";import{promisify}from"./promisify";export class CacheMap extends Map{constructor(){super(...arguments),this.queue=new Map}getOrQueue(e,t){return this.has(e)||this.queue.has(e)||this.queue.set(e,promisify(t).then((t=>this.set(e,t))).finally((()=>this.queue.delete(e)))),this.get(e)}getOrCreate(e,t){return __awaiter(this,void 0,void 0,(function*(){return yield this.queue.get(e),this.has(e)||this.set(e,yield t()),this.get(e)}))}}export default CacheMap;
import{__awaiter}from"tslib";import{promisify}from"./promisify";export class CacheMap extends Map{constructor(){super(...arguments),this.queue=new Map}getOrQueue(e,t){return this.has(e)||this.queue.has(e)||this.queue.set(e,promisify(t).then((t=>this.set(e,t))).finally((()=>this.queue.delete(e)))),this.get(e)}getOrCreate(e,t){return __awaiter(this,void 0,void 0,(function*(){return yield this.queue.get(e),this.has(e)||this.set(e,yield t()),this.get(e)}))}}

@@ -101,3 +101,1 @@ export declare class PromiseCancelledError extends Error {

}
declare const _default: OmitStrict<typeof CancellablePromise, CancellablePromiseConstructor> & CancellablePromiseConstructor;
export default _default;

@@ -1,1 +0,1 @@

import{es5ErrorCompat}from"./es5ErrorCompat";export class PromiseCancelledError extends Error{constructor(e){super(e),es5ErrorCompat(this,PromiseCancelledError)}}function catchCancel(e,r){if(r instanceof PromiseCancelledError||!e)throw r;return e(r)}export class CancellablePromise extends Promise{constructor(e){let r;super(((c,n)=>{const l=()=>n(new PromiseCancelledError);r=e instanceof CancellablePromise&&e.canceller||l,e instanceof CancellablePromise?e.cancelled(l).then(c,n):e instanceof Promise?e.then(c,n):e(c,n,r)})),this.canceller=r}cancel(){this.canceller&&this.canceller()}cancelled(e){const r=super.then((r=>{if(r instanceof PromiseCancelledError){if(e)return e();throw r}return r}),(r=>{if(r instanceof PromiseCancelledError&&e)return e();throw r}));return r.canceller=this.canceller,r}then(e,r){const c=super.then((r=>catchCancel(e,r)),(e=>catchCancel(r,e)));return c.canceller=this.canceller,c}catch(e){const r=super.then(void 0,(r=>catchCancel(e,r)));return r.canceller=this.canceller,r}finally(e){const r=super.finally(e);return r.canceller=this.canceller,r}}export default CancellablePromise;
import{es5ErrorCompat}from"./es5ErrorCompat";export class PromiseCancelledError extends Error{constructor(e){super(e),es5ErrorCompat(this,PromiseCancelledError)}}function catchCancel(e,r){if(r instanceof PromiseCancelledError||!e)throw r;return e(r)}export class CancellablePromise extends Promise{constructor(e){let r;super(((c,n)=>{const l=()=>n(new PromiseCancelledError);r=e instanceof CancellablePromise&&e.canceller||l,e instanceof CancellablePromise?e.cancelled(l).then(c,n):e instanceof Promise?e.then(c,n):e(c,n,r)})),this.canceller=r}cancel(){this.canceller&&this.canceller()}cancelled(e){const r=super.then((r=>{if(r instanceof PromiseCancelledError){if(e)return e();throw r}return r}),(r=>{if(r instanceof PromiseCancelledError&&e)return e();throw r}));return r.canceller=this.canceller,r}then(e,r){const c=super.then((r=>catchCancel(e,r)),(e=>catchCancel(r,e)));return c.canceller=this.canceller,c}catch(e){const r=super.then(void 0,(r=>catchCancel(e,r)));return r.canceller=this.canceller,r}finally(e){const r=super.finally(e);return r.canceller=this.canceller,r}}
type ClearResult<T extends AnyObject> = T extends ReadonlyArray<unknown> ? T : Partial<T>;
export declare function clear<T extends AnyObject>(obj: T): ClearResult<T>;
export default clear;
export {};

@@ -1,1 +0,1 @@

export function clear(e){return Array.isArray(e)?e.splice(0,e.length):Object.getOwnPropertyNames(e).forEach((r=>{delete e[r]})),e}export default clear;
export function clear(e){return Array.isArray(e)?e.splice(0,e.length):Object.getOwnPropertyNames(e).forEach((r=>{delete e[r]})),e}
export declare function copyFnProps<T extends AnyFunction>(source: T, dest: T): T;
export default copyFnProps;

@@ -1,1 +0,1 @@

export function copyFnProps(e,t){const r=Object.getOwnPropertyNames(e).reduce(((t,r)=>{const l=Object.getOwnPropertyDescriptor(e,r);return l&&(t[r]=l),t}),{});return delete r.arguments,delete r.caller,delete r.length,delete r.name,delete r.prototype,delete r.apply,delete r.call,delete r.bind,delete r.toString,Object.defineProperties(t,r),t}export default copyFnProps;
export function copyFnProps(e,t){const r=Object.getOwnPropertyNames(e).reduce(((t,r)=>{const l=Object.getOwnPropertyDescriptor(e,r);return l&&(t[r]=l),t}),{});return delete r.arguments,delete r.caller,delete r.length,delete r.name,delete r.prototype,delete r.apply,delete r.call,delete r.bind,delete r.toString,Object.defineProperties(t,r),t}

@@ -29,2 +29,2 @@ import EventEmitter from 'eventemitter3';

}
export default DataEventEmitter;
export {};

@@ -1,1 +0,1 @@

import EventEmitter from"eventemitter3";export class DataEventEmitter extends EventEmitter{emit(t,...e){const r={type:t,data:e[0],target:this};return super.emit(t,r)}}export default DataEventEmitter;
import EventEmitter from"eventemitter3";export class DataEventEmitter extends EventEmitter{emit(t,...e){const r={type:t,data:e[0],target:this};return super.emit(t,r)}}

@@ -6,2 +6,1 @@ import type { DebounceSettings, DebouncedFunc as DebouncedFuncOrigin } from 'lodash';

export declare function debounce<T extends AnyFunction>(fn: T, wait?: number | undefined, options?: DebounceSettings | undefined): DebouncedFunc<T>;
export default debounce;

@@ -1,1 +0,1 @@

import origin from"lodash.debounce";import{beforeCall}from"./beforeCall";export function debounce(e,o,n){const r=()=>{i.isPending=!1},i=beforeCall(origin(beforeCall(e,r),o,n),(()=>{i.isPending=!0}));return i.isPending=!1,i.cancel=beforeCall(i.cancel.bind(i),r),i}export default debounce;
import origin from"lodash.debounce";import{beforeCall}from"./beforeCall";export function debounce(e,n,o){const i=()=>{r.isPending=!1},r=beforeCall(origin(beforeCall(e,i),n,o),(()=>{r.isPending=!0}));return r.isPending=!1,r.cancel=beforeCall(r.cancel.bind(r),i),r}

@@ -6,2 +6,1 @@ export type DefaultOrBabelDescriptor<T> = TypedPropertyDescriptor<T> & {

export declare function bind<T extends (...args: any[]) => any>(target: object, propertyKey: string | symbol, descriptor: DefaultOrBabelDescriptor<T>): DefaultOrBabelDescriptor<T>;
export default bind;

@@ -1,1 +0,1 @@

import{__rest}from"tslib";export function bind(i,t,e){if(e.initializer){const{initializer:i}=e,t=__rest(e,["initializer"]);return Object.assign(Object.assign({},t),{initializer(){return i.call(this).bind(this)}})}return{configurable:!0,enumerable:!1,get(){const{value:i,get:n,set:r}=e,s=__rest(e,["value","get","set"]);return Object.defineProperty(this,t,Object.assign(Object.assign({},s),{value:null==i?void 0:i.bind(this)})),this[t]}}}export default bind;
import{__rest}from"tslib";export function bind(i,t,e){if(e.initializer){const{initializer:i}=e,t=__rest(e,["initializer"]);return Object.assign(Object.assign({},t),{initializer(){return i.call(this).bind(this)}})}return{configurable:!0,enumerable:!1,get(){const{value:i,get:n,set:r}=e,s=__rest(e,["value","get","set"]);return Object.defineProperty(this,t,Object.assign(Object.assign({},s),{value:null==i?void 0:i.bind(this)})),this[t]}}}

@@ -6,2 +6,1 @@ import type { delayed } from './delayed';

}
export default delay;

@@ -1,1 +0,1 @@

export function delay(e,t,...l){let i;return i=setTimeout((()=>{i=void 0,e.call(void 0,...l)}),t),{get isPending(){return null!=i},cancel:()=>{clearTimeout(i),i=void 0}}}export default delay;
export function delay(e,t,...i){let l;return l=setTimeout((()=>{l=void 0,e.call(void 0,...i)}),t),{get isPending(){return null!=l},cancel:()=>{clearTimeout(l),l=void 0}}}

@@ -11,2 +11,2 @@ interface Delay<T extends AnyFunction> {

}
export default delayed;
export {};

@@ -1,1 +0,1 @@

import{copyFnProps}from"./copyFnProps";export function delayed(e,o){let t;const l=(...e)=>{l.delay(o,...e)};return copyFnProps(e,l),l.cancel=()=>{clearTimeout(t),t=void 0},l.delay=(o,...n)=>{l.cancel(),t=setTimeout((()=>{t=void 0,e.call(void 0,...n)}),o)},Object.defineProperty(l,"isPending",{get:()=>null!=t}),l}export default delayed;
import{copyFnProps}from"./copyFnProps";export function delayed(e,o){let n;const c=(...e)=>{c.delay(o,...e)};return copyFnProps(e,c),c.cancel=()=>{clearTimeout(n),n=void 0},c.delay=(o,...t)=>{c.cancel(),n=setTimeout((()=>{n=void 0,e.call(void 0,...t)}),o)},Object.defineProperty(c,"isPending",{get:()=>null!=n}),c}
export declare function es5ErrorCompat<S extends Error, C extends AnyConstructor>(target: S, TargetCtor: C): void;
export default es5ErrorCompat;

@@ -1,1 +0,1 @@

export function es5ErrorCompat(o,r){o.name=r.name,o.constructor=r,o.__proto__=r.prototype}export default es5ErrorCompat;
export function es5ErrorCompat(o,r){o.name=r.name,o.constructor=r,o.__proto__=r.prototype}

@@ -9,2 +9,1 @@ /**

limit: number): readonly [numerator: number, denominator: number];
export default farey;

@@ -1,1 +0,1 @@

export function farey(e,r){let f=[0,1],t=[1,0];for(;;){const n=[f[0]+t[0],f[1]+t[1]];if(e*n[1]>n[0]){if(r<n[1])return t;f=n}else{if(e*n[1]===n[0])return r>=n[1]?n:f[1]<t[1]?f:t;if(r<n[1])return f;t=n}}}export default farey;
export function farey(r,e){let f=[0,1],t=[1,0];for(;;){const n=[f[0]+t[0],f[1]+t[1]];if(r*n[1]>n[0]){if(e<n[1])return t;f=n}else{if(r*n[1]===n[0])return e>=n[1]?n:f[1]<t[1]?f:t;if(e<n[1])return f;t=n}}}
/** Greatest common divisor */
export declare function gcd(x: number, y: number): number;
export default gcd;

@@ -1,1 +0,1 @@

export function gcd(t,a){let e=Math.abs(t),r=Math.abs(a);for(;r;)[e,r]=[r,e%r];return e}export default gcd;
export function gcd(t,a){let r=Math.abs(t),e=Math.abs(a);for(;e;)[r,e]=[e,r%e];return r}

@@ -11,2 +11,1 @@ export interface Awaiter<T> {

export declare function getAwaiter<T = void>({ lazy }?: AwaiterOptions): Awaiter<T>;
export default getAwaiter;

@@ -1,1 +0,1 @@

import{TimeoutError}from"./TimeoutError";export function getAwaiter({lazy:e}={}){let r,t,o,i,u,m,n,l,a=!1,T=!1;const c=e=>{a||T||(u=!0,m=e,o=!1),t&&t(e)},f=e=>(null==n&&(n=new Promise(((e,n)=>{a=!0,r=e,t=n,o&&e(i),u&&n(m)})).finally((()=>{a=!1,T=!0,clearTimeout(l)}))),e&&e>0&&(clearTimeout(l),l=setTimeout((()=>c(new TimeoutError(`Timeout of ${e}ms exceeded.`))),e)),n);return e||f(),{get pending(){return a},wait:f,resolve:e=>{a||T||(o=!0,i=e,u=!1),r&&r(e)},reject:c}}export default getAwaiter;
import{TimeoutError}from"./TimeoutError";export function getAwaiter({lazy:e}={}){let r,t,o,i,m,n,u,l,T=!1,a=!1;const c=e=>{T||a||(m=!0,n=e,o=!1),t&&t(e)},s=e=>(null==u&&(u=new Promise(((e,u)=>{T=!0,r=e,t=u,o&&e(i),m&&u(n)})).finally((()=>{T=!1,a=!0,clearTimeout(l)}))),e&&e>0&&(clearTimeout(l),l=setTimeout((()=>c(new TimeoutError(`Timeout of ${e}ms exceeded.`))),e)),u);return e||s(),{get pending(){return T},wait:s,resolve:e=>{T||a||(o=!0,i=e,m=!1),r&&r(e)},reject:c}}
export declare function getErrorMessage(error: unknown): string;
export default getErrorMessage;

@@ -1,1 +0,1 @@

function objectToString(t){const r=t.message;if(r)return r;const o=t.toString();if(o==={}.toString())try{return JSON.stringify(t)}catch(r){console.log(t)}return o}export function getErrorMessage(t){return"object"!=typeof t||null==t?String(t):Object.getOwnPropertyNames(t).includes("toString")?t.toString():t.constructor==={}.constructor?objectToString(t):`${t.constructor.name}: ${objectToString(t)}`}export default getErrorMessage;
function objectToString(t){const r=t.message;if(r)return r;const o=t.toString();if(o==={}.toString())try{return JSON.stringify(t)}catch(r){console.log(t)}return o}export function getErrorMessage(t){return"object"!=typeof t||null==t?String(t):Object.getOwnPropertyNames(t).includes("toString")?t.toString():t.constructor==={}.constructor?objectToString(t):`${t.constructor.name}: ${objectToString(t)}`}

@@ -22,2 +22,2 @@ export interface ListIteratorOptions {

export declare function getListIterator(scope: ListScope, onSwitch: (nextIndex: number) => unknown, options?: ListIteratorOptions | undefined): ListIterator;
export default getListIterator;
export {};

@@ -1,1 +0,1 @@

import{__awaiter}from"tslib";import{beforeCall}from"./beforeCall";import{delayed}from"./delayed";export function getListIterator(e,i,t){let o=-1;const l=i=>__awaiter(this,void 0,void 0,(function*(){const[t,o]=yield Promise.all([e.getSize(),e.getCurrentIndex()]);return o===t-1?i?0:-1:Math.min(o+1,t-1)})),n=i=>__awaiter(this,void 0,void 0,(function*(){const[t,o]=yield Promise.all([e.getSize(),e.getCurrentIndex()]);return 0===o?i?t-1:-1:Math.min(o-1,t-1)})),r=delayed((()=>{i(o)}),0),a=()=>r.cancel();return{get isPending(){return r.isPending},next:beforeCall((({delay:e=(null==t?void 0:t.delay)}={})=>{o>=0&&r.delay(null!=e?e:0)}),(({loop:e=(null==t?void 0:t.loop)}={})=>__awaiter(this,void 0,void 0,(function*(){o=yield l(e)})))),back:beforeCall((()=>{o>=0&&i(o)}),(()=>__awaiter(this,void 0,void 0,(function*(){a(),o=yield n()})))),isCanNext:e=>__awaiter(this,void 0,void 0,(function*(){return(yield l(null==e?void 0:e.loop))>=0})),isCanBack:e=>__awaiter(this,void 0,void 0,(function*(){return(yield n(null==e?void 0:e.loop))>=0})),cancel:a}}export default getListIterator;
import{__awaiter}from"tslib";import{beforeCall}from"./beforeCall";import{delayed}from"./delayed";export function getListIterator(e,i,t){let o=-1;const n=i=>__awaiter(this,void 0,void 0,(function*(){const[t,o]=yield Promise.all([e.getSize(),e.getCurrentIndex()]);return o===t-1?i?0:-1:Math.min(o+1,t-1)})),l=i=>__awaiter(this,void 0,void 0,(function*(){const[t,o]=yield Promise.all([e.getSize(),e.getCurrentIndex()]);return 0===o?i?t-1:-1:Math.min(o-1,t-1)})),r=delayed((()=>{i(o)}),0),a=()=>r.cancel();return{get isPending(){return r.isPending},next:beforeCall((({delay:e=(null==t?void 0:t.delay)}={})=>{o>=0&&r.delay(null!=e?e:0)}),(({loop:e=(null==t?void 0:t.loop)}={})=>__awaiter(this,void 0,void 0,(function*(){o=yield n(e)})))),back:beforeCall((()=>{o>=0&&i(o)}),(()=>__awaiter(this,void 0,void 0,(function*(){a(),o=yield l()})))),isCanNext:e=>__awaiter(this,void 0,void 0,(function*(){return(yield n(null==e?void 0:e.loop))>=0})),isCanBack:e=>__awaiter(this,void 0,void 0,(function*(){return(yield l(null==e?void 0:e.loop))>=0})),cancel:a}}
export declare function getRandom(min: number, max: number): number;
export default getRandom;

@@ -1,1 +0,1 @@

export function getRandom(t,e){return Math.random()*(e-t)+t}export default getRandom;
export function getRandom(n,t){return Math.random()*(t-n)+n}

@@ -23,2 +23,1 @@ export type PendingTasks<K extends string> = {

export declare function getTaskCounter<K extends string = never>({ pendingTasks, resetTask, onPending, onIdle, onStartTask, onEndTask, }: TaskCounterOptions<K>): TaskCounter<K>;
export default getTaskCounter;

@@ -1,1 +0,1 @@

export function getTaskCounter({pendingTasks:e={default:0},resetTask:t=((e,t)=>{"default"!==t?delete e[t]:e.default=0}),onPending:n,onIdle:a,onStartTask:r,onEndTask:s}){const u=e,d=(e="default")=>{var t;return(null!==(t=u[e])&&void 0!==t?t:0)>0},l=()=>Object.values(u).some((e=>e>0)),o=(e="default")=>{d(e)&&(t(u,e),s&&s(e),!l()&&a&&a())};return{isPending:d,isAnyPending:l,push:(e="default")=>{var t;const a=l(),s=d(e);u[e]=(null!==(t=u[e])&&void 0!==t?t:0)+1,!s&&r&&r(e),!a&&n&&n()},pop:(e="default")=>{d(e)&&(u[e]=u[e]-1,!d(e)&&s&&s(e),!l()&&a&&a())},reset:o,resetAll:()=>{if(!l())return;Object.getOwnPropertyNames(u).forEach(o)}}}export default getTaskCounter;
export function getTaskCounter({pendingTasks:e={default:0},resetTask:t=((e,t)=>{"default"!==t?delete e[t]:e.default=0}),onPending:n,onIdle:a,onStartTask:r,onEndTask:s}){const d=e,l=(e="default")=>{var t;return(null!==(t=d[e])&&void 0!==t?t:0)>0},u=()=>Object.values(d).some((e=>e>0)),o=(e="default")=>{l(e)&&(t(d,e),s&&s(e),!u()&&a&&a())};return{isPending:l,isAnyPending:u,push:(e="default")=>{var t;const a=u(),s=l(e);d[e]=(null!==(t=d[e])&&void 0!==t?t:0)+1,!s&&r&&r(e),!a&&n&&n()},pop:(e="default")=>{l(e)&&(d[e]=d[e]-1,!l(e)&&s&&s(e),!u()&&a&&a())},reset:o,resetAll:()=>{if(!u())return;Object.getOwnPropertyNames(d).forEach(o)}}}

@@ -24,2 +24,2 @@ export interface TimerStartOptions {

export declare function getTimer({ callback, interval, onStart, onStop, onPause, autostart, waitCallback, }: Options): Timer;
export default getTimer;
export {};

@@ -1,1 +0,1 @@

export function getTimer({callback:t,interval:e,onStart:l,onStop:a,onPause:n,autostart:o=!0,waitCallback:i}){let r,s=0,u=0,c=0,f=0;const y=()=>{clearInterval(r),clearTimeout(r),r=void 0},m=()=>{s=0,u=0,c=0,f=0,y(),a&&a()},p={start:({immediately:a}={})=>{null!=r&&m(),s>=Number.MAX_SAFE_INTEGER&&(s=0),s+=1;try{if("function"==typeof e){const l=()=>{c=0;let e=!1;try{const l=t(p);if(i&&l instanceof Promise){e=!0;const t=s;l.finally((()=>null!=r&&t===s&&n()))}}finally{null!=r&&!e&&n()}},n=()=>{const t=c>0?c:e();r=setTimeout(l,t),u=Date.now(),f=t};a?(r=-1,l()):n()}else{const l=()=>{try{t(p)}finally{u=Date.now()}},n=()=>{r=setInterval(l,e),u=Date.now(),f=e},o=()=>{c>0?(r=setTimeout((()=>{c=0;try{t(p)}finally{n()}}),c),u=Date.now(),f=c):n()};try{a&&(r=-1,t(p))}finally{o()}}}finally{l&&l()}},stop:m,pause:()=>{null!=r&&(c=Math.max(0,f-(Date.now()-u))),y(),n&&n()},get active(){return null!=r},getState:()=>null!=r?"active":s>0?"paused":"stopped"};return o&&p.start(),p}export default getTimer;
export function getTimer({callback:t,interval:e,onStart:l,onStop:n,onPause:a,autostart:o=!0,waitCallback:i}){let r,s=0,u=0,c=0,y=0;const f=()=>{clearInterval(r),clearTimeout(r),r=void 0},m=()=>{s=0,u=0,c=0,y=0,f(),n&&n()},p={start:({immediately:n}={})=>{null!=r&&m(),s>=Number.MAX_SAFE_INTEGER&&(s=0),s+=1;try{if("function"==typeof e){const l=()=>{c=0;let e=!1;try{const l=t(p);if(i&&l instanceof Promise){e=!0;const t=s;l.finally((()=>null!=r&&t===s&&a()))}}finally{null!=r&&!e&&a()}},a=()=>{const t=c>0?c:e();r=setTimeout(l,t),u=Date.now(),y=t};n?(r=-1,l()):a()}else{const l=()=>{try{t(p)}finally{u=Date.now()}},a=()=>{r=setInterval(l,e),u=Date.now(),y=e},o=()=>{c>0?(r=setTimeout((()=>{c=0;try{t(p)}finally{a()}}),c),u=Date.now(),y=c):a()};try{n&&(r=-1,t(p))}finally{o()}}}finally{l&&l()}},stop:m,pause:()=>{null!=r&&(c=Math.max(0,y-(Date.now()-u))),f(),a&&a()},get active(){return null!=r},getState:()=>null!=r?"active":s>0?"paused":"stopped"};return o&&p.start(),p}

@@ -25,2 +25,2 @@ export interface TreeIteratorOptions {

export declare function getTreeIterator<N extends AnyObject, SN extends N = N>(scope: TreeScope<N, SN>, onSwitch: (nextNode: SN) => unknown, options?: TreeIteratorOptions | undefined): TreeIterator<N, SN>;
export default getTreeIterator;
export {};

@@ -1,1 +0,1 @@

import{beforeCall}from"./beforeCall";import{delayed}from"./delayed";export function getTreeIterator(e,l,n){let o;const t=l=>l[e.childrenProp],r=(l,n,o,u)=>{if(!u.has(l)){const d=t(l);if(d&&d.length>0){const l=n+(n>0?-1:d.length);if(l>=0&&l<=d.length-1){const t=d[l];return e.stop(t)?t:r(t,n,o,u)}}}const d=(l=>l[e.parentProp])(l);if(!d)return o?(u.clear(),r(l,n,!1,u)):void 0;const i=t(d);if(i&&i.length>0){const t=i.indexOf(l)+n;if(t>=0&&t<=i.length-1){const l=i[t];return e.stop(l)?l:r(l,n,o,u)}}return e.stop(d)?d:(u.add(d),r(d,n,o,u))},u=l=>{const n=e.getCurrentNode();if(!n)return;const o=new Set;return r(n,1,null!=l&&l,o)},d=l=>{const n=e.getCurrentNode();if(!n)return;const o=new Set;return r(n,-1,null!=l&&l,o)},i=delayed((()=>{null!=o&&l(o)}),0),a=()=>i.cancel();return{get isPending(){return i.isPending},next:beforeCall((({delay:e=(null==n?void 0:n.delay)}={})=>{null!=o&&i.delay(null!=e?e:0)}),(({loop:e=(null==n?void 0:n.loop)}={})=>{a(),o=u(e)})),back:beforeCall((({delay:e=(null==n?void 0:n.delay)}={})=>{null!=o&&i.delay(null!=e?e:0)}),(({loop:e=(null==n?void 0:n.loop)}={})=>{a(),o=d(e)})),getNext:e=>u(null==e?void 0:e.loop),getBack:e=>d(null==e?void 0:e.loop),isCanNext:e=>null!=u(null==e?void 0:e.loop),isCanBack:e=>null!=d(null==e?void 0:e.loop),cancel:a}}export default getTreeIterator;
import{beforeCall}from"./beforeCall";import{delayed}from"./delayed";export function getTreeIterator(l,e,n){let o;const t=e=>e[l.childrenProp],r=(e,n,o,u)=>{if(!u.has(e)){const d=t(e);if(d&&d.length>0){const e=n+(n>0?-1:d.length);if(e>=0&&e<=d.length-1){const t=d[e];return l.stop(t)?t:r(t,n,o,u)}}}const d=(e=>e[l.parentProp])(e);if(!d)return o?(u.clear(),r(e,n,!1,u)):void 0;const i=t(d);if(i&&i.length>0){const t=i.indexOf(e)+n;if(t>=0&&t<=i.length-1){const e=i[t];return l.stop(e)?e:r(e,n,o,u)}}return l.stop(d)?d:(u.add(d),r(d,n,o,u))},u=e=>{const n=l.getCurrentNode();if(!n)return;const o=new Set;return r(n,1,null!=e&&e,o)},d=e=>{const n=l.getCurrentNode();if(!n)return;const o=new Set;return r(n,-1,null!=e&&e,o)},i=delayed((()=>{null!=o&&e(o)}),0),a=()=>i.cancel();return{get isPending(){return i.isPending},next:beforeCall((({delay:l=(null==n?void 0:n.delay)}={})=>{null!=o&&i.delay(null!=l?l:0)}),(({loop:l=(null==n?void 0:n.loop)}={})=>{a(),o=u(l)})),back:beforeCall((({delay:l=(null==n?void 0:n.delay)}={})=>{null!=o&&i.delay(null!=l?l:0)}),(({loop:l=(null==n?void 0:n.loop)}={})=>{a(),o=d(l)})),getNext:l=>u(null==l?void 0:l.loop),getBack:l=>d(null==l?void 0:l.loop),isCanNext:l=>null!=u(null==l?void 0:l.loop),isCanBack:l=>null!=d(null==l?void 0:l.loop),cancel:a}}
export declare function isEmptyObject<T extends AnyObject>(obj: T): boolean;
export default isEmptyObject;

@@ -1,1 +0,1 @@

export function isEmptyObject(r){if(Array.isArray(r))return 0===r.length;for(const t in r)return!1;return!0}export default isEmptyObject;
export function isEmptyObject(r){if(Array.isArray(r))return 0===r.length;for(const t in r)return!1;return!0}
export declare function noop(): void;
export default noop;

@@ -1,1 +0,1 @@

export function noop(){}export default noop;
export function noop(){}

@@ -8,2 +8,1 @@ /**

}
export default NoSuchElementError;

@@ -1,1 +0,1 @@

import{es5ErrorCompat}from"./es5ErrorCompat";export class NoSuchElementError extends Error{constructor(r){super(r),es5ErrorCompat(this,NoSuchElementError)}}export default NoSuchElementError;
import{es5ErrorCompat}from"./es5ErrorCompat";export class NoSuchElementError extends Error{constructor(r){super(r),es5ErrorCompat(this,NoSuchElementError)}}
type OmitByPredicate<O extends AnyObject, T extends O[keyof O] = O[keyof O]> = ((value: O[typeof key], key: keyof O) => value is T) | ((value: O[typeof key], key: keyof O) => boolean);
export declare function omitBy<O extends AnyObject, T extends O[keyof O]>(obj: O, predicate: OmitByPredicate<O, T>): O[keyof O] extends T ? Partial<O> : PartialSome<O, KeysOfType<O, T>>;
export default omitBy;
export {};

@@ -1,1 +0,1 @@

export function omitBy(t,o){const n={};for(const r in t){o(t[r],r)||(n[r]=t[r])}return n}export default omitBy;
export function omitBy(n,o){const t={};for(const r in n){o(n[r],r)||(t[r]=n[r])}return t}
{
"name": "@js-toolkit/utils",
"version": "1.49.7",
"version": "1.50.0",
"description": "Typescript helper types and utils",

@@ -22,14 +22,14 @@ "author": "VZH",

"optionalDependencies": {
"@js-toolkit/node-utils": "^1.1.5"
"@js-toolkit/node-utils": "^1.1.7"
},
"devDependencies": {
"@js-toolkit/configs": "^3.88.2",
"@types/jest": "^29.5.8",
"@types/jest": "^29.5.11",
"@types/lodash.debounce": "^4.0.9",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"copyfiles": "^2.4.1",
"eslint": "^8.54.0",
"eslint": "^8.55.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.0",

@@ -40,9 +40,9 @@ "eslint-plugin-prettier": "^5.0.1",

"lodash.debounce": "^4.0.8",
"prettier": "^3.1.0",
"prettier": "^3.1.1",
"rimraf": "^5.0.5",
"terser": "^5.24.0",
"terser": "^5.26.0",
"ts-jest": "^29.1.1",
"typescript": "^5.2.2",
"typescript": "^5.3.3",
"yargs": "^17.7.2"
}
}
export declare class TimeoutError extends Error {
constructor(message?: string | undefined);
}
export default TimeoutError;

@@ -1,1 +0,1 @@

import{es5ErrorCompat}from"./es5ErrorCompat";export class TimeoutError extends Error{constructor(r){super(r),es5ErrorCompat(this,TimeoutError)}}export default TimeoutError;
import{es5ErrorCompat}from"./es5ErrorCompat";export class TimeoutError extends Error{constructor(r){super(r),es5ErrorCompat(this,TimeoutError)}}

@@ -6,2 +6,1 @@ /**

export declare function toHashCode(str: string): number;
export default toHashCode;

@@ -1,1 +0,1 @@

export function toHashCode(t){let e=0;if(0===t.length)return e;for(let o=0;o<t.length;o+=1){e=(e<<5)-e+t.charCodeAt(o),e&=e}return e}export default toHashCode;
export function toHashCode(t){let e=0;if(0===t.length)return e;for(let r=0;r<t.length;r+=1){e=(e<<5)-e+t.charCodeAt(r),e&=e}return e}
export declare function toInt(value: number): number;
export default toInt;

@@ -1,1 +0,1 @@

export function toInt(t){return Math.floor(t)}export default toInt;
export function toInt(t){return Math.floor(t)}
type NonNullValue = {};
type AnyObject = Record<string, any>;
type AnyObject = Record<PropertyKey, any>;
type EmptyObject = Record<PropertyKey, never>;

@@ -44,3 +44,3 @@ type AnyFunction = (...args: any) => any;

[P in keyof A]: 'omit' extends keyof K ? P extends K['omit'] ? A[P] : Exclude<A[P], T> : 'pick' extends keyof K ? P extends K['pick'] ? Exclude<A[P], T> : A[P] : Exclude<A[P], T>;
}, never | undefined, false>;
}, undefined, false>;
type OmitIndex<T extends AnyObject> = T extends T ? {

@@ -54,3 +54,3 @@ [P in keyof T as string extends P ? never : number extends P ? never : P]: T[P];

[P in keyof A]: 'omit' extends keyof K ? P extends K['omit'] ? A[P] : Extract<A[P], T> : 'pick' extends keyof K ? P extends K['pick'] ? Extract<A[P], T> : A[P] : Extract<A[P], T>;
}, never | undefined, false>;
}, undefined, false>;
type Writeable<T extends AnyObject> = T extends T ? {

@@ -57,0 +57,0 @@ -readonly [P in keyof T]: T[P];

export declare class UnreachableCaseError extends Error {
constructor(value: never);
}
export default UnreachableCaseError;

@@ -1,1 +0,1 @@

import{es5ErrorCompat}from"./es5ErrorCompat";export class UnreachableCaseError extends Error{constructor(r){super(`Unreachable case: ${String(r)}`),es5ErrorCompat(this,UnreachableCaseError)}}export default UnreachableCaseError;
import{es5ErrorCompat}from"./es5ErrorCompat";export class UnreachableCaseError extends Error{constructor(r){super(`Unreachable case: ${String(r)}`),es5ErrorCompat(this,UnreachableCaseError)}}
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc