endent
v2.1.0
Published
➡️ An ES6 string tag that makes indentation right
Downloads
14,398,450
Maintainers
Readme
Endent
An ES6 string tag that makes indentation right, adds some key features to dedent.
Feature
Pretty object
import dedent from "dedent";
import endent from "endent";
var someobj = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
};
var somejson = '["bear", "fish", "dog", "cat"]';
var awfulTmpl = dedent`
function store (state, emitter) {
state["someobj"] = ${JSON.stringify(someobj, null, 2)}
state["somejson"] = ${JSON.stringify(JSON.parse(somejson), null, 2)}
}
`;
// use endent.pretty(value) when value is object or array.
var prettyTmpl = endent`
function store (state, emitter) {
state["someobj"] = ${endent.pretty(someobj)}
state["somejson"] = ${somejson}
}
`;
console.log(awfulTmpl + "\n\n" + prettyTmpl);
// awfulTmpl
function store(state, emitter) {
state["someobj"] = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
}
state["somejson"] = [
"bear",
"fish",
"dog",
"cat"
]
}
// prettyTmpl
function store(state, emitter) {
state["someobj"] = {
contact: {
jack: 123456,
tom: 654321,
},
color: "blue",
}
state["somejson"] = [
"bear",
"fish",
"dog",
"cat"
]
}
Endows suitable indentation for multiline interpolation
var dependencies = ["jquery", "underscore", "bootstrap"];
var dependencyTmpl = ``;
dependencies.forEach((d, i) => {
dependencyTmpl += `var ${d} = require("${d}")\n`;
});
var awfulTmpl = dedent`
;(function () {
${dependencyTmpl}
})()
`;
var prettyTmpl = endent`
;(function () {
${dependencyTmpl}
})()
`;
console.log(awfulTmpl + "\n\n" + prettyTmpl);
// awfulTmpl
(function () {
var jquery = require("jquery");
var underscore = require("underscore");
var bootstrap = require("bootstrap");
})();
// prettyTmpl
(function () {
var jquery = require("jquery");
var underscore = require("underscore");
var bootstrap = require("bootstrap");
})();
License
MIT