{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/contextmenu/src/utils.ts"],"sourcesContent":["import type { VNode } from 'vue'\n\nexport function proxyExposed<T>(vnode: VNode): T {\n  return new Proxy({} as any, {\n    get(_, key) {\n      if (!vnode.component) return undefined\n\n      return (\n        (vnode.component.proxy as any)?.[key] ??\n        (vnode.component.exposeProxy as any)?.[key] ??\n        (vnode.component.exposed as any)?.[key]\n      )\n    },\n  }) as T\n}\n\nconst defaultMessage = 'This object was destroyed, do not use it anywhere'\nconst returnTrue = () => true\n\n/**\n * 将一个对象销毁，销毁后的对象所有方法不可用，属性值均为 `null`\n *\n * @param object 要销毁的对象\n * @param message 销毁后，调用方法时的错误信息\n */\nexport function destroyObject(object: any, message = defaultMessage) {\n  const throwDestroyed = () => {\n    throw new Error(message)\n  }\n\n  Object.keys(object).forEach((name) => {\n    if (typeof object[name] === 'function') {\n      object[name] = throwDestroyed.bind(object)\n    } else {\n      object[name] = null\n    }\n  })\n\n  Object.getOwnPropertyNames(object.constructor.prototype).forEach((name) => {\n    if (name !== 'constructor' && typeof object[name] === 'function') {\n      object[name] = throwDestroyed.bind(object)\n    }\n  })\n\n  object.isDestroyed = returnTrue\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;AACvB,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE;AAChB,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;AAC1B,QAAQ,OAAO,KAAK,CAAC,CAAC;AACtB,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACzO,KAAK;AACL,GAAG,CAAC,CAAC;AACL,CAAC;AACD,MAAM,cAAc,GAAG,mDAAmD,CAAC;AAC3E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC;AACvB,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE;AAChE,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACxC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE;AAC5C,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjD,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC7E,IAAI,IAAI,IAAI,KAAK,aAAa,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE;AACtE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjD,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC;;;;"}