payload-is
Version:
A comprehensive TypeScript/JavaScript type checking library providing functions to check data types, collections, primitives, and built-in objects
1 lines • 1.64 kB
Source Map (JSON)
{"version":3,"file":"iterator.cjs","sources":["../../src/iterator.ts"],"sourcesContent":["import { isFunction } from \"./function.ts\";\nimport { isUndefined } from \"./nil.ts\";\nimport { isObject } from \"./object.ts\";\n\n// iterator\nexport function isIterator(payload: unknown): payload is Iterator<any> {\n return (\n (typeof Iterator !== \"undefined\" && payload instanceof Iterator) ||\n (typeof Symbol !== \"undefined\" &&\n !isUndefined(Symbol.iterator) &&\n isObject(payload) &&\n isFunction((payload as IteratorObject<any>)[Symbol.iterator]) &&\n (payload as IteratorObject<any>)[Symbol.iterator]() === payload)\n );\n}\n\n// AsyncIterator\nexport function isAsyncIterator(\n payload: unknown\n): payload is AsyncIterator<any> {\n return (\n typeof Symbol !== \"undefined\" &&\n !isUndefined(Symbol.asyncIterator) &&\n isObject(payload) &&\n isFunction((payload as AsyncIteratorObject<any>)[Symbol.asyncIterator]) &&\n (payload as AsyncIteratorObject<any>)[Symbol.asyncIterator]() === payload\n );\n}\n"],"names":["isUndefined","isObject","isFunction"],"mappings":";;;;;;;AAKO,SAAS,WAAW,OAA4C,EAAA;AACrE,EACG,OAAA,OAAO,QAAa,KAAA,WAAA,IAAe,OAAmB,YAAA,QAAA,IACtD,OAAO,MAAA,KAAW,WACjB,IAAA,CAACA,eAAY,CAAA,MAAA,CAAO,QAAQ,CAAA,IAC5BC,gBAAS,OAAO,CAAA,IAChBC,oBAAY,CAAA,OAAA,CAAgC,MAAO,CAAA,QAAQ,CAAC,CAAA,IAC3D,OAAgC,CAAA,MAAA,CAAO,QAAQ,CAAA,EAAQ,KAAA,OAAA;AAE9D;AAGO,SAAS,gBACd,OAC+B,EAAA;AAC/B,EACE,OAAA,OAAO,WAAW,WAClB,IAAA,CAACF,gBAAY,MAAO,CAAA,aAAa,KACjCC,eAAS,CAAA,OAAO,KAChBC,oBAAY,CAAA,OAAA,CAAqC,OAAO,aAAa,CAAC,KACrE,OAAqC,CAAA,MAAA,CAAO,aAAa,CAAA,EAAQ,KAAA,OAAA;AAEtE;;;;;"}