UNPKG

univ-conv

Version:

The universal binary and text converter

59 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextConverter = void 0; const AbstractConverter_1 = require("./AbstractConverter"); const core_1 = require("./core"); const StringUtil_1 = require("./StringUtil"); class TextConverter extends AbstractConverter_1.AbstractConverter { constructor() { super(...arguments); this.type = "text"; } empty() { return ""; } is(input, options) { return typeof input === "string" && options.inputStringType === "text"; } async _from(input, options) { const converter = (0, AbstractConverter_1._)()._find(input, options); return await converter.toText(input, options); } async _getStartEnd(input, options) { const size = await this.size(input, options); return (0, core_1.getStartEnd)(options, size); } _isEmpty(input) { return !input; } _merge(chunks) { return Promise.resolve(chunks.join("")); } async _size(input, options) { const u8 = await this._toUint8Array(input, (0, core_1.deleteStartLength)(options)); return u8.byteLength; } async _toArrayBuffer(input, options) { const u8 = await this._toUint8Array(input, options); return u8.buffer.slice(u8.byteOffset, u8.byteOffset + u8.byteLength); } async _toBase64(input, options) { const u8 = await this._toUint8Array(input, options); return await (0, AbstractConverter_1._)()._of("uint8array").toBase64(u8, (0, core_1.deleteStartLength)(options)); } async _toText(input, options) { if (options.bufferToTextCharset === options.textToBufferCharset && (0, core_1.hasNoStartLength)(options)) { return input; } const u8 = await this._toUint8Array(input, options); const textHelper = await (0, StringUtil_1.getTextHelper)(); return await textHelper.bufferToText(u8, options); } async _toUint8Array(input, options) { const textHelper = await (0, StringUtil_1.getTextHelper)(); return await textHelper.textToBuffer(input, options); } } exports.TextConverter = TextConverter; //# sourceMappingURL=TextConverter.js.map