jass-vue 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +43 -0
- data/lib/jass/vue.rb +12 -0
- data/lib/jass/vue/version.rb +5 -0
- data/vendor/node_modules/arr-diff/index.js +58 -0
- data/vendor/node_modules/arr-diff/package.json +49 -0
- data/vendor/node_modules/arr-flatten/index.js +22 -0
- data/vendor/node_modules/arr-flatten/package.json +76 -0
- data/vendor/node_modules/array-unique/index.js +28 -0
- data/vendor/node_modules/array-unique/package.json +37 -0
- data/vendor/node_modules/braces/index.js +399 -0
- data/vendor/node_modules/braces/package.json +83 -0
- data/vendor/node_modules/de-indent/index.js +45 -0
- data/vendor/node_modules/de-indent/package.json +25 -0
- data/vendor/node_modules/de-indent/test.js +30 -0
- data/vendor/node_modules/estree-walker/dist/estree-walker.es.js +55 -0
- data/vendor/node_modules/estree-walker/dist/estree-walker.es6.js +59 -0
- data/vendor/node_modules/estree-walker/dist/estree-walker.umd.js +65 -0
- data/vendor/node_modules/estree-walker/package.json +33 -0
- data/vendor/node_modules/estree-walker/src/estree-walker.js +49 -0
- data/vendor/node_modules/expand-brackets/index.js +163 -0
- data/vendor/node_modules/expand-brackets/package.json +62 -0
- data/vendor/node_modules/expand-range/index.js +43 -0
- data/vendor/node_modules/expand-range/package.json +73 -0
- data/vendor/node_modules/extglob/index.js +178 -0
- data/vendor/node_modules/extglob/package.json +60 -0
- data/vendor/node_modules/filename-regex/index.js +10 -0
- data/vendor/node_modules/filename-regex/package.json +50 -0
- data/vendor/node_modules/fill-range/index.js +408 -0
- data/vendor/node_modules/fill-range/package.json +61 -0
- data/vendor/node_modules/for-in/index.js +16 -0
- data/vendor/node_modules/for-in/package.json +68 -0
- data/vendor/node_modules/for-own/index.js +19 -0
- data/vendor/node_modules/for-own/package.json +70 -0
- data/vendor/node_modules/glob-base/index.js +51 -0
- data/vendor/node_modules/glob-base/package.json +52 -0
- data/vendor/node_modules/glob-parent/index.js +10 -0
- data/vendor/node_modules/glob-parent/package.json +35 -0
- data/vendor/node_modules/glob-parent/test.js +28 -0
- data/vendor/node_modules/he/bin/he +148 -0
- data/vendor/node_modules/he/he.js +342 -0
- data/vendor/node_modules/he/man/he.1 +78 -0
- data/vendor/node_modules/he/package.json +56 -0
- data/vendor/node_modules/is-buffer/index.js +21 -0
- data/vendor/node_modules/is-buffer/package.json +51 -0
- data/vendor/node_modules/is-dotfile/index.js +14 -0
- data/vendor/node_modules/is-dotfile/package.json +69 -0
- data/vendor/node_modules/is-equal-shallow/index.js +27 -0
- data/vendor/node_modules/is-equal-shallow/package.json +54 -0
- data/vendor/node_modules/is-extendable/index.js +13 -0
- data/vendor/node_modules/is-extendable/package.json +51 -0
- data/vendor/node_modules/is-extglob/index.js +11 -0
- data/vendor/node_modules/is-extglob/package.json +48 -0
- data/vendor/node_modules/is-glob/index.js +14 -0
- data/vendor/node_modules/is-glob/package.json +60 -0
- data/vendor/node_modules/is-number/index.js +19 -0
- data/vendor/node_modules/is-number/package.json +59 -0
- data/vendor/node_modules/is-posix-bracket/index.js +10 -0
- data/vendor/node_modules/is-posix-bracket/package.json +64 -0
- data/vendor/node_modules/is-primitive/index.js +13 -0
- data/vendor/node_modules/is-primitive/package.json +46 -0
- data/vendor/node_modules/isarray/index.js +5 -0
- data/vendor/node_modules/isarray/package.json +45 -0
- data/vendor/node_modules/isarray/test.js +20 -0
- data/vendor/node_modules/isobject/index.js +14 -0
- data/vendor/node_modules/isobject/package.json +67 -0
- data/vendor/node_modules/kind-of/index.js +116 -0
- data/vendor/node_modules/kind-of/package.json +90 -0
- data/vendor/node_modules/magic-string/dist/magic-string.cjs.js +1287 -0
- data/vendor/node_modules/magic-string/dist/magic-string.es.js +1283 -0
- data/vendor/node_modules/magic-string/dist/magic-string.umd.js +1339 -0
- data/vendor/node_modules/magic-string/package.json +60 -0
- data/vendor/node_modules/magic-string/src/Bundle.js +263 -0
- data/vendor/node_modules/magic-string/src/Chunk.js +154 -0
- data/vendor/node_modules/magic-string/src/MagicString.js +618 -0
- data/vendor/node_modules/magic-string/src/index-legacy.js +6 -0
- data/vendor/node_modules/magic-string/src/index.js +4 -0
- data/vendor/node_modules/magic-string/src/utils/Mappings.js +117 -0
- data/vendor/node_modules/magic-string/src/utils/SourceMap.js +21 -0
- data/vendor/node_modules/magic-string/src/utils/Stats.js +18 -0
- data/vendor/node_modules/magic-string/src/utils/btoa.js +13 -0
- data/vendor/node_modules/magic-string/src/utils/getLocator.js +35 -0
- data/vendor/node_modules/magic-string/src/utils/getRelativePath.js +18 -0
- data/vendor/node_modules/magic-string/src/utils/guessIndent.js +25 -0
- data/vendor/node_modules/magic-string/src/utils/hasOwnProp.js +1 -0
- data/vendor/node_modules/magic-string/src/utils/isObject.js +5 -0
- data/vendor/node_modules/micromatch/index.js +431 -0
- data/vendor/node_modules/micromatch/lib/chars.js +67 -0
- data/vendor/node_modules/micromatch/lib/expand.js +304 -0
- data/vendor/node_modules/micromatch/lib/glob.js +193 -0
- data/vendor/node_modules/micromatch/lib/utils.js +149 -0
- data/vendor/node_modules/micromatch/package.json +114 -0
- data/vendor/node_modules/normalize-path/index.js +19 -0
- data/vendor/node_modules/normalize-path/package.json +78 -0
- data/vendor/node_modules/object.omit/index.js +40 -0
- data/vendor/node_modules/object.omit/package.json +67 -0
- data/vendor/node_modules/parse-glob/index.js +156 -0
- data/vendor/node_modules/parse-glob/package.json +62 -0
- data/vendor/node_modules/preserve/index.js +54 -0
- data/vendor/node_modules/preserve/package.json +48 -0
- data/vendor/node_modules/preserve/test.js +48 -0
- data/vendor/node_modules/randomatic/index.js +82 -0
- data/vendor/node_modules/randomatic/node_modules/is-number/index.js +22 -0
- data/vendor/node_modules/randomatic/node_modules/is-number/node_modules/kind-of/index.js +116 -0
- data/vendor/node_modules/randomatic/node_modules/is-number/node_modules/kind-of/package.json +90 -0
- data/vendor/node_modules/randomatic/node_modules/is-number/package.json +83 -0
- data/vendor/node_modules/randomatic/node_modules/kind-of/index.js +119 -0
- data/vendor/node_modules/randomatic/node_modules/kind-of/package.json +90 -0
- data/vendor/node_modules/randomatic/package.json +78 -0
- data/vendor/node_modules/regex-cache/index.js +68 -0
- data/vendor/node_modules/regex-cache/package.json +64 -0
- data/vendor/node_modules/remove-trailing-separator/index.js +17 -0
- data/vendor/node_modules/remove-trailing-separator/package.json +37 -0
- data/vendor/node_modules/repeat-element/index.js +18 -0
- data/vendor/node_modules/repeat-element/package.json +44 -0
- data/vendor/node_modules/repeat-string/index.js +70 -0
- data/vendor/node_modules/repeat-string/package.json +77 -0
- data/vendor/node_modules/rollup-plugin-vue2/dist/rollup-plugin-vue2.common.js +164 -0
- data/vendor/node_modules/rollup-plugin-vue2/dist/rollup-plugin-vue2.es.js +160 -0
- data/vendor/node_modules/rollup-plugin-vue2/package.json +50 -0
- data/vendor/node_modules/rollup-pluginutils/dist/pluginutils.cjs.js +223 -0
- data/vendor/node_modules/rollup-pluginutils/dist/pluginutils.es.js +214 -0
- data/vendor/node_modules/rollup-pluginutils/dist/pluginutils.es6.js +217 -0
- data/vendor/node_modules/rollup-pluginutils/package.json +40 -0
- data/vendor/node_modules/rollup-pluginutils/src/addExtension.js +6 -0
- data/vendor/node_modules/rollup-pluginutils/src/attachScopes.js +147 -0
- data/vendor/node_modules/rollup-pluginutils/src/createFilter.js +33 -0
- data/vendor/node_modules/rollup-pluginutils/src/index.js +4 -0
- data/vendor/node_modules/rollup-pluginutils/src/makeLegalIdentifier.js +15 -0
- data/vendor/node_modules/rollup-pluginutils/src/utils/ensureArray.js +5 -0
- data/vendor/node_modules/vlq/dist/vlq.js +91 -0
- data/vendor/node_modules/vlq/package.json +27 -0
- data/vendor/node_modules/vlq/src/vlq.js +78 -0
- data/vendor/node_modules/vue-template-compiler/browser.js +5237 -0
- data/vendor/node_modules/vue-template-compiler/build.js +4835 -0
- data/vendor/node_modules/vue-template-compiler/index.js +18 -0
- data/vendor/node_modules/vue-template-compiler/package.json +27 -0
- data/vendor/node_modules/vue-template-es2015-compiler/buble.js +14112 -0
- data/vendor/node_modules/vue-template-es2015-compiler/index.js +24 -0
- data/vendor/node_modules/vue-template-es2015-compiler/package.json +28 -0
- data/vendor/package.json +9 -0
- data/vendor/yarn.lock +268 -0
- metadata +242 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
/*!
|
2
|
+
* parse-glob <https://github.com/jonschlinkert/parse-glob>
|
3
|
+
*
|
4
|
+
* Copyright (c) 2015, Jon Schlinkert.
|
5
|
+
* Licensed under the MIT License.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
var isGlob = require('is-glob');
|
11
|
+
var findBase = require('glob-base');
|
12
|
+
var extglob = require('is-extglob');
|
13
|
+
var dotfile = require('is-dotfile');
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Expose `cache`
|
17
|
+
*/
|
18
|
+
|
19
|
+
var cache = module.exports.cache = {};
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Parse a glob pattern into tokens.
|
23
|
+
*
|
24
|
+
* When no paths or '**' are in the glob, we use a
|
25
|
+
* different strategy for parsing the filename, since
|
26
|
+
* file names can contain braces and other difficult
|
27
|
+
* patterns. such as:
|
28
|
+
*
|
29
|
+
* - `*.{a,b}`
|
30
|
+
* - `(**|*.js)`
|
31
|
+
*/
|
32
|
+
|
33
|
+
module.exports = function parseGlob(glob) {
|
34
|
+
if (cache.hasOwnProperty(glob)) {
|
35
|
+
return cache[glob];
|
36
|
+
}
|
37
|
+
|
38
|
+
var tok = {};
|
39
|
+
tok.orig = glob;
|
40
|
+
tok.is = {};
|
41
|
+
|
42
|
+
// unescape dots and slashes in braces/brackets
|
43
|
+
glob = escape(glob);
|
44
|
+
|
45
|
+
var parsed = findBase(glob);
|
46
|
+
tok.is.glob = parsed.isGlob;
|
47
|
+
|
48
|
+
tok.glob = parsed.glob;
|
49
|
+
tok.base = parsed.base;
|
50
|
+
var segs = /([^\/]*)$/.exec(glob);
|
51
|
+
|
52
|
+
tok.path = {};
|
53
|
+
tok.path.dirname = '';
|
54
|
+
tok.path.basename = segs[1] || '';
|
55
|
+
tok.path.dirname = glob.split(tok.path.basename).join('') || '';
|
56
|
+
var basename = (tok.path.basename || '').split('.') || '';
|
57
|
+
tok.path.filename = basename[0] || '';
|
58
|
+
tok.path.extname = basename.slice(1).join('.') || '';
|
59
|
+
tok.path.ext = '';
|
60
|
+
|
61
|
+
if (isGlob(tok.path.dirname) && !tok.path.basename) {
|
62
|
+
if (!/\/$/.test(tok.glob)) {
|
63
|
+
tok.path.basename = tok.glob;
|
64
|
+
}
|
65
|
+
tok.path.dirname = tok.base;
|
66
|
+
}
|
67
|
+
|
68
|
+
if (glob.indexOf('/') === -1 && !tok.is.globstar) {
|
69
|
+
tok.path.dirname = '';
|
70
|
+
tok.path.basename = tok.orig;
|
71
|
+
}
|
72
|
+
|
73
|
+
var dot = tok.path.basename.indexOf('.');
|
74
|
+
if (dot !== -1) {
|
75
|
+
tok.path.filename = tok.path.basename.slice(0, dot);
|
76
|
+
tok.path.extname = tok.path.basename.slice(dot);
|
77
|
+
}
|
78
|
+
|
79
|
+
if (tok.path.extname.charAt(0) === '.') {
|
80
|
+
var exts = tok.path.extname.split('.');
|
81
|
+
tok.path.ext = exts[exts.length - 1];
|
82
|
+
}
|
83
|
+
|
84
|
+
// unescape dots and slashes in braces/brackets
|
85
|
+
tok.glob = unescape(tok.glob);
|
86
|
+
tok.path.dirname = unescape(tok.path.dirname);
|
87
|
+
tok.path.basename = unescape(tok.path.basename);
|
88
|
+
tok.path.filename = unescape(tok.path.filename);
|
89
|
+
tok.path.extname = unescape(tok.path.extname);
|
90
|
+
|
91
|
+
// Booleans
|
92
|
+
var is = (glob && tok.is.glob);
|
93
|
+
tok.is.negated = glob && glob.charAt(0) === '!';
|
94
|
+
tok.is.extglob = glob && extglob(glob);
|
95
|
+
tok.is.braces = has(is, glob, '{');
|
96
|
+
tok.is.brackets = has(is, glob, '[:');
|
97
|
+
tok.is.globstar = has(is, glob, '**');
|
98
|
+
tok.is.dotfile = dotfile(tok.path.basename) || dotfile(tok.path.filename);
|
99
|
+
tok.is.dotdir = dotdir(tok.path.dirname);
|
100
|
+
return (cache[glob] = tok);
|
101
|
+
}
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Returns true if the glob matches dot-directories.
|
105
|
+
*
|
106
|
+
* @param {Object} `tok` The tokens object
|
107
|
+
* @param {Object} `path` The path object
|
108
|
+
* @return {Object}
|
109
|
+
*/
|
110
|
+
|
111
|
+
function dotdir(base) {
|
112
|
+
if (base.indexOf('/.') !== -1) {
|
113
|
+
return true;
|
114
|
+
}
|
115
|
+
if (base.charAt(0) === '.' && base.charAt(1) !== '/') {
|
116
|
+
return true;
|
117
|
+
}
|
118
|
+
return false;
|
119
|
+
}
|
120
|
+
|
121
|
+
/**
|
122
|
+
* Returns true if the pattern has the given `ch`aracter(s)
|
123
|
+
*
|
124
|
+
* @param {Object} `glob` The glob pattern.
|
125
|
+
* @param {Object} `ch` The character to test for
|
126
|
+
* @return {Object}
|
127
|
+
*/
|
128
|
+
|
129
|
+
function has(is, glob, ch) {
|
130
|
+
return is && glob.indexOf(ch) !== -1;
|
131
|
+
}
|
132
|
+
|
133
|
+
/**
|
134
|
+
* Escape/unescape utils
|
135
|
+
*/
|
136
|
+
|
137
|
+
function escape(str) {
|
138
|
+
var re = /\{([^{}]*?)}|\(([^()]*?)\)|\[([^\[\]]*?)\]/g;
|
139
|
+
return str.replace(re, function (outter, braces, parens, brackets) {
|
140
|
+
var inner = braces || parens || brackets;
|
141
|
+
if (!inner) { return outter; }
|
142
|
+
return outter.split(inner).join(esc(inner));
|
143
|
+
});
|
144
|
+
}
|
145
|
+
|
146
|
+
function esc(str) {
|
147
|
+
str = str.split('/').join('__SLASH__');
|
148
|
+
str = str.split('.').join('__DOT__');
|
149
|
+
return str;
|
150
|
+
}
|
151
|
+
|
152
|
+
function unescape(str) {
|
153
|
+
str = str.split('__SLASH__').join('/');
|
154
|
+
str = str.split('__DOT__').join('.');
|
155
|
+
return str;
|
156
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
{
|
2
|
+
"name": "parse-glob",
|
3
|
+
"description": "Parse a glob pattern into an object of tokens.",
|
4
|
+
"version": "3.0.4",
|
5
|
+
"homepage": "https://github.com/jonschlinkert/parse-glob",
|
6
|
+
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
7
|
+
"repository": "jonschlinkert/parse-glob",
|
8
|
+
"bugs": {
|
9
|
+
"url": "https://github.com/jonschlinkert/parse-glob/issues"
|
10
|
+
},
|
11
|
+
"license": "MIT",
|
12
|
+
"files": [
|
13
|
+
"index.js"
|
14
|
+
],
|
15
|
+
"main": "index.js",
|
16
|
+
"engines": {
|
17
|
+
"node": ">=0.10.0"
|
18
|
+
},
|
19
|
+
"scripts": {
|
20
|
+
"test": "mocha",
|
21
|
+
"prepublish": "browserify -o browser.js -e index.js"
|
22
|
+
},
|
23
|
+
"dependencies": {
|
24
|
+
"glob-base": "^0.3.0",
|
25
|
+
"is-dotfile": "^1.0.0",
|
26
|
+
"is-extglob": "^1.0.0",
|
27
|
+
"is-glob": "^2.0.0"
|
28
|
+
},
|
29
|
+
"devDependencies": {
|
30
|
+
"browserify": "^9.0.3",
|
31
|
+
"lodash": "^3.3.1",
|
32
|
+
"mocha": "*"
|
33
|
+
},
|
34
|
+
"keywords": [
|
35
|
+
"glob",
|
36
|
+
"match",
|
37
|
+
"bash",
|
38
|
+
"expand",
|
39
|
+
"expansion",
|
40
|
+
"expression",
|
41
|
+
"file",
|
42
|
+
"files",
|
43
|
+
"filter",
|
44
|
+
"find",
|
45
|
+
"glob",
|
46
|
+
"globbing",
|
47
|
+
"globs",
|
48
|
+
"globstar",
|
49
|
+
"match",
|
50
|
+
"matcher",
|
51
|
+
"matches",
|
52
|
+
"matching",
|
53
|
+
"path",
|
54
|
+
"pattern",
|
55
|
+
"patterns",
|
56
|
+
"regex",
|
57
|
+
"regexp",
|
58
|
+
"regular",
|
59
|
+
"shell",
|
60
|
+
"wildcard"
|
61
|
+
]
|
62
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
/*!
|
2
|
+
* preserve <https://github.com/jonschlinkert/preserve>
|
3
|
+
*
|
4
|
+
* Copyright (c) 2014-2015, Jon Schlinkert.
|
5
|
+
* Licensed under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Replace tokens in `str` with a temporary, heuristic placeholder.
|
12
|
+
*
|
13
|
+
* ```js
|
14
|
+
* tokens.before('{a\\,b}');
|
15
|
+
* //=> '{__ID1__}'
|
16
|
+
* ```
|
17
|
+
*
|
18
|
+
* @param {String} `str`
|
19
|
+
* @return {String} String with placeholders.
|
20
|
+
* @api public
|
21
|
+
*/
|
22
|
+
|
23
|
+
exports.before = function before(str, re) {
|
24
|
+
return str.replace(re, function (match) {
|
25
|
+
var id = randomize();
|
26
|
+
cache[id] = match;
|
27
|
+
return '__ID' + id + '__';
|
28
|
+
});
|
29
|
+
};
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Replace placeholders in `str` with original tokens.
|
33
|
+
*
|
34
|
+
* ```js
|
35
|
+
* tokens.after('{__ID1__}');
|
36
|
+
* //=> '{a\\,b}'
|
37
|
+
* ```
|
38
|
+
*
|
39
|
+
* @param {String} `str` String with placeholders
|
40
|
+
* @return {String} `str` String with original tokens.
|
41
|
+
* @api public
|
42
|
+
*/
|
43
|
+
|
44
|
+
exports.after = function after(str) {
|
45
|
+
return str.replace(/__ID(.{5})__/g, function (_, id) {
|
46
|
+
return cache[id];
|
47
|
+
});
|
48
|
+
};
|
49
|
+
|
50
|
+
function randomize() {
|
51
|
+
return Math.random().toString().slice(2, 7);
|
52
|
+
}
|
53
|
+
|
54
|
+
var cache = {};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
"name": "preserve",
|
3
|
+
"description": "Temporarily substitute tokens in the given `string` with placeholders, then put them back after transforming the string.",
|
4
|
+
"version": "0.2.0",
|
5
|
+
"homepage": "https://github.com/jonschlinkert/preserve",
|
6
|
+
"author": {
|
7
|
+
"name": "Jon Schlinkert",
|
8
|
+
"url": "https://github.com/jonschlinkert"
|
9
|
+
},
|
10
|
+
"repository": {
|
11
|
+
"type": "git",
|
12
|
+
"url": "git://github.com/jonschlinkert/preserve.git"
|
13
|
+
},
|
14
|
+
"bugs": {
|
15
|
+
"url": "https://github.com/jonschlinkert/preserve/issues"
|
16
|
+
},
|
17
|
+
"license": {
|
18
|
+
"type": "MIT",
|
19
|
+
"url": "https://github.com/jonschlinkert/preserve/blob/master/LICENSE-MIT"
|
20
|
+
},
|
21
|
+
"main": "index.js",
|
22
|
+
"engines": {
|
23
|
+
"node": ">=0.10.0"
|
24
|
+
},
|
25
|
+
"scripts": {
|
26
|
+
"test": "mocha -R spec"
|
27
|
+
},
|
28
|
+
"devDependencies": {
|
29
|
+
"benchmarked": "^0.1.3",
|
30
|
+
"chalk": "^0.5.1",
|
31
|
+
"js-beautify": "^1.5.4",
|
32
|
+
"mocha": "*",
|
33
|
+
"should": "*"
|
34
|
+
},
|
35
|
+
"keywords": [
|
36
|
+
"escape",
|
37
|
+
"format",
|
38
|
+
"placeholder",
|
39
|
+
"placeholders",
|
40
|
+
"prettify",
|
41
|
+
"regex",
|
42
|
+
"replace",
|
43
|
+
"template",
|
44
|
+
"templates",
|
45
|
+
"token",
|
46
|
+
"tokens"
|
47
|
+
]
|
48
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/*!
|
2
|
+
* preserve <https://github.com/jonschlinkert/preserve>
|
3
|
+
*
|
4
|
+
* Copyright (c) 2014-2015, Jon Schlinkert.
|
5
|
+
* Licensed under the MIT License
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
var should = require('should');
|
11
|
+
var tokens = require('./');
|
12
|
+
|
13
|
+
var re = /<%=\s*[^>]+%>/g;
|
14
|
+
var pretty = function(str) {
|
15
|
+
return require('js-beautify').html(str, {
|
16
|
+
indent_char: ' ',
|
17
|
+
indent_size: 2,
|
18
|
+
});
|
19
|
+
};
|
20
|
+
|
21
|
+
describe('preserve tokens', function () {
|
22
|
+
var testRe = /__ID.{5}__\n__ID.{5}__\n__ID.{5}__/;
|
23
|
+
var re = /<%=\s*[^>]+%>/g;
|
24
|
+
|
25
|
+
it('should (e.g. shouldn\'t, but will) mangle tokens in the given string', function () {
|
26
|
+
var html = pretty('<ul><li><%= name %></li></ul>');
|
27
|
+
html.should.equal('<ul>\n <li>\n <%=n ame %>\n </li>\n</ul>');
|
28
|
+
});
|
29
|
+
|
30
|
+
it('should preserve tokens in the given string', function () {
|
31
|
+
var html = tokens.after(pretty(tokens.before('<ul><li><%= name %></li></ul>', re)));
|
32
|
+
html.should.equal('<ul>\n <li><%= name %></li>\n</ul>');
|
33
|
+
});
|
34
|
+
|
35
|
+
describe('.before()', function () {
|
36
|
+
it('should replace matches with placeholder tokens:', function () {
|
37
|
+
tokens.before('<%= a %>\n<%= b %>\n<%= c %>', re).should.match(testRe);
|
38
|
+
});
|
39
|
+
});
|
40
|
+
|
41
|
+
describe('tokens.after()', function () {
|
42
|
+
it('should replace placeholder tokens with original values:', function () {
|
43
|
+
var before = tokens.before('<%= a %>\n<%= b %>\n<%= c %>', re);
|
44
|
+
before.should.match(testRe);
|
45
|
+
tokens.after(before).should.equal('<%= a %>\n<%= b %>\n<%= c %>');
|
46
|
+
});
|
47
|
+
});
|
48
|
+
});
|
@@ -0,0 +1,82 @@
|
|
1
|
+
/*!
|
2
|
+
* randomatic <https://github.com/jonschlinkert/randomatic>
|
3
|
+
*
|
4
|
+
* Copyright (c) 2014-2017, Jon Schlinkert.
|
5
|
+
* Released under the MIT License.
|
6
|
+
*/
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
var isNumber = require('is-number');
|
11
|
+
var typeOf = require('kind-of');
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Expose `randomatic`
|
15
|
+
*/
|
16
|
+
|
17
|
+
module.exports = randomatic;
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Available mask characters
|
21
|
+
*/
|
22
|
+
|
23
|
+
var type = {
|
24
|
+
lower: 'abcdefghijklmnopqrstuvwxyz',
|
25
|
+
upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
26
|
+
number: '0123456789',
|
27
|
+
special: '~!@#$%^&()_+-={}[];\',.'
|
28
|
+
};
|
29
|
+
|
30
|
+
type.all = type.lower + type.upper + type.number + type.special;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Generate random character sequences of a specified `length`,
|
34
|
+
* based on the given `pattern`.
|
35
|
+
*
|
36
|
+
* @param {String} `pattern` The pattern to use for generating the random string.
|
37
|
+
* @param {String} `length` The length of the string to generate.
|
38
|
+
* @param {String} `options`
|
39
|
+
* @return {String}
|
40
|
+
* @api public
|
41
|
+
*/
|
42
|
+
|
43
|
+
function randomatic(pattern, length, options) {
|
44
|
+
if (typeof pattern === 'undefined') {
|
45
|
+
throw new Error('randomatic expects a string or number.');
|
46
|
+
}
|
47
|
+
|
48
|
+
var custom = false;
|
49
|
+
if (arguments.length === 1) {
|
50
|
+
if (typeof pattern === 'string') {
|
51
|
+
length = pattern.length;
|
52
|
+
|
53
|
+
} else if (isNumber(pattern)) {
|
54
|
+
options = {}; length = pattern; pattern = '*';
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
if (typeOf(length) === 'object' && length.hasOwnProperty('chars')) {
|
59
|
+
options = length;
|
60
|
+
pattern = options.chars;
|
61
|
+
length = pattern.length;
|
62
|
+
custom = true;
|
63
|
+
}
|
64
|
+
|
65
|
+
var opts = options || {};
|
66
|
+
var mask = '';
|
67
|
+
var res = '';
|
68
|
+
|
69
|
+
// Characters to be used
|
70
|
+
if (pattern.indexOf('?') !== -1) mask += opts.chars;
|
71
|
+
if (pattern.indexOf('a') !== -1) mask += type.lower;
|
72
|
+
if (pattern.indexOf('A') !== -1) mask += type.upper;
|
73
|
+
if (pattern.indexOf('0') !== -1) mask += type.number;
|
74
|
+
if (pattern.indexOf('!') !== -1) mask += type.special;
|
75
|
+
if (pattern.indexOf('*') !== -1) mask += type.all;
|
76
|
+
if (custom) mask += pattern;
|
77
|
+
|
78
|
+
while (length--) {
|
79
|
+
res += mask.charAt(parseInt(Math.random() * mask.length, 10));
|
80
|
+
}
|
81
|
+
return res;
|
82
|
+
};
|