12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const dedent_1 = __importDefault(require("dedent"));
- const objectorarray_1 = __importDefault(require("objectorarray"));
- const fast_json_parse_1 = __importDefault(require("fast-json-parse"));
- const ENDENT_ID = "twhZNwxI1aFG3r4";
- function endent(strings, ...values) {
- let result = "";
- for (let i = 0; i < strings.length; i++) {
- result += strings[i];
- if (i < values.length) {
- let value = values[i];
- let isJson = false;
- if (fast_json_parse_1.default(value).value) {
- value = fast_json_parse_1.default(value).value;
- isJson = true;
- }
- if ((value && value[ENDENT_ID]) || isJson) {
- let rawlines = result.split("\n");
- let l = rawlines[rawlines.length - 1].search(/\S/);
- let endentation = l > 0 ? " ".repeat(l) : "";
- let valueJson = isJson
- ? JSON.stringify(value, null, 2)
- : value[ENDENT_ID];
- let valueLines = valueJson.split("\n");
- valueLines.forEach((l, index) => {
- if (index > 0) {
- result += "\n" + endentation + l;
- }
- else {
- result += l;
- }
- });
- }
- else if (typeof value === "string" && value.includes("\n")) {
- let endentations = result.match(/(?:^|\n)( *)$/);
- if (typeof value === "string") {
- let endentation = endentations ? endentations[1] : "";
- result += value
- .split("\n")
- .map((str, i) => {
- str = ENDENT_ID + str;
- return i === 0 ? str : `${endentation}${str}`;
- })
- .join("\n");
- }
- else {
- result += value;
- }
- }
- else {
- result += value;
- }
- }
- }
- result = dedent_1.default(result);
- return result.split(ENDENT_ID).join("");
- }
- endent.pretty = (data) => {
- return objectorarray_1.default(data)
- ? { [ENDENT_ID]: JSON.stringify(data, null, 2) }
- : data;
- };
- exports.default = endent;
|