UNPKG

@throw-out-error/minecraft-datapack

Version:

A module for making minecraft datapacks with node to cut down on the repetition.

62 lines (61 loc) 2.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.assumeMinecraft = exports.itemArrayFromString = exports.hasIllegalCharsSlash = exports.hasIllegalChars = exports.mkdirIfNotExist = exports.jsonBeautify = void 0; const fs_1 = __importDefault(require("fs")); function jsonBeautify(object) { let json = JSON.stringify(object).split(""); let indent = 0; for (let i = 0; i < json.length; i++) { let char = json[i]; switch (char) { case "{": case "[": indent++; json.splice(i + 1, 0, "\n"); for (let j = 0; j < indent; j++) json.splice(i + j + 2, 0, "\t"); break; case "}": case "]": indent--; json.splice(i, 0, "\n"); for (let j = 0; j < indent; j++) json.splice(i + j + 1, 0, "\t"); i += indent + 1; break; case ",": json.splice(i + 1, 0, "\n"); for (let j = 0; j < indent; j++) json.splice(i + j + 2, 0, "\t"); break; } } return json.join(""); } exports.jsonBeautify = jsonBeautify; function mkdirIfNotExist(path) { if (!fs_1.default.existsSync(path)) fs_1.default.mkdirSync(path, { recursive: true }); } exports.mkdirIfNotExist = mkdirIfNotExist; function hasIllegalChars(s) { return s != s.replace(/[^0-9a-z_\-.]/g, ""); } exports.hasIllegalChars = hasIllegalChars; function hasIllegalCharsSlash(s) { return s != s.replace(/[^0-9a-z_\-./]/g, ""); } exports.hasIllegalCharsSlash = hasIllegalCharsSlash; function itemArrayFromString(s) { return s .split("||") .map(s => (s[0] == "#" ? { tag: s.slice(1) } : { item: s })); } exports.itemArrayFromString = itemArrayFromString; function assumeMinecraft(s) { return s.includes(":") ? s : `minecraft:${s}`; } exports.assumeMinecraft = assumeMinecraft;