@pisell/utils 1.0.14 → 1.0.16
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/firebase/index.d.ts +2 -1
- package/es/firebase/index.js +13 -8
- package/es/format.d.ts +11 -0
- package/es/format.js +50 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/lib/firebase/index.d.ts +2 -1
- package/lib/firebase/index.js +9 -3
- package/lib/format.d.ts +11 -0
- package/lib/format.js +52 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -1
- package/package.json +1 -1
package/es/firebase/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { FirebaseApp } from 'firebase/app';
|
|
2
|
+
declare let firebaseApp: FirebaseApp;
|
|
2
3
|
export { firebaseApp };
|
|
3
4
|
export declare const getPath: (path: string) => string;
|
|
4
5
|
export declare const setAuthStateChangeCallback: (callback: (user: any) => void) => void;
|
package/es/firebase/index.js
CHANGED
|
@@ -6,15 +6,20 @@ import { initializeApp } from 'firebase/app';
|
|
|
6
6
|
import { getAuth, createUserWithEmailAndPassword, signInWithEmailAndPassword, signOut } from 'firebase/auth';
|
|
7
7
|
import { getDatabase, ref, set, get, off, onValue } from 'firebase/database';
|
|
8
8
|
import firebaseConfig from "./config";
|
|
9
|
+
var isClient = typeof window != 'undefined' && window.document;
|
|
10
|
+
var firebaseApp = {};
|
|
11
|
+
var auth = {};
|
|
12
|
+
var database = {};
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// 获取 Firebase Database 实例
|
|
17
|
-
|
|
14
|
+
//@ts-ignore 如果在客户端并且不是微信小程序的环境下初始化
|
|
15
|
+
if (isClient && window.__wxjs_environment !== 'miniprogram') {
|
|
16
|
+
// 初始化 Firebase
|
|
17
|
+
firebaseApp = initializeApp(firebaseConfig);
|
|
18
|
+
// 获取 Firebase Auth 实例
|
|
19
|
+
auth = getAuth(firebaseApp);
|
|
20
|
+
// 获取 Firebase Database 实例
|
|
21
|
+
database = getDatabase(firebaseApp);
|
|
22
|
+
}
|
|
18
23
|
|
|
19
24
|
// 导出 Firebase 配置,以便在需要时进行访问
|
|
20
25
|
export { firebaseApp };
|
package/es/format.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
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;
|
package/es/format.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { isString, isNumber } from "./typeUtils";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @title: 格式化金额
|
|
5
|
+
* @description:
|
|
6
|
+
* @param {number} amount 原金额
|
|
7
|
+
* @param {number} precision 小数位数
|
|
8
|
+
* @param {string} symbol 货币符号
|
|
9
|
+
* @return {*}
|
|
10
|
+
* @Author: zhiwei.Wang
|
|
11
|
+
* @Date: 2023-11-06 16:51
|
|
12
|
+
*/
|
|
13
|
+
export var formatAmount = function formatAmount() {
|
|
14
|
+
var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
15
|
+
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
16
|
+
var symbol = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
17
|
+
// 校验格式
|
|
18
|
+
if (!isString(amount) || !isNumber(amount)) {
|
|
19
|
+
console.error('amount is not a number');
|
|
20
|
+
return amount;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
// 四舍五入
|
|
24
|
+
var roundedAmount = Math.round(amount * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
25
|
+
// 处理负数情况
|
|
26
|
+
var absoluteAmount = Math.abs(roundedAmount);
|
|
27
|
+
// 截取整数
|
|
28
|
+
var integerPart = Math.floor(absoluteAmount);
|
|
29
|
+
// 截取小数部分并补零
|
|
30
|
+
var decimalPart = (absoluteAmount - integerPart).toFixed(precision).substring(2);
|
|
31
|
+
|
|
32
|
+
// 拼接货币符号
|
|
33
|
+
var formattedAmount = symbol + integerPart.toString();
|
|
34
|
+
|
|
35
|
+
// 添加小数点
|
|
36
|
+
if (precision > 0) {
|
|
37
|
+
formattedAmount += '.' + decimalPart;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// 添加负号
|
|
41
|
+
if (roundedAmount < 0) {
|
|
42
|
+
formattedAmount = '-' + formattedAmount;
|
|
43
|
+
}
|
|
44
|
+
return formattedAmount;
|
|
45
|
+
} catch (err) {
|
|
46
|
+
// 计算错误则返回原金额
|
|
47
|
+
console.error(err);
|
|
48
|
+
return amount;
|
|
49
|
+
}
|
|
50
|
+
};
|
package/es/index.d.ts
CHANGED
package/es/index.js
CHANGED
package/lib/firebase/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { FirebaseApp } from 'firebase/app';
|
|
2
|
+
declare let firebaseApp: FirebaseApp;
|
|
2
3
|
export { firebaseApp };
|
|
3
4
|
export declare const getPath: (path: string) => string;
|
|
4
5
|
export declare const setAuthStateChangeCallback: (callback: (user: any) => void) => void;
|
package/lib/firebase/index.js
CHANGED
|
@@ -46,9 +46,15 @@ var import_app = require("firebase/app");
|
|
|
46
46
|
var import_auth = require("firebase/auth");
|
|
47
47
|
var import_database = require("firebase/database");
|
|
48
48
|
var import_config = __toESM(require("./config"));
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
49
|
+
var isClient = typeof window != "undefined" && window.document;
|
|
50
|
+
var firebaseApp = {};
|
|
51
|
+
var auth = {};
|
|
52
|
+
var database = {};
|
|
53
|
+
if (isClient && window.__wxjs_environment !== "miniprogram") {
|
|
54
|
+
firebaseApp = (0, import_app.initializeApp)(import_config.default);
|
|
55
|
+
auth = (0, import_auth.getAuth)(firebaseApp);
|
|
56
|
+
database = (0, import_database.getDatabase)(firebaseApp);
|
|
57
|
+
}
|
|
52
58
|
var getPath = (path) => {
|
|
53
59
|
return path;
|
|
54
60
|
};
|
package/lib/format.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
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;
|
package/lib/format.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/format.ts
|
|
20
|
+
var format_exports = {};
|
|
21
|
+
__export(format_exports, {
|
|
22
|
+
formatAmount: () => formatAmount
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(format_exports);
|
|
25
|
+
var import_typeUtils = require("./typeUtils");
|
|
26
|
+
var formatAmount = (amount = 0, precision = 2, symbol = "") => {
|
|
27
|
+
if (!(0, import_typeUtils.isString)(amount) || !(0, import_typeUtils.isNumber)(amount)) {
|
|
28
|
+
console.error("amount is not a number");
|
|
29
|
+
return amount;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const roundedAmount = Math.round(amount * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
33
|
+
const absoluteAmount = Math.abs(roundedAmount);
|
|
34
|
+
const integerPart = Math.floor(absoluteAmount);
|
|
35
|
+
const decimalPart = (absoluteAmount - integerPart).toFixed(precision).substring(2);
|
|
36
|
+
let formattedAmount = symbol + integerPart.toString();
|
|
37
|
+
if (precision > 0) {
|
|
38
|
+
formattedAmount += "." + decimalPart;
|
|
39
|
+
}
|
|
40
|
+
if (roundedAmount < 0) {
|
|
41
|
+
formattedAmount = "-" + formattedAmount;
|
|
42
|
+
}
|
|
43
|
+
return formattedAmount;
|
|
44
|
+
} catch (err) {
|
|
45
|
+
console.error(err);
|
|
46
|
+
return amount;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
50
|
+
0 && (module.exports = {
|
|
51
|
+
formatAmount
|
|
52
|
+
});
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __reExport(src_exports, require("./document"), module.exports);
|
|
|
22
22
|
__reExport(src_exports, require("./date"), module.exports);
|
|
23
23
|
__reExport(src_exports, require("./platform"), module.exports);
|
|
24
24
|
__reExport(src_exports, require("./log"), module.exports);
|
|
25
|
+
__reExport(src_exports, require("./format"), module.exports);
|
|
25
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
27
|
0 && (module.exports = {
|
|
27
28
|
...require("./otherUtils"),
|
|
@@ -29,5 +30,6 @@ __reExport(src_exports, require("./log"), module.exports);
|
|
|
29
30
|
...require("./document"),
|
|
30
31
|
...require("./date"),
|
|
31
32
|
...require("./platform"),
|
|
32
|
-
...require("./log")
|
|
33
|
+
...require("./log"),
|
|
34
|
+
...require("./format")
|
|
33
35
|
});
|