UNPKG

@cmtlyt/cl-utils

Version:
108 lines (107 loc) 3.75 kB
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "./module/baseFunc", "./module/fetchRequest", "./module/lodash"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLodash = exports.useFetch = exports.useBaseFunc = void 0; const baseFunc = __importStar(require("./module/baseFunc")); const fetchRequest_1 = require("./module/fetchRequest"); const lodash = __importStar(require("./module/lodash")); function forEachObj(obj, callback) { Object.keys(obj).forEach((key) => { callback(obj[key], key, obj); }); } function setKeyReadonly(obj, key, value) { Object.defineProperty(obj, key, { value, writable: false, enumerable: false, configurable: false, }); } /** * 混入baseFunc工具函数 * @param {object} options * @param {boolean} options.toRoot * @param {any} options.target * @returns {undefined|object} */ function useBaseFunc({ toRoot, target }) { const mixin = function (obj, tar) { tar = tar.prototype || tar; forEachObj(obj, function (value, key) { setKeyReadonly(target, '$' + key, value); }); }; if (target) mixin(baseFunc, target); else if (toRoot) mixin(baseFunc, global); else { return { install(vm) { mixin(baseFunc, vm.prototype); }, }; } } exports.useBaseFunc = useBaseFunc; /** * 混入fetch * @param {object} param0 * @param {IInitRequestConfig} param0.config * @param {boolean} param0.toRoot * @returns {undefined|object} */ function useFetch({ config, toRoot, name } = { config: {}, name: '_custom' }) { if (toRoot) { setKeyReadonly(global, '$fetch', (0, fetchRequest_1.createInstance)(config, name)); } else { return { install(vm) { setKeyReadonly(vm.prototype, '$fetch', (0, fetchRequest_1.createInstance)(config, name)); }, }; } } exports.useFetch = useFetch; /** * 返回lodash对象 * @returns {lodash} */ function useLodash() { return lodash; } exports.useLodash = useLodash; });