rattail 0.0.6 → 0.0.7
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/lib/index.cjs +70 -42
- package/lib/index.d.cts +15 -13
- package/lib/index.d.ts +15 -13
- package/lib/index.js +55 -41
- package/package.json +18 -1
package/lib/index.cjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __defProps = Object.defineProperties;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
7
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
8
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
10
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
11
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
12
|
var __defNormalProp = (obj, key3, value) => key3 in obj ? __defProp(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
|
|
@@ -32,6 +34,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
32
34
|
}
|
|
33
35
|
return to;
|
|
34
36
|
};
|
|
37
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
38
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
39
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
40
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
41
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
42
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
43
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
44
|
+
mod
|
|
45
|
+
));
|
|
35
46
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
47
|
|
|
37
48
|
// src/index.ts
|
|
@@ -99,8 +110,10 @@ __export(src_exports, {
|
|
|
99
110
|
merge: () => merge,
|
|
100
111
|
mergeWith: () => mergeWith,
|
|
101
112
|
minBy: () => minBy,
|
|
113
|
+
mitt: () => import_mitt.default,
|
|
102
114
|
normalizeToArray: () => normalizeToArray,
|
|
103
115
|
objectToString: () => objectToString,
|
|
116
|
+
once: () => once,
|
|
104
117
|
pascalCase: () => pascalCase,
|
|
105
118
|
prettyJSONObject: () => prettyJSONObject,
|
|
106
119
|
preventDefault: () => preventDefault,
|
|
@@ -338,7 +351,7 @@ function lowerFirst(s) {
|
|
|
338
351
|
return s.charAt(0).toLowerCase() + s.slice(1);
|
|
339
352
|
}
|
|
340
353
|
|
|
341
|
-
// src/
|
|
354
|
+
// src/util.ts
|
|
342
355
|
function requestAnimationFrame(fn) {
|
|
343
356
|
const globalThis2 = getGlobalThis();
|
|
344
357
|
return globalThis2.requestAnimationFrame ? globalThis2.requestAnimationFrame(fn) : globalThis2.setTimeout(fn);
|
|
@@ -430,6 +443,16 @@ function getScrollLeft(element) {
|
|
|
430
443
|
const left = "scrollLeft" in element ? element.scrollLeft : element.scrollX;
|
|
431
444
|
return Math.max(left, 0);
|
|
432
445
|
}
|
|
446
|
+
function tryParseJSON(json) {
|
|
447
|
+
try {
|
|
448
|
+
return JSON.parse(json);
|
|
449
|
+
} catch (e) {
|
|
450
|
+
return void 0;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
function prettyJSONObject(jsonObject) {
|
|
454
|
+
return JSON.stringify(jsonObject, null, 2);
|
|
455
|
+
}
|
|
433
456
|
function classes(...classes2) {
|
|
434
457
|
return classes2.map((className) => {
|
|
435
458
|
if (isArray(className)) {
|
|
@@ -458,6 +481,32 @@ function createNamespaceFn(namespace) {
|
|
|
458
481
|
};
|
|
459
482
|
};
|
|
460
483
|
}
|
|
484
|
+
function createStorage(storage) {
|
|
485
|
+
return __spreadProps(__spreadValues({}, storage), {
|
|
486
|
+
set(key3, value) {
|
|
487
|
+
if (value == null) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (!isString(value)) {
|
|
491
|
+
value = JSON.stringify(value);
|
|
492
|
+
}
|
|
493
|
+
storage.setItem(key3, value);
|
|
494
|
+
},
|
|
495
|
+
get(key3) {
|
|
496
|
+
const data = storage.getItem(key3);
|
|
497
|
+
try {
|
|
498
|
+
return JSON.parse(data);
|
|
499
|
+
} catch (err) {
|
|
500
|
+
return data;
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
remove(key3) {
|
|
504
|
+
storage.removeItem(key3);
|
|
505
|
+
}
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
var sessionStorage = createStorage(globalThis.sessionStorage);
|
|
509
|
+
var localStorage = createStorage(globalThis.localStorage);
|
|
461
510
|
|
|
462
511
|
// src/function.ts
|
|
463
512
|
function NOOP() {
|
|
@@ -503,6 +552,18 @@ function call(fn, ...args) {
|
|
|
503
552
|
return fn(...args);
|
|
504
553
|
}
|
|
505
554
|
}
|
|
555
|
+
function once(fn) {
|
|
556
|
+
let called = false;
|
|
557
|
+
let result;
|
|
558
|
+
return function(...args) {
|
|
559
|
+
if (called) {
|
|
560
|
+
return result;
|
|
561
|
+
}
|
|
562
|
+
called = true;
|
|
563
|
+
result = fn.apply(this, args);
|
|
564
|
+
return result;
|
|
565
|
+
};
|
|
566
|
+
}
|
|
506
567
|
|
|
507
568
|
// src/number.ts
|
|
508
569
|
function toNumber(val) {
|
|
@@ -653,18 +714,6 @@ function cloneDeepWith(value, fn) {
|
|
|
653
714
|
return baseCloneDeep(value, cache);
|
|
654
715
|
}
|
|
655
716
|
|
|
656
|
-
// src/json.ts
|
|
657
|
-
function tryParseJSON(json) {
|
|
658
|
-
try {
|
|
659
|
-
return JSON.parse(json);
|
|
660
|
-
} catch (e) {
|
|
661
|
-
return void 0;
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
function prettyJSONObject(jsonObject) {
|
|
665
|
-
return JSON.stringify(jsonObject, null, 2);
|
|
666
|
-
}
|
|
667
|
-
|
|
668
717
|
// src/file.ts
|
|
669
718
|
function toDataURL(file) {
|
|
670
719
|
return new Promise((resolve) => {
|
|
@@ -694,34 +743,6 @@ function toArrayBuffer(file) {
|
|
|
694
743
|
});
|
|
695
744
|
}
|
|
696
745
|
|
|
697
|
-
// src/storage.ts
|
|
698
|
-
function createStorage(storage) {
|
|
699
|
-
return __spreadProps(__spreadValues({}, storage), {
|
|
700
|
-
set(key3, value) {
|
|
701
|
-
if (value == null) {
|
|
702
|
-
return;
|
|
703
|
-
}
|
|
704
|
-
if (!isString(value)) {
|
|
705
|
-
value = JSON.stringify(value);
|
|
706
|
-
}
|
|
707
|
-
storage.setItem(key3, value);
|
|
708
|
-
},
|
|
709
|
-
get(key3) {
|
|
710
|
-
const data = storage.getItem(key3);
|
|
711
|
-
try {
|
|
712
|
-
return JSON.parse(data);
|
|
713
|
-
} catch (err) {
|
|
714
|
-
return data;
|
|
715
|
-
}
|
|
716
|
-
},
|
|
717
|
-
remove(key3) {
|
|
718
|
-
storage.removeItem(key3);
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
}
|
|
722
|
-
var sessionStorage = createStorage(globalThis.sessionStorage);
|
|
723
|
-
var localStorage = createStorage(globalThis.localStorage);
|
|
724
|
-
|
|
725
746
|
// src/math.ts
|
|
726
747
|
function sum(arr) {
|
|
727
748
|
return arr.reduce((ret, val) => ret + val, 0);
|
|
@@ -753,6 +774,10 @@ function sample(arr) {
|
|
|
753
774
|
}
|
|
754
775
|
return arr[randomNumber(0, arr.length - 1)];
|
|
755
776
|
}
|
|
777
|
+
|
|
778
|
+
// src/index.ts
|
|
779
|
+
__reExport(src_exports, require("mitt"), module.exports);
|
|
780
|
+
var import_mitt = __toESM(require("mitt"), 1);
|
|
756
781
|
// Annotate the CommonJS export names for ESM import in node:
|
|
757
782
|
0 && (module.exports = {
|
|
758
783
|
NOOP,
|
|
@@ -817,8 +842,10 @@ function sample(arr) {
|
|
|
817
842
|
merge,
|
|
818
843
|
mergeWith,
|
|
819
844
|
minBy,
|
|
845
|
+
mitt,
|
|
820
846
|
normalizeToArray,
|
|
821
847
|
objectToString,
|
|
848
|
+
once,
|
|
822
849
|
pascalCase,
|
|
823
850
|
prettyJSONObject,
|
|
824
851
|
preventDefault,
|
|
@@ -847,5 +874,6 @@ function sample(arr) {
|
|
|
847
874
|
tryParseJSON,
|
|
848
875
|
uniq,
|
|
849
876
|
uniqBy,
|
|
850
|
-
upperFirst
|
|
877
|
+
upperFirst,
|
|
878
|
+
...require("mitt")
|
|
851
879
|
});
|
package/lib/index.d.cts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export * from 'mitt';
|
|
2
|
+
export { default as mitt } from 'mitt';
|
|
3
|
+
|
|
1
4
|
declare function uniq<T>(arr: T[]): T[];
|
|
2
5
|
declare function uniqBy<T>(arr: T[], fn: (a: T, b: T) => boolean): T[];
|
|
3
6
|
declare function normalizeToArray<T>(value: T | T[]): T[];
|
|
@@ -21,6 +24,8 @@ declare function getAllParentScroller(el: HTMLElement): Array<HTMLElement | Wind
|
|
|
21
24
|
declare function preventDefault(event: Event): void;
|
|
22
25
|
declare function getScrollTop(element: Element | Window): number;
|
|
23
26
|
declare function getScrollLeft(element: Element | Window): number;
|
|
27
|
+
declare function tryParseJSON<T>(json: string): T | undefined;
|
|
28
|
+
declare function prettyJSONObject(jsonObject: Record<string, any>): string;
|
|
24
29
|
type ClassName = string | undefined | null;
|
|
25
30
|
type Classes = (ClassName | [any, ClassName, ClassName?])[];
|
|
26
31
|
declare function classes(...classes: Classes): any[];
|
|
@@ -30,11 +35,20 @@ declare function createNamespaceFn<N extends string>(namespace: N): <C extends s
|
|
|
30
35
|
n: <S extends string | undefined = undefined>(suffix?: S) => BEM<S, typeof namespace, `${N}-${C}`>;
|
|
31
36
|
classes: typeof classes;
|
|
32
37
|
};
|
|
38
|
+
interface Storage extends globalThis.Storage {
|
|
39
|
+
set(key: string, value: any): void;
|
|
40
|
+
get(key: string): any;
|
|
41
|
+
remove(key: string): void;
|
|
42
|
+
}
|
|
43
|
+
declare function createStorage(storage: globalThis.Storage): Storage;
|
|
44
|
+
declare const sessionStorage: Storage;
|
|
45
|
+
declare const localStorage: Storage;
|
|
33
46
|
|
|
34
47
|
declare function NOOP(): void;
|
|
35
48
|
declare function debounce<F extends (...args: any[]) => any>(fn: F, delay?: number): (this: unknown, ...args: Parameters<F>) => void;
|
|
36
49
|
declare function throttle<F extends (...args: any[]) => any>(fn: F, delay?: number): (this: unknown, ...args: Parameters<F>) => void;
|
|
37
50
|
declare function call<P extends any[], R>(fn?: ((...arg: P) => R) | ((...arg: P) => R)[] | null, ...args: P): R | R[] | undefined;
|
|
51
|
+
declare function once<F extends (...args: any[]) => any>(fn: F): (this: unknown, ...args: Parameters<F>) => ReturnType<F>;
|
|
38
52
|
|
|
39
53
|
declare const objectToString: typeof Object.prototype.toString;
|
|
40
54
|
declare function toTypeString(value: unknown): string;
|
|
@@ -90,22 +104,10 @@ declare function merge<TObject extends Record<string, any>, TSource extends Reco
|
|
|
90
104
|
declare function cloneDeep<T>(value: T): T;
|
|
91
105
|
declare function cloneDeepWith<T>(value: T, fn: (value: any) => any): T;
|
|
92
106
|
|
|
93
|
-
declare function tryParseJSON<T>(json: string): T | undefined;
|
|
94
|
-
declare function prettyJSONObject(jsonObject: Record<string, any>): string;
|
|
95
|
-
|
|
96
107
|
declare function toDataURL(file: File): Promise<string>;
|
|
97
108
|
declare function toText(file: File): Promise<string>;
|
|
98
109
|
declare function toArrayBuffer(file: File): Promise<ArrayBuffer>;
|
|
99
110
|
|
|
100
|
-
interface Storage extends globalThis.Storage {
|
|
101
|
-
set(key: string, value: any): void;
|
|
102
|
-
get(key: string): any;
|
|
103
|
-
remove(key: string): void;
|
|
104
|
-
}
|
|
105
|
-
declare function createStorage(storage: globalThis.Storage): Storage;
|
|
106
|
-
declare const sessionStorage: Storage;
|
|
107
|
-
declare const localStorage: Storage;
|
|
108
|
-
|
|
109
111
|
declare function sum(arr: number[]): number;
|
|
110
112
|
declare function sumBy<T>(arr: T[], fn: (val: T) => number): number;
|
|
111
113
|
declare function minBy<T>(arr: T[], fn: (val: T) => number): T | undefined;
|
|
@@ -114,4 +116,4 @@ declare function mean(arr: number[]): number;
|
|
|
114
116
|
declare function meanBy<T>(arr: T[], fn: (val: T) => number): number;
|
|
115
117
|
declare function sample<T>(arr: T[]): T | undefined;
|
|
116
118
|
|
|
117
|
-
export { type BEM, type ClassName, type Classes, NOOP, type Storage, at, call, camelize, cancelAnimationFrame, clamp, clampArrayRange, classes, cloneDeep, cloneDeepWith, createNamespaceFn, createStorage, debounce, delay, doubleRaf, find, genNumberKey, genStringKey, getAllParentScroller, getGlobalThis, getParentScroller, getRect, getScrollLeft, getScrollTop, getStyle, hasOwn, inBrowser, inMobile, inViewport, isArray, isArrayBuffer, isBoolean, isDataView, isDate, isEmpty, isFunction, isMap, isNonEmptyArray, isNullish, isNumber, isNumeric, isObject, isPlainObject, isPromise, isRegExp, isSet, isString, isSymbol, isTruthy, isTypedArray, isWeakMap, isWeakSet, isWindow, kebabCase, localStorage, lowerFirst, maxBy, mean, meanBy, merge, mergeWith, minBy, normalizeToArray, objectToString, pascalCase, prettyJSONObject, preventDefault, raf, randomNumber, removeArrayBlank, removeArrayEmpty, removeItem, requestAnimationFrame, sample, sessionStorage, shuffle, slash, sum, sumBy, supportTouch, throttle, times, toArrayBuffer, toDataURL, toNumber, toRawType, toText, toTypeString, toggleItem, tryParseJSON, uniq, uniqBy, upperFirst };
|
|
119
|
+
export { type BEM, type ClassName, type Classes, NOOP, type Storage, at, call, camelize, cancelAnimationFrame, clamp, clampArrayRange, classes, cloneDeep, cloneDeepWith, createNamespaceFn, createStorage, debounce, delay, doubleRaf, find, genNumberKey, genStringKey, getAllParentScroller, getGlobalThis, getParentScroller, getRect, getScrollLeft, getScrollTop, getStyle, hasOwn, inBrowser, inMobile, inViewport, isArray, isArrayBuffer, isBoolean, isDataView, isDate, isEmpty, isFunction, isMap, isNonEmptyArray, isNullish, isNumber, isNumeric, isObject, isPlainObject, isPromise, isRegExp, isSet, isString, isSymbol, isTruthy, isTypedArray, isWeakMap, isWeakSet, isWindow, kebabCase, localStorage, lowerFirst, maxBy, mean, meanBy, merge, mergeWith, minBy, normalizeToArray, objectToString, once, pascalCase, prettyJSONObject, preventDefault, raf, randomNumber, removeArrayBlank, removeArrayEmpty, removeItem, requestAnimationFrame, sample, sessionStorage, shuffle, slash, sum, sumBy, supportTouch, throttle, times, toArrayBuffer, toDataURL, toNumber, toRawType, toText, toTypeString, toggleItem, tryParseJSON, uniq, uniqBy, upperFirst };
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export * from 'mitt';
|
|
2
|
+
export { default as mitt } from 'mitt';
|
|
3
|
+
|
|
1
4
|
declare function uniq<T>(arr: T[]): T[];
|
|
2
5
|
declare function uniqBy<T>(arr: T[], fn: (a: T, b: T) => boolean): T[];
|
|
3
6
|
declare function normalizeToArray<T>(value: T | T[]): T[];
|
|
@@ -21,6 +24,8 @@ declare function getAllParentScroller(el: HTMLElement): Array<HTMLElement | Wind
|
|
|
21
24
|
declare function preventDefault(event: Event): void;
|
|
22
25
|
declare function getScrollTop(element: Element | Window): number;
|
|
23
26
|
declare function getScrollLeft(element: Element | Window): number;
|
|
27
|
+
declare function tryParseJSON<T>(json: string): T | undefined;
|
|
28
|
+
declare function prettyJSONObject(jsonObject: Record<string, any>): string;
|
|
24
29
|
type ClassName = string | undefined | null;
|
|
25
30
|
type Classes = (ClassName | [any, ClassName, ClassName?])[];
|
|
26
31
|
declare function classes(...classes: Classes): any[];
|
|
@@ -30,11 +35,20 @@ declare function createNamespaceFn<N extends string>(namespace: N): <C extends s
|
|
|
30
35
|
n: <S extends string | undefined = undefined>(suffix?: S) => BEM<S, typeof namespace, `${N}-${C}`>;
|
|
31
36
|
classes: typeof classes;
|
|
32
37
|
};
|
|
38
|
+
interface Storage extends globalThis.Storage {
|
|
39
|
+
set(key: string, value: any): void;
|
|
40
|
+
get(key: string): any;
|
|
41
|
+
remove(key: string): void;
|
|
42
|
+
}
|
|
43
|
+
declare function createStorage(storage: globalThis.Storage): Storage;
|
|
44
|
+
declare const sessionStorage: Storage;
|
|
45
|
+
declare const localStorage: Storage;
|
|
33
46
|
|
|
34
47
|
declare function NOOP(): void;
|
|
35
48
|
declare function debounce<F extends (...args: any[]) => any>(fn: F, delay?: number): (this: unknown, ...args: Parameters<F>) => void;
|
|
36
49
|
declare function throttle<F extends (...args: any[]) => any>(fn: F, delay?: number): (this: unknown, ...args: Parameters<F>) => void;
|
|
37
50
|
declare function call<P extends any[], R>(fn?: ((...arg: P) => R) | ((...arg: P) => R)[] | null, ...args: P): R | R[] | undefined;
|
|
51
|
+
declare function once<F extends (...args: any[]) => any>(fn: F): (this: unknown, ...args: Parameters<F>) => ReturnType<F>;
|
|
38
52
|
|
|
39
53
|
declare const objectToString: typeof Object.prototype.toString;
|
|
40
54
|
declare function toTypeString(value: unknown): string;
|
|
@@ -90,22 +104,10 @@ declare function merge<TObject extends Record<string, any>, TSource extends Reco
|
|
|
90
104
|
declare function cloneDeep<T>(value: T): T;
|
|
91
105
|
declare function cloneDeepWith<T>(value: T, fn: (value: any) => any): T;
|
|
92
106
|
|
|
93
|
-
declare function tryParseJSON<T>(json: string): T | undefined;
|
|
94
|
-
declare function prettyJSONObject(jsonObject: Record<string, any>): string;
|
|
95
|
-
|
|
96
107
|
declare function toDataURL(file: File): Promise<string>;
|
|
97
108
|
declare function toText(file: File): Promise<string>;
|
|
98
109
|
declare function toArrayBuffer(file: File): Promise<ArrayBuffer>;
|
|
99
110
|
|
|
100
|
-
interface Storage extends globalThis.Storage {
|
|
101
|
-
set(key: string, value: any): void;
|
|
102
|
-
get(key: string): any;
|
|
103
|
-
remove(key: string): void;
|
|
104
|
-
}
|
|
105
|
-
declare function createStorage(storage: globalThis.Storage): Storage;
|
|
106
|
-
declare const sessionStorage: Storage;
|
|
107
|
-
declare const localStorage: Storage;
|
|
108
|
-
|
|
109
111
|
declare function sum(arr: number[]): number;
|
|
110
112
|
declare function sumBy<T>(arr: T[], fn: (val: T) => number): number;
|
|
111
113
|
declare function minBy<T>(arr: T[], fn: (val: T) => number): T | undefined;
|
|
@@ -114,4 +116,4 @@ declare function mean(arr: number[]): number;
|
|
|
114
116
|
declare function meanBy<T>(arr: T[], fn: (val: T) => number): number;
|
|
115
117
|
declare function sample<T>(arr: T[]): T | undefined;
|
|
116
118
|
|
|
117
|
-
export { type BEM, type ClassName, type Classes, NOOP, type Storage, at, call, camelize, cancelAnimationFrame, clamp, clampArrayRange, classes, cloneDeep, cloneDeepWith, createNamespaceFn, createStorage, debounce, delay, doubleRaf, find, genNumberKey, genStringKey, getAllParentScroller, getGlobalThis, getParentScroller, getRect, getScrollLeft, getScrollTop, getStyle, hasOwn, inBrowser, inMobile, inViewport, isArray, isArrayBuffer, isBoolean, isDataView, isDate, isEmpty, isFunction, isMap, isNonEmptyArray, isNullish, isNumber, isNumeric, isObject, isPlainObject, isPromise, isRegExp, isSet, isString, isSymbol, isTruthy, isTypedArray, isWeakMap, isWeakSet, isWindow, kebabCase, localStorage, lowerFirst, maxBy, mean, meanBy, merge, mergeWith, minBy, normalizeToArray, objectToString, pascalCase, prettyJSONObject, preventDefault, raf, randomNumber, removeArrayBlank, removeArrayEmpty, removeItem, requestAnimationFrame, sample, sessionStorage, shuffle, slash, sum, sumBy, supportTouch, throttle, times, toArrayBuffer, toDataURL, toNumber, toRawType, toText, toTypeString, toggleItem, tryParseJSON, uniq, uniqBy, upperFirst };
|
|
119
|
+
export { type BEM, type ClassName, type Classes, NOOP, type Storage, at, call, camelize, cancelAnimationFrame, clamp, clampArrayRange, classes, cloneDeep, cloneDeepWith, createNamespaceFn, createStorage, debounce, delay, doubleRaf, find, genNumberKey, genStringKey, getAllParentScroller, getGlobalThis, getParentScroller, getRect, getScrollLeft, getScrollTop, getStyle, hasOwn, inBrowser, inMobile, inViewport, isArray, isArrayBuffer, isBoolean, isDataView, isDate, isEmpty, isFunction, isMap, isNonEmptyArray, isNullish, isNumber, isNumeric, isObject, isPlainObject, isPromise, isRegExp, isSet, isString, isSymbol, isTruthy, isTypedArray, isWeakMap, isWeakSet, isWindow, kebabCase, localStorage, lowerFirst, maxBy, mean, meanBy, merge, mergeWith, minBy, normalizeToArray, objectToString, once, pascalCase, prettyJSONObject, preventDefault, raf, randomNumber, removeArrayBlank, removeArrayEmpty, removeItem, requestAnimationFrame, sample, sessionStorage, shuffle, slash, sum, sumBy, supportTouch, throttle, times, toArrayBuffer, toDataURL, toNumber, toRawType, toText, toTypeString, toggleItem, tryParseJSON, uniq, uniqBy, upperFirst };
|
package/lib/index.js
CHANGED
|
@@ -223,7 +223,7 @@ function lowerFirst(s) {
|
|
|
223
223
|
return s.charAt(0).toLowerCase() + s.slice(1);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
// src/
|
|
226
|
+
// src/util.ts
|
|
227
227
|
function requestAnimationFrame(fn) {
|
|
228
228
|
const globalThis2 = getGlobalThis();
|
|
229
229
|
return globalThis2.requestAnimationFrame ? globalThis2.requestAnimationFrame(fn) : globalThis2.setTimeout(fn);
|
|
@@ -315,6 +315,16 @@ function getScrollLeft(element) {
|
|
|
315
315
|
const left = "scrollLeft" in element ? element.scrollLeft : element.scrollX;
|
|
316
316
|
return Math.max(left, 0);
|
|
317
317
|
}
|
|
318
|
+
function tryParseJSON(json) {
|
|
319
|
+
try {
|
|
320
|
+
return JSON.parse(json);
|
|
321
|
+
} catch (e) {
|
|
322
|
+
return void 0;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
function prettyJSONObject(jsonObject) {
|
|
326
|
+
return JSON.stringify(jsonObject, null, 2);
|
|
327
|
+
}
|
|
318
328
|
function classes(...classes2) {
|
|
319
329
|
return classes2.map((className) => {
|
|
320
330
|
if (isArray(className)) {
|
|
@@ -343,6 +353,32 @@ function createNamespaceFn(namespace) {
|
|
|
343
353
|
};
|
|
344
354
|
};
|
|
345
355
|
}
|
|
356
|
+
function createStorage(storage) {
|
|
357
|
+
return __spreadProps(__spreadValues({}, storage), {
|
|
358
|
+
set(key3, value) {
|
|
359
|
+
if (value == null) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (!isString(value)) {
|
|
363
|
+
value = JSON.stringify(value);
|
|
364
|
+
}
|
|
365
|
+
storage.setItem(key3, value);
|
|
366
|
+
},
|
|
367
|
+
get(key3) {
|
|
368
|
+
const data = storage.getItem(key3);
|
|
369
|
+
try {
|
|
370
|
+
return JSON.parse(data);
|
|
371
|
+
} catch (err) {
|
|
372
|
+
return data;
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
remove(key3) {
|
|
376
|
+
storage.removeItem(key3);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
var sessionStorage = createStorage(globalThis.sessionStorage);
|
|
381
|
+
var localStorage = createStorage(globalThis.localStorage);
|
|
346
382
|
|
|
347
383
|
// src/function.ts
|
|
348
384
|
function NOOP() {
|
|
@@ -388,6 +424,18 @@ function call(fn, ...args) {
|
|
|
388
424
|
return fn(...args);
|
|
389
425
|
}
|
|
390
426
|
}
|
|
427
|
+
function once(fn) {
|
|
428
|
+
let called = false;
|
|
429
|
+
let result;
|
|
430
|
+
return function(...args) {
|
|
431
|
+
if (called) {
|
|
432
|
+
return result;
|
|
433
|
+
}
|
|
434
|
+
called = true;
|
|
435
|
+
result = fn.apply(this, args);
|
|
436
|
+
return result;
|
|
437
|
+
};
|
|
438
|
+
}
|
|
391
439
|
|
|
392
440
|
// src/number.ts
|
|
393
441
|
function toNumber(val) {
|
|
@@ -538,18 +586,6 @@ function cloneDeepWith(value, fn) {
|
|
|
538
586
|
return baseCloneDeep(value, cache);
|
|
539
587
|
}
|
|
540
588
|
|
|
541
|
-
// src/json.ts
|
|
542
|
-
function tryParseJSON(json) {
|
|
543
|
-
try {
|
|
544
|
-
return JSON.parse(json);
|
|
545
|
-
} catch (e) {
|
|
546
|
-
return void 0;
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
function prettyJSONObject(jsonObject) {
|
|
550
|
-
return JSON.stringify(jsonObject, null, 2);
|
|
551
|
-
}
|
|
552
|
-
|
|
553
589
|
// src/file.ts
|
|
554
590
|
function toDataURL(file) {
|
|
555
591
|
return new Promise((resolve) => {
|
|
@@ -579,34 +615,6 @@ function toArrayBuffer(file) {
|
|
|
579
615
|
});
|
|
580
616
|
}
|
|
581
617
|
|
|
582
|
-
// src/storage.ts
|
|
583
|
-
function createStorage(storage) {
|
|
584
|
-
return __spreadProps(__spreadValues({}, storage), {
|
|
585
|
-
set(key3, value) {
|
|
586
|
-
if (value == null) {
|
|
587
|
-
return;
|
|
588
|
-
}
|
|
589
|
-
if (!isString(value)) {
|
|
590
|
-
value = JSON.stringify(value);
|
|
591
|
-
}
|
|
592
|
-
storage.setItem(key3, value);
|
|
593
|
-
},
|
|
594
|
-
get(key3) {
|
|
595
|
-
const data = storage.getItem(key3);
|
|
596
|
-
try {
|
|
597
|
-
return JSON.parse(data);
|
|
598
|
-
} catch (err) {
|
|
599
|
-
return data;
|
|
600
|
-
}
|
|
601
|
-
},
|
|
602
|
-
remove(key3) {
|
|
603
|
-
storage.removeItem(key3);
|
|
604
|
-
}
|
|
605
|
-
});
|
|
606
|
-
}
|
|
607
|
-
var sessionStorage = createStorage(globalThis.sessionStorage);
|
|
608
|
-
var localStorage = createStorage(globalThis.localStorage);
|
|
609
|
-
|
|
610
618
|
// src/math.ts
|
|
611
619
|
function sum(arr) {
|
|
612
620
|
return arr.reduce((ret, val) => ret + val, 0);
|
|
@@ -638,6 +646,10 @@ function sample(arr) {
|
|
|
638
646
|
}
|
|
639
647
|
return arr[randomNumber(0, arr.length - 1)];
|
|
640
648
|
}
|
|
649
|
+
|
|
650
|
+
// src/index.ts
|
|
651
|
+
export * from "mitt";
|
|
652
|
+
import { default as default2 } from "mitt";
|
|
641
653
|
export {
|
|
642
654
|
NOOP,
|
|
643
655
|
at,
|
|
@@ -701,8 +713,10 @@ export {
|
|
|
701
713
|
merge,
|
|
702
714
|
mergeWith,
|
|
703
715
|
minBy,
|
|
716
|
+
default2 as mitt,
|
|
704
717
|
normalizeToArray,
|
|
705
718
|
objectToString,
|
|
719
|
+
once,
|
|
706
720
|
pascalCase,
|
|
707
721
|
prettyJSONObject,
|
|
708
722
|
preventDefault,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rattail",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -31,6 +31,17 @@
|
|
|
31
31
|
"bugs": {
|
|
32
32
|
"url": "https://github.com/varletjs/rattail/issues"
|
|
33
33
|
},
|
|
34
|
+
"simple-git-hooks": {
|
|
35
|
+
"pre-commit": "pnpm exec nano-staged --allow-empty",
|
|
36
|
+
"commit-msg": "pnpm exec vr commit-lint -p $1"
|
|
37
|
+
},
|
|
38
|
+
"nano-staged": {
|
|
39
|
+
"*.{md}": "pnpm format",
|
|
40
|
+
"*.{ts}": [
|
|
41
|
+
"pnpm format",
|
|
42
|
+
"pnpm lint"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
34
45
|
"devDependencies": {
|
|
35
46
|
"@types/node": "^22.8.1",
|
|
36
47
|
"@varlet/eslint-config": "latest",
|
|
@@ -38,8 +49,10 @@
|
|
|
38
49
|
"@vitest/coverage-istanbul": "^2.1.3",
|
|
39
50
|
"eslint": "^8.53.0",
|
|
40
51
|
"jsdom": "^25.0.1",
|
|
52
|
+
"nano-staged": "0.8.0",
|
|
41
53
|
"prettier": "^3.1.0",
|
|
42
54
|
"rimraf": "^6.0.1",
|
|
55
|
+
"simple-git-hooks": "^2.11.1",
|
|
43
56
|
"tsup": "8.3.5",
|
|
44
57
|
"typescript": "^5.6.3",
|
|
45
58
|
"vitepress": "^1.4.1",
|
|
@@ -48,7 +61,11 @@
|
|
|
48
61
|
"engines": {
|
|
49
62
|
"pnpm": ">=9.0"
|
|
50
63
|
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"mitt": "^3.0.1"
|
|
66
|
+
},
|
|
51
67
|
"scripts": {
|
|
68
|
+
"git-hooks": "simple-git-hooks",
|
|
52
69
|
"dev": "tsup src/index.ts --format esm --out-dir=lib --watch --dts",
|
|
53
70
|
"build": "tsup src/index.ts --format esm,cjs --out-dir=lib --dts --clean",
|
|
54
71
|
"lint": "eslint . --fix --ext .ts,.js",
|