56 lines
2.0 KiB
JavaScript
56 lines
2.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createLineSplittingTransform = exports.Deferred = exports.TYPE_PREVIOUS_RESOLVED = exports.TYPE_URL = exports.TYPE_SYMBOL = exports.TYPE_SET = exports.TYPE_REGEXP = exports.TYPE_PROMISE = exports.TYPE_NULL_OBJECT = exports.TYPE_MAP = exports.TYPE_ERROR = exports.TYPE_DATE = exports.TYPE_BIGINT = exports.UNDEFINED = exports.POSITIVE_INFINITY = exports.NULL = exports.NEGATIVE_ZERO = exports.NEGATIVE_INFINITY = exports.NAN = exports.HOLE = void 0;
|
|
exports.HOLE = -1;
|
|
exports.NAN = -2;
|
|
exports.NEGATIVE_INFINITY = -3;
|
|
exports.NEGATIVE_ZERO = -4;
|
|
exports.NULL = -5;
|
|
exports.POSITIVE_INFINITY = -6;
|
|
exports.UNDEFINED = -7;
|
|
exports.TYPE_BIGINT = "B";
|
|
exports.TYPE_DATE = "D";
|
|
exports.TYPE_ERROR = "E";
|
|
exports.TYPE_MAP = "M";
|
|
exports.TYPE_NULL_OBJECT = "N";
|
|
exports.TYPE_PROMISE = "P";
|
|
exports.TYPE_REGEXP = "R";
|
|
exports.TYPE_SET = "S";
|
|
exports.TYPE_SYMBOL = "Y";
|
|
exports.TYPE_URL = "U";
|
|
exports.TYPE_PREVIOUS_RESOLVED = "Z";
|
|
class Deferred {
|
|
promise;
|
|
resolve;
|
|
reject;
|
|
constructor() {
|
|
this.promise = new Promise((resolve, reject) => {
|
|
this.resolve = resolve;
|
|
this.reject = reject;
|
|
});
|
|
}
|
|
}
|
|
exports.Deferred = Deferred;
|
|
function createLineSplittingTransform() {
|
|
const decoder = new TextDecoder();
|
|
let leftover = "";
|
|
return new TransformStream({
|
|
transform(chunk, controller) {
|
|
const str = decoder.decode(chunk, { stream: true });
|
|
const parts = (leftover + str).split("\n");
|
|
// The last part might be a partial line, so keep it for the next chunk.
|
|
leftover = parts.pop() || "";
|
|
for (const part of parts) {
|
|
controller.enqueue(part);
|
|
}
|
|
},
|
|
flush(controller) {
|
|
// If there's any leftover data, enqueue it before closing.
|
|
if (leftover) {
|
|
controller.enqueue(leftover);
|
|
}
|
|
},
|
|
});
|
|
}
|
|
exports.createLineSplittingTransform = createLineSplittingTransform;
|