@hzw-tech/utils 0.2.3 → 0.2.5

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ts/reg.ts","../node_modules/.pnpm/proxy-compare@3.0.1/node_modules/proxy-compare/dist/index.js","../node_modules/.pnpm/valtio@2.3.0/node_modules/valtio/esm/vanilla.mjs","../src/ts/store.ts","../src/ts/utils.ts","../src/ts/bem.ts","../src/ts/request.ts","../src/ts/validators.ts","../src/index.ts"],"sourcesContent":[null,"/* eslint @typescript-eslint/no-explicit-any: off */\n// symbols\nconst TRACK_MEMO_SYMBOL = Symbol();\nconst GET_ORIGINAL_SYMBOL = Symbol();\n// properties\nconst AFFECTED_PROPERTY = 'a';\nconst IS_TARGET_COPIED_PROPERTY = 'f';\nconst PROXY_PROPERTY = 'p';\nconst PROXY_CACHE_PROPERTY = 'c';\nconst TARGET_CACHE_PROPERTY = 't';\nconst HAS_KEY_PROPERTY = 'h';\nconst ALL_OWN_KEYS_PROPERTY = 'w';\nconst HAS_OWN_KEY_PROPERTY = 'o';\nconst KEYS_PROPERTY = 'k';\n// function to create a new bare proxy\nlet newProxy = (target, handler) => new Proxy(target, handler);\n// get object prototype\nconst getProto = Object.getPrototypeOf;\nconst objectsToTrack = new WeakMap();\n// check if obj is a plain object or an array\nconst isObjectToTrack = (obj) => obj &&\n (objectsToTrack.has(obj)\n ? objectsToTrack.get(obj)\n : getProto(obj) === Object.prototype || getProto(obj) === Array.prototype);\n// check if it is object\nconst isObject = (x) => typeof x === 'object' && x !== null;\n// Properties that are both non-configurable and non-writable will break\n// the proxy get trap when we try to return a recursive/child compare proxy\n// from them. We can avoid this by making a copy of the target object with\n// all descriptors marked as configurable, see `copyTargetObject`.\n// See: https://github.com/dai-shi/proxy-compare/pull/8\nconst needsToCopyTargetObject = (obj) => Object.values(Object.getOwnPropertyDescriptors(obj)).some((descriptor) => !descriptor.configurable && !descriptor.writable);\n// Make a copy with all descriptors marked as configurable.\nconst copyTargetObject = (obj) => {\n if (Array.isArray(obj)) {\n // Arrays need a special way to copy\n return Array.from(obj);\n }\n // For non-array objects, we create a new object keeping the prototype\n // with changing all configurable options (otherwise, proxies will complain)\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n Object.values(descriptors).forEach((desc) => {\n desc.configurable = true;\n });\n return Object.create(getProto(obj), descriptors);\n};\nconst createProxyHandler = (origObj, isTargetCopied) => {\n const state = {\n [IS_TARGET_COPIED_PROPERTY]: isTargetCopied,\n };\n let trackObject = false; // for trackMemo\n const recordUsage = (type, key) => {\n if (!trackObject) {\n let used = state[AFFECTED_PROPERTY].get(origObj);\n if (!used) {\n used = {};\n state[AFFECTED_PROPERTY].set(origObj, used);\n }\n if (type === ALL_OWN_KEYS_PROPERTY) {\n used[ALL_OWN_KEYS_PROPERTY] = true;\n }\n else {\n let set = used[type];\n if (!set) {\n set = new Set();\n used[type] = set;\n }\n set.add(key);\n }\n }\n };\n const recordObjectAsUsed = () => {\n trackObject = true;\n state[AFFECTED_PROPERTY].delete(origObj);\n };\n const handler = {\n get(target, key) {\n if (key === GET_ORIGINAL_SYMBOL) {\n return origObj;\n }\n recordUsage(KEYS_PROPERTY, key);\n return createProxy(Reflect.get(target, key), state[AFFECTED_PROPERTY], state[PROXY_CACHE_PROPERTY], state[TARGET_CACHE_PROPERTY]);\n },\n has(target, key) {\n if (key === TRACK_MEMO_SYMBOL) {\n recordObjectAsUsed();\n return true;\n }\n recordUsage(HAS_KEY_PROPERTY, key);\n return Reflect.has(target, key);\n },\n getOwnPropertyDescriptor(target, key) {\n recordUsage(HAS_OWN_KEY_PROPERTY, key);\n return Reflect.getOwnPropertyDescriptor(target, key);\n },\n ownKeys(target) {\n recordUsage(ALL_OWN_KEYS_PROPERTY);\n return Reflect.ownKeys(target);\n },\n };\n if (isTargetCopied) {\n handler.set = handler.deleteProperty = () => false;\n }\n return [handler, state];\n};\nconst getOriginalObject = (obj) => \n// unwrap proxy\nobj[GET_ORIGINAL_SYMBOL] ||\n // otherwise\n obj;\n/**\n * Create a proxy.\n *\n * This function will create a proxy at top level and proxy nested objects as you access them,\n * in order to keep track of which properties were accessed via get/has proxy handlers:\n *\n * NOTE: Printing of WeakMap is hard to inspect and not very readable\n * for this purpose you can use the `affectedToPathList` helper.\n *\n * @param {object} obj - Object that will be wrapped on the proxy.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that will hold the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [proxyCache] -\n * WeakMap that will help keep referential identity for proxies.\n * @returns {Proxy<object>} - Object wrapped in a proxy.\n *\n * @example\n * import { createProxy } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n * const proxy = createProxy(original, affected);\n *\n * proxy.a // Will mark as used and track its value.\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"a\"\n *\n * proxy.d // Will mark \"d\" as accessed to track and proxy itself ({ e: \"3\" }).\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"d\"\n */\nexport const createProxy = (obj, affected, proxyCache, targetCache) => {\n if (!isObjectToTrack(obj))\n return obj;\n let targetAndCopied = targetCache && targetCache.get(obj);\n if (!targetAndCopied) {\n const target = getOriginalObject(obj);\n if (needsToCopyTargetObject(target)) {\n targetAndCopied = [target, copyTargetObject(target)];\n }\n else {\n targetAndCopied = [target];\n }\n targetCache === null || targetCache === void 0 ? void 0 : targetCache.set(obj, targetAndCopied);\n }\n const [target, copiedTarget] = targetAndCopied;\n let handlerAndState = proxyCache && proxyCache.get(target);\n if (!handlerAndState ||\n handlerAndState[1][IS_TARGET_COPIED_PROPERTY] !== !!copiedTarget) {\n handlerAndState = createProxyHandler(target, !!copiedTarget);\n handlerAndState[1][PROXY_PROPERTY] = newProxy(copiedTarget || target, handlerAndState[0]);\n if (proxyCache) {\n proxyCache.set(target, handlerAndState);\n }\n }\n handlerAndState[1][AFFECTED_PROPERTY] = affected;\n handlerAndState[1][PROXY_CACHE_PROPERTY] = proxyCache;\n handlerAndState[1][TARGET_CACHE_PROPERTY] = targetCache;\n return handlerAndState[1][PROXY_PROPERTY];\n};\nconst isAllOwnKeysChanged = (prevObj, nextObj) => {\n const prevKeys = Reflect.ownKeys(prevObj);\n const nextKeys = Reflect.ownKeys(nextObj);\n return (prevKeys.length !== nextKeys.length ||\n prevKeys.some((k, i) => k !== nextKeys[i]));\n};\n/**\n * Compare changes on objects.\n *\n * This will compare the affected properties on tracked objects inside the proxy\n * to check if there were any changes made to it,\n * by default if no property was accessed on the proxy it will attempt to do a\n * reference equality check for the objects provided (Object.is(a, b)). If you access a property\n * on the proxy, then isChanged will only compare the affected properties.\n *\n * @param {object} prevObj - The previous object to compare.\n * @param {object} nextObj - Object to compare with the previous one.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that holds the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [cache] -\n * WeakMap that holds a cache of the comparisons for better performance with repetitive comparisons,\n * and to avoid infinite loop with circular structures.\n * @returns {boolean} - Boolean indicating if the affected property on the object has changed.\n *\n * @example\n * import { createProxy, isChanged } from 'proxy-compare';\n *\n * const obj = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(obj, affected);\n *\n * proxy.a\n *\n * isChanged(obj, { a: \"1\" }, affected) // false\n *\n * proxy.a = \"2\"\n *\n * isChanged(obj, { a: \"1\" }, affected) // true\n */\nexport const isChanged = (prevObj, nextObj, affected, cache, // for object with cycles\nisEqual = Object.is) => {\n if (isEqual(prevObj, nextObj)) {\n return false;\n }\n if (!isObject(prevObj) || !isObject(nextObj))\n return true;\n const used = affected.get(getOriginalObject(prevObj));\n if (!used)\n return true;\n if (cache) {\n const hit = cache.get(prevObj);\n if (hit === nextObj) {\n return false;\n }\n // for object with cycles\n cache.set(prevObj, nextObj);\n }\n let changed = null;\n for (const key of used[HAS_KEY_PROPERTY] || []) {\n changed = Reflect.has(prevObj, key) !== Reflect.has(nextObj, key);\n if (changed)\n return changed;\n }\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n changed = isAllOwnKeysChanged(prevObj, nextObj);\n if (changed)\n return changed;\n }\n else {\n for (const key of used[HAS_OWN_KEY_PROPERTY] || []) {\n const hasPrev = !!Reflect.getOwnPropertyDescriptor(prevObj, key);\n const hasNext = !!Reflect.getOwnPropertyDescriptor(nextObj, key);\n changed = hasPrev !== hasNext;\n if (changed)\n return changed;\n }\n }\n for (const key of used[KEYS_PROPERTY] || []) {\n changed = isChanged(prevObj[key], nextObj[key], affected, cache, isEqual);\n if (changed)\n return changed;\n }\n if (changed === null)\n throw new Error('invalid used');\n return changed;\n};\n// explicitly track object with memo\nexport const trackMemo = (obj) => {\n if (isObjectToTrack(obj)) {\n return TRACK_MEMO_SYMBOL in obj;\n }\n return false;\n};\n/**\n * Unwrap proxy to get the original object.\n *\n * Used to retrieve the original object used to create the proxy instance with `createProxy`.\n *\n * @param {Proxy<object>} obj - The proxy wrapper of the originial object.\n * @returns {object | null} - Return either the unwrapped object if exists.\n *\n * @example\n * import { createProxy, getUntracked } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n * const originalFromProxy = getUntracked(proxy)\n *\n * Object.is(original, originalFromProxy) // true\n * isChanged(original, originalFromProxy, affected) // false\n */\nexport const getUntracked = (obj) => {\n if (isObjectToTrack(obj)) {\n return obj[GET_ORIGINAL_SYMBOL] || null;\n }\n return null;\n};\n/**\n * Mark object to be tracked.\n *\n * This function marks an object that will be passed into `createProxy`\n * as marked to track or not. By default only Array and Object are marked to track,\n * so this is useful for example to mark a class instance to track or to mark a object\n * to be untracked when creating your proxy.\n *\n * @param obj - Object to mark as tracked or not.\n * @param mark - Boolean indicating whether you want to track this object or not.\n * @returns - No return.\n *\n * @example\n * import { createProxy, markToTrack, isChanged } from 'proxy-compare';\n *\n * const nested = { e: \"3\" }\n *\n * markToTrack(nested, false)\n *\n * const original = { a: \"1\", c: \"2\", d: nested };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n *\n * proxy.d.e\n *\n * isChanged(original, { d: { e: \"3\" } }, affected) // true\n */\nexport const markToTrack = (obj, mark = true) => {\n objectsToTrack.set(obj, mark);\n};\n/**\n * Convert `affected` to path list\n *\n * `affected` is a weak map which is not printable.\n * This function is can convert it to printable path list.\n * It's for debugging purpose.\n *\n * @param obj - An object that is used with `createProxy`.\n * @param affected - A weak map that is used with `createProxy`.\n * @param onlyWithValues - An optional boolean to exclude object getters.\n * @returns - An array of paths.\n */\nexport const affectedToPathList = (obj, affected, onlyWithValues) => {\n const list = [];\n const seen = new WeakSet();\n const walk = (x, path) => {\n var _a, _b, _c;\n if (seen.has(x)) {\n // for object with cycles\n return;\n }\n if (isObject(x)) {\n seen.add(x);\n }\n const used = isObject(x) && affected.get(getOriginalObject(x));\n if (used) {\n (_a = used[HAS_KEY_PROPERTY]) === null || _a === void 0 ? void 0 : _a.forEach((key) => {\n const segment = `:has(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n const segment = ':ownKeys';\n list.push(path ? [...path, segment] : [segment]);\n }\n else {\n (_b = used[HAS_OWN_KEY_PROPERTY]) === null || _b === void 0 ? void 0 : _b.forEach((key) => {\n const segment = `:hasOwn(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n }\n (_c = used[KEYS_PROPERTY]) === null || _c === void 0 ? void 0 : _c.forEach((key) => {\n if (!onlyWithValues ||\n 'value' in (Object.getOwnPropertyDescriptor(x, key) || {})) {\n walk(x[key], path ? [...path, key] : [key]);\n }\n });\n }\n else if (path) {\n list.push(path);\n }\n };\n walk(obj);\n return list;\n};\n/**\n * replace newProxy function.\n *\n * This can be used if you want to use proxy-polyfill.\n * Note that proxy-polyfill can't polyfill everything.\n * Use it at your own risk.\n */\nexport const replaceNewProxy = (fn) => {\n newProxy = fn;\n};\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst canProxyDefault = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer) && !(x instanceof Promise);\nconst createSnapshotDefault = (target, version) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const { enumerable } = Reflect.getOwnPropertyDescriptor(\n target,\n key\n );\n const desc = {\n value,\n enumerable,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshotDefault(target2, ensureVersion());\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n};\nconst createHandlerDefault = (isInitializing, addPropListener, removePropListener, notifyUpdate) => ({\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate(createOp == null ? void 0 : createOp(\"delete\", prop, prevValue));\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = !isInitializing() && Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n const nextValue = !proxyStateMap.has(value) && canProxy(value) ? proxy(value) : value;\n addPropListener(prop, nextValue);\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate(createOp == null ? void 0 : createOp(\"set\", prop, value, prevValue));\n return true;\n }\n});\nconst createOpDefault = (type, prop, ...args) => [type, [prop], ...args];\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst snapCache = /* @__PURE__ */ new WeakMap();\nconst versionHolder = [1];\nconst proxyCache = /* @__PURE__ */ new WeakMap();\nlet objectIs = Object.is;\nlet newProxy = (target, handler) => new Proxy(target, handler);\nlet canProxy = canProxyDefault;\nlet createSnapshot = createSnapshotDefault;\nlet createHandler = createHandlerDefault;\nlet createOp;\nfunction proxy(baseObject = {}) {\n if (!isObject(baseObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(baseObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n checkVersion = version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = version;\n const ensureVersion = (nextCheckVersion = versionHolder[0]) => {\n if (checkVersion !== nextCheckVersion) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n let newOp;\n if (op) {\n newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n }\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propValue) => {\n const propProxyState = !refSet.has(propValue) && proxyStateMap.get(propValue);\n if (propProxyState) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[2](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[2](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n let initializing = true;\n const handler = createHandler(\n () => initializing,\n addPropListener,\n removePropListener,\n notifyUpdate\n );\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(baseObject, proxyObject);\n const proxyState = [baseObject, ensureVersion, addListener];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(baseObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n baseObject,\n key\n );\n if (\"value\" in desc && desc.writable) {\n proxyObject[key] = baseObject[key];\n }\n });\n initializing = false;\n return proxyObject;\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[2];\n let isListenerActive = false;\n const listener = (op) => {\n if (op) {\n ops.push(op);\n }\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion] = proxyState;\n return createSnapshot(target, ensureVersion());\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nfunction unstable_getInternalStates() {\n return {\n proxyStateMap,\n refSet,\n snapCache,\n versionHolder,\n proxyCache\n };\n}\nfunction unstable_replaceInternalFunction(name, fn) {\n switch (name) {\n case \"objectIs\":\n objectIs = fn(objectIs);\n break;\n case \"newProxy\":\n newProxy = fn(newProxy);\n break;\n case \"canProxy\":\n canProxy = fn(canProxy);\n break;\n case \"createSnapshot\":\n createSnapshot = fn(createSnapshot);\n break;\n case \"createHandler\":\n createHandler = fn(createHandler);\n break;\n default:\n throw new Error(\"unknown function\");\n }\n}\nfunction unstable_enableOp(enabled = true) {\n if (enabled === true) {\n createOp = createOpDefault;\n } else if (enabled === false) {\n createOp = void 0;\n } else {\n createOp = enabled;\n }\n}\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_enableOp, unstable_getInternalStates, unstable_replaceInternalFunction };\n",null,null,null,null,null,null],"names":["reg","isEmail","email","test","isMobile","s","isPassWord","isPasswordWithSymbol","password","hasSpace","isEn","isChinese","GET_ORIGINAL_SYMBOL","Symbol","getProto","Object","getPrototypeOf","objectsToTrack","WeakMap","getUntracked","obj","has","get","prototype","Array","isObjectToTrack","isObject","x","proxyStateMap","refSet","WeakSet","versionHolder","proxyCache","objectIs","is","newProxy","target","handler","Proxy","canProxy","isArray","iterator","Error","Number","Date","String","RegExp","ArrayBuffer","Promise","createHandler","isInitializing","addPropListener","removePropListener","notifyUpdate","deleteProperty","prop","Reflect","deleted","set","value","receiver","hasPrevValue","prevValue","nextValue","proxy","baseObject","found","version","listeners","Set","op","nextVersion","checkVersion","forEach","listener","createPropListener","newOp","propProxyStates","Map","initializing","propValue","propProxyState","env","MODE","size","remove","_a","entry","delete","call","proxyObject","proxyState","nextCheckVersion","propVersion","add","prevRemove","ownKeys","key","desc","getOwnPropertyDescriptor","writable","storeConfig","config","appVersion","aes","encryptKey","storage","prefix","replace","jsonParse","getConfig","getType","data","typeStr","toString","end","length","substring","isJson","JSON","parse","encrypt","secretKey","dataStr","stringify","CryptoJS","AES","decrypt","encryptedData","originalText","enc","Utf8","storageHandler","type","window","sessionStorage","localStorage","getOptions","options","mergeObject","getStorageKey","storageKey","oldDataStr","getItem","oldData","assign","setItem","str","error","console","removeItem","clear","session","oldObj","newObj","hasOwnProperty","item","undefined","urlParser","url","includes","keyValue","split","i","utils","setConfig","cfg","configMerged","isEmpty","debounce","fn","delay","timer","params","clearTimeout","setTimeout","throttle","clone","source","targetObj","constructor","keys","objectKey","createDownloadLink","res","fileName","document","createElement","link","download","style","display","href","URL","createObjectURL","body","appendChild","click","revokeObjectURL","removeChild","arrayDelete","arr","find","property","len","element","splice","getAssetsFile","logger","color","urlParams","location","debug","localDebugSetting","warn","kebabCaseToCamelCase","g","toUpperCase","enumGetKeyByValue","getByteLength","view","TextEncoder","encode","Uint8Array","buffer","clearLocalStorage","localKey","isNumeric","isNaN","isFinite","parseFloat","trim","encodeToLetters","btoa","encodeURIComponent","decodeFromLetters","encoded","padded","padEnd","Math","ceil","decodeURIComponent","atob","cls","classes","join","phoneHider","phone","component","app","css","_bem","namespace","block","modifier","_css","b","be","bm","bem","e","m","em","hzw","log","ApiRequest","instance","loading","close","loadingCount","loadingStarted","errorCatch","message","status","headers","AxiosHeaders","initConfig","this","axios","create","interceptors","request","use","async","loadingStart","requestConfigParser","err","response","loadingEnd","responseParser","responseErrorParser","defaults","transformResponse","transformers","JSONBIG","storeAsString","creator","requestConfig","parser","reject","statusCatch","send","resolve","then","catch","post","method","put","responseType","validators","validatePhoneEmail","rule","callback","validateEmail","validateEmailAddress","validatePassword","validateCheckPass","validatePhone","validatePhoneNumber","validateRealName","validateZh","validateEn","validateResearchPlan","validateUsername","validatePasswordWithSymbol","init","index","install","vue"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"index.js","sources":["../src/ts/reg.ts","../node_modules/.pnpm/proxy-compare@3.0.1/node_modules/proxy-compare/dist/index.js","../node_modules/.pnpm/valtio@2.3.0_@types+react@18.3.28_react@18.3.1/node_modules/valtio/esm/vanilla.mjs","../src/ts/store.ts","../src/ts/utils.ts","../src/ts/bem.ts","../src/ts/request.ts","../src/ts/validators.ts","../src/index.ts"],"sourcesContent":[null,"/* eslint @typescript-eslint/no-explicit-any: off */\n// symbols\nconst TRACK_MEMO_SYMBOL = Symbol();\nconst GET_ORIGINAL_SYMBOL = Symbol();\n// properties\nconst AFFECTED_PROPERTY = 'a';\nconst IS_TARGET_COPIED_PROPERTY = 'f';\nconst PROXY_PROPERTY = 'p';\nconst PROXY_CACHE_PROPERTY = 'c';\nconst TARGET_CACHE_PROPERTY = 't';\nconst HAS_KEY_PROPERTY = 'h';\nconst ALL_OWN_KEYS_PROPERTY = 'w';\nconst HAS_OWN_KEY_PROPERTY = 'o';\nconst KEYS_PROPERTY = 'k';\n// function to create a new bare proxy\nlet newProxy = (target, handler) => new Proxy(target, handler);\n// get object prototype\nconst getProto = Object.getPrototypeOf;\nconst objectsToTrack = new WeakMap();\n// check if obj is a plain object or an array\nconst isObjectToTrack = (obj) => obj &&\n (objectsToTrack.has(obj)\n ? objectsToTrack.get(obj)\n : getProto(obj) === Object.prototype || getProto(obj) === Array.prototype);\n// check if it is object\nconst isObject = (x) => typeof x === 'object' && x !== null;\n// Properties that are both non-configurable and non-writable will break\n// the proxy get trap when we try to return a recursive/child compare proxy\n// from them. We can avoid this by making a copy of the target object with\n// all descriptors marked as configurable, see `copyTargetObject`.\n// See: https://github.com/dai-shi/proxy-compare/pull/8\nconst needsToCopyTargetObject = (obj) => Object.values(Object.getOwnPropertyDescriptors(obj)).some((descriptor) => !descriptor.configurable && !descriptor.writable);\n// Make a copy with all descriptors marked as configurable.\nconst copyTargetObject = (obj) => {\n if (Array.isArray(obj)) {\n // Arrays need a special way to copy\n return Array.from(obj);\n }\n // For non-array objects, we create a new object keeping the prototype\n // with changing all configurable options (otherwise, proxies will complain)\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n Object.values(descriptors).forEach((desc) => {\n desc.configurable = true;\n });\n return Object.create(getProto(obj), descriptors);\n};\nconst createProxyHandler = (origObj, isTargetCopied) => {\n const state = {\n [IS_TARGET_COPIED_PROPERTY]: isTargetCopied,\n };\n let trackObject = false; // for trackMemo\n const recordUsage = (type, key) => {\n if (!trackObject) {\n let used = state[AFFECTED_PROPERTY].get(origObj);\n if (!used) {\n used = {};\n state[AFFECTED_PROPERTY].set(origObj, used);\n }\n if (type === ALL_OWN_KEYS_PROPERTY) {\n used[ALL_OWN_KEYS_PROPERTY] = true;\n }\n else {\n let set = used[type];\n if (!set) {\n set = new Set();\n used[type] = set;\n }\n set.add(key);\n }\n }\n };\n const recordObjectAsUsed = () => {\n trackObject = true;\n state[AFFECTED_PROPERTY].delete(origObj);\n };\n const handler = {\n get(target, key) {\n if (key === GET_ORIGINAL_SYMBOL) {\n return origObj;\n }\n recordUsage(KEYS_PROPERTY, key);\n return createProxy(Reflect.get(target, key), state[AFFECTED_PROPERTY], state[PROXY_CACHE_PROPERTY], state[TARGET_CACHE_PROPERTY]);\n },\n has(target, key) {\n if (key === TRACK_MEMO_SYMBOL) {\n recordObjectAsUsed();\n return true;\n }\n recordUsage(HAS_KEY_PROPERTY, key);\n return Reflect.has(target, key);\n },\n getOwnPropertyDescriptor(target, key) {\n recordUsage(HAS_OWN_KEY_PROPERTY, key);\n return Reflect.getOwnPropertyDescriptor(target, key);\n },\n ownKeys(target) {\n recordUsage(ALL_OWN_KEYS_PROPERTY);\n return Reflect.ownKeys(target);\n },\n };\n if (isTargetCopied) {\n handler.set = handler.deleteProperty = () => false;\n }\n return [handler, state];\n};\nconst getOriginalObject = (obj) => \n// unwrap proxy\nobj[GET_ORIGINAL_SYMBOL] ||\n // otherwise\n obj;\n/**\n * Create a proxy.\n *\n * This function will create a proxy at top level and proxy nested objects as you access them,\n * in order to keep track of which properties were accessed via get/has proxy handlers:\n *\n * NOTE: Printing of WeakMap is hard to inspect and not very readable\n * for this purpose you can use the `affectedToPathList` helper.\n *\n * @param {object} obj - Object that will be wrapped on the proxy.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that will hold the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [proxyCache] -\n * WeakMap that will help keep referential identity for proxies.\n * @returns {Proxy<object>} - Object wrapped in a proxy.\n *\n * @example\n * import { createProxy } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n * const proxy = createProxy(original, affected);\n *\n * proxy.a // Will mark as used and track its value.\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"a\"\n *\n * proxy.d // Will mark \"d\" as accessed to track and proxy itself ({ e: \"3\" }).\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"d\"\n */\nexport const createProxy = (obj, affected, proxyCache, targetCache) => {\n if (!isObjectToTrack(obj))\n return obj;\n let targetAndCopied = targetCache && targetCache.get(obj);\n if (!targetAndCopied) {\n const target = getOriginalObject(obj);\n if (needsToCopyTargetObject(target)) {\n targetAndCopied = [target, copyTargetObject(target)];\n }\n else {\n targetAndCopied = [target];\n }\n targetCache === null || targetCache === void 0 ? void 0 : targetCache.set(obj, targetAndCopied);\n }\n const [target, copiedTarget] = targetAndCopied;\n let handlerAndState = proxyCache && proxyCache.get(target);\n if (!handlerAndState ||\n handlerAndState[1][IS_TARGET_COPIED_PROPERTY] !== !!copiedTarget) {\n handlerAndState = createProxyHandler(target, !!copiedTarget);\n handlerAndState[1][PROXY_PROPERTY] = newProxy(copiedTarget || target, handlerAndState[0]);\n if (proxyCache) {\n proxyCache.set(target, handlerAndState);\n }\n }\n handlerAndState[1][AFFECTED_PROPERTY] = affected;\n handlerAndState[1][PROXY_CACHE_PROPERTY] = proxyCache;\n handlerAndState[1][TARGET_CACHE_PROPERTY] = targetCache;\n return handlerAndState[1][PROXY_PROPERTY];\n};\nconst isAllOwnKeysChanged = (prevObj, nextObj) => {\n const prevKeys = Reflect.ownKeys(prevObj);\n const nextKeys = Reflect.ownKeys(nextObj);\n return (prevKeys.length !== nextKeys.length ||\n prevKeys.some((k, i) => k !== nextKeys[i]));\n};\n/**\n * Compare changes on objects.\n *\n * This will compare the affected properties on tracked objects inside the proxy\n * to check if there were any changes made to it,\n * by default if no property was accessed on the proxy it will attempt to do a\n * reference equality check for the objects provided (Object.is(a, b)). If you access a property\n * on the proxy, then isChanged will only compare the affected properties.\n *\n * @param {object} prevObj - The previous object to compare.\n * @param {object} nextObj - Object to compare with the previous one.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that holds the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [cache] -\n * WeakMap that holds a cache of the comparisons for better performance with repetitive comparisons,\n * and to avoid infinite loop with circular structures.\n * @returns {boolean} - Boolean indicating if the affected property on the object has changed.\n *\n * @example\n * import { createProxy, isChanged } from 'proxy-compare';\n *\n * const obj = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(obj, affected);\n *\n * proxy.a\n *\n * isChanged(obj, { a: \"1\" }, affected) // false\n *\n * proxy.a = \"2\"\n *\n * isChanged(obj, { a: \"1\" }, affected) // true\n */\nexport const isChanged = (prevObj, nextObj, affected, cache, // for object with cycles\nisEqual = Object.is) => {\n if (isEqual(prevObj, nextObj)) {\n return false;\n }\n if (!isObject(prevObj) || !isObject(nextObj))\n return true;\n const used = affected.get(getOriginalObject(prevObj));\n if (!used)\n return true;\n if (cache) {\n const hit = cache.get(prevObj);\n if (hit === nextObj) {\n return false;\n }\n // for object with cycles\n cache.set(prevObj, nextObj);\n }\n let changed = null;\n for (const key of used[HAS_KEY_PROPERTY] || []) {\n changed = Reflect.has(prevObj, key) !== Reflect.has(nextObj, key);\n if (changed)\n return changed;\n }\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n changed = isAllOwnKeysChanged(prevObj, nextObj);\n if (changed)\n return changed;\n }\n else {\n for (const key of used[HAS_OWN_KEY_PROPERTY] || []) {\n const hasPrev = !!Reflect.getOwnPropertyDescriptor(prevObj, key);\n const hasNext = !!Reflect.getOwnPropertyDescriptor(nextObj, key);\n changed = hasPrev !== hasNext;\n if (changed)\n return changed;\n }\n }\n for (const key of used[KEYS_PROPERTY] || []) {\n changed = isChanged(prevObj[key], nextObj[key], affected, cache, isEqual);\n if (changed)\n return changed;\n }\n if (changed === null)\n throw new Error('invalid used');\n return changed;\n};\n// explicitly track object with memo\nexport const trackMemo = (obj) => {\n if (isObjectToTrack(obj)) {\n return TRACK_MEMO_SYMBOL in obj;\n }\n return false;\n};\n/**\n * Unwrap proxy to get the original object.\n *\n * Used to retrieve the original object used to create the proxy instance with `createProxy`.\n *\n * @param {Proxy<object>} obj - The proxy wrapper of the originial object.\n * @returns {object | null} - Return either the unwrapped object if exists.\n *\n * @example\n * import { createProxy, getUntracked } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n * const originalFromProxy = getUntracked(proxy)\n *\n * Object.is(original, originalFromProxy) // true\n * isChanged(original, originalFromProxy, affected) // false\n */\nexport const getUntracked = (obj) => {\n if (isObjectToTrack(obj)) {\n return obj[GET_ORIGINAL_SYMBOL] || null;\n }\n return null;\n};\n/**\n * Mark object to be tracked.\n *\n * This function marks an object that will be passed into `createProxy`\n * as marked to track or not. By default only Array and Object are marked to track,\n * so this is useful for example to mark a class instance to track or to mark a object\n * to be untracked when creating your proxy.\n *\n * @param obj - Object to mark as tracked or not.\n * @param mark - Boolean indicating whether you want to track this object or not.\n * @returns - No return.\n *\n * @example\n * import { createProxy, markToTrack, isChanged } from 'proxy-compare';\n *\n * const nested = { e: \"3\" }\n *\n * markToTrack(nested, false)\n *\n * const original = { a: \"1\", c: \"2\", d: nested };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n *\n * proxy.d.e\n *\n * isChanged(original, { d: { e: \"3\" } }, affected) // true\n */\nexport const markToTrack = (obj, mark = true) => {\n objectsToTrack.set(obj, mark);\n};\n/**\n * Convert `affected` to path list\n *\n * `affected` is a weak map which is not printable.\n * This function is can convert it to printable path list.\n * It's for debugging purpose.\n *\n * @param obj - An object that is used with `createProxy`.\n * @param affected - A weak map that is used with `createProxy`.\n * @param onlyWithValues - An optional boolean to exclude object getters.\n * @returns - An array of paths.\n */\nexport const affectedToPathList = (obj, affected, onlyWithValues) => {\n const list = [];\n const seen = new WeakSet();\n const walk = (x, path) => {\n var _a, _b, _c;\n if (seen.has(x)) {\n // for object with cycles\n return;\n }\n if (isObject(x)) {\n seen.add(x);\n }\n const used = isObject(x) && affected.get(getOriginalObject(x));\n if (used) {\n (_a = used[HAS_KEY_PROPERTY]) === null || _a === void 0 ? void 0 : _a.forEach((key) => {\n const segment = `:has(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n const segment = ':ownKeys';\n list.push(path ? [...path, segment] : [segment]);\n }\n else {\n (_b = used[HAS_OWN_KEY_PROPERTY]) === null || _b === void 0 ? void 0 : _b.forEach((key) => {\n const segment = `:hasOwn(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n }\n (_c = used[KEYS_PROPERTY]) === null || _c === void 0 ? void 0 : _c.forEach((key) => {\n if (!onlyWithValues ||\n 'value' in (Object.getOwnPropertyDescriptor(x, key) || {})) {\n walk(x[key], path ? [...path, key] : [key]);\n }\n });\n }\n else if (path) {\n list.push(path);\n }\n };\n walk(obj);\n return list;\n};\n/**\n * replace newProxy function.\n *\n * This can be used if you want to use proxy-polyfill.\n * Note that proxy-polyfill can't polyfill everything.\n * Use it at your own risk.\n */\nexport const replaceNewProxy = (fn) => {\n newProxy = fn;\n};\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst canProxyDefault = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer) && !(x instanceof Promise);\nconst createSnapshotDefault = (target, version) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const { enumerable } = Reflect.getOwnPropertyDescriptor(\n target,\n key\n );\n const desc = {\n value,\n enumerable,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshotDefault(target2, ensureVersion());\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n};\nconst createHandlerDefault = (isInitializing, addPropListener, removePropListener, notifyUpdate) => ({\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate(createOp == null ? void 0 : createOp(\"delete\", prop, prevValue));\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = !isInitializing() && Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n const nextValue = !proxyStateMap.has(value) && canProxy(value) ? proxy(value) : value;\n addPropListener(prop, nextValue);\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate(createOp == null ? void 0 : createOp(\"set\", prop, value, prevValue));\n return true;\n }\n});\nconst createOpDefault = (type, prop, ...args) => [type, [prop], ...args];\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst snapCache = /* @__PURE__ */ new WeakMap();\nconst versionHolder = [1];\nconst proxyCache = /* @__PURE__ */ new WeakMap();\nlet objectIs = Object.is;\nlet newProxy = (target, handler) => new Proxy(target, handler);\nlet canProxy = canProxyDefault;\nlet createSnapshot = createSnapshotDefault;\nlet createHandler = createHandlerDefault;\nlet createOp;\nfunction proxy(baseObject = {}) {\n if (!isObject(baseObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(baseObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n checkVersion = version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = version;\n const ensureVersion = (nextCheckVersion = versionHolder[0]) => {\n if (checkVersion !== nextCheckVersion) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n let newOp;\n if (op) {\n newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n }\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propValue) => {\n const propProxyState = !refSet.has(propValue) && proxyStateMap.get(propValue);\n if (propProxyState) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[2](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[2](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n let initializing = true;\n const handler = createHandler(\n () => initializing,\n addPropListener,\n removePropListener,\n notifyUpdate\n );\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(baseObject, proxyObject);\n const proxyState = [baseObject, ensureVersion, addListener];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(baseObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n baseObject,\n key\n );\n if (\"value\" in desc && desc.writable) {\n proxyObject[key] = baseObject[key];\n }\n });\n initializing = false;\n return proxyObject;\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[2];\n let isListenerActive = false;\n const listener = (op) => {\n if (op) {\n ops.push(op);\n }\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion] = proxyState;\n return createSnapshot(target, ensureVersion());\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nfunction unstable_getInternalStates() {\n return {\n proxyStateMap,\n refSet,\n snapCache,\n versionHolder,\n proxyCache\n };\n}\nfunction unstable_replaceInternalFunction(name, fn) {\n switch (name) {\n case \"objectIs\":\n objectIs = fn(objectIs);\n break;\n case \"newProxy\":\n newProxy = fn(newProxy);\n break;\n case \"canProxy\":\n canProxy = fn(canProxy);\n break;\n case \"createSnapshot\":\n createSnapshot = fn(createSnapshot);\n break;\n case \"createHandler\":\n createHandler = fn(createHandler);\n break;\n default:\n throw new Error(\"unknown function\");\n }\n}\nfunction unstable_enableOp(enabled = true) {\n if (enabled === true) {\n createOp = createOpDefault;\n } else if (enabled === false) {\n createOp = void 0;\n } else {\n createOp = enabled;\n }\n}\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_enableOp, unstable_getInternalStates, unstable_replaceInternalFunction };\n",null,null,null,null,null,null],"names":["reg","isEmail","email","test","isMobile","s","isPassWord","isPasswordWithSymbol","password","hasSpace","isEn","isChinese","GET_ORIGINAL_SYMBOL","Symbol","getProto","Object","getPrototypeOf","objectsToTrack","WeakMap","getUntracked","obj","has","get","prototype","Array","isObjectToTrack","isObject","x","proxyStateMap","refSet","WeakSet","versionHolder","proxyCache","objectIs","is","newProxy","target","handler","Proxy","canProxy","isArray","iterator","Error","Number","Date","String","RegExp","ArrayBuffer","Promise","createHandler","isInitializing","addPropListener","removePropListener","notifyUpdate","deleteProperty","prop","Reflect","deleted","set","value","receiver","hasPrevValue","prevValue","nextValue","proxy","baseObject","found","version","listeners","Set","op","nextVersion","checkVersion","forEach","listener","createPropListener","newOp","propProxyStates","Map","initializing","propValue","propProxyState","env","MODE","size","remove","_a","entry","delete","call","proxyObject","proxyState","nextCheckVersion","propVersion","add","prevRemove","ownKeys","key","desc","getOwnPropertyDescriptor","writable","storeConfig","config","appVersion","aes","encryptKey","storage","prefix","replace","jsonParse","getConfig","getType","data","typeStr","toString","end","length","substring","isJson","JSON","parse","encrypt","secretKey","dataStr","stringify","CryptoJS","AES","decrypt","encryptedData","originalText","enc","Utf8","storageHandler","type","window","sessionStorage","localStorage","getOptions","options","mergeObject","getStorageKey","storageKey","oldDataStr","getItem","oldData","assign","setItem","str","error","console","removeItem","clear","session","oldObj","newObj","hasOwnProperty","item","undefined","urlParser","url","includes","keyValue","split","i","utils","setConfig","cfg","configMerged","isEmpty","debounce","fn","delay","timer","params","clearTimeout","setTimeout","throttle","clone","source","targetObj","constructor","keys","objectKey","createDownloadLink","res","fileName","document","createElement","link","download","style","display","href","URL","createObjectURL","body","appendChild","click","revokeObjectURL","removeChild","arrayDelete","arr","find","property","len","element","splice","getAssetsFile","logger","color","urlParams","location","debug","localDebugSetting","warn","kebabCaseToCamelCase","g","toUpperCase","enumGetKeyByValue","getByteLength","view","TextEncoder","encode","Uint8Array","buffer","clearLocalStorage","localKey","isNumeric","isNaN","isFinite","parseFloat","trim","encodeToLetters","btoa","encodeURIComponent","decodeFromLetters","encoded","padded","padEnd","Math","ceil","decodeURIComponent","atob","cls","classes","join","phoneHider","phone","component","app","css","_bem","namespace","block","modifier","_css","b","be","bm","bem","e","m","em","hzw","log","ApiRequest","instance","loading","close","loadingCount","loadingStarted","errorCatch","message","status","headers","AxiosHeaders","initConfig","this","axios","create","interceptors","request","use","async","loadingStart","requestConfigParser","err","response","loadingEnd","responseParser","responseErrorParser","defaults","transformResponse","transformers","JSONBIG","storeAsString","creator","requestConfig","parser","reject","statusCatch","send","resolve","then","catch","post","method","put","responseType","validators","validatePhoneEmail","rule","callback","validateEmail","validateEmailAddress","validatePassword","validateCheckPass","validatePhone","validatePhoneNumber","validateRealName","validateZh","validateEn","validateResearchPlan","validateUsername","validatePasswordWithSymbol","init","index","install","vue"],"mappings":"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","x_google_ignoreList":[1,2]}
package/dist/umi.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  declare module '@hzw-tech/utils/dist/umi' {
2
2
  import type { Options as AutoImportOptions } from 'unplugin-auto-import/types'
3
- import type { Plugin } from 'vite'
3
+ import type { ChainedMap } from 'webpack-chain'
4
4
 
5
5
  export interface ScssOptions {
6
6
  additionalData: string;
@@ -11,7 +11,7 @@ declare module '@hzw-tech/utils/dist/umi' {
11
11
  * Configure unplugin-auto-import for Vite
12
12
  * @param options - Configuration options
13
13
  */
14
- export function autoImport(options?: Partial<AutoImportOptions>): Plugin
14
+ export function autoImport(chainWebpackConfig: ChainedMap<void>, options?: Partial<AutoImportOptions>): ChainedMap<void>
15
15
 
16
16
  /**
17
17
  * SCSS configuration options
package/dist/umi.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import process from 'node:process'
2
2
  import pluginImport from 'unplugin-auto-import/webpack'
3
+ import { mergeObject } from './utils.js'
3
4
 
4
- function autoImport(options) {
5
+ function autoImport(chainWebpackConfig, options) {
5
6
  const { mode } = process.env
6
7
  const isPublish = mode === 'publish'
7
8
  const optionsDefault = {
@@ -16,7 +17,7 @@ function autoImport(options) {
16
17
  /**
17
18
  * 仅发布包时生成dts文件
18
19
  */
19
- dts: isPublish() ? './src/types/umi.d.ts' : false,
20
+ dts: isPublish ? './src/types/umi.d.ts' : false,
20
21
  eslintrc: {
21
22
  enabled: true,
22
23
  },
@@ -24,8 +25,9 @@ function autoImport(options) {
24
25
  if (!isPublish && !optionsDefault.imports.includes('@hzw-tech/utils')) {
25
26
  optionsDefault.imports.push({ '@hzw-tech/utils': ['utils', 'css', 'bem', 'request', 'reg', 'validators'] })
26
27
  }
27
- const optionsMerged = Object.assign(optionsDefault, options)
28
- return pluginImport(optionsMerged)
28
+ const optionsMerged = mergeObject(optionsDefault, options)
29
+ chainWebpackConfig.plugin('unplugin-auto-import').use(pluginImport(optionsMerged))
30
+ return chainWebpackConfig
29
31
  }
30
32
 
31
33
  export function scss(options) {
@@ -33,13 +35,9 @@ export function scss(options) {
33
35
  if (options && options.additionalData) {
34
36
  additionalData = options.additionalData
35
37
  }
36
- return {
37
- additionalData: `
38
- @use "@hzw-tech/utils/dist/styles/reference/index.scss" as *;
39
- ${additionalData}
40
- `,
41
- ...options,
42
- }
38
+ return mergeObject({
39
+ additionalData,
40
+ }, options)
43
41
  }
44
42
 
45
43
  export default {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hzw-tech/utils",
3
3
  "type": "module",
4
- "version": "0.2.3",
4
+ "version": "0.2.5",
5
5
  "description": "通用前端工具包,包含请求,正则校验,全局ts声明等",
6
6
  "author": "hzw-tech",
7
7
  "license": "MIT",
@@ -38,6 +38,7 @@
38
38
  "vite": "^7.0.6"
39
39
  },
40
40
  "dependencies": {
41
+ "@umijs/max": "^4.6.26",
41
42
  "@vitejs/plugin-vue": "^6.0.1",
42
43
  "json-bigint": "^1.0.0",
43
44
  "pinia": "^3.0.3",
@@ -56,6 +57,7 @@
56
57
  "rimraf": "^6.0.1",
57
58
  "rollup": "^4.34.4",
58
59
  "rollup-plugin-copy": "^3.5.0",
59
- "tslib": "^2.8.1"
60
+ "tslib": "^2.8.1",
61
+ "webpack-chain": "^6.5.1"
60
62
  }
61
63
  }