UNPKG

@wordpress/compose

Version:
23 lines (22 loc) 670 B
// packages/compose/src/hooks/use-instance-id/index.ts import { useMemo } from "@wordpress/element"; var instanceMap = /* @__PURE__ */ new WeakMap(); function createId(object) { const instances = instanceMap.get(object) || 0; instanceMap.set(object, instances + 1); return instances; } function useInstanceId(object, prefix, preferredId) { return useMemo(() => { if (preferredId) { return preferredId; } const id = createId(object); return prefix ? `${prefix}-${id}` : id; }, [object, preferredId, prefix]); } var use_instance_id_default = useInstanceId; export { use_instance_id_default as default }; //# sourceMappingURL=index.js.map