Necessary Pigeonholing Mechanism

    endent
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    Endent stability

    npm travis dm js-standard-style

    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

    Install

    npm i endent

    DownloadsWeekly Downloads

    2,012,733

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    11.9 kB

    Total Files

    10

    Last publish

    Collaborators

    • zhouhancheng