{"version":3,"file":"ref-proxy-identity.cjs","sources":["../../../../src/query/builder/ref-proxy-identity.ts"],"sourcesContent":["import type { RefProxy } from './ref-proxy.js'\n\n/**\n * Ref proxy traps answer this module-private key, so a user object shaped\n * like a ref proxy is never mistaken for one.\n */\nexport const REF_PROXY_BRAND: unique symbol = Symbol(`refProxy`)\n\n/** The brand a ref proxy answers, or undefined for any other value. */\nexport function readRefProxyBrand(value: unknown): unknown {\n  if (!value || typeof value !== `object`) return undefined\n  try {\n    const brand = (value as Record<symbol, unknown>)[REF_PROXY_BRAND]\n    return brand === true || Array.isArray(brand) ? brand : undefined\n  } catch {\n    // A revoked proxy, such as a finished Immer draft, is not a ref proxy.\n    return undefined\n  }\n}\n\nexport function isRefProxy(value: any): value is RefProxy {\n  return (\n    value && typeof value === `object` && readRefProxyBrand(value) !== undefined\n  )\n}\n"],"names":[],"mappings":";;AAMO,MAAM,yCAAwC,UAAU;AAGxD,SAAS,kBAAkB,OAAyB;AACzD,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,MAAI;AACF,UAAM,QAAS,MAAkC,eAAe;AAChE,WAAO,UAAU,QAAQ,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAC1D,QAAQ;AAEN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,WAAW,OAA+B;AACxD,SACE,SAAS,OAAO,UAAU,YAAY,kBAAkB,KAAK,MAAM;AAEvE;;;;"}