{"version":3,"sources":["../../../../src/core/utils/internal/attachSiblingHandlers.ts"],"sourcesContent":["import { invariant } from 'outvariant'\nimport type { AnyHandler } from '../../experimental/handlers-controller'\n\nconst kSiblingHandlers = Symbol('kSiblingHandlers')\n\nexport function attachSiblingHandlers<T extends AnyHandler>(\n  owner: T,\n  siblings: Array<AnyHandler>,\n): T {\n  invariant(\n    getSiblingHandlers(owner).length === 0,\n    'Failed to merge handlers: the owner \"%s\" handler is already merged',\n    owner.kind,\n  )\n\n  Object.defineProperty(owner, kSiblingHandlers, {\n    value: siblings,\n    enumerable: false,\n    writable: false,\n    configurable: false,\n  })\n\n  return owner\n}\n\nexport function getSiblingHandlers(owner: AnyHandler): Array<AnyHandler> {\n  return Reflect.get(owner, kSiblingHandlers) || []\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAG1B,MAAM,mBAAmB,OAAO,kBAAkB;AAE3C,SAAS,sBACd,OACA,UACG;AACH;AAAA,IACE,mBAAmB,KAAK,EAAE,WAAW;AAAA,IACrC;AAAA,IACA,MAAM;AAAA,EACR;AAEA,SAAO,eAAe,OAAO,kBAAkB;AAAA,IAC7C,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AAED,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAsC;AACvE,SAAO,QAAQ,IAAI,OAAO,gBAAgB,KAAK,CAAC;AAClD;","names":[]}