UNPKG

hataraku

Version:

An autonomous coding agent for building AI-powered development tools. The name "Hataraku" (働く) means "to work" in Japanese.

55 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAsyncStream = createAsyncStream; // A helper that creates an async stream with push/end capabilities. function createAsyncStream() { const buffer = []; let finished = false; let resolver = null; const generator = { async next() { if (buffer.length > 0) { return { value: buffer.shift(), done: false }; } if (finished) { return { value: undefined, done: true }; } return new Promise(resolve => { resolver = resolve; }); }, async return() { finished = true; return { value: undefined, done: true }; }, async throw(err) { finished = true; return { value: undefined, done: true }; }, [Symbol.asyncIterator]() { return this; }, // Implement dispose method without using Symbol.asyncDispose async dispose() { finished = true; } }; const stream = { push(item) { if (resolver) { resolver({ value: item, done: false }); resolver = null; } else { buffer.push(item); } }, end() { finished = true; if (resolver) { resolver({ value: undefined, done: true }); resolver = null; } } }; return { ...generator, ...stream }; } //# sourceMappingURL=async.js.map