decap-cms-core
Version:
Decap CMS core application, see decap-cms package for the main distribution.
39 lines (38 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _toml = _interopRequireDefault(require("@iarna/toml"));
var _tomlifyJ = _interopRequireDefault(require("tomlify-j0.4"));
var _dayjs = _interopRequireDefault(require("dayjs"));
var _AssetProxy = _interopRequireDefault(require("../valueObjects/AssetProxy"));
var _helpers = require("./helpers");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function outputReplacer(_key, value) {
if (_dayjs.default.isDayjs(value)) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
return value.format(value._f);
}
if (value instanceof _AssetProxy.default) {
return `${value.path}`;
}
if (typeof value === 'number' && Number.isInteger(value)) {
// Return the string representation of integers so tomlify won't render with tenths (".0")
return value.toString();
}
// Return `false` to use default (`undefined` would delete key).
return false;
}
var _default = exports.default = {
fromFile(content) {
return _toml.default.parse(content);
},
toFile(data, sortedKeys = []) {
return _tomlifyJ.default.toToml(data, {
replace: outputReplacer,
sort: (0, _helpers.sortKeys)(sortedKeys)
});
}
};