meca
Version:
Types and utilities for working with MECA
31 lines (30 loc) • 1.05 kB
JavaScript
import fs from 'node:fs';
import path from 'node:path';
import os from 'os';
import { select as unistSelect, selectAll as unistSelectAll } from 'unist-util-select';
export function createTempFolder() {
return fs.mkdtempSync(path.join(os.tmpdir(), 'meca'));
}
export function removeTempFolder(tempFolder) {
if (tempFolder && fs.existsSync(tempFolder)) {
if (fs.rmSync) {
// Node >= 14.14
fs.rmSync(tempFolder, { recursive: true });
}
else {
// Node < 14.14
fs.rmdirSync(tempFolder, { recursive: true });
}
}
}
export function select(selector, node) {
var _a;
return ((_a = unistSelect(selector, node)) !== null && _a !== void 0 ? _a : undefined);
}
export function selectAll(selector, node) {
var _a;
return ((_a = unistSelectAll(selector, node)) !== null && _a !== void 0 ? _a : undefined);
}
export function elementWithText(name, text, attributes) {
return { type: 'element', name, elements: [{ type: 'text', text }], attributes };
}