UNPKG

@opengis/fastify-table

Version:

core-plugins

51 lines (50 loc) 1.52 kB
import { readFile } from "fs/promises"; import { createReadStream } from "fs"; import { Readable } from "stream"; import dataTypes from "./dataTypes.js"; const handlers = { isReadableStream: () => "Unsupported", isBuffer: ({ data, types }) => { if (types.includes(dataTypes.stream)) { return Readable.from(data); } return null; }, isArray: ({ data, types }) => { if (types.includes(dataTypes.stream)) { return Readable.from(Buffer.from(data)); } if (types.includes(dataTypes.buffer)) { return Buffer.from(data, "utf-8"); } if (types.includes(dataTypes.path)) { return "Unsupported"; } return null; }, isPath: async ({ data, types }) => { if (types.includes(dataTypes.stream)) { return createReadStream(data); } if (types.includes(dataTypes.buffer)) { return readFile(data); } if (types.includes(dataTypes.text)) { return (await readFile(data)).toString(); } return null; }, isText: async ({ data, types }) => { if (types.includes(dataTypes.stream)) { return Readable.from(Buffer.from(data)); } if (types.includes(dataTypes.buffer)) { return Buffer.from(data, "utf-8"); } if (types.includes(dataTypes.path)) { return "Unsupported"; } return null; }, }; export default handlers;