utils-lib-js 1.0.1

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.
Files changed (51) hide show
  1. package/LICENSE +339 -0
  2. package/README.en.md +29 -0
  3. package/README.md +29 -0
  4. package/dist/common/array.d.ts +4 -0
  5. package/dist/common/array.js +25 -0
  6. package/dist/common/base.d.ts +6 -0
  7. package/dist/common/base.js +43 -0
  8. package/dist/common/element.d.ts +2 -0
  9. package/dist/common/element.js +21 -0
  10. package/dist/common/event.d.ts +6 -0
  11. package/dist/common/event.js +43 -0
  12. package/dist/common/fetch.d.ts +0 -0
  13. package/dist/common/fetch.js +0 -0
  14. package/dist/common/function.d.ts +5 -0
  15. package/dist/common/function.js +66 -0
  16. package/dist/common/index.d.ts +8 -0
  17. package/dist/common/index.js +27 -0
  18. package/dist/common/object.d.ts +10 -0
  19. package/dist/common/object.js +134 -0
  20. package/dist/common/static.d.ts +12 -0
  21. package/dist/common/static.js +18 -0
  22. package/dist/common/storage.d.ts +0 -0
  23. package/dist/common/storage.js +0 -0
  24. package/dist/common/types.d.ts +42 -0
  25. package/dist/common/types.js +3 -0
  26. package/dist/esm/array.d.ts +4 -0
  27. package/dist/esm/array.js +18 -0
  28. package/dist/esm/base.d.ts +6 -0
  29. package/dist/esm/base.js +35 -0
  30. package/dist/esm/element.d.ts +2 -0
  31. package/dist/esm/element.js +16 -0
  32. package/dist/esm/event.d.ts +6 -0
  33. package/dist/esm/event.js +34 -0
  34. package/dist/esm/fetch.d.ts +0 -0
  35. package/dist/esm/fetch.js +0 -0
  36. package/dist/esm/function.d.ts +5 -0
  37. package/dist/esm/function.js +58 -0
  38. package/dist/esm/index.d.ts +8 -0
  39. package/dist/esm/index.js +8 -0
  40. package/dist/esm/object.d.ts +10 -0
  41. package/dist/esm/object.js +121 -0
  42. package/dist/esm/static.d.ts +12 -0
  43. package/dist/esm/static.js +14 -0
  44. package/dist/esm/storage.d.ts +0 -0
  45. package/dist/esm/storage.js +0 -0
  46. package/dist/esm/types.d.ts +42 -0
  47. package/dist/esm/types.js +1 -0
  48. package/package.json +36 -0
  49. package/pnpm-lock.yaml +1489 -0
  50. package/tsconfig.es.json +12 -0
  51. package/tsconfig.json +32 -0
