UNPKG

valtio

Version:

🧙 Valtio makes proxy-state simple for React and Vanilla

39 lines (38 loc) • 1.16 kB
/** * Determines if an object is a proxy Map created with proxyMap */ export declare const isProxyMap: (obj: object) => boolean; /** * Creates a reactive Map that integrates with Valtio's proxy system * * This utility creates a Map-like object that works with Valtio's reactivity system, * allowing you to track changes to the Map in the same way as regular proxy objects. * The API is the same as the standard JavaScript Map. * * @example * import { proxyMap } from 'valtio/utils' * const state = proxyMap([["key", "value"]]) * * This can be used inside a proxy as well * * const state = proxy({ * count: 1, * map: proxyMap() * }) * * When using an object as a key, you can wrap it with `ref` so it's not proxied * this is useful if you want to preserve the key equality * * import { ref } from 'valtio' * * const key = ref({}) * state.set(key, "value") * state.get(key) //value * * const key = {} * state.set(key, "value") * state.get(key) //undefined */ export declare function proxyMap<K, V>(entries?: Iterable<[K, V]> | undefined | null): Map<K, V> & { $$valtioSnapshot: Omit<Map<K, V>, "set" | "delete" | "clear">; };