@pisell/utils 1.0.54 → 1.0.56
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/es/arrayUtils.d.ts +1 -0
- package/es/document.d.ts +13 -0
- package/es/firebase/config/index.d.ts +13 -0
- package/es/firebase/index.d.ts +28 -0
- package/es/format.d.ts +28 -0
- package/es/format.js +6 -2
- package/es/index.js +1 -0
- package/es/miniRedux.d.ts +16 -0
- package/es/miniRedux.js +3 -1
- package/es/otherUtils.d.ts +48 -0
- package/es/otherUtils.js +15 -6
- package/es/platform.d.ts +9 -0
- package/es/walletValidity.js +499 -0
- package/lib/arrayUtils.d.ts +1 -0
- package/lib/document.d.ts +13 -0
- package/lib/firebase/config/index.d.ts +13 -0
- package/lib/firebase/index.d.ts +28 -0
- package/lib/format.d.ts +28 -0
- package/lib/format.js +8 -2
- package/lib/index.js +3 -1
- package/lib/miniRedux.d.ts +16 -0
- package/lib/miniRedux.js +7 -4
- package/lib/otherUtils.d.ts +48 -0
- package/lib/otherUtils.js +9 -2
- package/lib/platform.d.ts +9 -0
- package/lib/walletValidity.js +349 -0
- package/package.json +2 -1
- package/es/index.d.ts +0 -19
- package/es/jsBridge/types.d.ts +0 -149
- package/es/locales.d.ts +0 -12
- package/lib/index.d.ts +0 -19
- package/lib/jsBridge/types.d.ts +0 -149
- package/lib/locales.d.ts +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const uniqueByKey: <T>(arr: T[], key: keyof T) => T[];
|
package/es/document.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Title: 设置主题
|
|
3
|
+
* @Describe: 传入字符串键值对
|
|
4
|
+
* @Author: Wzw
|
|
5
|
+
*/
|
|
6
|
+
export declare const setTheme: (themes: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
}) => void;
|
|
9
|
+
/**
|
|
10
|
+
* 复制到剪切板
|
|
11
|
+
* @param text
|
|
12
|
+
*/
|
|
13
|
+
export declare const copyToClipboard: (text: string) => Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare type InjectedConfigType = {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
authDomain: string;
|
|
4
|
+
projectId: string;
|
|
5
|
+
storageBucket: string;
|
|
6
|
+
messagingSenderId: string;
|
|
7
|
+
appId: string;
|
|
8
|
+
databaseURL: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const injectConfig: (context: InjectedConfigType) => void;
|
|
11
|
+
export declare const firebaseConfig: any;
|
|
12
|
+
declare const _default: any;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FirebaseApp } from 'firebase/app';
|
|
2
|
+
import { Auth } from 'firebase/auth';
|
|
3
|
+
import { ref, Database, goOnline, goOffline } from 'firebase/database';
|
|
4
|
+
declare let firebaseApp: FirebaseApp;
|
|
5
|
+
declare let auth: Auth;
|
|
6
|
+
declare let database: Database;
|
|
7
|
+
export declare const initFirebase: (config?: any) => void;
|
|
8
|
+
export { database, firebaseApp, auth, ref, goOnline, goOffline };
|
|
9
|
+
export declare const getPath: (path: string) => string;
|
|
10
|
+
export declare const setAuthStateChangeCallback: (callback: (user: any) => void) => void;
|
|
11
|
+
export declare const signUp: (email: string, password: string) => Promise<import("firebase/auth").User>;
|
|
12
|
+
export declare const signInUser: (email: string, password: string) => Promise<import("firebase/auth").User>;
|
|
13
|
+
export declare const signOutUser: () => Promise<void>;
|
|
14
|
+
export declare const readData: (path: string) => Promise<any>;
|
|
15
|
+
export declare const writeData: (path: string, data: any) => Promise<void>;
|
|
16
|
+
export declare const onDataChange: (path: string, callback: (snapshot: any) => void) => import("firebase/database").Unsubscribe;
|
|
17
|
+
export declare const onDataChanged: (path: string, callback: (snapshot: any) => void) => import("firebase/database").Unsubscribe;
|
|
18
|
+
export declare const removeDataListener: (listener: any) => void;
|
|
19
|
+
declare const _default: {
|
|
20
|
+
signInUser: (email: string, password: string) => Promise<import("firebase/auth").User>;
|
|
21
|
+
signOutUser: () => Promise<void>;
|
|
22
|
+
readData: (path: string) => Promise<any>;
|
|
23
|
+
writeData: (path: string, data: any) => Promise<void>;
|
|
24
|
+
onDataChange: (path: string, callback: (snapshot: any) => void) => import("firebase/database").Unsubscribe;
|
|
25
|
+
removeDataListener: (listener: any) => void;
|
|
26
|
+
onDataChanged: (path: string, callback: (snapshot: any) => void) => import("firebase/database").Unsubscribe;
|
|
27
|
+
};
|
|
28
|
+
export default _default;
|
package/es/format.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title: 格式化金额
|
|
3
|
+
* @description:
|
|
4
|
+
* @param {number} amount 原金额
|
|
5
|
+
* @param {number} precision 小数位数
|
|
6
|
+
* @param {string} symbol 货币符号
|
|
7
|
+
* @return {*}
|
|
8
|
+
* @Author: zhiwei.Wang
|
|
9
|
+
* @Date: 2023-11-06 16:51
|
|
10
|
+
*/
|
|
11
|
+
export declare const formatAmount: (amount?: number | string, precision?: number, symbol?: string) => string | number;
|
|
12
|
+
export declare type FormatOptions = {
|
|
13
|
+
/** 小数点后位数 默认是小数点后2位 */
|
|
14
|
+
precision?: number;
|
|
15
|
+
/** 显示货币符号 指的是 ¥$ 等货币符号等显隐,默认是展示 */
|
|
16
|
+
showCurrencySymbol?: boolean;
|
|
17
|
+
/** 千分位 指的是长金额的千分位逗号隔开,比如“123, 245, 315” 这种展现形式,默认是关闭 */
|
|
18
|
+
useThousandsSeparator?: boolean;
|
|
19
|
+
/** 整数位隐藏小数 指的是如果价格为整数,后面的".00" 将被省略以节省页面空间 */
|
|
20
|
+
hideDecimalForWholeNumbers?: boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* 根据配置格式化金额
|
|
24
|
+
* @param amount
|
|
25
|
+
* @param symbol
|
|
26
|
+
* @param options
|
|
27
|
+
*/
|
|
28
|
+
export declare const formatAmountWithOptions: (amount: string | number | undefined, symbol: string | undefined, options: FormatOptions) => string | number;
|
package/es/format.js
CHANGED
|
@@ -21,7 +21,9 @@ export var formatAmount = function formatAmount() {
|
|
|
21
21
|
}
|
|
22
22
|
try {
|
|
23
23
|
// 四舍五入
|
|
24
|
-
var roundedAmount =
|
|
24
|
+
var roundedAmount =
|
|
25
|
+
//@ts-ignore
|
|
26
|
+
Math.round(amount * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
25
27
|
// 处理负数情况
|
|
26
28
|
var absoluteAmount = Math.abs(roundedAmount);
|
|
27
29
|
// 截取整数
|
|
@@ -78,7 +80,9 @@ export var formatAmountWithOptions = function formatAmountWithOptions() {
|
|
|
78
80
|
}
|
|
79
81
|
try {
|
|
80
82
|
// 四舍五入
|
|
81
|
-
var roundedAmount =
|
|
83
|
+
var roundedAmount =
|
|
84
|
+
//@ts-ignore
|
|
85
|
+
Math.round(amount * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
82
86
|
// 处理负数情况
|
|
83
87
|
var absoluteAmount = Math.abs(roundedAmount);
|
|
84
88
|
// 截取整数
|
package/es/index.js
CHANGED
|
@@ -17,6 +17,7 @@ export * from "./jsBridge";
|
|
|
17
17
|
export * from "./image";
|
|
18
18
|
export * from "./locales";
|
|
19
19
|
export * from "./arrayUtils";
|
|
20
|
+
export * from "./walletValidity";
|
|
20
21
|
// export { default as firebase } from './firebase';
|
|
21
22
|
|
|
22
23
|
export var setPisellUtilsConfig = function setPisellUtilsConfig(config) {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface MiniReduxProps<State, Namespace> {
|
|
2
|
+
namespace?: Namespace;
|
|
3
|
+
state?: State;
|
|
4
|
+
reducers?: any;
|
|
5
|
+
effects?: any;
|
|
6
|
+
}
|
|
7
|
+
export declare const miniRedux: <State extends Record<string, any>, Namespace extends string>({ namespace, state, reducers, effects, }: MiniReduxProps<State, Namespace>) => {
|
|
8
|
+
Context: React.Context<{ [K in Namespace]: State; } & {
|
|
9
|
+
dispatch: (params: {
|
|
10
|
+
type: string;
|
|
11
|
+
payload: any;
|
|
12
|
+
}) => void;
|
|
13
|
+
}>;
|
|
14
|
+
Provider: (ComponentUi: any) => any;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
package/es/miniRedux.js
CHANGED
|
@@ -10,7 +10,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
import React, { createContext, useCallback, useMemo, useReducer, forwardRef, useRef
|
|
13
|
+
import React, { createContext, useCallback, useMemo, useReducer, forwardRef, useRef
|
|
14
|
+
//@ts-ignore
|
|
15
|
+
} from 'react';
|
|
14
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
17
|
export var miniRedux = function miniRedux(_ref2) {
|
|
16
18
|
var _ref2$namespace = _ref2.namespace,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title: 判断是否无痕模式
|
|
3
|
+
* @description:
|
|
4
|
+
* @return: *
|
|
5
|
+
* @Author: shengjie.zuo
|
|
6
|
+
* @Date: 2024-09-4 09:58:22
|
|
7
|
+
*/
|
|
8
|
+
export declare const detectIncognito: () => Promise<{
|
|
9
|
+
isPrivate: boolean;
|
|
10
|
+
browserName: string;
|
|
11
|
+
} | {
|
|
12
|
+
isPrivate: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* @Description: 生成唯一id
|
|
16
|
+
* @Author: wzw
|
|
17
|
+
* @Date: 2020-12-01 14:20:29
|
|
18
|
+
* @param {*}
|
|
19
|
+
* @return {*}
|
|
20
|
+
*/
|
|
21
|
+
export declare const getUniqueId: (prefix?: string, maxLength?: number) => string;
|
|
22
|
+
/**
|
|
23
|
+
* @title: 对数组进行增|删
|
|
24
|
+
* @description: 用于多选选中和取消选中的处理
|
|
25
|
+
* @param {any} list
|
|
26
|
+
* @param {any} item
|
|
27
|
+
* @param {string} key
|
|
28
|
+
* @return {*}
|
|
29
|
+
* @Author: zhiwei.Wang
|
|
30
|
+
* @Date: 2023-12-19 16:44
|
|
31
|
+
*/
|
|
32
|
+
export declare const changeArray: <T>(list: T[] | undefined, item: T, key?: string) => T[];
|
|
33
|
+
/**
|
|
34
|
+
* @title: 判断某个字段是否在列表内
|
|
35
|
+
* @description:
|
|
36
|
+
* @param {*} T
|
|
37
|
+
* @param {boolean} param2
|
|
38
|
+
* @return {*}
|
|
39
|
+
* @Author: zhiwei.Wang
|
|
40
|
+
* @Date: 2023-12-19 16:54
|
|
41
|
+
*/
|
|
42
|
+
export declare const getItemByArray: <T>(list: T[] | undefined, item: T, key?: string) => boolean;
|
|
43
|
+
export declare const createArray: (length: number, returnItem: any) => unknown[];
|
|
44
|
+
/**
|
|
45
|
+
* 根据对象内容生成唯一id
|
|
46
|
+
* @param obj
|
|
47
|
+
*/
|
|
48
|
+
export declare const generateUniqueIdByObj: (obj: Record<string, any>) => any;
|
package/es/otherUtils.js
CHANGED
|
@@ -20,23 +20,32 @@ export var detectIncognito = /*#__PURE__*/function () {
|
|
|
20
20
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
21
21
|
while (1) switch (_context.prev = _context.next) {
|
|
22
22
|
case 0:
|
|
23
|
+
_context.prev = 0;
|
|
23
24
|
if (!navigator.userAgent.toLowerCase().includes('honor')) {
|
|
24
|
-
_context.next =
|
|
25
|
+
_context.next = 3;
|
|
25
26
|
break;
|
|
26
27
|
}
|
|
27
28
|
return _context.abrupt("return", {
|
|
28
29
|
isPrivate: false
|
|
29
30
|
});
|
|
30
|
-
case
|
|
31
|
-
_context.next =
|
|
31
|
+
case 3:
|
|
32
|
+
_context.next = 5;
|
|
32
33
|
return originDetectIncognito();
|
|
33
|
-
case 4:
|
|
34
|
-
return _context.abrupt("return", _context.sent);
|
|
35
34
|
case 5:
|
|
35
|
+
return _context.abrupt("return", _context.sent);
|
|
36
|
+
case 8:
|
|
37
|
+
_context.prev = 8;
|
|
38
|
+
_context.t0 = _context["catch"](0);
|
|
39
|
+
// 当无法检测浏览器类型时,默认返回非隐私模式,确保支付流程可以继续
|
|
40
|
+
console.warn('detectIncognito failed:', _context.t0);
|
|
41
|
+
return _context.abrupt("return", {
|
|
42
|
+
isPrivate: false
|
|
43
|
+
});
|
|
44
|
+
case 12:
|
|
36
45
|
case "end":
|
|
37
46
|
return _context.stop();
|
|
38
47
|
}
|
|
39
|
-
}, _callee);
|
|
48
|
+
}, _callee, null, [[0, 8]]);
|
|
40
49
|
}));
|
|
41
50
|
return function detectIncognito() {
|
|
42
51
|
return _ref.apply(this, arguments);
|
package/es/platform.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const isIpad: () => boolean;
|
|
2
|
+
export declare const isMobile: () => boolean;
|
|
3
|
+
export declare const isAndroid: () => boolean;
|
|
4
|
+
export declare const isIos: () => boolean;
|
|
5
|
+
export declare const checkEnv: () => number;
|
|
6
|
+
export declare const isWx: () => boolean;
|
|
7
|
+
export declare const isIOS: () => boolean;
|
|
8
|
+
export declare const isWxApp: () => boolean;
|
|
9
|
+
export declare const isSafari: () => boolean;
|