cafe-utility 10.8.1 → 10.9.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/index.d.ts +10 -5
- package/index.js +16 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -182,6 +182,14 @@ declare function getAgoStructured(dateOrTimestamp: Date | number, now?: number):
|
|
|
182
182
|
value: number;
|
|
183
183
|
unit: string;
|
|
184
184
|
};
|
|
185
|
+
declare type CountCyclesOptions = {
|
|
186
|
+
precision?: number;
|
|
187
|
+
now?: number;
|
|
188
|
+
};
|
|
189
|
+
declare function countCycles(since: number, cycleLength: number, options?: CountCyclesOptions): {
|
|
190
|
+
cycles: number;
|
|
191
|
+
remaining: number;
|
|
192
|
+
};
|
|
185
193
|
declare function throttle(identifier: string, millis: number): boolean;
|
|
186
194
|
declare function timeSince(unit: 's' | 'm' | 'h' | 'd', a: Date | number, optionalB?: Date | number): number;
|
|
187
195
|
interface Progress {
|
|
@@ -281,17 +289,13 @@ declare function transformToArray(objectOfArrays: CafeObject<unknown[]>): CafeOb
|
|
|
281
289
|
declare function incrementMulti<T>(objects: T[], key: keyof T, step?: number): void;
|
|
282
290
|
declare function setMulti<T, K extends keyof T>(objects: T[], key: K, value: T[K]): void;
|
|
283
291
|
declare function group<T>(array: T[], groupFn: (current: T, previous: T) => boolean): T[][];
|
|
284
|
-
interface FastIndexItem<T> {
|
|
285
|
-
validUntil: number;
|
|
286
|
-
data: T;
|
|
287
|
-
}
|
|
288
292
|
interface FastIndex<T> {
|
|
289
293
|
index: CafeObject<T>;
|
|
290
294
|
keys: string[];
|
|
291
295
|
}
|
|
292
296
|
declare function createFastIndex<T>(): FastIndex<T>;
|
|
293
297
|
declare function pushToFastIndex<T>(object: FastIndex<T>, key: string, item: T, limit?: number): void;
|
|
294
|
-
declare function pushToFastIndexWithExpiracy<T>(object: FastIndex<
|
|
298
|
+
declare function pushToFastIndexWithExpiracy<T>(object: FastIndex<T>, key: string, item: T, expiration: number, limit?: number): void;
|
|
295
299
|
declare function getFromFastIndexWithExpiracy<T>(object: FastIndex<T>, key: string): T | null;
|
|
296
300
|
declare function makeAsyncQueue(concurrency?: number): {
|
|
297
301
|
enqueue(fn: () => Promise<void>): void;
|
|
@@ -419,6 +423,7 @@ export declare const Promises: {
|
|
|
419
423
|
export declare const Dates: {
|
|
420
424
|
getAgo: typeof getAgo;
|
|
421
425
|
getAgoStructured: typeof getAgoStructured;
|
|
426
|
+
countCycles: typeof countCycles;
|
|
422
427
|
isoDate: typeof isoDate;
|
|
423
428
|
throttle: typeof throttle;
|
|
424
429
|
timeSince: typeof timeSince;
|
package/index.js
CHANGED
|
@@ -1318,6 +1318,21 @@ function getAgoStructured(dateOrTimestamp, now) {
|
|
|
1318
1318
|
return { value: Math.floor(delta), unit: 'day' }
|
|
1319
1319
|
}
|
|
1320
1320
|
|
|
1321
|
+
function countCycles(since, cycleLength, options) {
|
|
1322
|
+
var _a, _b
|
|
1323
|
+
const now =
|
|
1324
|
+
(_a = options === null || options === void 0 ? void 0 : options.now) !== null && _a !== void 0 ? _a : Date.now()
|
|
1325
|
+
const delta = now - since
|
|
1326
|
+
const cycles = Math.floor(delta / cycleLength)
|
|
1327
|
+
const remaining = Math.ceil(
|
|
1328
|
+
(delta % cycleLength) /
|
|
1329
|
+
((_b = options === null || options === void 0 ? void 0 : options.precision) !== null && _b !== void 0
|
|
1330
|
+
? _b
|
|
1331
|
+
: 1)
|
|
1332
|
+
)
|
|
1333
|
+
return { cycles, remaining }
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1321
1336
|
const throttleTimers = {}
|
|
1322
1337
|
function throttle(identifier, millis) {
|
|
1323
1338
|
if (!throttleTimers[identifier] || Date.now() > throttleTimers[identifier]) {
|
|
@@ -2538,6 +2553,7 @@ exports.Promises = {
|
|
|
2538
2553
|
exports.Dates = {
|
|
2539
2554
|
getAgo,
|
|
2540
2555
|
getAgoStructured,
|
|
2556
|
+
countCycles,
|
|
2541
2557
|
isoDate,
|
|
2542
2558
|
throttle,
|
|
2543
2559
|
timeSince,
|