@varlet/shared 2.18.0-alpha.1697511280107 → 2.18.0-alpha.1697559303154
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.d.ts +28 -20
- package/lib/index.js +78 -46
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
declare const uniq: (arr: Array<any>) => any[];
|
|
2
|
+
declare const normalizeToArray: <T>(value: T | T[]) => T[];
|
|
3
|
+
declare const removeItem: (arr: Array<unknown>, item: unknown) => unknown[] | undefined;
|
|
4
|
+
declare const toggleItem: (arr: Array<unknown>, item: unknown) => void;
|
|
5
|
+
declare const find: <T>(arr: T[], callback: (item: T, index: number, array: T[]) => any, from?: 'start' | 'end') => [T, number] | [null, -1];
|
|
6
|
+
|
|
7
|
+
declare const getGlobalThis: () => typeof globalThis;
|
|
8
|
+
declare const requestAnimationFrame: (fn: FrameRequestCallback) => number;
|
|
9
|
+
declare const cancelAnimationFrame: (handle: number) => void;
|
|
10
|
+
declare const raf: () => Promise<unknown>;
|
|
11
|
+
declare const doubleRaf: () => Promise<unknown>;
|
|
12
|
+
declare const getStyle: (element: Element) => CSSStyleDeclaration;
|
|
13
|
+
declare const getRect: (element: Element | Window) => DOMRect;
|
|
14
|
+
declare const inViewport: (element: HTMLElement) => boolean;
|
|
15
|
+
declare const toDataURL: (file: File) => Promise<string>;
|
|
16
|
+
declare const preventDefault: (event: Event) => void;
|
|
17
|
+
declare const getScrollTop: (element: Element | Window) => number;
|
|
18
|
+
declare const getScrollLeft: (element: Element | Window) => number;
|
|
19
|
+
|
|
20
|
+
declare const debounce: (fn: any, delay?: number) => (this: unknown, ...args: any[]) => void;
|
|
21
|
+
declare const throttle: (fn: any, delay?: number) => (() => void);
|
|
22
|
+
|
|
1
23
|
declare const isString: (val: unknown) => val is string;
|
|
2
24
|
declare const isBoolean: (val: unknown) => val is boolean;
|
|
3
25
|
declare const isNumber: (val: unknown) => val is number;
|
|
@@ -9,28 +31,14 @@ declare const isURL: (val: string | undefined | null) => boolean;
|
|
|
9
31
|
declare const isEmpty: (val: unknown) => boolean;
|
|
10
32
|
declare const isWindow: (val: unknown) => val is Window;
|
|
11
33
|
declare const supportTouch: () => boolean;
|
|
12
|
-
declare const toNumber: (val: number | string | boolean | undefined | null) => number;
|
|
13
|
-
declare const removeItem: (arr: Array<unknown>, item: unknown) => unknown[] | undefined;
|
|
14
|
-
declare const toggleItem: (arr: Array<unknown>, item: unknown) => void;
|
|
15
|
-
declare const throttle: (method: any, mustRunDelay?: number) => (() => void);
|
|
16
34
|
declare const inBrowser: () => boolean;
|
|
17
|
-
|
|
35
|
+
|
|
36
|
+
declare const toNumber: (val: number | string | boolean | undefined | null) => number;
|
|
37
|
+
declare const clamp: (num: number, min: number, max: number) => number;
|
|
38
|
+
declare const clampArrayRange: (index: number, arr: Array<unknown>) => number;
|
|
39
|
+
|
|
18
40
|
declare const bigCamelize: (s: string) => string;
|
|
19
41
|
declare const camelize: (s: string) => string;
|
|
20
42
|
declare const kebabCase: (s: string) => string;
|
|
21
|
-
declare const find: <T>(arr: T[], callback: (item: T, index: number, array: T[]) => any, from?: 'start' | 'end') => [T, number] | [null, -1];
|
|
22
|
-
declare const normalizeToArray: <T>(value: T | T[]) => T[];
|
|
23
|
-
declare const clamp: (num: number, min: number, max: number) => number;
|
|
24
|
-
declare const clampArrayRange: (index: number, arr: Array<unknown>) => number;
|
|
25
|
-
declare const getGlobalThis: () => typeof globalThis;
|
|
26
|
-
declare const requestAnimationFrame: (fn: FrameRequestCallback) => number;
|
|
27
|
-
declare const cancelAnimationFrame: (handle: number) => void;
|
|
28
|
-
declare const raf: () => Promise<unknown>;
|
|
29
|
-
declare const doubleRaf: () => Promise<unknown>;
|
|
30
|
-
declare const getStyle: (element: Element) => CSSStyleDeclaration;
|
|
31
|
-
declare const getRect: (element: Element | Window) => DOMRect;
|
|
32
|
-
declare const inViewport: (element: HTMLElement) => boolean;
|
|
33
|
-
declare const toDataURL: (file: File) => Promise<string>;
|
|
34
|
-
declare const preventDefault: (event: Event) => void;
|
|
35
43
|
|
|
36
|
-
export { bigCamelize, camelize, cancelAnimationFrame, clamp, clampArrayRange, doubleRaf, find, getGlobalThis, getRect, getStyle, inBrowser, inViewport, isArray, isBoolean, isEmpty, isFunction, isNumber, isObject, isPlainObject, isString, isURL, isWindow, kebabCase, normalizeToArray, preventDefault, raf, removeItem, requestAnimationFrame, supportTouch, throttle, toDataURL, toNumber, toggleItem, uniq };
|
|
44
|
+
export { bigCamelize, camelize, cancelAnimationFrame, clamp, clampArrayRange, debounce, doubleRaf, find, getGlobalThis, getRect, getScrollLeft, getScrollTop, getStyle, inBrowser, inViewport, isArray, isBoolean, isEmpty, isFunction, isNumber, isObject, isPlainObject, isString, isURL, isWindow, kebabCase, normalizeToArray, preventDefault, raf, removeItem, requestAnimationFrame, supportTouch, throttle, toDataURL, toNumber, toggleItem, uniq };
|
package/lib/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
|
|
21
|
-
// src/
|
|
21
|
+
// src/is.ts
|
|
22
22
|
var isString = (val) => typeof val === "string";
|
|
23
23
|
var isBoolean = (val) => typeof val === "boolean";
|
|
24
24
|
var isNumber = (val) => typeof val === "number";
|
|
@@ -35,18 +35,11 @@ var isURL = (val) => {
|
|
|
35
35
|
var isEmpty = (val) => val === void 0 || val === null || val === "" || Array.isArray(val) && !val.length;
|
|
36
36
|
var isWindow = (val) => val === window;
|
|
37
37
|
var supportTouch = () => inBrowser() && "ontouchstart" in window;
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
val = Number.isNaN(val) ? 0 : val;
|
|
44
|
-
return val;
|
|
45
|
-
}
|
|
46
|
-
if (isBoolean(val))
|
|
47
|
-
return Number(val);
|
|
48
|
-
return val;
|
|
49
|
-
};
|
|
38
|
+
var inBrowser = () => typeof window !== "undefined";
|
|
39
|
+
|
|
40
|
+
// src/array.ts
|
|
41
|
+
var uniq = (arr) => [...new Set(arr)];
|
|
42
|
+
var normalizeToArray = (value) => isArray(value) ? value : [value];
|
|
50
43
|
var removeItem = (arr, item) => {
|
|
51
44
|
if (arr.length) {
|
|
52
45
|
const index = arr.indexOf(item);
|
|
@@ -58,36 +51,6 @@ var removeItem = (arr, item) => {
|
|
|
58
51
|
var toggleItem = (arr, item) => {
|
|
59
52
|
arr.includes(item) ? removeItem(arr, item) : arr.push(item);
|
|
60
53
|
};
|
|
61
|
-
var throttle = (method, mustRunDelay = 200) => {
|
|
62
|
-
let timer;
|
|
63
|
-
let start = 0;
|
|
64
|
-
return function loop(...args) {
|
|
65
|
-
const now = Date.now();
|
|
66
|
-
const elapsed = now - start;
|
|
67
|
-
if (!start) {
|
|
68
|
-
start = now;
|
|
69
|
-
}
|
|
70
|
-
if (timer) {
|
|
71
|
-
window.clearTimeout(timer);
|
|
72
|
-
}
|
|
73
|
-
if (elapsed >= mustRunDelay) {
|
|
74
|
-
method.apply(this, args);
|
|
75
|
-
start = now;
|
|
76
|
-
} else {
|
|
77
|
-
timer = window.setTimeout(() => {
|
|
78
|
-
loop.apply(this, args);
|
|
79
|
-
}, mustRunDelay - elapsed);
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
var inBrowser = () => typeof window !== "undefined";
|
|
84
|
-
var uniq = (arr) => [...new Set(arr)];
|
|
85
|
-
var bigCamelize = (s) => camelize(s).replace(s.charAt(0), s.charAt(0).toUpperCase());
|
|
86
|
-
var camelize = (s) => s.replace(/-(\w)/g, (_, p) => p.toUpperCase());
|
|
87
|
-
var kebabCase = (s) => {
|
|
88
|
-
const ret = s.replace(/([A-Z])/g, " $1").trim();
|
|
89
|
-
return ret.split(" ").join("-").toLowerCase();
|
|
90
|
-
};
|
|
91
54
|
var find = (arr, callback, from = "start") => {
|
|
92
55
|
let i = from === "start" ? 0 : arr.length - 1;
|
|
93
56
|
while (arr.length > 0 && i >= 0 && i <= arr.length - 1) {
|
|
@@ -99,9 +62,8 @@ var find = (arr, callback, from = "start") => {
|
|
|
99
62
|
}
|
|
100
63
|
return [null, -1];
|
|
101
64
|
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
var clampArrayRange = (index, arr) => clamp(index, 0, arr.length - 1);
|
|
65
|
+
|
|
66
|
+
// src/elements.ts
|
|
105
67
|
var getGlobalThis = () => {
|
|
106
68
|
if (typeof globalThis !== "undefined") {
|
|
107
69
|
return globalThis;
|
|
@@ -168,16 +130,86 @@ var preventDefault = (event) => {
|
|
|
168
130
|
}
|
|
169
131
|
event.preventDefault();
|
|
170
132
|
};
|
|
133
|
+
var getScrollTop = (element) => {
|
|
134
|
+
const top = "scrollTop" in element ? element.scrollTop : element.scrollY;
|
|
135
|
+
return Math.max(top, 0);
|
|
136
|
+
};
|
|
137
|
+
var getScrollLeft = (element) => {
|
|
138
|
+
const left = "scrollLeft" in element ? element.scrollLeft : element.scrollX;
|
|
139
|
+
return Math.max(left, 0);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// src/function.ts
|
|
143
|
+
var debounce = (fn, delay = 0) => {
|
|
144
|
+
let timer;
|
|
145
|
+
return function(...args) {
|
|
146
|
+
if (timer) {
|
|
147
|
+
window.clearTimeout(timer);
|
|
148
|
+
}
|
|
149
|
+
timer = window.setTimeout(() => {
|
|
150
|
+
fn.apply(this, args);
|
|
151
|
+
}, delay);
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
var throttle = (fn, delay = 200) => {
|
|
155
|
+
let timer;
|
|
156
|
+
let start = 0;
|
|
157
|
+
return function loop(...args) {
|
|
158
|
+
const now = Date.now();
|
|
159
|
+
const elapsed = now - start;
|
|
160
|
+
if (!start) {
|
|
161
|
+
start = now;
|
|
162
|
+
}
|
|
163
|
+
if (timer) {
|
|
164
|
+
window.clearTimeout(timer);
|
|
165
|
+
}
|
|
166
|
+
if (elapsed >= delay) {
|
|
167
|
+
fn.apply(this, args);
|
|
168
|
+
start = now;
|
|
169
|
+
} else {
|
|
170
|
+
timer = window.setTimeout(() => {
|
|
171
|
+
loop.apply(this, args);
|
|
172
|
+
}, delay - elapsed);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
// src/number.ts
|
|
178
|
+
var toNumber = (val) => {
|
|
179
|
+
if (val == null)
|
|
180
|
+
return 0;
|
|
181
|
+
if (isString(val)) {
|
|
182
|
+
val = parseFloat(val);
|
|
183
|
+
val = Number.isNaN(val) ? 0 : val;
|
|
184
|
+
return val;
|
|
185
|
+
}
|
|
186
|
+
if (isBoolean(val))
|
|
187
|
+
return Number(val);
|
|
188
|
+
return val;
|
|
189
|
+
};
|
|
190
|
+
var clamp = (num, min, max) => Math.min(max, Math.max(min, num));
|
|
191
|
+
var clampArrayRange = (index, arr) => clamp(index, 0, arr.length - 1);
|
|
192
|
+
|
|
193
|
+
// src/string.ts
|
|
194
|
+
var bigCamelize = (s) => camelize(s).replace(s.charAt(0), s.charAt(0).toUpperCase());
|
|
195
|
+
var camelize = (s) => s.replace(/-(\w)/g, (_, p) => p.toUpperCase());
|
|
196
|
+
var kebabCase = (s) => {
|
|
197
|
+
const ret = s.replace(/([A-Z])/g, " $1").trim();
|
|
198
|
+
return ret.split(" ").join("-").toLowerCase();
|
|
199
|
+
};
|
|
171
200
|
export {
|
|
172
201
|
bigCamelize,
|
|
173
202
|
camelize,
|
|
174
203
|
cancelAnimationFrame,
|
|
175
204
|
clamp,
|
|
176
205
|
clampArrayRange,
|
|
206
|
+
debounce,
|
|
177
207
|
doubleRaf,
|
|
178
208
|
find,
|
|
179
209
|
getGlobalThis,
|
|
180
210
|
getRect,
|
|
211
|
+
getScrollLeft,
|
|
212
|
+
getScrollTop,
|
|
181
213
|
getStyle,
|
|
182
214
|
inBrowser,
|
|
183
215
|
inViewport,
|