UNPKG

@alinex/datastore

Version:

Read, work and write data structures from and to differents locations and formats.

32 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.format = exports.parse = void 0; const path_1 = require("path"); const debug_1 = require("debug"); const util_1 = require("util"); const debug = debug_1.default('datastore:format:text'); const parse = function (parsedUri, buffer, options) { if (!parsedUri.pathname) return Promise.reject(`No pathname given in ${parsedUri.href}`); const pathname = parsedUri.hash || path_1.basename(parsedUri.pathname); debug(`parsing ${pathname}`); let text = buffer.toString(); if (text && options && options.pattern) { const data = [...text.matchAll(options.pattern)].map(e => { return { ...e.groups }; }); debug('Found %d matches using pattern matching', data.length); text = data; } return Promise.resolve(text); }; exports.parse = parse; const format = function (parsedUri, data) { if (!parsedUri.pathname) return Promise.reject(`No pathname given in ${parsedUri.href}`); const pathname = parsedUri.hash || path_1.basename(parsedUri.pathname); debug(`formatting for ${pathname}`); return Promise.resolve(Buffer.from(typeof data === 'object' ? util_1.inspect(data, { depth: null }) : data)); }; exports.format = format; //# sourceMappingURL=text.js.map