UNPKG

ai

Version:

Vercel AI SDK - The AI Toolkit for TypeScript and JavaScript

1 lines 1.58 kB
{"version":3,"sources":["../tokens.tsx"],"sourcesContent":["import { Suspense } from 'react';\n\ntype Props = {\n /**\n * A ReadableStream produced by the AI SDK.\n */\n stream: ReadableStream;\n};\n\n/**\nA React Server Component that recursively renders a stream of tokens.\nCan only be used inside of server components.\n\n@deprecated Use RSCs / Generative AI instead.\n */\nexport async function Tokens(props: Props) {\n const { stream } = props;\n const reader = stream.getReader();\n\n return (\n <Suspense>\n {/* @ts-expect-error React Server Components */}\n <RecursiveTokens reader={reader} />\n </Suspense>\n );\n}\n\ntype InternalProps = {\n reader: ReadableStreamDefaultReader;\n};\n\nasync function RecursiveTokens({ reader }: InternalProps) {\n const { done, value } = await reader.read();\n\n if (done) {\n return null;\n }\n\n const text = new TextDecoder().decode(value);\n\n return (\n <>\n {text}\n <Suspense fallback={null}>\n {/* @ts-expect-error React Server Components */}\n <RecursiveTokens reader={reader} />\n </Suspense>\n </>\n );\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAsBnB,SAmBF,UAnBE,KAmBF,YAnBE;AAPN,eAAsB,OAAO,OAAc;AACzC,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,SAAS,OAAO,UAAU;AAEhC,SACE,oBAAC,YAEC,8BAAC,mBAAgB,QAAgB,GACnC;AAEJ;AAMA,eAAe,gBAAgB,EAAE,OAAO,GAAkB;AACxD,QAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,MAAI,MAAM;AACR,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AAE3C,SACE,iCACG;AAAA;AAAA,IACD,oBAAC,YAAS,UAAU,MAElB,8BAAC,mBAAgB,QAAgB,GACnC;AAAA,KACF;AAEJ;","names":[]}