@fast-china/utils 1.0.2 → 1.0.4
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/dist/index.global.js +13172 -63953
- package/dist/index.global.js.map +1 -1
- package/dist/index.global.min.js +38 -73
- package/dist/index.global.min.js.map +1 -1
- package/es/base64/index.d.ts +12 -0
- package/es/base64/index.mjs +132 -0
- package/es/base64/index.mjs.map +1 -0
- package/es/click/index.d.ts +30 -0
- package/es/click/index.mjs +82 -0
- package/es/click/index.mjs.map +1 -0
- package/es/color/index.d.ts +30 -0
- package/es/color/index.mjs +60 -0
- package/es/color/index.mjs.map +1 -0
- package/es/console/index.d.ts +25 -0
- package/es/console/index.mjs +44 -0
- package/es/console/index.mjs.map +1 -0
- package/es/crypto/index.d.ts +46 -0
- package/es/crypto/index.mjs +106 -0
- package/es/crypto/index.mjs.map +1 -0
- package/es/date/index.d.ts +24 -0
- package/es/date/index.mjs +251 -0
- package/es/date/index.mjs.map +1 -0
- package/es/dom/index.d.ts +1 -0
- package/es/dom/index.mjs +5 -0
- package/es/dom/index.mjs.map +1 -0
- package/es/dom/style.d.ts +6 -0
- package/es/dom/style.mjs +21 -0
- package/es/dom/style.mjs.map +1 -0
- package/es/error/index.d.ts +3 -0
- package/es/error/index.mjs +10 -0
- package/es/error/index.mjs.map +1 -0
- package/es/identity/index.d.ts +8 -0
- package/es/identity/index.mjs +33 -0
- package/es/identity/index.mjs.map +1 -0
- package/es/index.d.ts +13 -0
- package/es/index.es.d.ts +2 -0
- package/es/index.mjs +54 -0
- package/es/index.mjs.map +1 -0
- package/es/object/index.d.ts +21 -0
- package/es/object/index.mjs +118 -0
- package/es/object/index.mjs.map +1 -0
- package/es/storage/index.d.ts +95 -0
- package/es/storage/index.mjs +306 -0
- package/es/storage/index.mjs.map +1 -0
- package/es/string/index.d.ts +25 -0
- package/es/string/index.mjs +94 -0
- package/es/string/index.mjs.map +1 -0
- package/es/vue/expose.d.ts +4 -0
- package/es/vue/expose.mjs +8 -0
- package/es/vue/expose.mjs.map +1 -0
- package/es/vue/func.d.ts +6 -0
- package/es/vue/func.mjs +26 -0
- package/es/vue/func.mjs.map +1 -0
- package/es/vue/index.d.ts +7 -0
- package/es/vue/index.mjs +20 -0
- package/es/vue/index.mjs.map +1 -0
- package/es/vue/install.d.ts +5 -0
- package/es/vue/install.mjs +31 -0
- package/es/vue/install.mjs.map +1 -0
- package/es/vue/props.d.ts +9 -0
- package/es/vue/props.mjs +15 -0
- package/es/vue/props.mjs.map +1 -0
- package/es/vue/slots.d.ts +11 -0
- package/es/vue/slots.mjs +7 -0
- package/es/vue/slots.mjs.map +1 -0
- package/es/vue/useRender.d.ts +6 -0
- package/es/vue/useRender.mjs +12 -0
- package/es/vue/useRender.mjs.map +1 -0
- package/es/vue/with.d.ts +5 -0
- package/es/vue/with.mjs +7 -0
- package/es/vue/with.mjs.map +1 -0
- package/lib/base64/index.d.ts +12 -0
- package/lib/base64/index.js +2 -0
- package/lib/base64/index.js.map +1 -0
- package/lib/click/index.d.ts +30 -0
- package/lib/click/index.js +2 -0
- package/lib/click/index.js.map +1 -0
- package/lib/color/index.d.ts +30 -0
- package/lib/color/index.js +2 -0
- package/lib/color/index.js.map +1 -0
- package/lib/console/index.d.ts +25 -0
- package/lib/console/index.js +2 -0
- package/lib/console/index.js.map +1 -0
- package/lib/crypto/index.d.ts +46 -0
- package/lib/crypto/index.js +2 -0
- package/lib/crypto/index.js.map +1 -0
- package/lib/date/index.d.ts +24 -0
- package/lib/date/index.js +2 -0
- package/lib/date/index.js.map +1 -0
- package/lib/dom/index.d.ts +1 -0
- package/lib/dom/index.js +2 -0
- package/lib/dom/index.js.map +1 -0
- package/lib/dom/style.d.ts +6 -0
- package/lib/dom/style.js +2 -0
- package/lib/dom/style.js.map +1 -0
- package/lib/error/index.d.ts +3 -0
- package/lib/error/index.js +2 -0
- package/lib/error/index.js.map +1 -0
- package/lib/identity/index.d.ts +8 -0
- package/lib/identity/index.js +2 -0
- package/lib/identity/index.js.map +1 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.es.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/object/index.d.ts +21 -0
- package/lib/object/index.js +2 -0
- package/lib/object/index.js.map +1 -0
- package/lib/storage/index.d.ts +95 -0
- package/lib/storage/index.js +2 -0
- package/lib/storage/index.js.map +1 -0
- package/lib/string/index.d.ts +25 -0
- package/lib/string/index.js +2 -0
- package/lib/string/index.js.map +1 -0
- package/lib/vue/expose.d.ts +4 -0
- package/lib/vue/expose.js +2 -0
- package/lib/vue/expose.js.map +1 -0
- package/lib/vue/func.d.ts +6 -0
- package/lib/vue/func.js +2 -0
- package/lib/vue/func.js.map +1 -0
- package/lib/vue/index.d.ts +7 -0
- package/lib/vue/index.js +2 -0
- package/lib/vue/index.js.map +1 -0
- package/lib/vue/install.d.ts +5 -0
- package/lib/vue/install.js +2 -0
- package/lib/vue/install.js.map +1 -0
- package/lib/vue/props.d.ts +9 -0
- package/lib/vue/props.js +2 -0
- package/lib/vue/props.js.map +1 -0
- package/lib/vue/slots.d.ts +11 -0
- package/lib/vue/slots.js +2 -0
- package/lib/vue/slots.js.map +1 -0
- package/lib/vue/useRender.d.ts +6 -0
- package/lib/vue/useRender.js +2 -0
- package/lib/vue/useRender.js.map +1 -0
- package/lib/vue/with.d.ts +5 -0
- package/lib/vue/with.js +2 -0
- package/lib/vue/with.js.map +1 -0
- package/package.json +92 -81
- package/dist/index.cjs +0 -1294
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -380
- package/dist/index.d.ts +0 -380
- package/dist/index.js +0 -1264
- package/dist/index.js.map +0 -1
- package/dist/index.min.cjs +0 -3
- package/dist/index.min.cjs.map +0 -1
- package/dist/index.min.js +0 -3
- package/dist/index.min.js.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const NOOP = () => {
|
|
2
|
+
};
|
|
3
|
+
const withInstall = (main, extra) => {
|
|
4
|
+
main.install = (app) => {
|
|
5
|
+
for (const comp of [main, ...Object.values(extra ?? {})]) {
|
|
6
|
+
app.component(comp.name, comp);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
if (extra) {
|
|
10
|
+
for (const [key, comp] of Object.entries(extra)) {
|
|
11
|
+
main[key] = comp;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return main;
|
|
15
|
+
};
|
|
16
|
+
const withNoopInstall = (component) => {
|
|
17
|
+
component.install = NOOP;
|
|
18
|
+
return component;
|
|
19
|
+
};
|
|
20
|
+
const withInstallDirective = (directive, name) => {
|
|
21
|
+
directive.install = (app) => {
|
|
22
|
+
app.directive(name, directive);
|
|
23
|
+
};
|
|
24
|
+
return directive;
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
withInstall,
|
|
28
|
+
withInstallDirective,
|
|
29
|
+
withNoopInstall
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=install.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.mjs","sources":["../../../../src/vue/install.ts"],"sourcesContent":["import type { App, Directive, Plugin } from \"vue\";\n\nexport type TSXWithInstall<T> = T & Plugin;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst NOOP = (): void => {};\n\nexport const withInstall = <T, E extends Record<string, any>>(main: T, extra?: E): TSXWithInstall<T> & E => {\n\t(main as TSXWithInstall<T>).install = (app): void => {\n\t\tfor (const comp of [main, ...Object.values(extra ?? {})]) {\n\t\t\tapp.component(comp.name, comp);\n\t\t}\n\t};\n\n\tif (extra) {\n\t\tfor (const [key, comp] of Object.entries(extra)) {\n\t\t\t(main as any)[key] = comp;\n\t\t}\n\t}\n\treturn main as TSXWithInstall<T> & E;\n};\n\nexport const withNoopInstall = <T>(component: T): TSXWithInstall<T> => {\n\t(component as TSXWithInstall<T>).install = NOOP;\n\n\treturn component as TSXWithInstall<T>;\n};\n\nexport const withInstallDirective = <T extends Directive>(directive: T, name: string): TSXWithInstall<T> => {\n\t(directive as TSXWithInstall<T>).install = (app: App): void => {\n\t\tapp.directive(name, directive);\n\t};\n\n\treturn directive as TSXWithInstall<T>;\n};\n"],"names":[],"mappings":"AAKA,MAAM,OAAO,MAAY;AAAC;AAEb,MAAA,cAAc,CAAmC,MAAS,UAAqC;AAC1G,OAA2B,UAAU,CAAC,QAAc;AACzC,eAAA,QAAQ,CAAC,MAAM,GAAG,OAAO,OAAO,SAAS,CAAE,CAAA,CAAC,GAAG;AACrD,UAAA,UAAU,KAAK,MAAM,IAAI;AAAA,IAAA;AAAA,EAE/B;AAEA,MAAI,OAAO;AACV,eAAW,CAAC,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,GAAG;AAC/C,WAAa,GAAG,IAAI;AAAA,IAAA;AAAA,EACtB;AAEM,SAAA;AACR;AAEa,MAAA,kBAAkB,CAAI,cAAoC;AACrE,YAAgC,UAAU;AAEpC,SAAA;AACR;AAEa,MAAA,uBAAuB,CAAsB,WAAc,SAAoC;AAC1G,YAAgC,UAAU,CAAC,QAAmB;AAC1D,QAAA,UAAU,MAAM,SAAS;AAAA,EAC9B;AAEO,SAAA;AACR;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComputedRef, PropType } from 'vue';
|
|
2
|
+
export declare const definePropType: <T>(val: any) => PropType<T>;
|
|
3
|
+
/**
|
|
4
|
+
* 构建 props
|
|
5
|
+
* @param props props
|
|
6
|
+
* @param rawProps 原生 props
|
|
7
|
+
* @param ignoreRawProps 忽略 原生 props 的 key
|
|
8
|
+
*/
|
|
9
|
+
export declare const useProps: <T extends Record<string, unknown>, RT extends Record<string, unknown>>(props: T, rawProps?: RT, ignoreRawProps?: (keyof RT)[]) => ComputedRef<Record<string, unknown>>;
|
package/es/vue/props.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { computed } from "vue";
|
|
2
|
+
import { omit, pick } from "lodash-unified";
|
|
3
|
+
const definePropType = (val) => val;
|
|
4
|
+
const useProps = (props, rawProps, ignoreRawProps) => {
|
|
5
|
+
if (!props) return computed(() => ({}));
|
|
6
|
+
return computed(() => {
|
|
7
|
+
const omittedRawProps = rawProps ? omit(rawProps, ignoreRawProps ?? []) : {};
|
|
8
|
+
return pick(props, Object.keys(omittedRawProps));
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
definePropType,
|
|
13
|
+
useProps
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=props.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../../src/vue/props.ts"],"sourcesContent":["import type { ComputedRef, PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport { omit, pick } from \"lodash-unified\";\n\nexport const definePropType = <T>(val: any): PropType<T> => val;\n\n/**\n * 构建 props\n * @param props props\n * @param rawProps 原生 props\n * @param ignoreRawProps 忽略 原生 props 的 key\n */\nexport const useProps = <T extends Record<string, unknown>, RT extends Record<string, unknown>>(\n\tprops: T,\n\trawProps?: RT,\n\tignoreRawProps?: (keyof RT)[]\n): ComputedRef<Record<string, unknown>> => {\n\tif (!props) return computed(() => ({}));\n\n\treturn computed<Record<string, unknown>>(() => {\n\t\tconst omittedRawProps = rawProps ? omit(rawProps, ignoreRawProps ?? []) : {};\n\t\treturn pick(props, Object.keys(omittedRawProps)) as Record<string, unknown>;\n\t});\n};\n"],"names":[],"mappings":";;AAIa,MAAA,iBAAiB,CAAI,QAA0B;AAQrD,MAAM,WAAW,CACvB,OACA,UACA,mBAC0C;AAC1C,MAAI,CAAC,MAAO,QAAO,SAAS,OAAO,CAAG,EAAA;AAEtC,SAAO,SAAkC,MAAM;AACxC,UAAA,kBAAkB,WAAW,KAAK,UAAU,kBAAkB,CAAE,CAAA,IAAI,CAAC;AAC3E,WAAO,KAAK,OAAO,OAAO,KAAK,eAAe,CAAC;AAAA,EAAA,CAC/C;AACF;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SlotsType, VNode } from 'vue';
|
|
2
|
+
type RawSlots = Record<string, unknown>;
|
|
3
|
+
type VueSlots<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[];
|
|
4
|
+
type MakeSlots<T extends RawSlots> = {
|
|
5
|
+
[K in keyof T]: VueSlots<T[K]>;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* 构建 slots
|
|
9
|
+
*/
|
|
10
|
+
export declare const makeSlots: <Slots extends RawSlots>() => SlotsType<Partial<MakeSlots<Slots>>>;
|
|
11
|
+
export {};
|
package/es/vue/slots.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slots.mjs","sources":["../../../../src/vue/slots.ts"],"sourcesContent":["import type { SlotsType, VNode } from \"vue\";\n\ntype RawSlots = Record<string, unknown>;\n\ntype VueSlots<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[];\n\ntype MakeSlots<T extends RawSlots> = {\n\t[K in keyof T]: VueSlots<T[K]>;\n};\n\n/**\n * 构建 slots\n */\nexport const makeSlots = <Slots extends RawSlots>(): SlotsType<Partial<MakeSlots<Slots>>> => {\n\treturn Object as SlotsType<Partial<MakeSlots<Slots>>>;\n};\n"],"names":[],"mappings":"AAaO,MAAM,YAAY,MAAoE;AACrF,SAAA;AACR;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getCurrentInstance } from "vue";
|
|
2
|
+
const useRender = (render) => {
|
|
3
|
+
const vm = getCurrentInstance();
|
|
4
|
+
if (!vm) {
|
|
5
|
+
throw new Error("useRender must be called from inside a setup function");
|
|
6
|
+
}
|
|
7
|
+
vm.render = render;
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
useRender
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useRender.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRender.mjs","sources":["../../../../src/vue/useRender.ts"],"sourcesContent":["import type { VNode } from \"vue\";\nimport { getCurrentInstance } from \"vue\";\n\n/**\n * 使用渲染\n * @description 为了解决使用 TSX 语法返回渲染函数,状态不会出现在 vue.js devtools 中\n */\nexport const useRender = (render: () => VNode): void => {\n\tconst vm = getCurrentInstance() as any;\n\tif (!vm) {\n\t\tthrow new Error(\"useRender must be called from inside a setup function\");\n\t}\n\tvm.render = render;\n};\n"],"names":[],"mappings":";AAOa,MAAA,YAAY,CAAC,WAA8B;AACvD,QAAM,KAAK,mBAAmB;AAC9B,MAAI,CAAC,IAAI;AACF,UAAA,IAAI,MAAM,uDAAuD;AAAA,EAAA;AAExE,KAAG,SAAS;AACb;"}
|
package/es/vue/with.d.ts
ADDED
package/es/vue/with.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with.mjs","sources":["../../../../src/vue/with.ts"],"sourcesContent":["/**\n * 定义类型数据\n * @description 传入什么就返回什么,用来定义reactive或其他对象的响应式数据\n */\nexport const withDefineType = <T>(data: T = undefined): T => {\n\treturn data;\n};\n"],"names":[],"mappings":"AAIa,MAAA,iBAAiB,CAAI,OAAU,WAAiB;AACrD,SAAA;AACR;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const base64Util: {
|
|
2
|
+
bota(string: string): string;
|
|
3
|
+
atob(string: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* 字符串ToBase64
|
|
6
|
+
*/
|
|
7
|
+
toBase64(str: string, prefixStrLength?: number): string;
|
|
8
|
+
/**
|
|
9
|
+
* Base64转字符串
|
|
10
|
+
*/
|
|
11
|
+
base64ToStr(str: string, prefixStrLength?: number): string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/,d=[{index:977,randomIndex:188},{index:926,randomIndex:201},{index:851,randomIndex:225},{index:700,randomIndex:255},{index:600,randomIndex:268},{index:500,randomIndex:277},{index:400,randomIndex:288},{index:330,randomIndex:327},{index:300,randomIndex:180},{index:200,randomIndex:178},{index:100,randomIndex:124},{index:98,randomIndex:95},{index:92,randomIndex:90},{index:91,randomIndex:87},{index:88,randomIndex:84},{index:82,randomIndex:79},{index:78,randomIndex:71},{index:72,randomIndex:69},{index:68,randomIndex:66},{index:59,randomIndex:55},{index:48,randomIndex:43},{index:42,randomIndex:37},{index:36,randomIndex:30},{index:33,randomIndex:27},{index:24,randomIndex:20},{index:23,randomIndex:18},{index:21,randomIndex:16},{index:17,randomIndex:14},{index:13,randomIndex:9},{index:7,randomIndex:4},{index:5,randomIndex:3},{index:2,randomIndex:1}];const r={bota(e){let d,r,o,t,x="",i=0,a=(e=String(e)).length%3;for(;i<e.length;){if((r=e.charCodeAt(i++))>255||(o=e.charCodeAt(i++))>255||(t=e.charCodeAt(i++))>255)throw new TypeError("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.");d=r<<16|o<<8|t,x+=n.charAt(d>>18&63)+n.charAt(d>>12&63)+n.charAt(d>>6&63)+n.charAt(63&d)}return a?x.slice(0,a-3)+"===".substring(a):x},atob(d){if(d=String(d).replace(/[\t\n\f\r ]+/g,""),!e.test(d))throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");d+="==".slice(2-(3&d.length));let r,o,t,x="",i=0;for(;i<d.length;)r=n.indexOf(d.charAt(i++))<<18|n.indexOf(d.charAt(i++))<<12|(o=n.indexOf(d.charAt(i++)))<<6|(t=n.indexOf(d.charAt(i++))),x+=64===o?String.fromCharCode(r>>16&255):64===t?String.fromCharCode(r>>16&255,r>>8&255):String.fromCharCode(r>>16&255,r>>8&255,255&r);return x},toBase64(n,e=6){if(0===n.length)return"";const o=function(n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",e=6){let d="";for(let r=0;r<e;r++)d+=n[Math.ceil(Math.random()*(n.length-1))];return d}();let t=r.bota(encodeURIComponent(n));return 0!==e&&(t=function(n){let e=n;return d.sort(((n,e)=>e.index-n.index)).forEach((d=>{if(d.index<n.length){const r=n[d.randomIndex];e=e.slice(0,d.index)+r+e.slice(d.index)}})),e}(t)),o+t},base64ToStr(n,e=6){let o=n;if(0===n.length)return"";let t=n.slice(e);return 0!==e&&(t=function(n){const e=d.sort(((n,e)=>n.index-e.index));let r=n;return e.forEach((e=>{e.index<n.length&&(r=r.slice(0,e.index)+r.slice(e.index+1))})),r}(t)),o=r.atob(t),decodeURIComponent(o)}};exports.base64Util=r;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/base64/index.ts"],"sourcesContent":["const b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\n\n/**加密字典 */\nconst base64PwdDic = [\n\t{ index: 977, randomIndex: 188 },\n\t{ index: 926, randomIndex: 201 },\n\t{ index: 851, randomIndex: 225 },\n\t{ index: 700, randomIndex: 255 },\n\t{ index: 600, randomIndex: 268 },\n\t{ index: 500, randomIndex: 277 },\n\t{ index: 400, randomIndex: 288 },\n\t{ index: 330, randomIndex: 327 },\n\t{ index: 300, randomIndex: 180 },\n\t{ index: 200, randomIndex: 178 },\n\t{ index: 100, randomIndex: 124 },\n\t// 100 以内字典\n\t{ index: 98, randomIndex: 95 },\n\t{ index: 92, randomIndex: 90 },\n\t{ index: 91, randomIndex: 87 },\n\t{ index: 88, randomIndex: 84 },\n\t{ index: 82, randomIndex: 79 },\n\t{ index: 78, randomIndex: 71 },\n\t{ index: 72, randomIndex: 69 },\n\t{ index: 68, randomIndex: 66 },\n\t{ index: 59, randomIndex: 55 },\n\t{ index: 48, randomIndex: 43 },\n\t{ index: 42, randomIndex: 37 },\n\t{ index: 36, randomIndex: 30 },\n\t{ index: 33, randomIndex: 27 },\n\t{ index: 24, randomIndex: 20 },\n\t{ index: 23, randomIndex: 18 },\n\t{ index: 21, randomIndex: 16 },\n\t{ index: 17, randomIndex: 14 },\n\t{ index: 13, randomIndex: 9 },\n\t{ index: 7, randomIndex: 4 },\n\t{ index: 5, randomIndex: 3 },\n\t{ index: 2, randomIndex: 1 },\n];\n\n/**随机字符串长度 */\nconst randomPrefixStrLength = 6;\n\n/**随机字符串 */\nconst randomStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n/**\n * 在Base64字符串中添加加密字典\n */\nfunction insertRandomStrToBase64Str(base64Str: string): string {\n\tlet strResult = base64Str;\n\tconst items = base64PwdDic.sort((a, b) => {\n\t\treturn b.index - a.index;\n\t});\n\titems.forEach((item) => {\n\t\tif (item.index < base64Str.length) {\n\t\t\tconst randomChar = base64Str[item.randomIndex];\n\t\t\tstrResult = strResult.slice(0, item.index) + randomChar + strResult.slice(item.index);\n\t\t}\n\t});\n\treturn strResult;\n}\n\n/**\n * 删除Base64字符串中的加密字典\n */\nfunction removeBase64StrRandomStr(base64Str: string): string {\n\tconst items = base64PwdDic.sort((a, b) => {\n\t\treturn a.index - b.index;\n\t});\n\tlet strResult = base64Str;\n\titems.forEach((item) => {\n\t\tif (item.index < base64Str.length) {\n\t\t\tstrResult = strResult.slice(0, item.index) + strResult.slice(item.index + 1);\n\t\t}\n\t});\n\treturn strResult;\n}\n\n/**\n * 得到随机字符串\n */\nfunction getRandomStr(str = randomStr, prefixStrLength = randomPrefixStrLength): string {\n\tlet result = \"\";\n\tfor (let i = 0; i < prefixStrLength; i++) {\n\t\tconst randomInt = Math.ceil(Math.random() * (str.length - 1));\n\t\tconst randomChar = str[randomInt];\n\t\tresult += randomChar;\n\t}\n\treturn result;\n}\n\nexport const base64Util = {\n\tbota(string: string): string {\n\t\tstring = String(string);\n\t\tlet bitmap,\n\t\t\ta,\n\t\t\tb,\n\t\t\tc,\n\t\t\tresult = \"\",\n\t\t\ti = 0,\n\t\t\t// eslint-disable-next-line prefer-const\n\t\t\trest = string.length % 3;\n\n\t\tfor (; i < string.length; ) {\n\t\t\tif ((a = string.charCodeAt(i++)) > 255 || (b = string.charCodeAt(i++)) > 255 || (c = string.charCodeAt(i++)) > 255)\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t\"Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.\"\n\t\t\t\t);\n\n\t\t\tbitmap = (a << 16) | (b << 8) | c;\n\t\t\tresult += b64.charAt((bitmap >> 18) & 63) + b64.charAt((bitmap >> 12) & 63) + b64.charAt((bitmap >> 6) & 63) + b64.charAt(bitmap & 63);\n\t\t}\n\n\t\treturn rest ? result.slice(0, rest - 3) + \"===\".substring(rest) : result;\n\t},\n\tatob(string: string): string {\n\t\tstring = String(string).replace(/[\\t\\n\\f\\r ]+/g, \"\");\n\t\tif (!b64re.test(string)) throw new TypeError(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");\n\t\tstring += \"==\".slice(2 - (string.length & 3));\n\t\tlet bitmap,\n\t\t\tresult = \"\",\n\t\t\tr1,\n\t\t\tr2,\n\t\t\ti = 0;\n\t\tfor (; i < string.length; ) {\n\t\t\tbitmap =\n\t\t\t\t(b64.indexOf(string.charAt(i++)) << 18) |\n\t\t\t\t(b64.indexOf(string.charAt(i++)) << 12) |\n\t\t\t\t((r1 = b64.indexOf(string.charAt(i++))) << 6) |\n\t\t\t\t(r2 = b64.indexOf(string.charAt(i++)));\n\n\t\t\tresult +=\n\t\t\t\tr1 === 64\n\t\t\t\t\t? String.fromCharCode((bitmap >> 16) & 255)\n\t\t\t\t\t: r2 === 64\n\t\t\t\t\t\t? String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255)\n\t\t\t\t\t\t: String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255, bitmap & 255);\n\t\t}\n\t\treturn result;\n\t},\n\t/**\n\t * 字符串ToBase64\n\t */\n\ttoBase64(str: string, prefixStrLength = randomPrefixStrLength): string {\n\t\tif (str.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\tconst randomPrefixStr = getRandomStr();\n\t\tlet base64 = base64Util.bota(encodeURIComponent(str));\n\t\tif (prefixStrLength !== 0) {\n\t\t\tbase64 = insertRandomStrToBase64Str(base64);\n\t\t}\n\t\treturn randomPrefixStr + base64;\n\t},\n\n\t/**\n\t * Base64转字符串\n\t */\n\tbase64ToStr(str: string, prefixStrLength = randomPrefixStrLength): string {\n\t\tlet result = str;\n\t\tif (str.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\tlet input = str.slice(prefixStrLength);\n\t\tif (prefixStrLength !== 0) {\n\t\t\tinput = removeBase64StrRandomStr(input);\n\t\t}\n\t\tresult = base64Util.atob(input);\n\t\treturn decodeURIComponent(result);\n\t},\n};\n"],"names":["b64","b64re","base64PwdDic","index","randomIndex","base64Util","bota","string","bitmap","a","b","c","result","i","rest","String","length","charCodeAt","TypeError","charAt","slice","substring","atob","replace","test","r1","r2","indexOf","fromCharCode","toBase64","str","prefixStrLength","randomPrefixStr","Math","ceil","random","getRandomStr","base64","encodeURIComponent","base64Str","strResult","sort","forEach","item","randomChar","insertRandomStrToBase64Str","base64ToStr","input","items","removeBase64StrRandomStr","decodeURIComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const clickUtil: {
|
|
2
|
+
/**
|
|
3
|
+
* 防抖
|
|
4
|
+
* @param fn - 执行函数
|
|
5
|
+
* @param delay - 延时毫秒
|
|
6
|
+
* @returns 返回一个新的防抖函数
|
|
7
|
+
*/
|
|
8
|
+
debounce(fn: () => void, delay?: number): void;
|
|
9
|
+
/**
|
|
10
|
+
* 异步防抖
|
|
11
|
+
* @param fn - 执行函数
|
|
12
|
+
* @param delay - 延时毫秒
|
|
13
|
+
* @returns 返回一个新的防抖函数
|
|
14
|
+
*/
|
|
15
|
+
debounceAsync(fn: () => Promise<void>, delay?: number): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* 节流
|
|
18
|
+
* @param fn - 执行函数
|
|
19
|
+
* @param delay - 延时毫秒
|
|
20
|
+
* @returns 返回一个新的节流函数
|
|
21
|
+
*/
|
|
22
|
+
throttle(fn: () => void, delay?: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* 异步节流
|
|
25
|
+
* @param fn - 执行函数
|
|
26
|
+
* @param delay - 延时毫秒
|
|
27
|
+
* @returns 返回一个新的节流函数
|
|
28
|
+
*/
|
|
29
|
+
throttleAsync(fn: () => Promise<void>, delay?: number): Promise<void>;
|
|
30
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let e=null,t=!1;const o={debounce(t,o=500){e&&clearTimeout(e),e=setTimeout((()=>{t()}),o)},debounceAsync:async(t,o=500)=>new Promise(((c,s)=>{e&&clearTimeout(e),e=setTimeout((async()=>{try{await t(),c()}catch(e){s(e)}}),o)})),throttle(e,o=500){t||(t=!0,e(),setTimeout((()=>{t=!1}),o))},throttleAsync:async(e,o=500)=>new Promise(((c,s)=>{t||(t=!0,e().then((()=>{c()})).catch((e=>{s(e)})).finally((()=>{setTimeout((()=>{t=!1}),o)})))}))};exports.clickUtil=o;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/click/index.ts"],"sourcesContent":["let _debounceTimeout: ReturnType<typeof setTimeout> | null = null;\nlet _throttleRunning = false;\n\nexport const clickUtil = {\n\t/**\n\t * 防抖\n\t * @param fn - 执行函数\n\t * @param delay - 延时毫秒\n\t * @returns 返回一个新的防抖函数\n\t */\n\tdebounce(fn: () => void, delay = 500): void {\n\t\t// 如果已有定时器,清除它\n\t\tif (_debounceTimeout) {\n\t\t\tclearTimeout(_debounceTimeout);\n\t\t}\n\t\t// 设置新的定时器\n\t\t_debounceTimeout = setTimeout(() => {\n\t\t\t// 调用原函数\n\t\t\tfn();\n\t\t}, delay);\n\t},\n\t/**\n\t * 异步防抖\n\t * @param fn - 执行函数\n\t * @param delay - 延时毫秒\n\t * @returns 返回一个新的防抖函数\n\t */\n\tasync debounceAsync(fn: () => Promise<void>, delay = 500): Promise<void> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\t// 清除已有定时器\n\t\t\tif (_debounceTimeout) {\n\t\t\t\tclearTimeout(_debounceTimeout);\n\t\t\t}\n\t\t\t// 设置新的定时器\n\t\t\t_debounceTimeout = setTimeout(async () => {\n\t\t\t\ttry {\n\t\t\t\t\t// 调用异步函数 fn\n\t\t\t\t\tawait fn();\n\t\t\t\t\tresolve();\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t}, delay);\n\t\t});\n\t},\n\t/**\n\t * 节流\n\t * @param fn - 执行函数\n\t * @param delay - 延时毫秒\n\t * @returns 返回一个新的节流函数\n\t */\n\tthrottle(fn: () => void, delay = 500): void {\n\t\t// 如果节流操作正在运行,直接返回\n\t\tif (_throttleRunning) {\n\t\t\treturn;\n\t\t}\n\t\t// 设置节流状态为运行\n\t\t_throttleRunning = true;\n\t\t// 调用原函数\n\t\tfn();\n\t\t// 设置定时器以重置节流状态\n\t\tsetTimeout(() => {\n\t\t\t_throttleRunning = false;\n\t\t}, delay);\n\t},\n\t/**\n\t * 异步节流\n\t * @param fn - 执行函数\n\t * @param delay - 延时毫秒\n\t * @returns 返回一个新的节流函数\n\t */\n\tasync throttleAsync(fn: () => Promise<void>, delay = 500): Promise<void> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\t// 如果节流操作正在进行,直接返回\n\t\t\tif (_throttleRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// 设置节流状态为运行\n\t\t\t_throttleRunning = true;\n\t\t\t// 调用原函数\n\t\t\tfn()\n\t\t\t\t.then(() => {\n\t\t\t\t\tresolve();\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\treject(error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\t// 设置定时器以重置节流状态\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t_throttleRunning = false;\n\t\t\t\t\t}, delay);\n\t\t\t\t});\n\t\t});\n\t},\n};\n"],"names":["_debounceTimeout","_throttleRunning","clickUtil","debounce","fn","delay","clearTimeout","setTimeout","async","Promise","resolve","reject","error","throttle","then","catch","finally"],"mappings":"gFAAA,IAAIA,EAAyD,KACzDC,GAAmB,EAEhB,MAAMC,EAAY,CAOxB,QAAAC,CAASC,EAAgBC,EAAQ,KAE5BL,GACHM,aAAaN,GAGdA,EAAmBO,YAAW,KAE1BH,GAAA,GACDC,EACJ,EAOAG,cAAM,MAAcJ,EAAyBC,EAAQ,MAC7C,IAAII,SAAQ,CAACC,EAASC,KAExBX,GACHM,aAAaN,GAGdA,EAAmBO,YAAWC,UACzB,UAEGJ,IACEM,UACAE,GACRD,EAAOC,EAAK,IAEXP,EAAK,IASV,QAAAQ,CAAST,EAAgBC,EAAQ,KAE5BJ,IAIeA,GAAA,EAEhBG,IAEHG,YAAW,KACSN,GAAA,CAAA,GACjBI,GACJ,EAOAG,cAAM,MAAcJ,EAAyBC,EAAQ,MAC7C,IAAII,SAAQ,CAACC,EAASC,KAExBV,IAIeA,GAAA,EAEhBG,IACDU,MAAK,KACGJ,GAAA,IAERK,OAAOH,IACPD,EAAOC,EAAK,IAEZI,SAAQ,KAERT,YAAW,KACSN,GAAA,CAAA,GACjBI,EAAK,IACR"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const colorUtil: {
|
|
2
|
+
/**
|
|
3
|
+
* hex颜色转rgb颜色
|
|
4
|
+
* @param str 颜色值字符串
|
|
5
|
+
* @returns 返回处理后的颜色值
|
|
6
|
+
*/
|
|
7
|
+
hexToRgb(str: any): any;
|
|
8
|
+
/**
|
|
9
|
+
* rgb颜色转Hex颜色
|
|
10
|
+
* @param r 代表红色
|
|
11
|
+
* @param g 代表绿色
|
|
12
|
+
* @param b 代表蓝色
|
|
13
|
+
* @returns 返回处理后的颜色值
|
|
14
|
+
*/
|
|
15
|
+
rgbToHex(r: any, g: any, b: any): string;
|
|
16
|
+
/**
|
|
17
|
+
* 加深颜色值
|
|
18
|
+
* @param color 颜色值字符串
|
|
19
|
+
* @param level 加深的程度,限0-1之间
|
|
20
|
+
* @returns 返回处理后的颜色值
|
|
21
|
+
*/
|
|
22
|
+
getDarkColor(color: string, level: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* 变浅颜色值
|
|
25
|
+
* @param color 颜色值字符串
|
|
26
|
+
* @param level 加深的程度,限0-1之间
|
|
27
|
+
* @returns 返回处理后的颜色值
|
|
28
|
+
*/
|
|
29
|
+
getLightColor(color: string, level: number): string;
|
|
30
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={hexToRgb(t){let r="";if(!/^#?[0-9A-Fa-f]{6}$/.test(t))throw new Error("输入错误的hex");r=(t=t.replace("#","")).match(/../g);for(let e=0;e<3;e++)r[e]=parseInt(r[e],16);return r},rgbToHex(t,r,e){const o=/^\d{1,3}$/;if(!o.test(t)||!o.test(r)||!o.test(e))throw new Error("输入错误的rgb颜色值");const n=[t.toString(16),r.toString(16),e.toString(16)];for(let s=0;s<3;s++)1===n[s].length&&(n[s]=`0${n[s]}`);return`#${n.join("")}`},getDarkColor(t,r){if(!/^#?[0-9A-Fa-f]{6}$/.test(t))throw new Error("输入错误的hex颜色值");const e=this.hexToRgb(t);for(let o=0;o<3;o++)e[o]=Math.round(20.5*r+e[o]*(1-r));return this.rgbToHex(e[0],e[1],e[2])},getLightColor(t,r){if(!/^#?[0-9A-Fa-f]{6}$/.test(t))throw new Error("输入错误的hex颜色值");const e=this.hexToRgb(t);for(let o=0;o<3;o++)e[o]=Math.round(255*r+e[o]*(1-r));return this.rgbToHex(e[0],e[1],e[2])}};exports.colorUtil=t;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/color/index.ts"],"sourcesContent":["export const colorUtil = {\n\t/**\n\t * hex颜色转rgb颜色\n\t * @param str 颜色值字符串\n\t * @returns 返回处理后的颜色值\n\t */\n\thexToRgb(str: any): any {\n\t\tlet hex: any = \"\";\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(str)) throw new Error(\"输入错误的hex\");\n\t\tstr = str.replace(\"#\", \"\");\n\t\thex = str.match(/../g);\n\t\tfor (let i = 0; i < 3; i++) hex[i] = parseInt(hex[i], 16);\n\t\treturn hex;\n\t},\n\t/**\n\t * rgb颜色转Hex颜色\n\t * @param r 代表红色\n\t * @param g 代表绿色\n\t * @param b 代表蓝色\n\t * @returns 返回处理后的颜色值\n\t */\n\trgbToHex(r: any, g: any, b: any): string {\n\t\tconst reg = /^\\d{1,3}$/;\n\t\tif (!reg.test(r) || !reg.test(g) || !reg.test(b)) throw new Error(\"输入错误的rgb颜色值\");\n\t\tconst hex = [r.toString(16), g.toString(16), b.toString(16)];\n\t\tfor (let i = 0; i < 3; i++) if (hex[i].length === 1) hex[i] = `0${hex[i]}`;\n\t\treturn `#${hex.join(\"\")}`;\n\t},\n\t/**\n\t * 加深颜色值\n\t * @param color 颜色值字符串\n\t * @param level 加深的程度,限0-1之间\n\t * @returns 返回处理后的颜色值\n\t */\n\tgetDarkColor(color: string, level: number): string {\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(color)) throw new Error(\"输入错误的hex颜色值\");\n\t\tconst rgb = this.hexToRgb(color);\n\t\tfor (let i = 0; i < 3; i++) rgb[i] = Math.round(20.5 * level + rgb[i] * (1 - level));\n\t\treturn this.rgbToHex(rgb[0], rgb[1], rgb[2]);\n\t},\n\t/**\n\t * 变浅颜色值\n\t * @param color 颜色值字符串\n\t * @param level 加深的程度,限0-1之间\n\t * @returns 返回处理后的颜色值\n\t */\n\tgetLightColor(color: string, level: number): string {\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(color)) throw new Error(\"输入错误的hex颜色值\");\n\t\tconst rgb = this.hexToRgb(color);\n\t\tfor (let i = 0; i < 3; i++) rgb[i] = Math.round(255 * level + rgb[i] * (1 - level));\n\t\treturn this.rgbToHex(rgb[0], rgb[1], rgb[2]);\n\t},\n};\n"],"names":["colorUtil","hexToRgb","str","hex","test","Error","replace","match","i","parseInt","rgbToHex","r","g","b","reg","toString","length","join","getDarkColor","color","level","rgb","this","Math","round","getLightColor"],"mappings":"gFAAO,MAAMA,EAAY,CAMxB,QAAAC,CAASC,GACR,IAAIC,EAAW,GAEX,IADQ,qBACHC,KAAKF,GAAY,MAAA,IAAIG,MAAM,YAE9BF,GADAD,EAAAA,EAAII,QAAQ,IAAK,KACbC,MAAM,OAChB,IAAA,IAASC,EAAI,EAAGA,EAAI,EAAGA,IAAKL,EAAIK,GAAKC,SAASN,EAAIK,GAAI,IAC/C,OAAAL,CACR,EAQA,QAAAO,CAASC,EAAQC,EAAQC,GACxB,MAAMC,EAAM,YACZ,IAAKA,EAAIV,KAAKO,KAAOG,EAAIV,KAAKQ,KAAOE,EAAIV,KAAKS,GAAU,MAAA,IAAIR,MAAM,eAClE,MAAMF,EAAM,CAACQ,EAAEI,SAAS,IAAKH,EAAEG,SAAS,IAAKF,EAAEE,SAAS,KACxD,IAAA,IAASP,EAAI,EAAGA,EAAI,EAAGA,IAA2B,IAAlBL,EAAIK,GAAGQ,SAAkBb,EAAAK,GAAK,IAAIL,EAAIK,MACtE,MAAO,IAAIL,EAAIc,KAAK,KACrB,EAOA,YAAAC,CAAaC,EAAeC,GAEvB,IADQ,qBACHhB,KAAKe,GAAc,MAAA,IAAId,MAAM,eAChC,MAAAgB,EAAMC,KAAKrB,SAASkB,GAC1B,IAAA,IAASX,EAAI,EAAGA,EAAI,EAAGA,MAASA,GAAKe,KAAKC,MAAM,KAAOJ,EAAQC,EAAIb,IAAM,EAAIY,IACtE,OAAAE,KAAKZ,SAASW,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAC1C,EAOA,aAAAI,CAAcN,EAAeC,GAExB,IADQ,qBACHhB,KAAKe,GAAc,MAAA,IAAId,MAAM,eAChC,MAAAgB,EAAMC,KAAKrB,SAASkB,GAC1B,IAAA,IAASX,EAAI,EAAGA,EAAI,EAAGA,MAASA,GAAKe,KAAKC,MAAM,IAAMJ,EAAQC,EAAIb,IAAM,EAAIY,IACrE,OAAAE,KAAKZ,SAASW,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 打印 Log 日志
|
|
3
|
+
* @param name 来源名称
|
|
4
|
+
*/
|
|
5
|
+
export declare const consoleLog: (name: string, message?: string | false, error?: any) => void;
|
|
6
|
+
/**
|
|
7
|
+
* 打印 Warn 日志
|
|
8
|
+
* @param name 来源名称
|
|
9
|
+
*/
|
|
10
|
+
export declare const consoleWarn: (name: string, message?: string | false, error?: any) => void;
|
|
11
|
+
/**
|
|
12
|
+
* 打印 Debug 日志
|
|
13
|
+
* @param name 来源名称
|
|
14
|
+
*/
|
|
15
|
+
export declare const consoleDebug: (name: string, message?: string | false, error?: any) => void;
|
|
16
|
+
/**
|
|
17
|
+
* 打印 Error 日志
|
|
18
|
+
* @param name 来源名称
|
|
19
|
+
*/
|
|
20
|
+
export declare const consoleError: (name: string, message?: any) => void;
|
|
21
|
+
/**
|
|
22
|
+
* 抛出错误
|
|
23
|
+
* @param name 来源名称
|
|
24
|
+
*/
|
|
25
|
+
export declare const throwError: (name: string, message?: any) => never;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("lodash-unified"),r=require("../error/index.js");exports.consoleDebug=(o,r,e)=>{e?console.debug(`[Fast-Log-${o}]${r?` ${r}`:""}`,e):console.debug(`[Fast-Log-${o}]${r?` ${r}`:""}`)},exports.consoleError=(e,s)=>{o.isNil(s)||(o.isString(s)?console.error(new r.FastError(`[Fast-${e}] ${s}`)):console.error(`[Fast-Error-${e}]`,s))},exports.consoleLog=(o,r,e)=>{e?console.log(`[Fast-Log-${o}]${r?` ${r}`:""}`,e):console.log(`[Fast-Log-${o}]${r?` ${r}`:""}`)},exports.consoleWarn=(o,r,e)=>{e?console.warn(`[Fast-Log-${o}]${r?` ${r}`:""}`,e):console.warn(`[Fast-Log-${o}]${r?` ${r}`:""}`)},exports.throwError=(o,e)=>{throw new r.FastError(`[Fast-${o}] ${e}`)};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/console/index.ts"],"sourcesContent":["import { isNil, isString } from \"lodash-unified\";\nimport { FastError } from \"../error\";\n\n/**\n * 打印 Log 日志\n * @param name 来源名称\n */\nexport const consoleLog = (name: string, message?: string | false, error?: any): void => {\n\tif (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`, error);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`);\n\t}\n};\n\n/**\n * 打印 Warn 日志\n * @param name 来源名称\n */\nexport const consoleWarn = (name: string, message?: string | false, error?: any): void => {\n\tif (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`, error);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`);\n\t}\n};\n\n/**\n * 打印 Debug 日志\n * @param name 来源名称\n */\nexport const consoleDebug = (name: string, message?: string | false, error?: any): void => {\n\tif (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.debug(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`, error);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.debug(`[Fast-Log-${name}]${message ? ` ${message}` : \"\"}`);\n\t}\n};\n\n/**\n * 打印 Error 日志\n * @param name 来源名称\n */\nexport const consoleError = (name: string, message?: any): void => {\n\tif (isNil(message)) {\n\t\treturn;\n\t}\n\tif (isString(message)) {\n\t\tconsole.error(new FastError(`[Fast-${name}] ${message}`));\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(`[Fast-Error-${name}]`, message);\n\t}\n};\n\n/**\n * 抛出错误\n * @param name 来源名称\n */\nexport const throwError = (name: string, message?: any): never => {\n\tthrow new FastError(`[Fast-${name}] ${message}`);\n};\n"],"names":["name","message","error","console","debug","isNil","isString","FastError","log","warn"],"mappings":"sKAmC4B,CAACA,EAAcC,EAA0BC,KAChEA,EAEKC,QAAAC,MAAM,aAAaJ,KAAQC,EAAU,IAAIA,IAAY,KAAMC,GAG3DC,QAAAC,MAAM,aAAaJ,KAAQC,EAAU,IAAIA,IAAY,KAAI,uBAQvC,CAACD,EAAcC,KACtCI,EAAAA,MAAMJ,KAGNK,EAAAA,SAASL,GACJE,QAAAD,MAAM,IAAIK,EAAAA,UAAU,SAASP,MAASC,MAG9CE,QAAQD,MAAM,eAAeF,KAASC,GAAO,qBAlDrB,CAACD,EAAcC,EAA0BC,KAC9DA,EAEKC,QAAAK,IAAI,aAAaR,KAAQC,EAAU,IAAIA,IAAY,KAAMC,GAGzDC,QAAAK,IAAI,aAAaR,KAAQC,EAAU,IAAIA,IAAY,KAAI,sBAQtC,CAACD,EAAcC,EAA0BC,KAC/DA,EAEKC,QAAAM,KAAK,aAAaT,KAAQC,EAAU,IAAIA,IAAY,KAAMC,GAG1DC,QAAAM,KAAK,aAAaT,KAAQC,EAAU,IAAIA,IAAY,KAAI,qBAsCxC,CAACD,EAAcC,KACxC,MAAM,IAAIM,EAAUA,UAAA,SAASP,MAASC,IAAS"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 加密解密
|
|
3
|
+
*/
|
|
4
|
+
export declare const cryptoUtil: {
|
|
5
|
+
/**
|
|
6
|
+
* AES
|
|
7
|
+
*/
|
|
8
|
+
aes: {
|
|
9
|
+
/**
|
|
10
|
+
* AES加密
|
|
11
|
+
* @param dataStr 要加密的字符串
|
|
12
|
+
* @param key 用于加密的密钥
|
|
13
|
+
* @param vector 用于加密的向量(IV)
|
|
14
|
+
* @param cipherMode 加密模式,默认为CBC模式
|
|
15
|
+
*/
|
|
16
|
+
encrypt(dataStr: string, key: string, vector: string, cipherMode?: any): string;
|
|
17
|
+
/**
|
|
18
|
+
* AES解密
|
|
19
|
+
* @param dataStr 要解密的Base64编码字符串
|
|
20
|
+
* @param key 用于解密的密钥
|
|
21
|
+
* @param vector 用于解密的向量(IV)
|
|
22
|
+
* @param cipherMode 解密模式,默认为CBC模式
|
|
23
|
+
*/
|
|
24
|
+
decrypt<T = string>(dataStr: string, key: string, vector: string, cipherMode?: any): T | null;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* SHA1
|
|
28
|
+
*/
|
|
29
|
+
sha1: {
|
|
30
|
+
/**
|
|
31
|
+
* SHA1加密
|
|
32
|
+
* @param dataStr 要加密的字符串
|
|
33
|
+
*/
|
|
34
|
+
encrypt(dataStr: string): string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* MD5
|
|
38
|
+
*/
|
|
39
|
+
MD5: {
|
|
40
|
+
/**
|
|
41
|
+
* MD5加密
|
|
42
|
+
* @param dataStr 要加密的字符串
|
|
43
|
+
*/
|
|
44
|
+
encrypt(dataStr: string): string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("crypto-js"),t=require("../console/index.js"),n={aes:{encrypt:(t,n,r,s=e.mode.CBC)=>t?(n.length<32&&(n=n.padEnd(32,"f")),n.length>32&&(n=n.substring(0,32)),r.length<16&&(r=r.padEnd(16,"f")),r.length>16&&(r=r.substring(0,16)),e.AES.encrypt(t,e.enc.Utf8.parse(n),{iv:e.enc.Utf8.parse(r),mode:s}).toString()):t,decrypt(n,r,s,o=e.mode.CBC){if(!n)return null;r.length<32&&(r=r.padEnd(32,"f")),r.length>32&&(r=r.substring(0,32)),s.length<16&&(s=s.padEnd(16,"f")),s.length>16&&(s=s.substring(0,16));const p=e.AES.decrypt(n,e.enc.Utf8.parse(r),{iv:e.enc.Utf8.parse(s),mode:o});try{const t=p.toString(e.enc.Utf8);return JSON.parse(t)}catch(c){return t.consoleError("AESCrypto",c),null}}},sha1:{encrypt:t=>t?e.SHA1(t).toString(e.enc.Hex).toUpperCase():t},MD5:{encrypt:t=>t?e.MD5(t).toString(e.enc.Hex).toUpperCase():t}};exports.cryptoUtil=n;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/crypto/index.ts"],"sourcesContent":["import { AES, MD5, SHA1, enc, mode } from \"crypto-js\";\nimport { consoleError } from \"../console\";\n\n/**\n * 加密解密\n */\nexport const cryptoUtil = {\n\t/**\n\t * AES\n\t */\n\taes: {\n\t\t/**\n\t\t * AES加密\n\t\t * @param dataStr 要加密的字符串\n\t\t * @param key 用于加密的密钥\n\t\t * @param vector 用于加密的向量(IV)\n\t\t * @param cipherMode 加密模式,默认为CBC模式\n\t\t */\n\t\tencrypt(dataStr: string, key: string, vector: string, cipherMode: any = mode.CBC): string {\n\t\t\tif (!dataStr) {\n\t\t\t\treturn dataStr;\n\t\t\t}\n\n\t\t\t// 处理Key不足32位的问题\n\t\t\tif (key.length < 32) {\n\t\t\t\t// 不足\n\t\t\t\tkey = key.padEnd(32, \"f\");\n\t\t\t}\n\n\t\t\t// 处理Key超过32位的问题\n\t\t\tif (key.length > 32) {\n\t\t\t\t// 超过\n\t\t\t\tkey = key.substring(0, 32);\n\t\t\t}\n\n\t\t\t// 处理IV不足16位的问题\n\t\t\tif (vector.length < 16) {\n\t\t\t\t// 不足\n\t\t\t\tvector = vector.padEnd(16, \"f\");\n\t\t\t}\n\n\t\t\t// 处理IV超过16位的问题\n\t\t\tif (vector.length > 16) {\n\t\t\t\t// 超过\n\t\t\t\tvector = vector.substring(0, 16);\n\t\t\t}\n\n\t\t\treturn AES.encrypt(dataStr, enc.Utf8.parse(key), {\n\t\t\t\tiv: enc.Utf8.parse(vector),\n\t\t\t\tmode: cipherMode,\n\t\t\t}).toString();\n\t\t},\n\t\t/**\n\t\t * AES解密\n\t\t * @param dataStr 要解密的Base64编码字符串\n\t\t * @param key 用于解密的密钥\n\t\t * @param vector 用于解密的向量(IV)\n\t\t * @param cipherMode 解密模式,默认为CBC模式\n\t\t */\n\t\tdecrypt<T = string>(dataStr: string, key: string, vector: string, cipherMode: any = mode.CBC): T | null {\n\t\t\tif (!dataStr) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// 处理Key不足32位的问题\n\t\t\tif (key.length < 32) {\n\t\t\t\t// 不足\n\t\t\t\tkey = key.padEnd(32, \"f\");\n\t\t\t}\n\n\t\t\t// 处理Key超过32位的问题\n\t\t\tif (key.length > 32) {\n\t\t\t\t// 超过\n\t\t\t\tkey = key.substring(0, 32);\n\t\t\t}\n\n\t\t\t// 处理IV不足16位的问题\n\t\t\tif (vector.length < 16) {\n\t\t\t\t// 不足\n\t\t\t\tvector = vector.padEnd(16, \"f\");\n\t\t\t}\n\n\t\t\t// 处理IV超过16位的问题\n\t\t\tif (vector.length > 16) {\n\t\t\t\t// 超过\n\t\t\t\tvector = vector.substring(0, 16);\n\t\t\t}\n\n\t\t\tconst resAESData = AES.decrypt(dataStr, enc.Utf8.parse(key), {\n\t\t\t\tiv: enc.Utf8.parse(vector),\n\t\t\t\tmode: cipherMode,\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tconst result = resAESData.toString(enc.Utf8);\n\t\t\t\treturn JSON.parse(result) as T;\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"AESCrypto\", error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t},\n\t/**\n\t * SHA1\n\t */\n\tsha1: {\n\t\t/**\n\t\t * SHA1加密\n\t\t * @param dataStr 要加密的字符串\n\t\t */\n\t\tencrypt(dataStr: string): string {\n\t\t\tif (!dataStr) {\n\t\t\t\treturn dataStr;\n\t\t\t}\n\n\t\t\treturn SHA1(dataStr).toString(enc.Hex).toUpperCase();\n\t\t},\n\t},\n\t/**\n\t * MD5\n\t */\n\tMD5: {\n\t\t/**\n\t\t * MD5加密\n\t\t * @param dataStr 要加密的字符串\n\t\t */\n\t\tencrypt(dataStr: string): string {\n\t\t\tif (!dataStr) {\n\t\t\t\treturn dataStr;\n\t\t\t}\n\n\t\t\treturn MD5(dataStr).toString(enc.Hex).toUpperCase();\n\t\t},\n\t},\n};\n"],"names":["cryptoUtil","aes","encrypt","dataStr","key","vector","cipherMode","mode","CBC","length","padEnd","substring","AES","enc","Utf8","parse","iv","toString","decrypt","resAESData","result","JSON","error","index","consoleError","sha1","SHA1","Hex","toUpperCase","MD5"],"mappings":"8IAMaA,EAAa,CAIzBC,IAAK,CAQJC,SAAQC,EAAiBC,EAAaC,EAAgBC,EAAkBC,OAAKC,MACvEL,GAKDC,EAAIK,OAAS,KAEVL,EAAAA,EAAIM,OAAO,GAAI,MAIlBN,EAAIK,OAAS,KAEVL,EAAAA,EAAIO,UAAU,EAAG,KAIpBN,EAAOI,OAAS,KAEVJ,EAAAA,EAAOK,OAAO,GAAI,MAIxBL,EAAOI,OAAS,KAEVJ,EAAAA,EAAOM,UAAU,EAAG,KAGvBC,EAAAA,IAAIV,QAAQC,EAASU,MAAIC,KAAKC,MAAMX,GAAM,CAChDY,GAAIH,EAAAA,IAAIC,KAAKC,MAAMV,GACnBE,KAAMD,IACJW,YA9BKd,EAuCT,OAAAe,CAAoBf,EAAiBC,EAAaC,EAAgBC,EAAkBC,OAAKC,KACxF,IAAKL,EACG,OAAA,KAIJC,EAAIK,OAAS,KAEVL,EAAAA,EAAIM,OAAO,GAAI,MAIlBN,EAAIK,OAAS,KAEVL,EAAAA,EAAIO,UAAU,EAAG,KAIpBN,EAAOI,OAAS,KAEVJ,EAAAA,EAAOK,OAAO,GAAI,MAIxBL,EAAOI,OAAS,KAEVJ,EAAAA,EAAOM,UAAU,EAAG,KAGxB,MAAAQ,EAAaP,MAAIM,QAAQf,EAASU,EAAAA,IAAIC,KAAKC,MAAMX,GAAM,CAC5DY,GAAIH,EAAAA,IAAIC,KAAKC,MAAMV,GACnBE,KAAMD,IAEH,IACH,MAAMc,EAASD,EAAWF,SAASJ,EAAAA,IAAIC,MAChC,OAAAO,KAAKN,MAAMK,SACVE,GAED,OADPC,EAAAC,aAAa,YAAaF,GACnB,IAAA,CACR,GAMFG,KAAM,CAKLvB,QAAQC,GACFA,EAIEuB,EAAAA,KAAKvB,GAASc,SAASJ,EAAAA,IAAIc,KAAKC,cAH/BzB,GASV0B,IAAK,CAKJ3B,QAAQC,GACFA,EAIE0B,EAAAA,IAAI1B,GAASc,SAASJ,EAAAA,IAAIc,KAAKC,cAH9BzB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Date工具类
|
|
3
|
+
*/
|
|
4
|
+
export declare const dateUtil: {
|
|
5
|
+
/**
|
|
6
|
+
* 根据当前时间生成问候语
|
|
7
|
+
*/
|
|
8
|
+
getGreet(): string;
|
|
9
|
+
/**
|
|
10
|
+
* 时间处理翻译
|
|
11
|
+
*/
|
|
12
|
+
dateTimeFix(date: string | Date | null | undefined): string;
|
|
13
|
+
getDefaultTime(): Date[];
|
|
14
|
+
getSimpleTime(): Date;
|
|
15
|
+
getSimpleShortcuts(): {
|
|
16
|
+
text: string;
|
|
17
|
+
value: () => Date;
|
|
18
|
+
}[];
|
|
19
|
+
getShortcuts(): {
|
|
20
|
+
text: string;
|
|
21
|
+
value: () => Date[];
|
|
22
|
+
}[];
|
|
23
|
+
getDisabledDate(time: Date): boolean;
|
|
24
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={getGreet(){const t=(new Date).getHours();let e="";return e=t<5?"夜深了,注意身体哦!":t<9?"早上好!欢迎回来!":t<12?"上午好!欢迎回来!":t<14?"中午好!欢迎回来!":t<18?"下午好!欢迎回来!":t<24?"晚上好!欢迎回来!":"您好!欢迎回来!",e},dateTimeFix(t){if(null!=t&&t){"string"==typeof t&&(t=new Date(t));let e=t.getTime();if(e.toString().length<13){const t=e.toString().split("");for(let e=0;e<13;e++)t[e]||(t[e]="0");e=parseInt(t.join(""))}const s=6e4,n=60*s,r=24*n,a=30*r,o=(new Date).getTime()-e,u=o/a,D=o/(7*r),l=o/r,g=o/n,w=o/s;if(o<0){const t=Math.abs(u),e=Math.abs(D),s=Math.abs(l),n=Math.abs(g),r=Math.abs(w);return t>12?`${parseInt(""+t/12)}年后`:t>=6?"半年后":t>=1?`${parseInt(`${t}`)}月后`:e>2?"半月后":e>=1?`${parseInt(`${e}`)}周后`:s>=1?`${parseInt(`${s}`)}天后`:n>=1?`${parseInt(`${n}`)}小时后`:r>=1?`${parseInt(`${r}`)}分钟后`:"刚刚"}return u>12?`${parseInt(""+u/12)}年前`:u>=6?"半年前":u>=1?`${parseInt(`${u}`)}月前`:D>2?"半月前":D>=1?`${parseInt(`${D}`)}周前`:l>=1?`${parseInt(`${l}`)}天前`:g>=1?`${parseInt(`${g}`)}小时前`:w>=1?`${parseInt(`${w}`)}分钟前`:"刚刚"}return""},getDefaultTime(){const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]},getSimpleTime(){const t=new Date;return t.setHours(0,0,0),t},getSimpleShortcuts:()=>[{text:"今天",value:()=>{const t=new Date;return t.setHours(0,0,0),t}},{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),t.setHours(0,0,0),t}},{text:"一周前",value:()=>{const t=new Date;return t.setDate(t.getDate()-7),t.setHours(0,0,0),t}},{text:"一月前",value:()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t.setHours(0,0,0),t}},{text:"一年前",value:()=>{const t=new Date;return t.setFullYear(t.getFullYear()-1),t.setHours(0,0,0),t}}],getShortcuts:()=>[{text:"近1天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近3天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近1周",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近1月",value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近3月",value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-3),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近6月",value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-6),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}},{text:"近1年",value:()=>{const t=new Date,e=new Date;return e.setFullYear(e.getFullYear()-1),e.setHours(0,0,0),t.setHours(23,59,59),[e,t]}}],getDisabledDate:t=>t.getTime()>Date.now()};exports.dateUtil=t;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/date/index.ts"],"sourcesContent":["/**\n * Date工具类\n */\nexport const dateUtil = {\n\t/**\n\t * 根据当前时间生成问候语\n\t */\n\tgetGreet(): string {\n\t\tconst now = new Date();\n\t\tconst hour = now.getHours();\n\t\tlet greet = \"\";\n\n\t\tif (hour < 5) {\n\t\t\tgreet = \"夜深了,注意身体哦!\";\n\t\t} else if (hour < 9) {\n\t\t\tgreet = \"早上好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 12) {\n\t\t\tgreet = \"上午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 14) {\n\t\t\tgreet = \"中午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 18) {\n\t\t\tgreet = \"下午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 24) {\n\t\t\tgreet = \"晚上好!\" + \"欢迎回来!\";\n\t\t} else {\n\t\t\tgreet = \"您好!\" + \"欢迎回来!\";\n\t\t}\n\t\treturn greet;\n\t},\n\t/**\n\t * 时间处理翻译\n\t */\n\tdateTimeFix(date: string | Date | null | undefined): string {\n\t\tif (date !== null && date !== undefined && date) {\n\t\t\tif (typeof date === \"string\") {\n\t\t\t\tdate = new Date(date);\n\t\t\t}\n\n\t\t\t// 获取时间戳\n\t\t\tlet timestamp = date.getTime();\n\t\t\tif (timestamp.toString().length < 13) {\n\t\t\t\tconst arrTimestamp = timestamp.toString().split(\"\");\n\t\t\t\tfor (let start = 0; start < 13; start++) {\n\t\t\t\t\tif (!arrTimestamp[start]) {\n\t\t\t\t\t\tarrTimestamp[start] = \"0\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttimestamp = parseInt(arrTimestamp.join(\"\"));\n\t\t\t}\n\t\t\tconst minute = 1000 * 60;\n\t\t\tconst hour = minute * 60;\n\t\t\tconst day = hour * 24;\n\t\t\tconst month = day * 30;\n\t\t\t// 获取当前时间\n\t\t\tconst curTime = new Date().getTime();\n\t\t\t// 比较\n\t\t\tconst diffValue = curTime - timestamp;\n\n\t\t\t// 计算差异时间的量级\n\t\t\tconst monthC = diffValue / month;\n\t\t\tconst weekC = diffValue / (7 * day);\n\t\t\tconst dayC = diffValue / day;\n\t\t\tconst hourC = diffValue / hour;\n\t\t\tconst minC = diffValue / minute;\n\n\t\t\t// 如果本地时间反而小于变量时间\n\t\t\tif (diffValue < 0) {\n\t\t\t\tconst monthC1 = Math.abs(monthC);\n\t\t\t\tconst weekC1 = Math.abs(weekC);\n\t\t\t\tconst dayC1 = Math.abs(dayC);\n\t\t\t\tconst hourC1 = Math.abs(hourC);\n\t\t\t\tconst minC1 = Math.abs(minC);\n\n\t\t\t\tif (monthC1 > 12) {\n\t\t\t\t\t// 超过1年,直接显示 几 年前\n\t\t\t\t\treturn `${parseInt(`${monthC1 / 12}`)}年后`;\n\t\t\t\t} else if (monthC1 >= 6) {\n\t\t\t\t\treturn \"半年后\";\n\t\t\t\t} else if (monthC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${monthC1}`)}月后`;\n\t\t\t\t} else if (weekC1 > 2) {\n\t\t\t\t\treturn \"半月后\";\n\t\t\t\t} else if (weekC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${weekC1}`)}周后`;\n\t\t\t\t} else if (dayC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${dayC1}`)}天后`;\n\t\t\t\t} else if (hourC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${hourC1}`)}小时后`;\n\t\t\t\t} else if (minC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${minC1}`)}分钟后`;\n\t\t\t\t}\n\t\t\t\treturn \"刚刚\";\n\t\t\t\t// return \"不久前\";\n\t\t\t}\n\n\t\t\t// 使用\n\t\t\tif (monthC > 12) {\n\t\t\t\t// 超过1年,直接显示 几 年前\n\t\t\t\treturn `${parseInt(`${monthC / 12}`)}年前`;\n\t\t\t} else if (monthC >= 6) {\n\t\t\t\treturn \"半年前\";\n\t\t\t} else if (monthC >= 1) {\n\t\t\t\treturn `${parseInt(`${monthC}`)}月前`;\n\t\t\t} else if (weekC > 2) {\n\t\t\t\treturn \"半月前\";\n\t\t\t} else if (weekC >= 1) {\n\t\t\t\treturn `${parseInt(`${weekC}`)}周前`;\n\t\t\t} else if (dayC >= 1) {\n\t\t\t\treturn `${parseInt(`${dayC}`)}天前`;\n\t\t\t} else if (hourC >= 1) {\n\t\t\t\treturn `${parseInt(`${hourC}`)}小时前`;\n\t\t\t} else if (minC >= 1) {\n\t\t\t\treturn `${parseInt(`${minC}`)}分钟前`;\n\t\t\t}\n\t\t\treturn \"刚刚\";\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t},\n\tgetDefaultTime(): Date[] {\n\t\tconst end = new Date();\n\t\tconst start = new Date();\n\t\tstart.setMonth(start.getMonth() - 1);\n\t\tstart.setHours(0, 0, 0);\n\t\tend.setHours(23, 59, 59);\n\t\treturn [start, end];\n\t},\n\tgetSimpleTime(): Date {\n\t\tconst start = new Date();\n\t\tstart.setHours(0, 0, 0);\n\t\treturn start;\n\t},\n\tgetSimpleShortcuts(): {\n\t\ttext: string;\n\t\tvalue: () => Date;\n\t}[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: \"今天\",\n\t\t\t\tvalue: (): Date => {\n\t\t\t\t\tconst date = new Date();\n\t\t\t\t\tdate.setHours(0, 0, 0);\n\t\t\t\t\treturn date;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"昨天\",\n\t\t\t\tvalue: (): Date => {\n\t\t\t\t\tconst date = new Date();\n\t\t\t\t\tdate.setDate(date.getDate() - 1);\n\t\t\t\t\tdate.setHours(0, 0, 0);\n\t\t\t\t\treturn date;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"一周前\",\n\t\t\t\tvalue: (): Date => {\n\t\t\t\t\tconst date = new Date();\n\t\t\t\t\tdate.setDate(date.getDate() - 7);\n\t\t\t\t\tdate.setHours(0, 0, 0);\n\t\t\t\t\treturn date;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"一月前\",\n\t\t\t\tvalue: (): Date => {\n\t\t\t\t\tconst date = new Date();\n\t\t\t\t\tdate.setMonth(date.getMonth() - 1);\n\t\t\t\t\tdate.setHours(0, 0, 0);\n\t\t\t\t\treturn date;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"一年前\",\n\t\t\t\tvalue: (): Date => {\n\t\t\t\t\tconst date = new Date();\n\t\t\t\t\tdate.setFullYear(date.getFullYear() - 1);\n\t\t\t\t\tdate.setHours(0, 0, 0);\n\t\t\t\t\treturn date;\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t},\n\tgetShortcuts(): {\n\t\ttext: string;\n\t\tvalue: () => Date[];\n\t}[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: \"近1天\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近3天\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近1周\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近1月\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近3月\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近6月\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"近1年\",\n\t\t\t\tvalue: (): Date[] => {\n\t\t\t\t\tconst end = new Date();\n\t\t\t\t\tconst start = new Date();\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tstart.setHours(0, 0, 0);\n\t\t\t\t\tend.setHours(23, 59, 59);\n\t\t\t\t\treturn [start, end];\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t},\n\tgetDisabledDate(time: Date): boolean {\n\t\treturn time.getTime() > Date.now();\n\t},\n};\n"],"names":["dateUtil","getGreet","hour","Date","getHours","greet","dateTimeFix","date","timestamp","getTime","toString","length","arrTimestamp","split","start","parseInt","join","minute","day","month","diffValue","monthC","weekC","dayC","hourC","minC","monthC1","Math","abs","weekC1","dayC1","hourC1","minC1","getDefaultTime","end","setMonth","getMonth","setHours","getSimpleTime","getSimpleShortcuts","text","value","setDate","getDate","setFullYear","getFullYear","getShortcuts","getDisabledDate","time","now"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './style';
|
package/lib/dom/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/lib/dom/style.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("lodash-unified"),r=require("../console/index.js");exports.addUnit=(i,n="px")=>{return i?e.isNumber(i)||(t=i,e.isString(t)&&!Number.isNaN(Number(t)))?`${i}${n}`:e.isString(i)?i:void r.consoleWarn("document","binding value must be a string or number"):"";var t};
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/dom/style.ts"],"sourcesContent":["import { isNumber, isString } from \"lodash-unified\";\nimport { consoleWarn } from \"../console\";\n\nconst isStringNumber = (val: string): boolean => {\n\tif (!isString(val)) {\n\t\treturn false;\n\t}\n\treturn !Number.isNaN(Number(val));\n};\n\n/**\n * 添加单位\n * @param value 字符串或数字类型\n * @param defaultUnit 单位\n */\nexport const addUnit = (value?: string | number, defaultUnit = \"px\"): string => {\n\tif (!value) return \"\";\n\tif (isNumber(value) || isStringNumber(value)) {\n\t\treturn `${value}${defaultUnit}`;\n\t} else if (isString(value)) {\n\t\treturn value;\n\t}\n\tconsoleWarn(\"document\", \"binding value must be a string or number\");\n};\n"],"names":["value","defaultUnit","isNumber","val","isString","Number","isNaN","index","consoleWarn"],"mappings":"mKAeuB,CAACA,EAAyBC,EAAc,QAC1D,OAACD,EACDE,EAASA,SAAAF,KAdUG,EAceH,EAbjCI,EAAAA,SAASD,KAGNE,OAAOC,MAAMD,OAAOF,KAWpB,GAAGH,IAAQC,IACRG,EAAAA,SAASJ,GACZA,OAERO,EAAAC,YAAY,WAAY,4CANL,GAbG,IAACL,CAmB2C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/error/index.ts"],"sourcesContent":["export class FastError extends Error {\n\tconstructor(m: string) {\n\t\tsuper(m);\n\t\tthis.name = \"FastError\";\n\t}\n}\n"],"names":["FastError","Error","constructor","m","super","this","name"],"mappings":"gFAAO,MAAMA,UAAkBC,MAC9B,WAAAC,CAAYC,GACXC,MAAMD,GACNE,KAAKC,KAAO,WAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("../storage/index.js"),c=require("../string/index.js"),i=e.reactive({cacheKey:"__DEVICE_ID",deviceId:""}),r=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,d=()=>{if(i.deviceId&&r.test(i.deviceId))return t.Local.set(i.cacheKey,i.deviceId),i.deviceId;let e=t.Local.get(i.cacheKey);return e&&r.test(e)?(i.deviceId=e,e):(e=c.stringUtil.generateUUID(),t.Local.set(i.cacheKey,e),i.deviceId=e,e)};exports.useIdentity=()=>({...i,makeIdentity:d});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/identity/index.ts"],"sourcesContent":["import { reactive } from \"vue\";\nimport { Local } from \"../storage\";\nimport { stringUtil } from \"../string\";\n\nconst state = reactive({\n\tcacheKey: \"__DEVICE_ID\",\n\tdeviceId: \"\",\n});\n\nconst uuidRegExp = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n\n/**\n * 生成设备Id\n */\nconst makeIdentity = (): string => {\n\t// 判断是否存在\n\tif (state.deviceId && uuidRegExp.test(state.deviceId)) {\n\t\tLocal.set(state.cacheKey, state.deviceId);\n\t\treturn state.deviceId;\n\t}\n\t// 生成浏览器唯一 UUID\n\tlet deviceID = Local.get(state.cacheKey);\n\tif (deviceID && uuidRegExp.test(deviceID)) {\n\t\tstate.deviceId = deviceID;\n\t\treturn deviceID;\n\t}\n\tdeviceID = stringUtil.generateUUID();\n\tLocal.set(state.cacheKey, deviceID);\n\tstate.deviceId = deviceID;\n\treturn deviceID;\n};\n\nexport const useIdentity = (): typeof state & { makeIdentity: () => string } => {\n\treturn {\n\t\t...state,\n\t\tmakeIdentity,\n\t};\n};\n"],"names":["state","reactive","cacheKey","deviceId","uuidRegExp","makeIdentity","test","Local","set","deviceID","get","stringUtil","generateUUID"],"mappings":"wKAIMA,EAAQC,EAAAA,SAAS,CACtBC,SAAU,cACVC,SAAU,KAGLC,EAAa,gFAKbC,EAAe,KAEpB,GAAIL,EAAMG,UAAYC,EAAWE,KAAKN,EAAMG,UAE3C,OADAI,EAAAA,MAAMC,IAAIR,EAAME,SAAUF,EAAMG,UACzBH,EAAMG,SAGd,IAAIM,EAAWF,EAAAA,MAAMG,IAAIV,EAAME,UAC/B,OAAIO,GAAYL,EAAWE,KAAKG,IAC/BT,EAAMG,SAAWM,EACVA,IAEGE,EAAAA,aAAWC,eAChBL,EAAAA,MAAAC,IAAIR,EAAME,SAAUO,GAC1BT,EAAMG,SAAWM,EACVA,EAAA,sBAGmB,KACnB,IACHT,EACHK"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './base64';
|
|
2
|
+
export * from './click';
|
|
3
|
+
export * from './color';
|
|
4
|
+
export * from './console';
|
|
5
|
+
export * from './crypto';
|
|
6
|
+
export * from './date';
|
|
7
|
+
export * from './dom';
|
|
8
|
+
export * from './error';
|
|
9
|
+
export * from './identity';
|
|
10
|
+
export * from './object';
|
|
11
|
+
export * from './storage';
|
|
12
|
+
export * from './string';
|
|
13
|
+
export * from './vue';
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./base64/index.js"),r=require("./click/index.js"),s=require("./color/index.js"),o=require("./console/index.js"),t=require("./crypto/index.js"),i=require("./date/index.js");require("./dom/index.js");const n=require("./error/index.js"),l=require("./identity/index.js"),p=require("./object/index.js"),x=require("./storage/index.js"),u=require("./string/index.js");require("./vue/index.js");const c=require("./dom/style.js"),d=require("./vue/expose.js"),a=require("./vue/func.js"),j=require("./vue/install.js"),q=require("./vue/props.js"),E=require("./vue/slots.js"),U=require("./vue/useRender.js"),I=require("./vue/with.js");exports.base64Util=e.base64Util,exports.clickUtil=r.clickUtil,exports.colorUtil=s.colorUtil,exports.consoleDebug=o.consoleDebug,exports.consoleError=o.consoleError,exports.consoleLog=o.consoleLog,exports.consoleWarn=o.consoleWarn,exports.throwError=o.throwError,exports.cryptoUtil=t.cryptoUtil,exports.dateUtil=i.dateUtil,exports.FastError=n.FastError,exports.useIdentity=l.useIdentity,exports.objectUtil=p.objectUtil,exports.CACHE_EXPIRE_SUFFIX=x.CACHE_EXPIRE_SUFFIX,exports.CACHE_PREFIX=x.CACHE_PREFIX,exports.Local=x.Local,exports.Session=x.Session,exports.useStorage=x.useStorage,exports.stringUtil=u.stringUtil,exports.addUnit=c.addUnit,exports.useExpose=d.useExpose,exports.execFunction=a.execFunction,exports.withInstall=j.withInstall,exports.withInstallDirective=j.withInstallDirective,exports.withNoopInstall=j.withNoopInstall,exports.definePropType=q.definePropType,exports.useProps=q.useProps,exports.makeSlots=E.makeSlots,exports.useRender=U.useRender,exports.withDefineType=I.withDefineType;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 对象工具类
|
|
3
|
+
*/
|
|
4
|
+
export declare const objectUtil: {
|
|
5
|
+
/**
|
|
6
|
+
* 对象URL参数化
|
|
7
|
+
*/
|
|
8
|
+
objectToQueryString(obj: any): string;
|
|
9
|
+
/**
|
|
10
|
+
* 是否存在重复值
|
|
11
|
+
*/
|
|
12
|
+
hasDuplicateProperty<T>(arr: T[], prop: keyof T): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 是否存在非重复值
|
|
15
|
+
*/
|
|
16
|
+
hasDifferentProperty<T>(arr: T[], prop: keyof T): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 时间处理翻译
|
|
19
|
+
*/
|
|
20
|
+
dateTimeFix(date: string | Date | null | undefined): string;
|
|
21
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={objectToQueryString(t){let e="";for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(""!==e&&(e+="&"),e+=`${encodeURIComponent(n)}=${encodeURIComponent(t[n])}`);return e},hasDuplicateProperty(t,e){const n=t.map((t=>t[e])),r=new Set(n);return n.length!==r.size},hasDifferentProperty(t,e){const n=new Set;for(const r of t)if(n.add(r[e]),n.size>1)return!0;return!1},dateTimeFix(t){if(null!=t&&t){"string"==typeof t&&(t=new Date(t));let e=t.getTime();if(e.toString().length<13){const t=e.toString().split("");for(let e=0;e<13;e++)t[e]||(t[e]="0");e=parseInt(t.join(""))}const n=6e4,r=60*n,s=24*r,o=30*s,a=(new Date).getTime()-e,p=a/o,$=a/(7*s),i=a/s,c=a/r,l=a/n;if(a<0){const t=Math.abs(p),e=Math.abs($),n=Math.abs(i),r=Math.abs(c),s=Math.abs(l);return t>12?`${parseInt(""+t/12)}年后`:t>=6?"半年后":t>=1?`${parseInt(`${t}`)}月后`:e>2?"半月后":e>=1?`${parseInt(`${e}`)}周后`:n>=1?`${parseInt(`${n}`)}天后`:r>=1?`${parseInt(`${r}`)}小时后`:s>=1?`${parseInt(`${s}`)}分钟后`:"刚刚"}return p>12?`${parseInt(""+p/12)}年前`:p>=6?"半年前":p>=1?`${parseInt(`${p}`)}月前`:$>2?"半月前":$>=1?`${parseInt(`${$}`)}周前`:i>=1?`${parseInt(`${i}`)}天前`:c>=1?`${parseInt(`${c}`)}小时前`:l>=1?`${parseInt(`${l}`)}分钟前`:"刚刚"}return""}};exports.objectUtil=t;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/object/index.ts"],"sourcesContent":["/**\n * 对象工具类\n */\nexport const objectUtil = {\n\t/**\n\t * 对象URL参数化\n\t */\n\tobjectToQueryString(obj: any): string {\n\t\tlet params = \"\";\n\t\tfor (const key in obj) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t\t\t\tif (params !== \"\") {\n\t\t\t\t\tparams += \"&\";\n\t\t\t\t}\n\t\t\t\tparams += `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t},\n\t/**\n\t * 是否存在重复值\n\t */\n\thasDuplicateProperty<T>(arr: T[], prop: keyof T): boolean {\n\t\tconst values = arr.map((obj) => obj[prop]);\n\t\tconst uniqueValues = new Set(values);\n\t\treturn values.length !== uniqueValues.size;\n\t},\n\t/**\n\t * 是否存在非重复值\n\t */\n\thasDifferentProperty<T>(arr: T[], prop: keyof T): boolean {\n\t\tconst valueSet = new Set<any>();\n\t\tfor (const obj of arr) {\n\t\t\tvalueSet.add(obj[prop]);\n\t\t\tif (valueSet.size > 1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\t/**\n\t * 时间处理翻译\n\t */\n\tdateTimeFix(date: string | Date | null | undefined): string {\n\t\tif (date !== null && date !== undefined && date) {\n\t\t\tif (typeof date === \"string\") {\n\t\t\t\tdate = new Date(date);\n\t\t\t}\n\n\t\t\t// 获取时间戳\n\t\t\tlet timestamp = date.getTime();\n\t\t\tif (timestamp.toString().length < 13) {\n\t\t\t\tconst arrTimestamp = timestamp.toString().split(\"\");\n\t\t\t\tfor (let start = 0; start < 13; start++) {\n\t\t\t\t\tif (!arrTimestamp[start]) {\n\t\t\t\t\t\tarrTimestamp[start] = \"0\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttimestamp = parseInt(arrTimestamp.join(\"\"));\n\t\t\t}\n\t\t\tconst minute = 1000 * 60;\n\t\t\tconst hour = minute * 60;\n\t\t\tconst day = hour * 24;\n\t\t\tconst month = day * 30;\n\t\t\t// 获取当前时间\n\t\t\tconst curTime = new Date().getTime();\n\t\t\t// 比较\n\t\t\tconst diffValue = curTime - timestamp;\n\n\t\t\t// 计算差异时间的量级\n\t\t\tconst monthC = diffValue / month;\n\t\t\tconst weekC = diffValue / (7 * day);\n\t\t\tconst dayC = diffValue / day;\n\t\t\tconst hourC = diffValue / hour;\n\t\t\tconst minC = diffValue / minute;\n\n\t\t\t// 如果本地时间反而小于变量时间\n\t\t\tif (diffValue < 0) {\n\t\t\t\tconst monthC1 = Math.abs(monthC);\n\t\t\t\tconst weekC1 = Math.abs(weekC);\n\t\t\t\tconst dayC1 = Math.abs(dayC);\n\t\t\t\tconst hourC1 = Math.abs(hourC);\n\t\t\t\tconst minC1 = Math.abs(minC);\n\n\t\t\t\tif (monthC1 > 12) {\n\t\t\t\t\t// 超过1年,直接显示 几 年前\n\t\t\t\t\treturn `${parseInt(`${monthC1 / 12}`)}年后`;\n\t\t\t\t} else if (monthC1 >= 6) {\n\t\t\t\t\treturn \"半年后\";\n\t\t\t\t} else if (monthC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${monthC1}`)}月后`;\n\t\t\t\t} else if (weekC1 > 2) {\n\t\t\t\t\treturn \"半月后\";\n\t\t\t\t} else if (weekC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${weekC1}`)}周后`;\n\t\t\t\t} else if (dayC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${dayC1}`)}天后`;\n\t\t\t\t} else if (hourC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${hourC1}`)}小时后`;\n\t\t\t\t} else if (minC1 >= 1) {\n\t\t\t\t\treturn `${parseInt(`${minC1}`)}分钟后`;\n\t\t\t\t}\n\t\t\t\treturn \"刚刚\";\n\t\t\t\t// return \"不久前\";\n\t\t\t}\n\n\t\t\t// 使用\n\t\t\tif (monthC > 12) {\n\t\t\t\t// 超过1年,直接显示 几 年前\n\t\t\t\treturn `${parseInt(`${monthC / 12}`)}年前`;\n\t\t\t} else if (monthC >= 6) {\n\t\t\t\treturn \"半年前\";\n\t\t\t} else if (monthC >= 1) {\n\t\t\t\treturn `${parseInt(`${monthC}`)}月前`;\n\t\t\t} else if (weekC > 2) {\n\t\t\t\treturn \"半月前\";\n\t\t\t} else if (weekC >= 1) {\n\t\t\t\treturn `${parseInt(`${weekC}`)}周前`;\n\t\t\t} else if (dayC >= 1) {\n\t\t\t\treturn `${parseInt(`${dayC}`)}天前`;\n\t\t\t} else if (hourC >= 1) {\n\t\t\t\treturn `${parseInt(`${hourC}`)}小时前`;\n\t\t\t} else if (minC >= 1) {\n\t\t\t\treturn `${parseInt(`${minC}`)}分钟前`;\n\t\t\t}\n\t\t\treturn \"刚刚\";\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t},\n};\n"],"names":["objectUtil","objectToQueryString","obj","params","key","Object","prototype","hasOwnProperty","call","encodeURIComponent","hasDuplicateProperty","arr","prop","values","map","uniqueValues","Set","length","size","hasDifferentProperty","valueSet","add","dateTimeFix","date","Date","timestamp","getTime","toString","arrTimestamp","split","start","parseInt","join","minute","hour","day","month","diffValue","monthC","weekC","dayC","hourC","minC","monthC1","Math","abs","weekC1","dayC1","hourC1","minC1"],"mappings":"gFAGO,MAAMA,EAAa,CAIzB,mBAAAC,CAAoBC,GACnB,IAAIC,EAAS,GACb,IAAA,MAAWC,KAAOF,EACbG,OAAOC,UAAUC,eAAeC,KAAKN,EAAKE,KAC9B,KAAXD,IACOA,GAAA,KAEDA,GAAA,GAAGM,mBAAmBL,MAAQK,mBAAmBP,EAAIE,OAG1D,OAAAD,CACR,EAIA,oBAAAO,CAAwBC,EAAUC,GACjC,MAAMC,EAASF,EAAIG,KAAKZ,GAAQA,EAAIU,KAC9BG,EAAe,IAAIC,IAAIH,GACtB,OAAAA,EAAOI,SAAWF,EAAaG,IACvC,EAIA,oBAAAC,CAAwBR,EAAUC,GAC3B,MAAAQ,MAAeJ,IACrB,IAAA,MAAWd,KAAOS,EAEb,GADKS,EAAAC,IAAInB,EAAIU,IACbQ,EAASF,KAAO,EACZ,OAAA,EAGF,OAAA,CACR,EAIA,WAAAI,CAAYC,GACX,GAAIA,SAAuCA,EAAM,CAC5B,iBAATA,IACHA,EAAA,IAAIC,KAAKD,IAIb,IAAAE,EAAYF,EAAKG,UACrB,GAAID,EAAUE,WAAWV,OAAS,GAAI,CACrC,MAAMW,EAAeH,EAAUE,WAAWE,MAAM,IAChD,IAAA,IAASC,EAAQ,EAAGA,EAAQ,GAAIA,IAC1BF,EAAaE,KACjBF,EAAaE,GAAS,KAGxBL,EAAYM,SAASH,EAAaI,KAAK,IAAG,CAE3C,MAAMC,EAAS,IACTC,EAAgB,GAATD,EACPE,EAAa,GAAPD,EACNE,EAAc,GAAND,EAIRE,GAFU,IAAIb,MAAOE,UAECD,EAGtBa,EAASD,EAAYD,EACrBG,EAAQF,GAAa,EAAIF,GACzBK,EAAOH,EAAYF,EACnBM,EAAQJ,EAAYH,EACpBQ,EAAOL,EAAYJ,EAGzB,GAAII,EAAY,EAAG,CACZ,MAAAM,EAAUC,KAAKC,IAAIP,GACnBQ,EAASF,KAAKC,IAAIN,GAClBQ,EAAQH,KAAKC,IAAIL,GACjBQ,EAASJ,KAAKC,IAAIJ,GAClBQ,EAAQL,KAAKC,IAAIH,GAEvB,OAAIC,EAAU,GAEN,GAAGZ,SAAS,GAAGY,EAAU,QACtBA,GAAW,EACd,MACGA,GAAW,EACd,GAAGZ,SAAS,GAAGY,SACZG,EAAS,EACZ,MACGA,GAAU,EACb,GAAGf,SAAS,GAAGe,SACZC,GAAS,EACZ,GAAGhB,SAAS,GAAGgB,SACZC,GAAU,EACb,GAAGjB,SAAS,GAAGiB,UACZC,GAAS,EACZ,GAAGlB,SAAS,GAAGkB,UAEhB,IAAA,CAKR,OAAIX,EAAS,GAEL,GAAGP,SAAS,GAAGO,EAAS,QACrBA,GAAU,EACb,MACGA,GAAU,EACb,GAAGP,SAAS,GAAGO,SACZC,EAAQ,EACX,MACGA,GAAS,EACZ,GAAGR,SAAS,GAAGQ,SACZC,GAAQ,EACX,GAAGT,SAAS,GAAGS,SACZC,GAAS,EACZ,GAAGV,SAAS,GAAGU,UACZC,GAAQ,EACX,GAAGX,SAAS,GAAGW,UAEhB,IAAA,CAEA,MAAA,EACR"}
|