UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

30 lines 983 B
// src/client/util-hooks/tapLookupResources.ts import { tapMemo, tapResources } from "@assistant-ui/tap"; var tapLookupResources = (elements) => { const elementsMap = tapMemo(() => Object.fromEntries(elements), [elements]); const resources = tapResources(elementsMap, (t) => t, []); const keys = tapMemo(() => Object.keys(resources), [resources]); const state = tapMemo(() => { const result = new Array(keys.length); for (let i = 0; i < keys.length; i++) { result[i] = resources[keys[i]].state; } return result; }, [keys, resources]); return { state, api: (lookup) => { const value = "index" in lookup ? resources[keys[lookup.index]]?.api : resources[lookup.key]?.api; if (!value) { throw new Error( `tapLookupResources: Resource not found for lookup: ${JSON.stringify(lookup)}` ); } return value; } }; }; export { tapLookupResources }; //# sourceMappingURL=tapLookupResources.js.map