@@ -0,0 +1,10 @@
1
+ import { IGetValue, ISetValue, IMixIn, ICloneDeep, ICreateObjectVariable, IEnumInversion, IInherit, ICreateObject } from "./types";
2
+ export declare const getValue: IGetValue;
3
+ export declare const setValue: ISetValue;
4
+ export declare const mixIn: IMixIn;
5
+ export declare const enumInversion: IEnumInversion;
6
+ export declare const isNotObject: (source: any, type: any) => boolean;
7
+ export declare const cloneDeep: ICloneDeep;
8
+ export declare const createObjectVariable: ICreateObjectVariable;
9
+ export declare const createObject: ICreateObject;
10
+ export declare const inherit: IInherit;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.inherit = exports.createObject = exports.createObjectVariable = exports.cloneDeep = exports.isNotObject = exports.enumInversion = exports.mixIn = exports.setValue = exports.getValue = void 0;
5
+ var base_1 = require("./base");
6
+ var getValue = function (object, key, defaultValue) {
7
+ if (defaultValue === void 0) {
8
+ defaultValue = '';
9
+ }
10
+ var paths = key.split('.');
11
+ for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
12
+ var i = paths_1[_i];
13
+ object = object[i];
14
+ if (object === undefined) {
15
+ return defaultValue;
16
+ }
17
+ }
18
+ return object;
19
+ };
20
+ exports.getValue = getValue;
21
+ var setValue = function (object, key, value) {
22
+ if (value === void 0) {
23
+ value = {};
24
+ }
25
+ var paths = key.split('.');
26
+ var last = paths[paths.length - 1];
27
+ var _object = object;
28
+ for (var _i = 0, paths_2 = paths; _i < paths_2.length; _i++) {
29
+ var i = paths_2[_i];
30
+ if (typeof _object !== "object" && _object !== undefined) {
31
+ return object;
32
+ }
33
+ !_object && (_object = {});
34
+ !_object[i] && (_object[i] = {});
35
+ last === i && (_object[last] = value);
36
+ _object = _object[i];
37
+ }
38
+ return object;
39
+ };
40
+ exports.setValue = setValue;
41
+ var mixIn = function (target, source, overwrite) {
42
+ var _a;
43
+ if (source === void 0) {
44
+ source = {};
45
+ }
46
+ if (overwrite === void 0) {
47
+ overwrite = false;
48
+ }
49
+ for (var k in source) {
50
+ for (var key in source[k]) {
51
+ var proto = (_a = target.prototype) !== null && _a !== void 0 ? _a : target;
52
+ if (target[key] === undefined || overwrite) {
53
+ proto[key] = source[k][key];
54
+ }
55
+ }
56
+ }
57
+ return target;
58
+ };
59
+ exports.mixIn = mixIn;
60
+ var enumInversion = function (target) {
61
+ for (var key in target) {
62
+ var _key = target[key];
63
+ if (typeof _key === "string" && !!!target[_key]) {
64
+ target[_key] = key;
65
+ }
66
+ }
67
+ return target;
68
+ };
69
+ exports.enumInversion = enumInversion;
70
+ var isNotObject = function (source, type) {
71
+ return typeof source !== "object" || type === 'null';
72
+ };
73
+ exports.isNotObject = isNotObject;
74
+ var cloneDeep = function (target) {
75
+ var __type = (0, base_1.getType)(target);
76
+ if ((0, exports.isNotObject)(target, __type)) return target;
77
+ var __init = (0, exports.createObjectVariable)(__type, target);
78
+ if (__type === "map") {
79
+ target.forEach(function (value, key) {
80
+ __init.set(key, (0, exports.cloneDeep)(value));
81
+ });
82
+ } else if (__type === "set") {
83
+ target.forEach(function (value) {
84
+ __init.add((0, exports.cloneDeep)(value));
85
+ });
86
+ } else {
87
+ Reflect.ownKeys(target).forEach(function (keys) {
88
+ var desc = target[keys];
89
+ __init[keys] = (0, exports.cloneDeep)(desc);
90
+ });
91
+ }
92
+ return __init;
93
+ };
94
+ exports.cloneDeep = cloneDeep;
95
+ var createObjectVariable = function (type, source) {
96
+ if (source === void 0) {
97
+ source = {};
98
+ }
99
+ switch (type) {
100
+ case "array":
101
+ return [];
102
+ case "function":
103
+ return source;
104
+ case "set":
105
+ return new Set();
106
+ case "map":
107
+ return new Map();
108
+ case "date":
109
+ return new Date(source);
110
+ case "regExp":
111
+ return new RegExp(source);
112
+ case "math":
113
+ return Math;
114
+ default:
115
+ return {};
116
+ }
117
+ };
118
+ exports.createObjectVariable = createObjectVariable;
119
+ var createObject = function (source) {
120
+ function F() {}
121
+ F.prototype = source;
122
+ return new F();
123
+ };
124
+ exports.createObject = createObject;
125
+ var inherit = function (source, target) {
126
+ if (target === void 0) {
127
+ target = function () {};
128
+ }
129
+ target.prototype = (0, exports.createObject)(source.prototype);
130
+ target.prototype.super = source;
131
+ target.prototype.constructor = target;
132
+ return target;
133
+ };
134
+ exports.inherit = inherit;
@@ -0,0 +1,12 @@
1
+ export declare enum types {
2
+ "[object Array]" = "array",
3
+ "[object Object]" = "object",
4
+ "[object Function]" = "function",
5
+ "[object Set]" = "set",
6
+ "[object Map]" = "map",
7
+ "[object WeakMap]" = "weakMap",
8
+ "[object WeakSet]" = "weakSet",
9
+ "[object Date]" = "date",
10
+ "[object RegExp]" = "regExp",
11
+ "[object Math]" = "math"
12
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.types = void 0;
5
+ var types;
6
+ (function (types) {
7
+ types["[object Array]"] = "array";
8
+ types["[object Object]"] = "object";
9
+ types["[object Function]"] = "function";
10
+ types["[object Set]"] = "set";
11
+ types["[object Map]"] = "map";
12
+ types["[object WeakMap]"] = "weakMap";
13
+ types["[object WeakSet]"] = "weakSet";
14
+ types["[object Date]"] = "date";
15
+ types["[object RegExp]"] = "regExp";
16
+ types["[object Math]"] = "math";
17
+ })(types = exports.types || (exports.types = {}));
18
+ ;
File without changes
File without changes
@@ -0,0 +1,42 @@
1
+ export declare type IKey = string | symbol | number;
2
+ export interface IObject<T> {
3
+ [key: IKey]: T | IObject<any>;
4
+ }
5
+ export interface IPromise extends IObject<any> {
6
+ promise: Promise<void>;
7
+ resolve: () => unknown;
8
+ reject: () => unknown;
9
+ }
10
+ export declare type IDemoteArray<T> = Array<IDemoteArray<T> | T>;
11
+ export declare type IRandomNum = (min: number, max: number, bool?: boolean) => number;
12
+ export declare type IUrlSplit = (url: string) => IObject<any>;
13
+ export declare type IUrlJoin = (url: string, query: object) => string;
14
+ export declare type IGetType<T> = (data: any) => typeof data | T[keyof T] | "null";
15
+ export declare type IGetValue = <T>(object: IObject<T> | IObject<T>[IKey], key: string, defaultValue?: any) => IObject<T>[IKey];
16
+ export declare type ISetValue = <T>(object: IObject<T>, key: string, value?: any) => IObject<T>;
17
+ export declare type IMixIn = <U extends IObject<any>>(target?: U, source?: IObject<any>, overwrite?: boolean) => U;
18
+ export declare type IEnumInversion = (target: IObject<string>) => IObject<string>;
19
+ export declare type ICloneDeep = (target?: any) => any;
20
+ export declare type ICreateObjectVariable = (type: string, source?: any) => any;
21
+ export declare type ICreateObject = <T, U extends T>(source: T) => U;
22
+ export declare type IInherit = <T extends Function>(source: T, target?: Function) => Function;
23
+ export declare type IThrottle = (fn: Function, time: number) => (...args: any[]) => void;
24
+ export declare type IDebounce = (fn: Function, time: number) => (...args: any[]) => void;
25
+ export declare type IDefer = () => IPromise;
26
+ export declare type ICatchAwait<T extends Promise<any>> = (defer: T) => T;
27
+ export declare type IArrayRandom<T extends any[]> = (arr: T) => T;
28
+ export declare type IArrayUniq<T extends any[]> = (arr: T) => T;
29
+ export declare type IArrayDemote<T extends IDemoteArray<any>> = (arr: T, result?: T) => T;
30
+ interface IElementParams<T> {
31
+ ele: T | string;
32
+ style: CSSStyleDeclaration;
33
+ attr: Attr;
34
+ parent: T;
35
+ }
36
+ export declare type ICreateElement<T = HTMLElement> = (params: IElementParams<T>) => T;
37
+ export declare type IAddHandler = <T extends Document>(ele: T, type: string, handler: (e: Event) => void) => void;
38
+ export declare type IStopBubble = (e: Event) => void;
39
+ export declare type IStopDefault = (e: Event) => void;
40
+ export declare type IRemoveHandler = <T extends Document>(ele: T, type: string, handler: (e: Event) => void) => void;
41
+ export declare type IDispatchEvent = <T extends Document>(ele: T, data: any) => void;
42
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { IArrayRandom, IArrayUniq, IArrayDemote, IDemoteArray } from "./types";
2
+ export declare const arrayRandom: IArrayRandom<any[]>;
3
+ export declare const arrayUniq: IArrayUniq<any[]>;
4
+ export declare const arrayDemote: IArrayDemote<IDemoteArray<any>>;
@@ -0,0 +1,18 @@
1
+ import { getType } from "./base";
2
+ export var arrayRandom = function (arr) {
3
+ return arr.sort(function () {
4
+ return Math.random() - 0.5;
5
+ });
6
+ };
7
+ export var arrayUniq = function (arr) {
8
+ return Array.from(new Set(arr));
9
+ };
10
+ export var arrayDemote = function (arr, result) {
11
+ if (result === void 0) {
12
+ result = [];
13
+ }
14
+ arr.forEach(function (i) {
15
+ return getType(i) === "array" ? arrayDemote(i, result) : result.push(i);
16
+ });
17
+ return result;
18
+ };
@@ -0,0 +1,6 @@
1
+ import { IRandomNum, IUrlSplit, IUrlJoin, IGetType } from "./types";
2
+ import { types } from "./static";
3
+ export declare const randomNum: IRandomNum;
4
+ export declare const urlSplit: IUrlSplit;
5
+ export declare const urlJoin: IUrlJoin;
6
+ export declare const getType: IGetType<types>;
@@ -0,0 +1,35 @@
1
+ import { types } from "./static";
2
+ export var randomNum = function (min, max, bool) {
3
+ if (bool === void 0) {
4
+ bool = false;
5
+ }
6
+ return Math.floor(Math.random() * (max - min + (bool ? 1 : 0)) + min);
7
+ };
8
+ export var urlSplit = function (url) {
9
+ var result = {};
10
+ if (!url.includes("?")) {
11
+ return result;
12
+ }
13
+ var params = url.split("?")[1].split("&");
14
+ params.forEach(function (i) {
15
+ var key = i.split("=")[0];
16
+ result[key] = i.split("=")[1];
17
+ });
18
+ return result;
19
+ };
20
+ export var urlJoin = function (url, query) {
21
+ var params = Object.keys(query).map(function (i) {
22
+ return "".concat(i, "=").concat(query[i]);
23
+ });
24
+ return "".concat(url).concat(url.includes("?") ? "&" : '?').concat(params.join("&"));
25
+ };
26
+ export var getType = function (data) {
27
+ var type = typeof data;
28
+ if (data === null) {
29
+ return "null";
30
+ } else if (type === "object") {
31
+ var key = Object.prototype.toString.call(data);
32
+ return types[key];
33
+ }
34
+ return type;
35
+ };
@@ -0,0 +1,2 @@
1
+ import { ICreateElement } from "./types";
2
+ export declare const createElement: ICreateElement;
@@ -0,0 +1,16 @@
1
+ export var createElement = function (_a) {
2
+ var _b, _c;
3
+ var ele = _a.ele,
4
+ style = _a.style,
5
+ attr = _a.attr,
6
+ parent = _a.parent;
7
+ var element = ele instanceof HTMLElement ? ele : document.createElement(ele !== null && ele !== void 0 ? ele : 'div');
8
+ style && ((_b = Object.keys(style)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {
9
+ return element.style[key] = style[key];
10
+ }));
11
+ attr && ((_c = Object.keys(style)) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {
12
+ return element[key] = attr[key];
13
+ }));
14
+ parent && parent.appendChild(element);
15
+ return element;
16
+ };
@@ -0,0 +1,6 @@
1
+ import { IAddHandler, IStopBubble, IStopDefault, IRemoveHandler, IDispatchEvent } from "./types";
2
+ export declare const addHandler: IAddHandler;
3
+ export declare const stopBubble: IStopBubble;
4
+ export declare const stopDefault: IStopDefault;
5
+ export declare const removeHandler: IRemoveHandler;
6
+ export declare const dispatchEvent: IDispatchEvent;
@@ -0,0 +1,34 @@
1
+ export var addHandler = function (ele, type, handler) {
2
+ if (ele.addEventListener) {
3
+ ele.addEventListener(type, handler, false);
4
+ } else {
5
+ ele["on" + type] = handler;
6
+ }
7
+ };
8
+ export var stopBubble = function (event) {
9
+ event = event || window.event;
10
+ if (event.stopPropagation) {
11
+ event.stopPropagation();
12
+ } else {
13
+ event.cancelBubble = false;
14
+ }
15
+ };
16
+ export var stopDefault = function (event) {
17
+ event = event || window.event;
18
+ if (event.preventDefault) {
19
+ event.preventDefault();
20
+ } else {
21
+ event.returnValue = false;
22
+ }
23
+ };
24
+ export var removeHandler = function (ele, type, handler) {
25
+ if (ele.removeEventListener) {
26
+ ele.removeEventListener(type, handler, false);
27
+ } else {
28
+ ele["on" + type] = null;
29
+ }
30
+ };
31
+ export var dispatchEvent = function (ele, data) {
32
+ var evts = new Event(data);
33
+ ele.dispatchEvent(evts);
34
+ };
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ import { ICatchAwait, IThrottle, IDebounce, IDefer } from "./types";
2
+ export declare const throttle: IThrottle;
3
+ export declare const debounce: IDebounce;
4
+ export declare const defer: IDefer;
5
+ export declare const catchAwait: ICatchAwait<Promise<any>>;
@@ -0,0 +1,58 @@
1
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ var _this = this;
11
+ export var throttle = function (fn, time) {
12
+ var _timer = null;
13
+ return function () {
14
+ var args = [];
15
+ for (var _i = 0; _i < arguments.length; _i++) {
16
+ args[_i] = arguments[_i];
17
+ }
18
+ if (_timer) return;
19
+ _timer = setTimeout(function () {
20
+ fn.call.apply(fn, __spreadArray([_this], args, false));
21
+ _timer = null;
22
+ }, time);
23
+ };
24
+ };
25
+ export var debounce = function (fn, time) {
26
+ var _timer = null;
27
+ return function () {
28
+ var args = [];
29
+ for (var _i = 0; _i < arguments.length; _i++) {
30
+ args[_i] = arguments[_i];
31
+ }
32
+ if (_timer) {
33
+ clearTimeout(_timer);
34
+ _timer = null;
35
+ }
36
+ _timer = setTimeout(function () {
37
+ fn.call.apply(fn, __spreadArray([_this], args, false));
38
+ }, time);
39
+ };
40
+ };
41
+ export var defer = function () {
42
+ var resolve, reject;
43
+ return {
44
+ promise: new Promise(function (_resolve, _reject) {
45
+ resolve = _resolve;
46
+ reject = _reject;
47
+ }),
48
+ resolve: resolve,
49
+ reject: reject
50
+ };
51
+ };
52
+ export var catchAwait = function (defer) {
53
+ return defer.then(function (res) {
54
+ return [null, res];
55
+ }).catch(function (err) {
56
+ return [err];
57
+ });
58
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./object";
2
+ export * from "./base";
3
+ export * from "./array";
4
+ export * from "./function";
5
+ export * from "./element";
6
+ export * from "./static";
7
+ export * from "./types";
8
+ export * from "event-message-center";
@@ -0,0 +1,8 @@
1
+ export * from "./object";
2
+ export * from "./base";
3
+ export * from "./array";
4
+ export * from "./function";
5
+ export * from "./element";
6
+ export * from "./static";
7
+ export * from "./types";
8
+ export * from "event-message-center";
@@ -0,0 +1,10 @@
1
+ import { IGetValue, ISetValue, IMixIn, ICloneDeep, ICreateObjectVariable, IEnumInversion, IInherit, ICreateObject } from "./types";
2
+ export declare const getValue: IGetValue;
3
+ export declare const setValue: ISetValue;
4
+ export declare const mixIn: IMixIn;
5
+ export declare const enumInversion: IEnumInversion;
6
+ export declare const isNotObject: (source: any, type: any) => boolean;
7
+ export declare const cloneDeep: ICloneDeep;
8
+ export declare const createObjectVariable: ICreateObjectVariable;
9
+ export declare const createObject: ICreateObject;
10
+ export declare const inherit: IInherit;
@@ -0,0 +1,121 @@
1
+ import { getType } from "./base";
2
+ export var getValue = function (object, key, defaultValue) {
3
+ if (defaultValue === void 0) {
4
+ defaultValue = '';
5
+ }
6
+ var paths = key.split('.');
7
+ for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
8
+ var i = paths_1[_i];
9
+ object = object[i];
10
+ if (object === undefined) {
11
+ return defaultValue;
12
+ }
13
+ }
14
+ return object;
15
+ };
16
+ export var setValue = function (object, key, value) {
17
+ if (value === void 0) {
18
+ value = {};
19
+ }
20
+ var paths = key.split('.');
21
+ var last = paths[paths.length - 1];
22
+ var _object = object;
23
+ for (var _i = 0, paths_2 = paths; _i < paths_2.length; _i++) {
24
+ var i = paths_2[_i];
25
+ if (typeof _object !== "object" && _object !== undefined) {
26
+ return object;
27
+ }
28
+ !_object && (_object = {});
29
+ !_object[i] && (_object[i] = {});
30
+ last === i && (_object[last] = value);
31
+ _object = _object[i];
32
+ }
33
+ return object;
34
+ };
35
+ export var mixIn = function (target, source, overwrite) {
36
+ var _a;
37
+ if (source === void 0) {
38
+ source = {};
39
+ }
40
+ if (overwrite === void 0) {
41
+ overwrite = false;
42
+ }
43
+ for (var k in source) {
44
+ for (var key in source[k]) {
45
+ var proto = (_a = target.prototype) !== null && _a !== void 0 ? _a : target;
46
+ if (target[key] === undefined || overwrite) {
47
+ proto[key] = source[k][key];
48
+ }
49
+ }
50
+ }
51
+ return target;
52
+ };
53
+ export var enumInversion = function (target) {
54
+ for (var key in target) {
55
+ var _key = target[key];
56
+ if (typeof _key === "string" && !!!target[_key]) {
57
+ target[_key] = key;
58
+ }
59
+ }
60
+ return target;
61
+ };
62
+ export var isNotObject = function (source, type) {
63
+ return typeof source !== "object" || type === 'null';
64
+ };
65
+ export var cloneDeep = function (target) {
66
+ var __type = getType(target);
67
+ if (isNotObject(target, __type)) return target;
68
+ var __init = createObjectVariable(__type, target);
69
+ if (__type === "map") {
70
+ target.forEach(function (value, key) {
71
+ __init.set(key, cloneDeep(value));
72
+ });
73
+ } else if (__type === "set") {
74
+ target.forEach(function (value) {
75
+ __init.add(cloneDeep(value));
76
+ });
77
+ } else {
78
+ Reflect.ownKeys(target).forEach(function (keys) {
79
+ var desc = target[keys];
80
+ __init[keys] = cloneDeep(desc);
81
+ });
82
+ }
83
+ return __init;
84
+ };
85
+ export var createObjectVariable = function (type, source) {
86
+ if (source === void 0) {
87
+ source = {};
88
+ }
89
+ switch (type) {
90
+ case "array":
91
+ return [];
92
+ case "function":
93
+ return source;
94
+ case "set":
95
+ return new Set();
96
+ case "map":
97
+ return new Map();
98
+ case "date":
99
+ return new Date(source);
100
+ case "regExp":
101
+ return new RegExp(source);
102
+ case "math":
103
+ return Math;
104
+ default:
105
+ return {};
106
+ }
107
+ };
108
+ export var createObject = function (source) {
109
+ function F() {}
110
+ F.prototype = source;
111
+ return new F();
112
+ };
113
+ export var inherit = function (source, target) {
114
+ if (target === void 0) {
115
+ target = function () {};
116
+ }
117
+ target.prototype = createObject(source.prototype);
118
+ target.prototype.super = source;
119
+ target.prototype.constructor = target;
120
+ return target;
121
+ };
@@ -0,0 +1,12 @@
1
+ export declare enum types {
2
+ "[object Array]" = "array",
3
+ "[object Object]" = "object",
4
+ "[object Function]" = "function",
5
+ "[object Set]" = "set",
6
+ "[object Map]" = "map",
7
+ "[object WeakMap]" = "weakMap",
8
+ "[object WeakSet]" = "weakSet",
9
+ "[object Date]" = "date",
10
+ "[object RegExp]" = "regExp",
11
+ "[object Math]" = "math"
12
+ }
@@ -0,0 +1,14 @@
1
+ export var types;
2
+ (function (types) {
3
+ types["[object Array]"] = "array";
4
+ types["[object Object]"] = "object";
5
+ types["[object Function]"] = "function";
6
+ types["[object Set]"] = "set";
7
+ types["[object Map]"] = "map";
8
+ types["[object WeakMap]"] = "weakMap";
9
+ types["[object WeakSet]"] = "weakSet";
10
+ types["[object Date]"] = "date";
11
+ types["[object RegExp]"] = "regExp";
12
+ types["[object Math]"] = "math";
13
+ })(types || (types = {}));
14
+ ;
File without changes
File without changes
@@ -0,0 +1,42 @@
1
+ export declare type IKey = string | symbol | number;
2
+ export interface IObject<T> {
3
+ [key: IKey]: T | IObject<any>;
4
+ }
5
+ export interface IPromise extends IObject<any> {
6
+ promise: Promise<void>;
7
+ resolve: () => unknown;
8
+ reject: () => unknown;
9
+ }
10
+ export declare type IDemoteArray<T> = Array<IDemoteArray<T> | T>;
11
+ export declare type IRandomNum = (min: number, max: number, bool?: boolean) => number;
12
+ export declare type IUrlSplit = (url: string) => IObject<any>;
13
+ export declare type IUrlJoin = (url: string, query: object) => string;
14
+ export declare type IGetType<T> = (data: any) => typeof data | T[keyof T] | "null";
15
+ export declare type IGetValue = <T>(object: IObject<T> | IObject<T>[IKey], key: string, defaultValue?: any) => IObject<T>[IKey];
16
+ export declare type ISetValue = <T>(object: IObject<T>, key: string, value?: any) => IObject<T>;
17
+ export declare type IMixIn = <U extends IObject<any>>(target?: U, source?: IObject<any>, overwrite?: boolean) => U;
18
+ export declare type IEnumInversion = (target: IObject<string>) => IObject<string>;
19
+ export declare type ICloneDeep = (target?: any) => any;
20
+ export declare type ICreateObjectVariable = (type: string, source?: any) => any;
21
+ export declare type ICreateObject = <T, U extends T>(source: T) => U;
22
+ export declare type IInherit = <T extends Function>(source: T, target?: Function) => Function;
23
+ export declare type IThrottle = (fn: Function, time: number) => (...args: any[]) => void;
24
+ export declare type IDebounce = (fn: Function, time: number) => (...args: any[]) => void;
25
+ export declare type IDefer = () => IPromise;
26
+ export declare type ICatchAwait<T extends Promise<any>> = (defer: T) => T;
27
+ export declare type IArrayRandom<T extends any[]> = (arr: T) => T;
28
+ export declare type IArrayUniq<T extends any[]> = (arr: T) => T;
29
+ export declare type IArrayDemote<T extends IDemoteArray<any>> = (arr: T, result?: T) => T;
30
+ interface IElementParams<T> {
31
+ ele: T | string;
32
+ style: CSSStyleDeclaration;
33
+ attr: Attr;
34
+ parent: T;
35
+ }
36
+ export declare type ICreateElement<T = HTMLElement> = (params: IElementParams<T>) => T;
37
+ export declare type IAddHandler = <T extends Document>(ele: T, type: string, handler: (e: Event) => void) => void;
38
+ export declare type IStopBubble = (e: Event) => void;
39
+ export declare type IStopDefault = (e: Event) => void;
40
+ export declare type IRemoveHandler = <T extends Document>(ele: T, type: string, handler: (e: Event) => void) => void;
41
+ export declare type IDispatchEvent = <T extends Document>(ele: T, data: any) => void;
42
+ export {};
@@ -0,0 +1 @@
1
+ export {};