UNPKG

@tanstack/vue-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in Vue

100 lines (99 loc) 3.16 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/utils.ts var utils_exports = {}; __export(utils_exports, { VUE_QUERY_CLIENT: () => VUE_QUERY_CLIENT, cloneDeep: () => cloneDeep, cloneDeepUnref: () => cloneDeepUnref, getClientKey: () => getClientKey, updateState: () => updateState }); module.exports = __toCommonJS(utils_exports); var import_vue_demi = require("vue-demi"); var VUE_QUERY_CLIENT = "VUE_QUERY_CLIENT"; function getClientKey(key) { const suffix = key ? `:${key}` : ""; return `${VUE_QUERY_CLIENT}${suffix}`; } function updateState(state, update) { Object.keys(state).forEach((key) => { state[key] = update[key]; }); } function _cloneDeep(value, customize, currentKey = "", currentLevel = 0) { if (customize) { const result = customize(value, currentKey, currentLevel); if (result === void 0 && (0, import_vue_demi.isRef)(value)) { return result; } if (result !== void 0) { return result; } } if (Array.isArray(value)) { return value.map( (val, index) => _cloneDeep(val, customize, String(index), currentLevel + 1) ); } if (typeof value === "object" && isPlainObject(value)) { const entries = Object.entries(value).map(([key, val]) => [ key, _cloneDeep(val, customize, key, currentLevel + 1) ]); return Object.fromEntries(entries); } return value; } function cloneDeep(value, customize) { return _cloneDeep(value, customize); } function cloneDeepUnref(obj, unrefGetters = false) { return cloneDeep(obj, (val, key, level) => { if (level === 1 && key === "queryKey") { return cloneDeepUnref(val, true); } if (unrefGetters && isFunction(val)) { return cloneDeepUnref(val(), unrefGetters); } if ((0, import_vue_demi.isRef)(val)) { return cloneDeepUnref((0, import_vue_demi.unref)(val), unrefGetters); } return void 0; }); } function isPlainObject(value) { if (Object.prototype.toString.call(value) !== "[object Object]") { return false; } const prototype = Object.getPrototypeOf(value); return prototype === null || prototype === Object.prototype; } function isFunction(value) { return typeof value === "function"; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { VUE_QUERY_CLIENT, cloneDeep, cloneDeepUnref, getClientKey, updateState }); //# sourceMappingURL=utils.cjs.map