UNPKG

vue-cesium

Version:
1 lines 2.99 kB
{"version":3,"file":"merge-descriptors.mjs","sources":["../../../../packages/utils/merge-descriptors.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-04-06 09:21:02\n * @LastEditTime: 2021-10-02 23:27:05\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\utils\\merge-descriptors.ts\n */\n/*!\n * merge-descriptors\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module variables.\n * @private\n */\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\n\n/**\n * Merge the property descriptors of `src` into `dest`\n *\n * @param {object} dest Object to add descriptors to\n * @param {object} src Object to clone descriptors from\n * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties\n * @returns {object} Reference to dest\n * @public\n */\n\nfunction merge(dest, src, redefine) {\n if (!dest) {\n throw new TypeError('argument dest is required')\n }\n\n if (!src) {\n throw new TypeError('argument src is required')\n }\n\n if (redefine === undefined) {\n // Default to true\n redefine = true\n }\n\n Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) {\n if (!redefine && hasOwnProperty.call(dest, name)) {\n // Skip desriptor\n return\n }\n\n // Copy descriptor\n const descriptor = Object.getOwnPropertyDescriptor(src, name)\n Object.defineProperty(dest, name, descriptor!)\n })\n\n return dest\n}\n\n/**\n * @param {...Object} args\n * @returns {Object}\n */\nexport function mergeDescriptors(...args: any[]) {\n let redefine: boolean\n if (typeof args[args.length - 1] !== 'object') {\n redefine = args.pop()\n }\n\n return args.slice(1).reduce((dest, src, i) => merge(dest, src, redefine), args[0])\n}\n"],"names":[],"mappings":";AAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,cAAA,GAAiB,OAAO,SAAU,CAAA,cAAA,CAAA;AAYxC,SAAS,KAAA,CAAM,IAAM,EAAA,GAAA,EAAK,QAAU,EAAA;AAClC,EAAA,IAAI,CAAC,IAAM,EAAA;AACT,IAAM,MAAA,IAAI,UAAU,2BAA2B,CAAA,CAAA;AAAA,GACjD;AAEA,EAAA,IAAI,CAAC,GAAK,EAAA;AACR,IAAM,MAAA,IAAI,UAAU,0BAA0B,CAAA,CAAA;AAAA,GAChD;AAEA,EAAA,IAAI,aAAa,KAAW,CAAA,EAAA;AAE1B,IAAW,QAAA,GAAA,IAAA,CAAA;AAAA,GACb;AAEA,EAAA,MAAA,CAAO,oBAAoB,GAAG,CAAA,CAAE,OAAQ,CAAA,SAAS,uBAAuB,IAAM,EAAA;AAC5E,IAAA,IAAI,CAAC,QAAY,IAAA,cAAA,CAAe,IAAK,CAAA,IAAA,EAAM,IAAI,CAAG,EAAA;AAEhD,MAAA,OAAA;AAAA,KACF;AAGA,IAAA,MAAM,UAAa,GAAA,MAAA,CAAO,wBAAyB,CAAA,GAAA,EAAK,IAAI,CAAA,CAAA;AAC5D,IAAO,MAAA,CAAA,cAAA,CAAe,IAAM,EAAA,IAAA,EAAM,UAAW,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AAED,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAMO,SAAS,oBAAoB,IAAa,EAAA;AAC/C,EAAI,IAAA,QAAA,CAAA;AACJ,EAAA,IAAI,OAAO,IAAK,CAAA,IAAA,CAAK,MAAS,GAAA,CAAC,MAAM,QAAU,EAAA;AAC7C,IAAA,QAAA,GAAW,KAAK,GAAI,EAAA,CAAA;AAAA,GACtB;AAEA,EAAA,OAAO,KAAK,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAO,CAAC,IAAM,EAAA,GAAA,EAAK,CAAM,KAAA,KAAA,CAAM,MAAM,GAAK,EAAA,QAAQ,CAAG,EAAA,IAAA,CAAK,CAAC,CAAC,CAAA,CAAA;AACnF;;;;"}