Socket
Socket
Sign inDemoInstall

@bffr/tools

Package Overview
Dependencies
1
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.5 to 0.0.6

dist/match.d.ts

1

dist/index.d.ts

@@ -18,3 +18,4 @@ /**

export * from './timer';
export * from './match';
export { boolean as bool } from './boolean';
export { promise as prom } from './promise';

@@ -35,2 +35,3 @@ "use strict";

__exportStar(require("./timer"), exports);
__exportStar(require("./match"), exports);
var boolean_1 = require("./boolean");

@@ -37,0 +38,0 @@ Object.defineProperty(exports, "bool", { enumerable: true, get: function () { return boolean_1.boolean; } });

@@ -10,2 +10,4 @@ declare type PromiseValue<T> = Promise<T> | (() => Promise<T>);

like: typeof isPromiseLike;
delay: typeof delayFor;
resolveAfter: typeof resolveAfter;
};

@@ -16,2 +18,5 @@ export declare function mapPromise<T, R>(list: T[], op: (item: T, index: number, source: typeof list) => R | Promise<R>): Promise<(Awaited<R> | Awaited<R>)[]>;

export declare function isPromiseLike<T>(data: T | PromiseLike<T>): data is PromiseLike<T>;
export declare function delayFor(duration: number): Promise<unknown>;
export declare function resolveAfter<T>(duration: number, promise: Promise<T | undefined>): Promise<T>;
export declare function rejectAfter<T>(duration: number, promise: Promise<T>): Promise<T>;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPromiseLike = exports.isPromise = exports.followPromise = exports.mapPromise = exports.promise = void 0;
exports.rejectAfter = exports.resolveAfter = exports.delayFor = exports.isPromiseLike = exports.isPromise = exports.followPromise = exports.mapPromise = exports.promise = void 0;
const func_1 = require("./func");

@@ -10,2 +10,4 @@ exports.promise = {

like: isPromiseLike,
delay: delayFor,
resolveAfter: resolveAfter,
};

@@ -37,2 +39,17 @@ function mapPromise(list, op) {

exports.isPromiseLike = isPromiseLike;
function delayFor(duration) {
return new Promise(next => setTimeout(next, duration));
}
exports.delayFor = delayFor;
function resolveAfter(duration, promise) {
return Promise.race([promise, delayFor(duration)]);
}
exports.resolveAfter = resolveAfter;
function rejectAfter(duration, promise) {
return (Promise.race([
promise,
new Promise(async (_, reject) => reject((await delayFor(duration), undefined))),
]));
}
exports.rejectAfter = rejectAfter;
//# sourceMappingURL=promise.js.map

@@ -5,1 +5,2 @@ export declare type Timer<T> = (fn: () => unknown, duration: number) => T;

export declare function createTimer<T>(set: Timer<T>, clear: (v: T) => unknown): Timer<() => void>;
export declare function createIdleCallback(callback: () => unknown): () => any;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTimer = exports.createInterval = exports.createTimeout = void 0;
exports.createIdleCallback = exports.createTimer = exports.createInterval = exports.createTimeout = void 0;
exports.createTimeout = createTimer(setTimeout, clearTimeout);

@@ -14,2 +14,18 @@ exports.createInterval = createTimer(setInterval, clearInterval);

exports.createTimer = createTimer;
const timeout = 4 * 16;
function createIdleCallback(callback) {
// not supported by all browsers or environments
// @ts-expect-error: window this window that
if (window?.requestIdleCallback != null) {
// @ts-expect-error: window this window that
let id = window.requestIdleCallback(() => callback?.(), { timeout });
// @ts-expect-error: window this window that
return () => window.cancelIdleCallback(id);
}
else {
let id = setTimeout(callback, timeout);
return () => clearTimeout(id);
}
}
exports.createIdleCallback = createIdleCallback;
//# sourceMappingURL=timer.js.map

5

package.json
{
"name": "@bffr/tools",
"version": "0.0.5",
"version": "0.0.6",
"description": "Hammers, saws, and more pure function tools.",

@@ -14,3 +14,4 @@ "main": "./dist/index.js",

"build": "rm -rf ./dist && tsc -b",
"publish": "yarn build && npm publish --access public",
"prepublishOnly": "yarn build",
"publish": "npm publish --access public",
"test": "echo \"Error: no test specified\" && exit 1"

@@ -17,0 +18,0 @@ },

@@ -18,4 +18,5 @@ /**

export * from './timer';
export * from './match';
export { boolean as bool } from './boolean';
export { promise as prom } from './promise';

@@ -11,2 +11,4 @@ import { func } from './func';

like: isPromiseLike,
delay: delayFor,
resolveAfter: resolveAfter,
};

@@ -50,1 +52,23 @@

}
export function delayFor(duration: number) {
return new Promise(next => setTimeout(next, duration));
}
export function resolveAfter<T>(
duration: number,
promise: Promise<T | undefined>,
) {
return <Promise<T>>Promise.race([promise, delayFor(duration)]);
}
export function rejectAfter<T>(duration: number, promise: Promise<T>) {
return <Promise<T>>(
Promise.race([
promise,
new Promise(async (_, reject) =>
reject((await delayFor(duration), undefined)),
),
])
);
}

@@ -17,1 +17,16 @@ export type Timer<T> = (fn: () => unknown, duration: number) => T;

}
const timeout = 4 * 16;
export function createIdleCallback(callback: () => unknown) {
// not supported by all browsers or environments
// @ts-expect-error: window this window that
if (window?.requestIdleCallback != null) {
// @ts-expect-error: window this window that
let id = window.requestIdleCallback(() => callback?.(), { timeout });
// @ts-expect-error: window this window that
return () => window.cancelIdleCallback(id);
} else {
let id = setTimeout(callback, timeout);
return () => clearTimeout(id);
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc