@pisell/utils 1.0.37 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,12 +12,10 @@ var isClient = typeof window != "undefined" && window.document;
12
12
 
13
13
  // 是否默认初始化firebase erp_admin默认不初始化
14
14
  var isDefaultInit = isClient && (isUndefined((_window = window) === null || _window === void 0 ? void 0 : _window.__isDefaultInit) ? true : (_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.__isDefaultInit);
15
- var isInitialized = false;
16
15
  var firebaseApp = {};
17
16
  var auth = {};
18
17
  var database = {};
19
18
  export var initFirebase = function initFirebase(config) {
20
- isInitialized = true;
21
19
  // 初始化 Firebase
22
20
  firebaseApp = initializeApp(config || firebaseConfig);
23
21
  // 获取 Firebase Auth 实例
@@ -134,24 +132,21 @@ export var readData = /*#__PURE__*/function () {
134
132
  while (1) switch (_context4.prev = _context4.next) {
135
133
  case 0:
136
134
  _context4.prev = 0;
137
- if (!isInitialized) {
138
- initFirebase();
139
- }
140
- _context4.next = 4;
135
+ _context4.next = 3;
141
136
  return get(ref(database, getPath(path)));
142
- case 4:
137
+ case 3:
143
138
  dataSnapshot = _context4.sent;
144
139
  return _context4.abrupt("return", dataSnapshot.val());
145
- case 8:
146
- _context4.prev = 8;
140
+ case 7:
141
+ _context4.prev = 7;
147
142
  _context4.t0 = _context4["catch"](0);
148
143
  console.error("Error reading data:", _context4.t0);
149
144
  throw _context4.t0;
150
- case 12:
145
+ case 11:
151
146
  case "end":
152
147
  return _context4.stop();
153
148
  }
154
- }, _callee4, null, [[0, 8]]);
149
+ }, _callee4, null, [[0, 7]]);
155
150
  }));
156
151
  return function readData(_x5) {
157
152
  return _ref4.apply(this, arguments);
@@ -165,20 +160,17 @@ export var writeData = /*#__PURE__*/function () {
165
160
  while (1) switch (_context5.prev = _context5.next) {
166
161
  case 0:
167
162
  _context5.prev = 0;
168
- if (!isInitialized) {
169
- initFirebase();
170
- }
171
163
  return _context5.abrupt("return", set(ref(database, getPath(path)), data));
172
- case 5:
173
- _context5.prev = 5;
164
+ case 4:
165
+ _context5.prev = 4;
174
166
  _context5.t0 = _context5["catch"](0);
175
167
  console.error("Error writing data:", _context5.t0);
176
168
  throw _context5.t0;
177
- case 9:
169
+ case 8:
178
170
  case "end":
179
171
  return _context5.stop();
180
172
  }
181
- }, _callee5, null, [[0, 5]]);
173
+ }, _callee5, null, [[0, 4]]);
182
174
  }));
183
175
  return function writeData(_x6, _x7) {
184
176
  return _ref5.apply(this, arguments);
@@ -187,13 +179,6 @@ export var writeData = /*#__PURE__*/function () {
187
179
 
188
180
  // onValue 方法 实现监听
189
181
  export var onDataChange = function onDataChange(path, callback) {
190
- try {
191
- if (!isInitialized) {
192
- initFirebase();
193
- }
194
- } catch (error) {
195
- console.error('init error', error);
196
- }
197
182
  var databaseRef = ref(database, getPath(path));
198
183
  var listener = onValue(databaseRef, callback);
199
184
 
@@ -203,13 +188,6 @@ export var onDataChange = function onDataChange(path, callback) {
203
188
 
204
189
  // onChildChanged 方法 实现监听变化的key
205
190
  export var onDataChanged = function onDataChanged(path, callback) {
206
- try {
207
- if (!isInitialized) {
208
- initFirebase();
209
- }
210
- } catch (error) {
211
- console.error('init error', error);
212
- }
213
191
  var databaseRef = ref(database, getPath(path));
214
192
  var listener = onChildChanged(databaseRef, callback);
215
193
 
@@ -1,5 +1,16 @@
1
- import { detectIncognito } from "detectincognitojs";
2
- export { detectIncognito };
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
+ }>;
3
14
  /**
4
15
  * @Description: 生成唯一id
5
16
  * @Author: wzw
package/es/otherUtils.js CHANGED
@@ -1,9 +1,47 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
1
5
  // @ts-ignore
2
6
  import md5 from "crypto-js/md5";
3
7
  // @ts-ignore
4
8
  import enc from "crypto-js/enc-hex";
5
- import { detectIncognito } from "detectincognitojs";
6
- export { detectIncognito };
9
+ import { detectIncognito as originDetectIncognito } from "detectincognitojs";
10
+
11
+ /**
12
+ * @title: 判断是否无痕模式
13
+ * @description:
14
+ * @return: *
15
+ * @Author: shengjie.zuo
16
+ * @Date: 2024-09-4 09:58:22
17
+ */
18
+ export var detectIncognito = /*#__PURE__*/function () {
19
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
20
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
21
+ while (1) switch (_context.prev = _context.next) {
22
+ case 0:
23
+ if (!navigator.userAgent.toLowerCase().includes('honor')) {
24
+ _context.next = 2;
25
+ break;
26
+ }
27
+ return _context.abrupt("return", {
28
+ isPrivate: false
29
+ });
30
+ case 2:
31
+ _context.next = 4;
32
+ return originDetectIncognito();
33
+ case 4:
34
+ return _context.abrupt("return", _context.sent);
35
+ case 5:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }, _callee);
40
+ }));
41
+ return function detectIncognito() {
42
+ return _ref.apply(this, arguments);
43
+ };
44
+ }();
7
45
 
