working rss feed to nostr publish

This commit is contained in:
2023-11-24 00:43:28 -05:00
parent 06edcb57ae
commit 88d2f9cfec
8396 changed files with 783105 additions and 0 deletions
@@ -0,0 +1,11 @@
import { Writable } from "stream";
export class Collector extends Writable {
constructor() {
super(...arguments);
this.bufferedBytes = [];
}
_write(chunk, encoding, callback) {
this.bufferedBytes.push(chunk);
callback();
}
}
@@ -0,0 +1,14 @@
import { Collector } from "./collector";
export const streamCollector = (stream) => new Promise((resolve, reject) => {
const collector = new Collector();
stream.pipe(collector);
stream.on("error", (err) => {
collector.end();
reject(err);
});
collector.on("error", reject);
collector.on("finish", function () {
const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));
resolve(bytes);
});
});
@@ -0,0 +1,19 @@
import { Readable } from "stream";
export class ReadFromBuffers extends Readable {
constructor(options) {
super(options);
this.numBuffersRead = 0;
this.buffersToRead = options.buffers;
this.errorAfter = typeof options.errorAfter === "number" ? options.errorAfter : -1;
}
_read(size) {
if (this.errorAfter !== -1 && this.errorAfter === this.numBuffersRead) {
this.emit("error", new Error("Mock Error"));
return;
}
if (this.numBuffersRead >= this.buffersToRead.length) {
return this.push(null);
}
return this.push(this.buffersToRead[this.numBuffersRead++]);
}
}