30s
Version:
A command-line application for 30 seconds of code snippets
53 lines (40 loc) • 1.33 kB
JavaScript
// ┏━┓┏━┓┏━┓┏━┓┏━╸┏━┓
// ┣━┛┣━┫┣┳┛┗━┓┣╸ ┣┳┛
// ╹ ╹ ╹╹┗╸┗━┛┗━╸╹┗╸
//
// Parser for 30 seconds of code snippets.
// https://github.com/sQVe/30s
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.writeFile = exports.createItem = void 0;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _ramda = require("ramda");
var _snippets = require("../submodules/30-seconds-of-code/snippet_data/snippets.json");
var _helpers = require("./helpers");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const FILE_NAME = 'snippets.json';
const createItem = ({
id,
attributes: {
codeBlocks: {
es6,
example
},
tags,
text
}
}) => (0, _ramda.map)(_helpers.enforceSingleNewLine, {
code: es6,
example,
id,
tags,
description: text
});
exports.createItem = createItem;
const writeFile = content => _fs.default.writeFileSync(_path.default.resolve(__dirname, FILE_NAME), JSON.stringify(content)); // eslint-disable-next-line fp/no-unused-expression
exports.writeFile = writeFile;
writeFile((0, _ramda.map)(createItem)(_snippets.data));