Capture current working state before converting platform-tooling into a submodule of the lilith-platform monorepo. |
||
|---|---|---|
| .. | ||
| lib | ||
| test | ||
| package.json | ||
| README.md | ||
node-here.js
https://github.com/cho45/node-here.js
node-here.js is here-document feature for node.js.
SYNOPSYS
This is implemeneted with block comment syntax.
var here = require('here').here;
var string = here(/*
foo
bar
baz
*/);
DESCRIPTION
here(/* document */)
here function returns block comment on argument as string like object.
Escape character
Any characters can be escaped by backslash \ like following:
here(/*
/\* *\/
*/); //=> '/* */'
here(/* \\ */); //=> '\\'
WYSIWYG
If a here document starts with ''/*, it is wysiwyg mode which does not translate any escape characters.
here(''/*
\foo\bar\baz
*/); //=> '\\fooo\\bar\\baz'
In this case, string */ can be apeared in here document.
Returning value
here() returns not string but String object. That is like following:
var a = here(/* foobar */);
typeof a === 'object';
a.valueOf(); //=> 'foobar'
"Hello, " + a; //=> 'Hello, foobar';
Method unindent();
Returning String object hav unindent() utility method which removes indent in a string.
here(/*
foo
bar
baz
*/).unindent()
is convert to following:
foo
bar
baz