Page MenuHomePhorge

react_like_stream_controller.js
No OneTemporary

Size
814 B
Referenced Files
None
Subscribers
None

react_like_stream_controller.js

class ReactPromise {
constructor(status, value, reason) {
this.status = status;
this.value = value;
this.reason = reason;
}
}
function resolveModelChunk(chunk, value) {
if ("pending" !== chunk.status) {
chunk.reason.enqueueModel(value);
return;
}
throw new Error("unexpected pending chunk");
}
const seen = [];
function makeController() {
return {
enqueueValue(value) {
seen.push(`value:${value}`);
},
enqueueModel(value) {
seen.push(`model:${value}`);
},
close() {
seen.push("close");
},
error(error) {
seen.push(`error:${error && error.message ? error.message : String(error)}`);
}
};
}
const chunk = new ReactPromise("fulfilled", null, makeController());
resolveModelChunk(chunk, "ok");
console.log(seen.join(","));

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 17, 1:07 PM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
537015
Default Alt Text
react_like_stream_controller.js (814 B)

Event Timeline