@tanstack/db
Version:
A reactive client store for building super fast apps on sync
1 lines • 1.33 kB
Source Map (JSON)
{"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;;;;"}