@zag-js/utils 0.1.0 → 0.1.3
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/LICENSE +21 -0
- package/dist/index.d.ts +42 -5
- package/dist/index.js +41 -45
- package/dist/index.mjs +6 -45
- package/package.json +7 -6
- package/dist/array.d.ts +0 -20
- package/dist/array.d.ts.map +0 -1
- package/dist/functions.d.ts +0 -8
- package/dist/functions.d.ts.map +0 -1
- package/dist/guard.d.ts +0 -26
- package/dist/guard.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -7
- package/dist/index.mjs.map +0 -7
- package/dist/warning.d.ts +0 -5
- package/dist/warning.d.ts.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Chakra UI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
declare function toArray<T>(v: T | T[] | undefined | null): T[];
|
|
2
|
+
declare const fromLength: (length: number) => number[];
|
|
3
|
+
declare const first: <T>(v: T[]) => T | undefined;
|
|
4
|
+
declare const last: <T>(v: T[]) => T | undefined;
|
|
5
|
+
declare const isEmpty: <T>(v: T[]) => boolean;
|
|
6
|
+
declare const has: <T>(v: T[], t: any) => boolean;
|
|
7
|
+
declare const add: <T>(v: T[], ...items: T[]) => T[];
|
|
8
|
+
declare const remove: <T>(v: T[], item: T) => T[];
|
|
9
|
+
declare const removeAt: <T>(v: T[], i: number) => T[];
|
|
10
|
+
declare function clear<T>(v: T[]): T[];
|
|
11
|
+
declare type IndexOptions = {
|
|
12
|
+
step?: number;
|
|
13
|
+
loop?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare function nextIndex<T>(v: T[], idx: number, opts?: IndexOptions): number;
|
|
16
|
+
declare function next<T>(v: T[], idx: number, opts?: IndexOptions): T | undefined;
|
|
17
|
+
declare function prevIndex<T>(v: T[], idx: number, opts?: IndexOptions): number;
|
|
18
|
+
declare function prev<T>(v: T[], index: number, opts?: IndexOptions): T | undefined;
|
|
19
|
+
declare const chunk: <T>(v: T[], size: number) => T[][];
|
|
20
|
+
|
|
21
|
+
declare const runIfFn: <T>(v: T | undefined, ...a: T extends (...a: any[]) => void ? Parameters<T> : never) => T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T>;
|
|
22
|
+
declare const cast: <T>(v: unknown) => T;
|
|
23
|
+
declare const noop: () => void;
|
|
24
|
+
declare const callAll: <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) => (...a: Parameters<T>) => void;
|
|
25
|
+
declare const uuid: () => string;
|
|
26
|
+
declare function merge<T, U>(origin: T, patch: U): T & U;
|
|
27
|
+
|
|
28
|
+
declare const isDev: () => boolean;
|
|
29
|
+
declare const isArray: (v: any) => v is any[];
|
|
30
|
+
declare const isBoolean: (v: any) => v is boolean;
|
|
31
|
+
declare const isObject: (v: any) => v is Record<string, any>;
|
|
32
|
+
declare const isNumber: (v: any) => v is number;
|
|
33
|
+
declare const isString: (v: any) => v is string;
|
|
34
|
+
declare const isFunction: (v: any) => v is Function;
|
|
35
|
+
declare const hasProp: <T extends string>(obj: any, prop: T) => obj is Record<T, any>;
|
|
36
|
+
|
|
37
|
+
declare function warn(m: string): void;
|
|
38
|
+
declare function warn(c: boolean, m: string): void;
|
|
39
|
+
declare function invariant(m: string): void;
|
|
40
|
+
declare function invariant(c: boolean, m: string): void;
|
|
41
|
+
|
|
42
|
+
export { IndexOptions, add, callAll, cast, chunk, clear, first, fromLength, has, hasProp, invariant, isArray, isBoolean, isDev, isEmpty, isFunction, isNumber, isObject, isString, last, merge, next, nextIndex, noop, prev, prevIndex, remove, removeAt, runIfFn, toArray, uuid, warn };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -27,44 +28,26 @@ __export(src_exports, {
|
|
|
27
28
|
first: () => first,
|
|
28
29
|
fromLength: () => fromLength,
|
|
29
30
|
has: () => has,
|
|
31
|
+
hasProp: () => hasProp,
|
|
30
32
|
invariant: () => invariant,
|
|
31
|
-
isApple: () => isApple,
|
|
32
33
|
isArray: () => isArray,
|
|
33
34
|
isBoolean: () => isBoolean,
|
|
34
|
-
isCtrlKey: () => isCtrlKey,
|
|
35
35
|
isDev: () => isDev,
|
|
36
|
-
isDom: () => isDom,
|
|
37
36
|
isEmpty: () => isEmpty,
|
|
38
|
-
isFirefox: () => isFirefox,
|
|
39
37
|
isFunction: () => isFunction,
|
|
40
|
-
isIPad: () => isIPad,
|
|
41
|
-
isIPhone: () => isIPhone,
|
|
42
|
-
isIos: () => isIos,
|
|
43
|
-
isLeftClick: () => isLeftClick,
|
|
44
|
-
isMac: () => isMac,
|
|
45
|
-
isModifiedEvent: () => isModifiedEvent,
|
|
46
|
-
isMouseEvent: () => isMouseEvent,
|
|
47
38
|
isNumber: () => isNumber,
|
|
48
39
|
isObject: () => isObject,
|
|
49
|
-
isRightClick: () => isRightClick,
|
|
50
|
-
isSafari: () => isSafari,
|
|
51
40
|
isString: () => isString,
|
|
52
|
-
isTouchEvent: () => isTouchEvent,
|
|
53
|
-
isWebkit: () => isWebkit,
|
|
54
41
|
last: () => last,
|
|
55
42
|
merge: () => merge,
|
|
56
43
|
next: () => next,
|
|
57
44
|
nextIndex: () => nextIndex,
|
|
58
45
|
noop: () => noop,
|
|
59
|
-
pipe: () => pipe,
|
|
60
46
|
prev: () => prev,
|
|
61
47
|
prevIndex: () => prevIndex,
|
|
62
48
|
remove: () => remove,
|
|
63
49
|
removeAt: () => removeAt,
|
|
64
50
|
runIfFn: () => runIfFn,
|
|
65
|
-
supportsMouseEvent: () => supportsMouseEvent,
|
|
66
|
-
supportsPointerEvent: () => supportsPointerEvent,
|
|
67
|
-
supportsTouchEvent: () => supportsTouchEvent,
|
|
68
51
|
toArray: () => toArray,
|
|
69
52
|
uuid: () => uuid,
|
|
70
53
|
warn: () => warn
|
|
@@ -132,12 +115,11 @@ var chunk = (v, size) => {
|
|
|
132
115
|
// src/functions.ts
|
|
133
116
|
var runIfFn = (v, ...a) => {
|
|
134
117
|
const res = typeof v === "function" ? v(...a) : v;
|
|
135
|
-
return res
|
|
118
|
+
return res ?? void 0;
|
|
136
119
|
};
|
|
137
120
|
var cast = (v) => v;
|
|
138
121
|
var noop = () => {
|
|
139
122
|
};
|
|
140
|
-
var pipe = (...fns) => (v) => fns.reduce((a, b) => b(a), v);
|
|
141
123
|
var callAll = (...fns) => (...a) => {
|
|
142
124
|
fns.forEach(function(fn) {
|
|
143
125
|
fn == null ? void 0 : fn(...a);
|
|
@@ -168,47 +150,61 @@ function merge(origin, patch) {
|
|
|
168
150
|
}
|
|
169
151
|
|
|
170
152
|
// src/guard.ts
|
|
171
|
-
var
|
|
172
|
-
var ua = (v) => isDom() && v.test(navigator.userAgent);
|
|
173
|
-
var isDev = () => void 0 !== "production";
|
|
174
|
-
var isDom = () => !!(typeof window !== "undefined");
|
|
175
|
-
var isMac = () => platform(/^Mac/);
|
|
176
|
-
var isIPhone = () => platform(/^iPhone/);
|
|
177
|
-
var isIPad = () => platform(/^iPad/) || isMac() && navigator.maxTouchPoints > 1;
|
|
178
|
-
var isIos = () => isIPhone() || isIPad();
|
|
179
|
-
var isSafari = () => ua(/^((?!chrome|android).)*safari/i);
|
|
180
|
-
var isFirefox = () => ua(/^Firefox/);
|
|
181
|
-
var isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/);
|
|
182
|
-
var isApple = () => isMac() || isIos();
|
|
153
|
+
var isDev = () => process.env.NODE_ENV !== "production";
|
|
183
154
|
var isArray = (v) => Array.isArray(v);
|
|
184
155
|
var isBoolean = (v) => v === true || v === false;
|
|
185
156
|
var isObject = (v) => !(v == null || typeof v !== "object" || isArray(v));
|
|
186
157
|
var isNumber = (v) => typeof v === "number" && !Number.isNaN(v);
|
|
187
158
|
var isString = (v) => typeof v === "string";
|
|
188
159
|
var isFunction = (v) => typeof v === "function";
|
|
189
|
-
var
|
|
190
|
-
var supportsTouchEvent = () => isDom() && window.ontouchstart === null;
|
|
191
|
-
var supportsMouseEvent = () => isDom() && window.onmousedown === null;
|
|
192
|
-
var isMouseEvent = (v) => isObject(v) && "button" in v;
|
|
193
|
-
var isTouchEvent = (v) => isObject(v) && "touches" in v;
|
|
194
|
-
var isLeftClick = (v) => v.button === 0;
|
|
195
|
-
var isRightClick = (v) => v.button === 2;
|
|
196
|
-
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey || v.shiftKey;
|
|
197
|
-
var isCtrlKey = (v) => isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey;
|
|
160
|
+
var hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
198
161
|
|
|
199
162
|
// src/warning.ts
|
|
200
163
|
function warn(...a) {
|
|
201
164
|
const m = a.length === 1 ? a[0] : a[1];
|
|
202
165
|
const c = a.length === 2 ? a[0] : true;
|
|
203
|
-
if (c &&
|
|
166
|
+
if (c && process.env.NODE_ENV !== "production") {
|
|
204
167
|
console.warn(m);
|
|
205
168
|
}
|
|
206
169
|
}
|
|
207
170
|
function invariant(...a) {
|
|
208
171
|
const m = a.length === 1 ? a[0] : a[1];
|
|
209
172
|
const c = a.length === 2 ? a[0] : true;
|
|
210
|
-
if (c &&
|
|
173
|
+
if (c && process.env.NODE_ENV !== "production") {
|
|
211
174
|
throw new Error(m);
|
|
212
175
|
}
|
|
213
176
|
}
|
|
214
|
-
|
|
177
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
178
|
+
0 && (module.exports = {
|
|
179
|
+
add,
|
|
180
|
+
callAll,
|
|
181
|
+
cast,
|
|
182
|
+
chunk,
|
|
183
|
+
clear,
|
|
184
|
+
first,
|
|
185
|
+
fromLength,
|
|
186
|
+
has,
|
|
187
|
+
hasProp,
|
|
188
|
+
invariant,
|
|
189
|
+
isArray,
|
|
190
|
+
isBoolean,
|
|
191
|
+
isDev,
|
|
192
|
+
isEmpty,
|
|
193
|
+
isFunction,
|
|
194
|
+
isNumber,
|
|
195
|
+
isObject,
|
|
196
|
+
isString,
|
|
197
|
+
last,
|
|
198
|
+
merge,
|
|
199
|
+
next,
|
|
200
|
+
nextIndex,
|
|
201
|
+
noop,
|
|
202
|
+
prev,
|
|
203
|
+
prevIndex,
|
|
204
|
+
remove,
|
|
205
|
+
removeAt,
|
|
206
|
+
runIfFn,
|
|
207
|
+
toArray,
|
|
208
|
+
uuid,
|
|
209
|
+
warn
|
|
210
|
+
});
|
package/dist/index.mjs
CHANGED
|
@@ -59,12 +59,11 @@ var chunk = (v, size) => {
|
|
|
59
59
|
// src/functions.ts
|
|
60
60
|
var runIfFn = (v, ...a) => {
|
|
61
61
|
const res = typeof v === "function" ? v(...a) : v;
|
|
62
|
-
return res
|
|
62
|
+
return res ?? void 0;
|
|
63
63
|
};
|
|
64
64
|
var cast = (v) => v;
|
|
65
65
|
var noop = () => {
|
|
66
66
|
};
|
|
67
|
-
var pipe = (...fns) => (v) => fns.reduce((a, b) => b(a), v);
|
|
68
67
|
var callAll = (...fns) => (...a) => {
|
|
69
68
|
fns.forEach(function(fn) {
|
|
70
69
|
fn == null ? void 0 : fn(...a);
|
|
@@ -95,46 +94,27 @@ function merge(origin, patch) {
|
|
|
95
94
|
}
|
|
96
95
|
|
|
97
96
|
// src/guard.ts
|
|
98
|
-
var
|
|
99
|
-
var ua = (v) => isDom() && v.test(navigator.userAgent);
|
|
100
|
-
var isDev = () => void 0 !== "production";
|
|
101
|
-
var isDom = () => !!(typeof window !== "undefined");
|
|
102
|
-
var isMac = () => platform(/^Mac/);
|
|
103
|
-
var isIPhone = () => platform(/^iPhone/);
|
|
104
|
-
var isIPad = () => platform(/^iPad/) || isMac() && navigator.maxTouchPoints > 1;
|
|
105
|
-
var isIos = () => isIPhone() || isIPad();
|
|
106
|
-
var isSafari = () => ua(/^((?!chrome|android).)*safari/i);
|
|
107
|
-
var isFirefox = () => ua(/^Firefox/);
|
|
108
|
-
var isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/);
|
|
109
|
-
var isApple = () => isMac() || isIos();
|
|
97
|
+
var isDev = () => process.env.NODE_ENV !== "production";
|
|
110
98
|
var isArray = (v) => Array.isArray(v);
|
|
111
99
|
var isBoolean = (v) => v === true || v === false;
|
|
112
100
|
var isObject = (v) => !(v == null || typeof v !== "object" || isArray(v));
|
|
113
101
|
var isNumber = (v) => typeof v === "number" && !Number.isNaN(v);
|
|
114
102
|
var isString = (v) => typeof v === "string";
|
|
115
103
|
var isFunction = (v) => typeof v === "function";
|
|
116
|
-
var
|
|
117
|
-
var supportsTouchEvent = () => isDom() && window.ontouchstart === null;
|
|
118
|
-
var supportsMouseEvent = () => isDom() && window.onmousedown === null;
|
|
119
|
-
var isMouseEvent = (v) => isObject(v) && "button" in v;
|
|
120
|
-
var isTouchEvent = (v) => isObject(v) && "touches" in v;
|
|
121
|
-
var isLeftClick = (v) => v.button === 0;
|
|
122
|
-
var isRightClick = (v) => v.button === 2;
|
|
123
|
-
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey || v.shiftKey;
|
|
124
|
-
var isCtrlKey = (v) => isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey;
|
|
104
|
+
var hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
125
105
|
|
|
126
106
|
// src/warning.ts
|
|
127
107
|
function warn(...a) {
|
|
128
108
|
const m = a.length === 1 ? a[0] : a[1];
|
|
129
109
|
const c = a.length === 2 ? a[0] : true;
|
|
130
|
-
if (c &&
|
|
110
|
+
if (c && process.env.NODE_ENV !== "production") {
|
|
131
111
|
console.warn(m);
|
|
132
112
|
}
|
|
133
113
|
}
|
|
134
114
|
function invariant(...a) {
|
|
135
115
|
const m = a.length === 1 ? a[0] : a[1];
|
|
136
116
|
const c = a.length === 2 ? a[0] : true;
|
|
137
|
-
if (c &&
|
|
117
|
+
if (c && process.env.NODE_ENV !== "production") {
|
|
138
118
|
throw new Error(m);
|
|
139
119
|
}
|
|
140
120
|
}
|
|
@@ -147,46 +127,27 @@ export {
|
|
|
147
127
|
first,
|
|
148
128
|
fromLength,
|
|
149
129
|
has,
|
|
130
|
+
hasProp,
|
|
150
131
|
invariant,
|
|
151
|
-
isApple,
|
|
152
132
|
isArray,
|
|
153
133
|
isBoolean,
|
|
154
|
-
isCtrlKey,
|
|
155
134
|
isDev,
|
|
156
|
-
isDom,
|
|
157
135
|
isEmpty,
|
|
158
|
-
isFirefox,
|
|
159
136
|
isFunction,
|
|
160
|
-
isIPad,
|
|
161
|
-
isIPhone,
|
|
162
|
-
isIos,
|
|
163
|
-
isLeftClick,
|
|
164
|
-
isMac,
|
|
165
|
-
isModifiedEvent,
|
|
166
|
-
isMouseEvent,
|
|
167
137
|
isNumber,
|
|
168
138
|
isObject,
|
|
169
|
-
isRightClick,
|
|
170
|
-
isSafari,
|
|
171
139
|
isString,
|
|
172
|
-
isTouchEvent,
|
|
173
|
-
isWebkit,
|
|
174
140
|
last,
|
|
175
141
|
merge,
|
|
176
142
|
next,
|
|
177
143
|
nextIndex,
|
|
178
144
|
noop,
|
|
179
|
-
pipe,
|
|
180
145
|
prev,
|
|
181
146
|
prevIndex,
|
|
182
147
|
remove,
|
|
183
148
|
removeAt,
|
|
184
149
|
runIfFn,
|
|
185
|
-
supportsMouseEvent,
|
|
186
|
-
supportsPointerEvent,
|
|
187
|
-
supportsTouchEvent,
|
|
188
150
|
toArray,
|
|
189
151
|
uuid,
|
|
190
152
|
warn
|
|
191
153
|
};
|
|
192
|
-
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zag-js/utils",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"js",
|
|
@@ -25,12 +25,13 @@
|
|
|
25
25
|
"url": "https://github.com/chakra-ui/zag/issues"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
|
-
"build
|
|
29
|
-
"start": "
|
|
30
|
-
"build": "
|
|
28
|
+
"build-fast": "tsup src/index.ts --format=esm,cjs",
|
|
29
|
+
"start": "pnpm build --watch",
|
|
30
|
+
"build": "tsup src/index.ts --format=esm,cjs --dts",
|
|
31
31
|
"test": "jest --config ../../../jest.config.js --rootDir . --passWithNoTests",
|
|
32
32
|
"lint": "eslint src --ext .ts,.tsx",
|
|
33
|
-
"test
|
|
34
|
-
"test
|
|
33
|
+
"test-ci": "pnpm test --ci --runInBand",
|
|
34
|
+
"test-watch": "pnpm test --watch -u",
|
|
35
|
+
"typecheck": "tsc --noEmit"
|
|
35
36
|
}
|
|
36
37
|
}
|
package/dist/array.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare function toArray<T>(v: T | T[] | undefined | null): T[];
|
|
2
|
-
export declare const fromLength: (length: number) => number[];
|
|
3
|
-
export declare const first: <T>(v: T[]) => T;
|
|
4
|
-
export declare const last: <T>(v: T[]) => T;
|
|
5
|
-
export declare const isEmpty: <T>(v: T[]) => boolean;
|
|
6
|
-
export declare const has: <T>(v: T[], t: any) => boolean;
|
|
7
|
-
export declare const add: <T>(v: T[], ...items: T[]) => T[];
|
|
8
|
-
export declare const remove: <T>(v: T[], item: T) => T[];
|
|
9
|
-
export declare const removeAt: <T>(v: T[], i: number) => T[];
|
|
10
|
-
export declare function clear<T>(v: T[]): T[];
|
|
11
|
-
export declare type IndexOptions = {
|
|
12
|
-
step?: number;
|
|
13
|
-
loop?: boolean;
|
|
14
|
-
};
|
|
15
|
-
export declare function nextIndex<T>(v: T[], idx: number, opts?: IndexOptions): number;
|
|
16
|
-
export declare function next<T>(v: T[], idx: number, opts?: IndexOptions): T | undefined;
|
|
17
|
-
export declare function prevIndex<T>(v: T[], idx: number, opts?: IndexOptions): number;
|
|
18
|
-
export declare function prev<T>(v: T[], index: number, opts?: IndexOptions): T | undefined;
|
|
19
|
-
export declare const chunk: <T>(v: T[], size: number) => T[][];
|
|
20
|
-
//# sourceMappingURL=array.d.ts.map
|
package/dist/array.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAG7D;AAED,eAAO,MAAM,UAAU,WAAY,MAAM,aAAqC,CAAA;AAE9E,eAAO,MAAM,KAAK,kBAAqC,CAAA;AAEvD,eAAO,MAAM,IAAI,kBAAgD,CAAA;AAEjE,eAAO,MAAM,OAAO,iBAAgB,OAAyB,CAAA;AAE7D,eAAO,MAAM,GAAG,iBAAkB,GAAG,KAAG,OAA8B,CAAA;AAEtE,eAAO,MAAM,GAAG,mCAAqD,CAAA;AAErE,eAAO,MAAM,MAAM,6BAA4D,CAAA;AAE/E,eAAO,MAAM,QAAQ,iBAAkB,MAAM,QAG5C,CAAA;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAGpC;AAED,oBAAY,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CASjF;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,CAAC,GAAG,SAAS,CAEnF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAGjF;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,CAAC,GAAG,SAAS,CAErF;AAED,eAAO,MAAM,KAAK,oBAAqB,MAAM,UAO5C,CAAA"}
|
package/dist/functions.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const runIfFn: <T>(v: T, ...a: T extends (...a: any[]) => void ? Parameters<T> : never) => T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T>;
|
|
2
|
-
export declare const cast: <T>(v: unknown) => T;
|
|
3
|
-
export declare const noop: () => void;
|
|
4
|
-
export declare const pipe: <T>(...fns: ((a: T) => T)[]) => (v: T) => T;
|
|
5
|
-
export declare const callAll: <T extends (...a: any[]) => void>(...fns: T[]) => (...a: Parameters<T>) => void;
|
|
6
|
-
export declare const uuid: () => string;
|
|
7
|
-
export declare function merge<T, U>(origin: T, patch: U): T & U;
|
|
8
|
-
//# sourceMappingURL=functions.d.ts.map
|
package/dist/functions.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,mCAEK,GAAG,EAAE,KAAK,IAAI,8CACnB,GAAG,EAAE,KAAK,IAAI,8CAGjC,CAAA;AAED,eAAO,MAAM,IAAI,SAAU,OAAO,MAAc,CAAA;AAEhD,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,IAAI,6CAGgB,CAAA;AAEjC,eAAO,MAAM,OAAO,oBACA,GAAG,EAAE,KAAK,IAAI,+CAK/B,CAAA;AAEH,eAAO,MAAM,IAAI,cAMb,CAAA;AAEJ,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAWtD"}
|
package/dist/guard.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare const isDev: () => boolean;
|
|
2
|
-
export declare const isDom: () => boolean;
|
|
3
|
-
export declare const isMac: () => boolean;
|
|
4
|
-
export declare const isIPhone: () => boolean;
|
|
5
|
-
export declare const isIPad: () => boolean;
|
|
6
|
-
export declare const isIos: () => boolean;
|
|
7
|
-
export declare const isSafari: () => boolean;
|
|
8
|
-
export declare const isFirefox: () => boolean;
|
|
9
|
-
export declare const isWebkit: () => boolean;
|
|
10
|
-
export declare const isApple: () => boolean;
|
|
11
|
-
export declare const isArray: (v: any) => v is any[];
|
|
12
|
-
export declare const isBoolean: (v: any) => v is boolean;
|
|
13
|
-
export declare const isObject: (v: any) => v is Record<string, any>;
|
|
14
|
-
export declare const isNumber: (v: any) => v is number;
|
|
15
|
-
export declare const isString: (v: any) => v is string;
|
|
16
|
-
export declare const isFunction: (v: any) => v is Function;
|
|
17
|
-
export declare const supportsPointerEvent: () => boolean;
|
|
18
|
-
export declare const supportsTouchEvent: () => boolean;
|
|
19
|
-
export declare const supportsMouseEvent: () => boolean;
|
|
20
|
-
export declare const isMouseEvent: (v: any) => v is MouseEvent;
|
|
21
|
-
export declare const isTouchEvent: (v: any) => v is TouchEvent;
|
|
22
|
-
export declare const isLeftClick: (v: MouseEvent | PointerEvent) => boolean;
|
|
23
|
-
export declare const isRightClick: (v: MouseEvent | PointerEvent) => boolean;
|
|
24
|
-
export declare const isModifiedEvent: (v: MouseEvent | PointerEvent | KeyboardEvent) => boolean;
|
|
25
|
-
export declare const isCtrlKey: (v: KeyboardEvent) => boolean;
|
|
26
|
-
//# sourceMappingURL=guard.d.ts.map
|
package/dist/guard.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,eAA8C,CAAA;AAChE,eAAO,MAAM,KAAK,eAA0C,CAAA;AAC5D,eAAO,MAAM,KAAK,eAAyB,CAAA;AAC3C,eAAO,MAAM,QAAQ,eAA4B,CAAA;AACjD,eAAO,MAAM,MAAM,eAAuE,CAAA;AAC1F,eAAO,MAAM,KAAK,eAA+B,CAAA;AACjD,eAAO,MAAM,QAAQ,eAA6C,CAAA;AAClE,eAAO,MAAM,SAAS,eAAuB,CAAA;AAC7C,eAAO,MAAM,QAAQ,eAAuC,CAAA;AAC5D,eAAO,MAAM,OAAO,eAA2B,CAAA;AAE/C,eAAO,MAAM,OAAO,MAAO,GAAG,eAAiC,CAAA;AAC/D,eAAO,MAAM,SAAS,MAAO,GAAG,iBAA4C,CAAA;AAC5E,eAAO,MAAM,QAAQ,MAAO,GAAG,6BAAkF,CAAA;AACjH,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAA2D,CAAA;AAC1F,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAAuC,CAAA;AACtE,eAAO,MAAM,UAAU,MAAO,GAAG,kBAA2C,CAAA;AAE5E,eAAO,MAAM,oBAAoB,eAAiD,CAAA;AAClF,eAAO,MAAM,kBAAkB,eAAgD,CAAA;AAC/E,eAAO,MAAM,kBAAkB,eAA+C,CAAA;AAE9E,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAkD,CAAA;AACrF,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAmD,CAAA;AACtF,eAAO,MAAM,WAAW,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC3E,eAAO,MAAM,YAAY,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC5E,eAAO,MAAM,eAAe,MAAO,UAAU,GAAG,YAAY,GAAG,aAAa,YAC1B,CAAA;AAClD,eAAO,MAAM,SAAS,MAAO,aAAa,YAAkE,CAAA"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/array.ts", "../src/functions.ts", "../src/guard.ts", "../src/warning.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./array\"\nexport * from \"./functions\"\nexport * from \"./guard\"\nexport * from \"./warning\"\n", "export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v: MouseEvent | PointerEvent | KeyboardEvent) =>\n v.ctrlKey || v.altKey || v.metaKey || v.shiftKey\nexport const isCtrlKey = (v: KeyboardEvent) => (isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey)\n", "export function warn(m: string): void\nexport function warn(c: boolean, m: string): void\nexport function warn(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m)\n }\n}\n\nexport function invariant(m: string): void\nexport function invariant(c: boolean, m: string): void\nexport function invariant(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m)\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/index.mjs.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/array.ts", "../src/functions.ts", "../src/guard.ts", "../src/warning.ts"],
|
|
4
|
-
"sourcesContent": ["export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v: MouseEvent | PointerEvent | KeyboardEvent) =>\n v.ctrlKey || v.altKey || v.metaKey || v.shiftKey\nexport const isCtrlKey = (v: KeyboardEvent) => (isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey)\n", "export function warn(m: string): void\nexport function warn(c: boolean, m: string): void\nexport function warn(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m)\n }\n}\n\nexport function invariant(m: string): void\nexport function invariant(c: boolean, m: string): void\nexport function invariant(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m)\n }\n}\n"],
|
|
5
|
-
"mappings": ";AAAO,iBAAoB,GAAoC;AAC7D,MAAI,CAAC;AAAG,WAAO,CAAC;AAChB,SAAO,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;AAClC;AAEO,IAAM,aAAa,CAAC,WAAmB,MAAM,KAAK,MAAM,MAAM,EAAE,KAAK,CAAC;AAEtE,IAAM,QAAQ,CAAI,MAA0B,EAAE;AAE9C,IAAM,OAAO,CAAI,MAA0B,EAAE,EAAE,SAAS;AAExD,IAAM,UAAU,CAAI,MAAoB,EAAE,WAAW;AAErD,IAAM,MAAM,CAAI,GAAQ,MAAoB,EAAE,QAAQ,CAAC,MAAM;AAE7D,IAAM,MAAM,CAAI,MAAW,UAAoB,EAAE,OAAO,KAAK;AAE7D,IAAM,SAAS,CAAI,GAAQ,SAAiB,SAAS,GAAG,EAAE,QAAQ,IAAI,CAAC;AAEvE,IAAM,WAAW,CAAI,GAAQ,MAAmB;AACrD,MAAI,IAAI;AAAI,MAAE,OAAO,GAAG,CAAC;AACzB,SAAO;AACT;AAEO,eAAkB,GAAa;AACpC,SAAO,EAAE,SAAS;AAAG,MAAE,IAAI;AAC3B,SAAO;AACT;AAOO,mBAAsB,GAAQ,KAAa,OAAqB,CAAC,GAAW;AACjF,QAAM,EAAE,OAAO,GAAG,OAAO,SAAS;AAClC,QAAM,QAAO,MAAM;AACnB,QAAM,MAAM,EAAE;AACd,QAAM,QAAO,MAAM;AACnB,MAAI,QAAQ;AAAI,WAAO,OAAO,IAAI,IAAI;AACtC,MAAI,QAAO;AAAG,WAAO,OAAO,QAAO;AACnC,MAAI,SAAQ;AAAK,WAAO,OAAO,IAAI,MAAM,MAAM,MAAM;AACrD,SAAO;AACT;AAEO,cAAiB,GAAQ,KAAa,OAAqB,CAAC,GAAkB;AACnF,SAAO,EAAE,UAAU,GAAG,KAAK,IAAI;AACjC;AAEO,mBAAsB,GAAQ,KAAa,OAAqB,CAAC,GAAW;AACjF,QAAM,EAAE,OAAO,GAAG,OAAO,SAAS;AAClC,SAAO,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;AAChD;AAEO,cAAiB,GAAQ,OAAe,OAAqB,CAAC,GAAkB;AACrF,SAAO,EAAE,UAAU,GAAG,OAAO,IAAI;AACnC;AAEO,IAAM,QAAQ,CAAI,GAAQ,SAAwB;AACvD,QAAM,MAAa,CAAC;AACpB,SAAO,EAAE,OAAO,CAAC,MAAM,OAAO,UAAU;AA5D1C;AA6DI,QAAI,QAAQ,SAAS;AAAG,WAAK,KAAK,CAAC,KAAK,CAAC;AAAA;AACpC,iBAAK,IAAI,MAAT,mBAAY,KAAK;AACtB,WAAO;AAAA,EACT,GAAG,GAAG;AACR;;;ACjEO,IAAM,UAAU,CACrB,MACG,MAC+E;AAClF,QAAM,MAAM,OAAO,MAAM,aAAa,EAAE,GAAG,CAAC,IAAI;AAChD,SAAO,oBAAO;AAChB;AAEO,IAAM,OAAO,CAAI,MAAkB;AAEnC,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,OACX,IAAO,QACP,CAAC,MACC,IAAI,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;AAEzB,IAAM,UACX,IAAqC,QACrC,IAAI,MAAqB;AACvB,MAAI,QAAQ,SAAU,IAAI;AACxB,6BAAK,GAAG;AAAA,EACV,CAAC;AACH;AAEK,IAAM,OAAsB,uBAAM;AACvC,MAAI,KAAK;AACT,SAAO,MAAM;AACX;AACA,WAAO,GAAG,SAAS,EAAE;AAAA,EACvB;AACF,GAAG;AAEI,eAAqB,QAAW,OAAiB;AACtD,MAAI,CAAE,QAAO,UAAU;AAAW,WAAO;AACzC,QAAM,SAAS,CAAE,QAAO,WAAW,YAAY,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,MAAM;AAC5E,aAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AACpC,UAAM,QAAQ,MAAM;AACpB,UAAM,MAAM,OAAO;AACnB,QAAI,UAAU;AAAM,aAAO,OAAO;AAAA,aACzB,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,GAAG;AAAG,aAAO,OAAQ,QAAO,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;AAAA;AAC5F,aAAO,OAAO,MAAM,KAAK,KAAK;AAAA,EACrC;AACA,SAAO;AACT;;;AC5CA,IAAM,WAAW,CAAC,MAAc,MAAM,KAAK,EAAE,KAAK,UAAU,QAAQ;AACpE,IAAM,KAAK,CAAC,MAAc,MAAM,KAAK,EAAE,KAAK,UAAU,SAAS;AAExD,IAAM,QAAQ,MAAM,WAAyB;AAC7C,IAAM,QAAQ,MAAM,CAAC,CAAE,QAAO,WAAW;AACzC,IAAM,QAAQ,MAAM,SAAS,MAAM;AACnC,IAAM,WAAW,MAAM,SAAS,SAAS;AACzC,IAAM,SAAS,MAAM,SAAS,OAAO,KAAM,MAAM,KAAK,UAAU,iBAAiB;AACjF,IAAM,QAAQ,MAAM,SAAS,KAAK,OAAO;AACzC,IAAM,WAAW,MAAM,GAAG,gCAAgC;AAC1D,IAAM,YAAY,MAAM,GAAG,UAAU;AACrC,IAAM,WAAW,MAAM,GAAG,SAAS,KAAK,CAAC,GAAG,QAAQ;AACpD,IAAM,UAAU,MAAM,MAAM,KAAK,MAAM;AAEvC,IAAM,UAAU,CAAC,MAAuB,MAAM,QAAQ,CAAC;AACvD,IAAM,YAAY,CAAC,MAAyB,MAAM,QAAQ,MAAM;AAChE,IAAM,WAAW,CAAC,MAAqC,CAAE,MAAK,QAAQ,OAAO,MAAM,YAAY,QAAQ,CAAC;AACxG,IAAM,WAAW,CAAC,MAAwB,OAAO,MAAM,YAAY,CAAC,OAAO,MAAM,CAAC;AAClF,IAAM,WAAW,CAAC,MAAwB,OAAO,MAAM;AACvD,IAAM,aAAa,CAAC,MAA0B,OAAO,MAAM;AAE3D,IAAM,uBAAuB,MAAM,MAAM,KAAK,OAAO,kBAAkB;AACvE,IAAM,qBAAqB,MAAM,MAAM,KAAK,OAAO,iBAAiB;AACpE,IAAM,qBAAqB,MAAM,MAAM,KAAK,OAAO,gBAAgB;AAEnE,IAAM,eAAe,CAAC,MAA4B,SAAS,CAAC,KAAK,YAAY;AAC7E,IAAM,eAAe,CAAC,MAA4B,SAAS,CAAC,KAAK,aAAa;AAC9E,IAAM,cAAc,CAAC,MAAiC,EAAE,WAAW;AACnE,IAAM,eAAe,CAAC,MAAiC,EAAE,WAAW;AACpE,IAAM,kBAAkB,CAAC,MAC9B,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;AACnC,IAAM,YAAY,CAAC,MAAsB,MAAM,IAAI,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE;;;AC7B7F,iBAAiB,GAAgB;AACtC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK,EAAE;AACpC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK;AAClC,MAAI,KAAK,WAAyB,cAAc;AAC9C,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAIO,sBAAsB,GAAgB;AAC3C,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK,EAAE;AACpC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK;AAClC,MAAI,KAAK,WAAyB,cAAc;AAC9C,UAAM,IAAI,MAAM,CAAC;AAAA,EACnB;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/warning.d.ts
DELETED
package/dist/warning.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../src/warning.ts"],"names":[],"mappings":"AAAA,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;AACrC,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;AASjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;AAC1C,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA"}
|