@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.89 kB
Source Map (JSON)
{"version":3,"file":"iter.cjs","names":["thing: unknown","x: unknown","context: Partial<RunnableConfig> | undefined","iter: IterableIterator<T>","AsyncLocalStorageProviderSingleton","pickRunnableConfigKeys","iter: AsyncIterable<T>"],"sources":["../../src/runnables/iter.ts"],"sourcesContent":["import type { RunnableConfig } from \"../runnables/types.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { pickRunnableConfigKeys } from \"./config.js\";\n\nexport function isIterableIterator(\n thing: unknown\n): thing is IterableIterator<unknown> {\n return (\n typeof thing === \"object\" &&\n thing !== null &&\n typeof (thing as Generator)[Symbol.iterator] === \"function\" &&\n // avoid detecting array/set as iterator\n typeof (thing as Generator).next === \"function\"\n );\n}\n\nexport const isIterator = (x: unknown): x is Iterator<unknown> =>\n x != null &&\n typeof x === \"object\" &&\n \"next\" in x &&\n typeof x.next === \"function\";\n\nexport function isAsyncIterable(\n thing: unknown\n): thing is AsyncIterable<unknown> {\n return (\n typeof thing === \"object\" &&\n thing !== null &&\n typeof (thing as AsyncIterable<unknown>)[Symbol.asyncIterator] ===\n \"function\"\n );\n}\n\nexport function* consumeIteratorInContext<T>(\n context: Partial<RunnableConfig> | undefined,\n iter: IterableIterator<T>\n): IterableIterator<T> {\n while (true) {\n const { value, done } = AsyncLocalStorageProviderSingleton.runWithConfig(\n pickRunnableConfigKeys(context),\n iter.next.bind(iter),\n true\n );\n if (done) {\n break;\n } else {\n yield value;\n }\n }\n}\n\nexport async function* consumeAsyncIterableInContext<T>(\n context: Partial<RunnableConfig> | undefined,\n iter: AsyncIterable<T>\n): AsyncIterableIterator<T> {\n const iterator = iter[Symbol.asyncIterator]();\n while (true) {\n const { value, done } =\n await AsyncLocalStorageProviderSingleton.runWithConfig(\n pickRunnableConfigKeys(context),\n iterator.next.bind(iter),\n true\n );\n if (done) {\n break;\n } else {\n yield value;\n }\n }\n}\n"],"mappings":";;;;;AAIA,SAAgB,mBACdA,OACoC;AACpC,QACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAoB,OAAO,cAAc,cAEjD,OAAQ,MAAoB,SAAS;AAExC;AAED,MAAa,aAAa,CAACC,MACzB,KAAK,QACL,OAAO,MAAM,YACb,UAAU,KACV,OAAO,EAAE,SAAS;AAEpB,SAAgB,gBACdD,OACiC;AACjC,QACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAiC,OAAO,mBAC9C;AAEL;AAED,UAAiB,yBACfE,SACAC,MACqB;AACrB,QAAO,MAAM;EACX,MAAM,EAAE,OAAO,MAAM,GAAGC,iDAAmC,cACzDC,sCAAuB,QAAQ,EAC/B,KAAK,KAAK,KAAK,KAAK,EACpB,KACD;AACD,MAAI,KACF;OAEA,MAAM;CAET;AACF;AAED,gBAAuB,8BACrBH,SACAI,MAC0B;CAC1B,MAAM,WAAW,KAAK,OAAO,gBAAgB;AAC7C,QAAO,MAAM;EACX,MAAM,EAAE,OAAO,MAAM,GACnB,MAAMF,iDAAmC,cACvCC,sCAAuB,QAAQ,EAC/B,SAAS,KAAK,KAAK,KAAK,EACxB,KACD;AACH,MAAI,KACF;OAEA,MAAM;CAET;AACF"}