stringiful
Version:
Easy to use stringify function with built-in configurable formatters
25 lines • 1.31 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.stringify = exports.createStringifyFunction = void 0;
const config_1 = __importDefault(require("./config"));
const formatters_1 = require("./formatters");
const stringify_1 = require("./stringify");
const joi_1 = require("./utils/joi");
const validation_schema_1 = require("./validation.schema");
const createStringifyFunction = (options) => {
var _a;
const formattedOptions = joi_1.validateDataWithSchema(options, validation_schema_1.stringifyConfigSchema);
const formatters = formatters_1.getFormatters((_a = formattedOptions === null || formattedOptions === void 0 ? void 0 : formattedOptions.formatters) !== null && _a !== void 0 ? _a : []);
return (obj) => {
return stringify_1.stringifyFunction(obj, formatters, formattedOptions.inspectOptions);
};
};
exports.createStringifyFunction = createStringifyFunction;
function stringify(obj, options) {
return exports.createStringifyFunction(options !== null && options !== void 0 ? options : config_1.default.stringifyDefaultOptions)(obj);
}
exports.stringify = stringify;
//# sourceMappingURL=index.js.map
;