8
46
  /**
9
47
  * @Description: 生成唯一id
@@ -46,12 +46,10 @@ var import_config = require("./config");
46
46
  var import_typeUtils = require("../typeUtils");
47
47
  var isClient = typeof window != "undefined" && window.document;
48
48
  var isDefaultInit = isClient && ((0, import_typeUtils.isUndefined)(window == null ? void 0 : window.__isDefaultInit) ? true : window == null ? void 0 : window.__isDefaultInit);
49
- var isInitialized = false;
50
49
  var firebaseApp = {};
51
50
  var auth = {};
52
51
  var database = {};
53
52
  var initFirebase = (config) => {
54
- isInitialized = true;
55
53
  firebaseApp = (0, import_app.initializeApp)(config || import_config.firebaseConfig);
56
54
  auth = (0, import_auth.getAuth)(firebaseApp);
57
55
  database = (0, import_database.getDatabase)(firebaseApp);
@@ -101,9 +99,6 @@ var signOutUser = async () => {
101
99
  };
102
100
  var readData = async (path) => {
103
101
  try {
104
- if (!isInitialized) {
105
- initFirebase();
106
- }
107
102
  const dataSnapshot = await (0, import_database.get)((0, import_database.ref)(database, getPath(path)));
108
103
  return dataSnapshot.val();
109
104
  } catch (error) {
@@ -113,9 +108,6 @@ var readData = async (path) => {
113
108
  };
114
109
  var writeData = async (path, data) => {
115
110
  try {
116
- if (!isInitialized) {
117
- initFirebase();
118
- }
119
111
  return (0, import_database.set)((0, import_database.ref)(database, getPath(path)), data);
120
112
  } catch (error) {
121
113
  console.error("Error writing data:", error);
@@ -123,25 +115,11 @@ var writeData = async (path, data) => {
123
115
  }
124
116
  };
125
117
  var onDataChange = (path, callback) => {
126
- try {
127
- if (!isInitialized) {
128
- initFirebase();
129
- }
130
- } catch (error) {
131
- console.error("init error", error);
132
- }
133
118
  const databaseRef = (0, import_database.ref)(database, getPath(path));
134
119
  const listener = (0, import_database.onValue)(databaseRef, callback);
135
120
  return listener;
136
121
  };
137
122
  var onDataChanged = (path, callback) => {
138
- try {
139
- if (!isInitialized) {
140
- initFirebase();
141
- }
142
- } catch (error) {
143
- console.error("init error", error);
144
- }
145
123
  const databaseRef = (0, import_database.ref)(database, getPath(path));
146
124
  const listener = (0, import_database.onChildChanged)(databaseRef, callback);
147
125
  return listener;
@@ -1,5 +1,16 @@
1
- import { detectIncognito } from "detectincognitojs";
2
- export { detectIncognito };
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
+ }>;
3
14
  /**
4
15
  * @Description: 生成唯一id
5
16
  * @Author: wzw
package/lib/otherUtils.js CHANGED
@@ -31,7 +31,7 @@ var otherUtils_exports = {};
31
31
  __export(otherUtils_exports, {
32
32
  changeArray: () => changeArray,
33
33
  createArray: () => createArray,
34
- detectIncognito: () => import_detectincognitojs.detectIncognito,
34
+ detectIncognito: () => detectIncognito,
35
35
  generateUniqueIdByObj: () => generateUniqueIdByObj,
36
36
  getItemByArray: () => getItemByArray,
37
37
  getUniqueId: () => getUniqueId
@@ -40,6 +40,14 @@ module.exports = __toCommonJS(otherUtils_exports);
40
40
  var import_md5 = __toESM(require("crypto-js/md5"));
41
41
  var import_enc_hex = __toESM(require("crypto-js/enc-hex"));
42
42
  var import_detectincognitojs = require("detectincognitojs");
43
+ var detectIncognito = async () => {
44
+ if (navigator.userAgent.toLowerCase().includes("honor")) {
45
+ return {
46
+ isPrivate: false
47
+ };
48
+ }
49
+ return await (0, import_detectincognitojs.detectIncognito)();
50
+ };
43
51
  var getUniqueId = (prefix = "", maxLength = 11) => {
44
52
  return prefix + (Math.random() + "").replace(/\D/g, "").substring(0, maxLength);
45
53
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/utils",
3
- "version": "1.0.37",
3
+ "version": "2.0.1",
4
4
  "sideEffects": false,
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",