working rss feed to nostr publish
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EventStreamMarshaller = void 0;
|
||||
const eventstream_serde_universal_1 = require("@smithy/eventstream-serde-universal");
|
||||
const stream_1 = require("stream");
|
||||
const utils_1 = require("./utils");
|
||||
class EventStreamMarshaller {
|
||||
constructor({ utf8Encoder, utf8Decoder }) {
|
||||
this.universalMarshaller = new eventstream_serde_universal_1.EventStreamMarshaller({
|
||||
utf8Decoder,
|
||||
utf8Encoder,
|
||||
});
|
||||
}
|
||||
deserialize(body, deserializer) {
|
||||
const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : (0, utils_1.readabletoIterable)(body);
|
||||
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
|
||||
}
|
||||
serialize(input, serializer) {
|
||||
return stream_1.Readable.from(this.universalMarshaller.serialize(input, serializer));
|
||||
}
|
||||
}
|
||||
exports.EventStreamMarshaller = EventStreamMarshaller;
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./EventStreamMarshaller"), exports);
|
||||
tslib_1.__exportStar(require("./provider"), exports);
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.eventStreamSerdeProvider = void 0;
|
||||
const EventStreamMarshaller_1 = require("./EventStreamMarshaller");
|
||||
const eventStreamSerdeProvider = (options) => new EventStreamMarshaller_1.EventStreamMarshaller(options);
|
||||
exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.readabletoIterable = void 0;
|
||||
async function* readabletoIterable(readStream) {
|
||||
let streamEnded = false;
|
||||
let generationEnded = false;
|
||||
const records = new Array();
|
||||
readStream.on("error", (err) => {
|
||||
if (!streamEnded) {
|
||||
streamEnded = true;
|
||||
}
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
readStream.on("data", (data) => {
|
||||
records.push(data);
|
||||
});
|
||||
readStream.on("end", () => {
|
||||
streamEnded = true;
|
||||
});
|
||||
while (!generationEnded) {
|
||||
const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));
|
||||
if (value) {
|
||||
yield value;
|
||||
}
|
||||
generationEnded = streamEnded && records.length === 0;
|
||||
}
|
||||
}
|
||||
exports.readabletoIterable = readabletoIterable;
|
||||
Reference in New Issue
Block a user