decidim 0.27.3 → 0.27.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Rakefile +16 -2
- data/babel.config.json +1 -4
- data/lib/decidim/release_manager.rb.new +43 -0
- data/lib/decidim/version.rb +1 -1
- data/package-lock.json +343 -255
- data/packages/browserslist-config/package.json +1 -1
- data/packages/core/node_modules/diff/CONTRIBUTING.md +39 -0
- data/packages/core/node_modules/diff/LICENSE +31 -0
- data/packages/core/node_modules/diff/README.md +211 -0
- data/packages/core/node_modules/diff/dist/diff.js +1627 -0
- data/packages/core/node_modules/diff/dist/diff.min.js +38 -0
- data/packages/core/node_modules/diff/lib/convert/dmp.js +32 -0
- data/packages/core/node_modules/diff/lib/convert/xml.js +42 -0
- data/packages/core/node_modules/diff/lib/diff/array.js +45 -0
- data/packages/core/node_modules/diff/lib/diff/base.js +307 -0
- data/packages/core/node_modules/diff/lib/diff/character.js +37 -0
- data/packages/core/node_modules/diff/lib/diff/css.js +41 -0
- data/packages/core/node_modules/diff/lib/diff/json.js +163 -0
- data/packages/core/node_modules/diff/lib/diff/line.js +89 -0
- data/packages/core/node_modules/diff/lib/diff/sentence.js +41 -0
- data/packages/core/node_modules/diff/lib/diff/word.js +108 -0
- data/packages/core/node_modules/diff/lib/index.es6.js +1561 -0
- data/packages/core/node_modules/diff/lib/index.js +216 -0
- data/packages/core/node_modules/diff/lib/index.mjs +1561 -0
- data/packages/core/node_modules/diff/lib/patch/apply.js +238 -0
- data/packages/core/node_modules/diff/lib/patch/create.js +272 -0
- data/packages/core/node_modules/diff/lib/patch/merge.js +613 -0
- data/packages/core/node_modules/diff/lib/patch/parse.js +167 -0
- data/packages/core/node_modules/diff/lib/util/array.js +32 -0
- data/packages/core/node_modules/diff/lib/util/distance-iterator.js +57 -0
- data/packages/core/node_modules/diff/lib/util/params.js +24 -0
- data/packages/core/node_modules/diff/package.json +87 -0
- data/packages/core/node_modules/diff/release-notes.md +309 -0
- data/packages/core/node_modules/diff/runtime.js +3 -0
- data/packages/core/package-lock.json +4889 -0
- data/packages/core/package.json +1 -1
- data/packages/dev/package.json +1 -1
- data/packages/elections/package.json +1 -1
- data/packages/eslint-config/package.json +1 -1
- data/packages/stylelint-config/package.json +1 -1
- data/packages/webpacker/node_modules/argparse/CHANGELOG.md +216 -0
- data/packages/webpacker/node_modules/argparse/LICENSE +254 -0
- data/packages/webpacker/node_modules/argparse/README.md +84 -0
- data/packages/webpacker/node_modules/argparse/argparse.js +3707 -0
- data/packages/webpacker/node_modules/argparse/lib/sub.js +67 -0
- data/packages/webpacker/node_modules/argparse/lib/textwrap.js +440 -0
- data/packages/webpacker/node_modules/argparse/package.json +31 -0
- data/packages/{core/node_modules/uuid/LICENSE.md → webpacker/node_modules/brace-expansion/LICENSE} +2 -2
- data/packages/webpacker/node_modules/brace-expansion/README.md +135 -0
- data/packages/webpacker/node_modules/brace-expansion/index.js +203 -0
- data/packages/webpacker/node_modules/brace-expansion/package.json +46 -0
- data/packages/webpacker/node_modules/glob/LICENSE +15 -0
- data/packages/webpacker/node_modules/glob/README.md +1214 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/package.json +4 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.d.ts +3 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.js +270 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.d.ts +344 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.js +238 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.d.ts +14 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.js +27 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.d.ts +20 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.js +103 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.d.ts +95 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.js +68 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.d.ts +77 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.js +219 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.d.ts +59 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.js +309 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.d.ts +96 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.js +358 -0
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.d.ts +344 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.js +234 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.d.ts +14 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.js +23 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.d.ts +20 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.js +99 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/index.d.ts +95 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/index.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/index.js +56 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/index.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/package.json +4 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.d.ts +77 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.js +215 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.d.ts +59 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.js +302 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.js.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.d.ts +96 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.d.ts.map +1 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.js +352 -0
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.js.map +1 -0
- data/packages/webpacker/node_modules/glob/package.json +98 -0
- data/packages/webpacker/node_modules/js-yaml/CHANGELOG.md +616 -0
- data/packages/webpacker/node_modules/js-yaml/LICENSE +21 -0
- data/packages/webpacker/node_modules/js-yaml/README.md +246 -0
- data/packages/webpacker/node_modules/js-yaml/bin/js-yaml.js +126 -0
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.js +3874 -0
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
- data/packages/webpacker/node_modules/js-yaml/index.js +47 -0
- data/packages/webpacker/node_modules/js-yaml/lib/common.js +59 -0
- data/packages/webpacker/node_modules/js-yaml/lib/dumper.js +965 -0
- data/packages/webpacker/node_modules/js-yaml/lib/exception.js +55 -0
- data/packages/webpacker/node_modules/js-yaml/lib/loader.js +1727 -0
- data/packages/webpacker/node_modules/js-yaml/lib/schema/core.js +11 -0
- data/packages/webpacker/node_modules/js-yaml/lib/schema/default.js +22 -0
- data/packages/webpacker/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
- data/packages/webpacker/node_modules/js-yaml/lib/schema/json.js +19 -0
- data/packages/webpacker/node_modules/js-yaml/lib/schema.js +121 -0
- data/packages/webpacker/node_modules/js-yaml/lib/snippet.js +101 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/binary.js +125 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/bool.js +35 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/float.js +97 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/int.js +156 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/map.js +8 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/merge.js +12 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/null.js +35 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/omap.js +44 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/pairs.js +53 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/seq.js +8 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/set.js +29 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/str.js +8 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type/timestamp.js +88 -0
- data/packages/webpacker/node_modules/js-yaml/lib/type.js +66 -0
- data/packages/webpacker/node_modules/js-yaml/package.json +66 -0
- data/packages/webpacker/node_modules/minimatch/LICENSE +15 -0
- data/packages/webpacker/node_modules/minimatch/README.md +454 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts +2 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +14 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.d.ts +19 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.js +589 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.d.ts +8 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.js +152 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.d.ts +12 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.js +22 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.d.ts +94 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.js +1011 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/package.json +3 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.d.ts +17 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.js +24 -0
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts +2 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +10 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.d.ts +19 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.js +585 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.d.ts +8 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.js +148 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.d.ts +12 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.js +18 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.d.ts +94 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.js +995 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/package.json +3 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.d.ts +17 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.d.ts.map +1 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.js +20 -0
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.js.map +1 -0
- data/packages/webpacker/node_modules/minimatch/package.json +86 -0
- data/packages/webpacker/package.json +2 -2
- metadata +237 -64
- data/packages/core/node_modules/uuid/AUTHORS +0 -5
- data/packages/core/node_modules/uuid/CHANGELOG.md +0 -119
- data/packages/core/node_modules/uuid/README.md +0 -276
- data/packages/core/node_modules/uuid/bin/uuid +0 -65
- data/packages/core/node_modules/uuid/index.js +0 -8
- data/packages/core/node_modules/uuid/lib/bytesToUuid.js +0 -26
- data/packages/core/node_modules/uuid/lib/md5-browser.js +0 -216
- data/packages/core/node_modules/uuid/lib/md5.js +0 -25
- data/packages/core/node_modules/uuid/lib/rng-browser.js +0 -34
- data/packages/core/node_modules/uuid/lib/rng.js +0 -8
- data/packages/core/node_modules/uuid/lib/sha1-browser.js +0 -89
- data/packages/core/node_modules/uuid/lib/sha1.js +0 -25
- data/packages/core/node_modules/uuid/lib/v35.js +0 -57
- data/packages/core/node_modules/uuid/package.json +0 -49
- data/packages/core/node_modules/uuid/v1.js +0 -109
- data/packages/core/node_modules/uuid/v3.js +0 -4
- data/packages/core/node_modules/uuid/v4.js +0 -29
- data/packages/core/node_modules/uuid/v5.js +0 -3
@@ -0,0 +1,11 @@
|
|
1
|
+
// Standard YAML's Core schema.
|
2
|
+
// http://www.yaml.org/spec/1.2/spec.html#id2804923
|
3
|
+
//
|
4
|
+
// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.
|
5
|
+
// So, Core schema has no distinctions from JSON schema is JS-YAML.
|
6
|
+
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
|
11
|
+
module.exports = require('./json');
|
@@ -0,0 +1,22 @@
|
|
1
|
+
// JS-YAML's default schema for `safeLoad` function.
|
2
|
+
// It is not described in the YAML specification.
|
3
|
+
//
|
4
|
+
// This schema is based on standard YAML's Core schema and includes most of
|
5
|
+
// extra types described at YAML tag repository. (http://yaml.org/type/)
|
6
|
+
|
7
|
+
|
8
|
+
'use strict';
|
9
|
+
|
10
|
+
|
11
|
+
module.exports = require('./core').extend({
|
12
|
+
implicit: [
|
13
|
+
require('../type/timestamp'),
|
14
|
+
require('../type/merge')
|
15
|
+
],
|
16
|
+
explicit: [
|
17
|
+
require('../type/binary'),
|
18
|
+
require('../type/omap'),
|
19
|
+
require('../type/pairs'),
|
20
|
+
require('../type/set')
|
21
|
+
]
|
22
|
+
});
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Standard YAML's Failsafe schema.
|
2
|
+
// http://www.yaml.org/spec/1.2/spec.html#id2802346
|
3
|
+
|
4
|
+
|
5
|
+
'use strict';
|
6
|
+
|
7
|
+
|
8
|
+
var Schema = require('../schema');
|
9
|
+
|
10
|
+
|
11
|
+
module.exports = new Schema({
|
12
|
+
explicit: [
|
13
|
+
require('../type/str'),
|
14
|
+
require('../type/seq'),
|
15
|
+
require('../type/map')
|
16
|
+
]
|
17
|
+
});
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// Standard YAML's JSON schema.
|
2
|
+
// http://www.yaml.org/spec/1.2/spec.html#id2803231
|
3
|
+
//
|
4
|
+
// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.
|
5
|
+
// So, this schema is not such strict as defined in the YAML specification.
|
6
|
+
// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.
|
7
|
+
|
8
|
+
|
9
|
+
'use strict';
|
10
|
+
|
11
|
+
|
12
|
+
module.exports = require('./failsafe').extend({
|
13
|
+
implicit: [
|
14
|
+
require('../type/null'),
|
15
|
+
require('../type/bool'),
|
16
|
+
require('../type/int'),
|
17
|
+
require('../type/float')
|
18
|
+
]
|
19
|
+
});
|
@@ -0,0 +1,121 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
/*eslint-disable max-len*/
|
4
|
+
|
5
|
+
var YAMLException = require('./exception');
|
6
|
+
var Type = require('./type');
|
7
|
+
|
8
|
+
|
9
|
+
function compileList(schema, name) {
|
10
|
+
var result = [];
|
11
|
+
|
12
|
+
schema[name].forEach(function (currentType) {
|
13
|
+
var newIndex = result.length;
|
14
|
+
|
15
|
+
result.forEach(function (previousType, previousIndex) {
|
16
|
+
if (previousType.tag === currentType.tag &&
|
17
|
+
previousType.kind === currentType.kind &&
|
18
|
+
previousType.multi === currentType.multi) {
|
19
|
+
|
20
|
+
newIndex = previousIndex;
|
21
|
+
}
|
22
|
+
});
|
23
|
+
|
24
|
+
result[newIndex] = currentType;
|
25
|
+
});
|
26
|
+
|
27
|
+
return result;
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
function compileMap(/* lists... */) {
|
32
|
+
var result = {
|
33
|
+
scalar: {},
|
34
|
+
sequence: {},
|
35
|
+
mapping: {},
|
36
|
+
fallback: {},
|
37
|
+
multi: {
|
38
|
+
scalar: [],
|
39
|
+
sequence: [],
|
40
|
+
mapping: [],
|
41
|
+
fallback: []
|
42
|
+
}
|
43
|
+
}, index, length;
|
44
|
+
|
45
|
+
function collectType(type) {
|
46
|
+
if (type.multi) {
|
47
|
+
result.multi[type.kind].push(type);
|
48
|
+
result.multi['fallback'].push(type);
|
49
|
+
} else {
|
50
|
+
result[type.kind][type.tag] = result['fallback'][type.tag] = type;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
for (index = 0, length = arguments.length; index < length; index += 1) {
|
55
|
+
arguments[index].forEach(collectType);
|
56
|
+
}
|
57
|
+
return result;
|
58
|
+
}
|
59
|
+
|
60
|
+
|
61
|
+
function Schema(definition) {
|
62
|
+
return this.extend(definition);
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
Schema.prototype.extend = function extend(definition) {
|
67
|
+
var implicit = [];
|
68
|
+
var explicit = [];
|
69
|
+
|
70
|
+
if (definition instanceof Type) {
|
71
|
+
// Schema.extend(type)
|
72
|
+
explicit.push(definition);
|
73
|
+
|
74
|
+
} else if (Array.isArray(definition)) {
|
75
|
+
// Schema.extend([ type1, type2, ... ])
|
76
|
+
explicit = explicit.concat(definition);
|
77
|
+
|
78
|
+
} else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
|
79
|
+
// Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] })
|
80
|
+
if (definition.implicit) implicit = implicit.concat(definition.implicit);
|
81
|
+
if (definition.explicit) explicit = explicit.concat(definition.explicit);
|
82
|
+
|
83
|
+
} else {
|
84
|
+
throw new YAMLException('Schema.extend argument should be a Type, [ Type ], ' +
|
85
|
+
'or a schema definition ({ implicit: [...], explicit: [...] })');
|
86
|
+
}
|
87
|
+
|
88
|
+
implicit.forEach(function (type) {
|
89
|
+
if (!(type instanceof Type)) {
|
90
|
+
throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');
|
91
|
+
}
|
92
|
+
|
93
|
+
if (type.loadKind && type.loadKind !== 'scalar') {
|
94
|
+
throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');
|
95
|
+
}
|
96
|
+
|
97
|
+
if (type.multi) {
|
98
|
+
throw new YAMLException('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.');
|
99
|
+
}
|
100
|
+
});
|
101
|
+
|
102
|
+
explicit.forEach(function (type) {
|
103
|
+
if (!(type instanceof Type)) {
|
104
|
+
throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
var result = Object.create(Schema.prototype);
|
109
|
+
|
110
|
+
result.implicit = (this.implicit || []).concat(implicit);
|
111
|
+
result.explicit = (this.explicit || []).concat(explicit);
|
112
|
+
|
113
|
+
result.compiledImplicit = compileList(result, 'implicit');
|
114
|
+
result.compiledExplicit = compileList(result, 'explicit');
|
115
|
+
result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);
|
116
|
+
|
117
|
+
return result;
|
118
|
+
};
|
119
|
+
|
120
|
+
|
121
|
+
module.exports = Schema;
|
@@ -0,0 +1,101 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
|
4
|
+
var common = require('./common');
|
5
|
+
|
6
|
+
|
7
|
+
// get snippet for a single line, respecting maxLength
|
8
|
+
function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
|
9
|
+
var head = '';
|
10
|
+
var tail = '';
|
11
|
+
var maxHalfLength = Math.floor(maxLineLength / 2) - 1;
|
12
|
+
|
13
|
+
if (position - lineStart > maxHalfLength) {
|
14
|
+
head = ' ... ';
|
15
|
+
lineStart = position - maxHalfLength + head.length;
|
16
|
+
}
|
17
|
+
|
18
|
+
if (lineEnd - position > maxHalfLength) {
|
19
|
+
tail = ' ...';
|
20
|
+
lineEnd = position + maxHalfLength - tail.length;
|
21
|
+
}
|
22
|
+
|
23
|
+
return {
|
24
|
+
str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail,
|
25
|
+
pos: position - lineStart + head.length // relative position
|
26
|
+
};
|
27
|
+
}
|
28
|
+
|
29
|
+
|
30
|
+
function padStart(string, max) {
|
31
|
+
return common.repeat(' ', max - string.length) + string;
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
function makeSnippet(mark, options) {
|
36
|
+
options = Object.create(options || null);
|
37
|
+
|
38
|
+
if (!mark.buffer) return null;
|
39
|
+
|
40
|
+
if (!options.maxLength) options.maxLength = 79;
|
41
|
+
if (typeof options.indent !== 'number') options.indent = 1;
|
42
|
+
if (typeof options.linesBefore !== 'number') options.linesBefore = 3;
|
43
|
+
if (typeof options.linesAfter !== 'number') options.linesAfter = 2;
|
44
|
+
|
45
|
+
var re = /\r?\n|\r|\0/g;
|
46
|
+
var lineStarts = [ 0 ];
|
47
|
+
var lineEnds = [];
|
48
|
+
var match;
|
49
|
+
var foundLineNo = -1;
|
50
|
+
|
51
|
+
while ((match = re.exec(mark.buffer))) {
|
52
|
+
lineEnds.push(match.index);
|
53
|
+
lineStarts.push(match.index + match[0].length);
|
54
|
+
|
55
|
+
if (mark.position <= match.index && foundLineNo < 0) {
|
56
|
+
foundLineNo = lineStarts.length - 2;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
|
61
|
+
|
62
|
+
var result = '', i, line;
|
63
|
+
var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
|
64
|
+
var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
|
65
|
+
|
66
|
+
for (i = 1; i <= options.linesBefore; i++) {
|
67
|
+
if (foundLineNo - i < 0) break;
|
68
|
+
line = getLine(
|
69
|
+
mark.buffer,
|
70
|
+
lineStarts[foundLineNo - i],
|
71
|
+
lineEnds[foundLineNo - i],
|
72
|
+
mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),
|
73
|
+
maxLineLength
|
74
|
+
);
|
75
|
+
result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) +
|
76
|
+
' | ' + line.str + '\n' + result;
|
77
|
+
}
|
78
|
+
|
79
|
+
line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
|
80
|
+
result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) +
|
81
|
+
' | ' + line.str + '\n';
|
82
|
+
result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n';
|
83
|
+
|
84
|
+
for (i = 1; i <= options.linesAfter; i++) {
|
85
|
+
if (foundLineNo + i >= lineEnds.length) break;
|
86
|
+
line = getLine(
|
87
|
+
mark.buffer,
|
88
|
+
lineStarts[foundLineNo + i],
|
89
|
+
lineEnds[foundLineNo + i],
|
90
|
+
mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),
|
91
|
+
maxLineLength
|
92
|
+
);
|
93
|
+
result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) +
|
94
|
+
' | ' + line.str + '\n';
|
95
|
+
}
|
96
|
+
|
97
|
+
return result.replace(/\n$/, '');
|
98
|
+
}
|
99
|
+
|
100
|
+
|
101
|
+
module.exports = makeSnippet;
|
@@ -0,0 +1,125 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
/*eslint-disable no-bitwise*/
|
4
|
+
|
5
|
+
|
6
|
+
var Type = require('../type');
|
7
|
+
|
8
|
+
|
9
|
+
// [ 64, 65, 66 ] -> [ padding, CR, LF ]
|
10
|
+
var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r';
|
11
|
+
|
12
|
+
|
13
|
+
function resolveYamlBinary(data) {
|
14
|
+
if (data === null) return false;
|
15
|
+
|
16
|
+
var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
|
17
|
+
|
18
|
+
// Convert one by one.
|
19
|
+
for (idx = 0; idx < max; idx++) {
|
20
|
+
code = map.indexOf(data.charAt(idx));
|
21
|
+
|
22
|
+
// Skip CR/LF
|
23
|
+
if (code > 64) continue;
|
24
|
+
|
25
|
+
// Fail on illegal characters
|
26
|
+
if (code < 0) return false;
|
27
|
+
|
28
|
+
bitlen += 6;
|
29
|
+
}
|
30
|
+
|
31
|
+
// If there are any bits left, source was corrupted
|
32
|
+
return (bitlen % 8) === 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
function constructYamlBinary(data) {
|
36
|
+
var idx, tailbits,
|
37
|
+
input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan
|
38
|
+
max = input.length,
|
39
|
+
map = BASE64_MAP,
|
40
|
+
bits = 0,
|
41
|
+
result = [];
|
42
|
+
|
43
|
+
// Collect by 6*4 bits (3 bytes)
|
44
|
+
|
45
|
+
for (idx = 0; idx < max; idx++) {
|
46
|
+
if ((idx % 4 === 0) && idx) {
|
47
|
+
result.push((bits >> 16) & 0xFF);
|
48
|
+
result.push((bits >> 8) & 0xFF);
|
49
|
+
result.push(bits & 0xFF);
|
50
|
+
}
|
51
|
+
|
52
|
+
bits = (bits << 6) | map.indexOf(input.charAt(idx));
|
53
|
+
}
|
54
|
+
|
55
|
+
// Dump tail
|
56
|
+
|
57
|
+
tailbits = (max % 4) * 6;
|
58
|
+
|
59
|
+
if (tailbits === 0) {
|
60
|
+
result.push((bits >> 16) & 0xFF);
|
61
|
+
result.push((bits >> 8) & 0xFF);
|
62
|
+
result.push(bits & 0xFF);
|
63
|
+
} else if (tailbits === 18) {
|
64
|
+
result.push((bits >> 10) & 0xFF);
|
65
|
+
result.push((bits >> 2) & 0xFF);
|
66
|
+
} else if (tailbits === 12) {
|
67
|
+
result.push((bits >> 4) & 0xFF);
|
68
|
+
}
|
69
|
+
|
70
|
+
return new Uint8Array(result);
|
71
|
+
}
|
72
|
+
|
73
|
+
function representYamlBinary(object /*, style*/) {
|
74
|
+
var result = '', bits = 0, idx, tail,
|
75
|
+
max = object.length,
|
76
|
+
map = BASE64_MAP;
|
77
|
+
|
78
|
+
// Convert every three bytes to 4 ASCII characters.
|
79
|
+
|
80
|
+
for (idx = 0; idx < max; idx++) {
|
81
|
+
if ((idx % 3 === 0) && idx) {
|
82
|
+
result += map[(bits >> 18) & 0x3F];
|
83
|
+
result += map[(bits >> 12) & 0x3F];
|
84
|
+
result += map[(bits >> 6) & 0x3F];
|
85
|
+
result += map[bits & 0x3F];
|
86
|
+
}
|
87
|
+
|
88
|
+
bits = (bits << 8) + object[idx];
|
89
|
+
}
|
90
|
+
|
91
|
+
// Dump tail
|
92
|
+
|
93
|
+
tail = max % 3;
|
94
|
+
|
95
|
+
if (tail === 0) {
|
96
|
+
result += map[(bits >> 18) & 0x3F];
|
97
|
+
result += map[(bits >> 12) & 0x3F];
|
98
|
+
result += map[(bits >> 6) & 0x3F];
|
99
|
+
result += map[bits & 0x3F];
|
100
|
+
} else if (tail === 2) {
|
101
|
+
result += map[(bits >> 10) & 0x3F];
|
102
|
+
result += map[(bits >> 4) & 0x3F];
|
103
|
+
result += map[(bits << 2) & 0x3F];
|
104
|
+
result += map[64];
|
105
|
+
} else if (tail === 1) {
|
106
|
+
result += map[(bits >> 2) & 0x3F];
|
107
|
+
result += map[(bits << 4) & 0x3F];
|
108
|
+
result += map[64];
|
109
|
+
result += map[64];
|
110
|
+
}
|
111
|
+
|
112
|
+
return result;
|
113
|
+
}
|
114
|
+
|
115
|
+
function isBinary(obj) {
|
116
|
+
return Object.prototype.toString.call(obj) === '[object Uint8Array]';
|
117
|
+
}
|
118
|
+
|
119
|
+
module.exports = new Type('tag:yaml.org,2002:binary', {
|
120
|
+
kind: 'scalar',
|
121
|
+
resolve: resolveYamlBinary,
|
122
|
+
construct: constructYamlBinary,
|
123
|
+
predicate: isBinary,
|
124
|
+
represent: representYamlBinary
|
125
|
+
});
|
@@ -0,0 +1,35 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var Type = require('../type');
|
4
|
+
|
5
|
+
function resolveYamlBoolean(data) {
|
6
|
+
if (data === null) return false;
|
7
|
+
|
8
|
+
var max = data.length;
|
9
|
+
|
10
|
+
return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||
|
11
|
+
(max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));
|
12
|
+
}
|
13
|
+
|
14
|
+
function constructYamlBoolean(data) {
|
15
|
+
return data === 'true' ||
|
16
|
+
data === 'True' ||
|
17
|
+
data === 'TRUE';
|
18
|
+
}
|
19
|
+
|
20
|
+
function isBoolean(object) {
|
21
|
+
return Object.prototype.toString.call(object) === '[object Boolean]';
|
22
|
+
}
|
23
|
+
|
24
|
+
module.exports = new Type('tag:yaml.org,2002:bool', {
|
25
|
+
kind: 'scalar',
|
26
|
+
resolve: resolveYamlBoolean,
|
27
|
+
construct: constructYamlBoolean,
|
28
|
+
predicate: isBoolean,
|
29
|
+
represent: {
|
30
|
+
lowercase: function (object) { return object ? 'true' : 'false'; },
|
31
|
+
uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },
|
32
|
+
camelcase: function (object) { return object ? 'True' : 'False'; }
|
33
|
+
},
|
34
|
+
defaultStyle: 'lowercase'
|
35
|
+
});
|
@@ -0,0 +1,97 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var common = require('../common');
|
4
|
+
var Type = require('../type');
|
5
|
+
|
6
|
+
var YAML_FLOAT_PATTERN = new RegExp(
|
7
|
+
// 2.5e4, 2.5 and integers
|
8
|
+
'^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +
|
9
|
+
// .2e4, .2
|
10
|
+
// special case, seems not from spec
|
11
|
+
'|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +
|
12
|
+
// .inf
|
13
|
+
'|[-+]?\\.(?:inf|Inf|INF)' +
|
14
|
+
// .nan
|
15
|
+
'|\\.(?:nan|NaN|NAN))$');
|
16
|
+
|
17
|
+
function resolveYamlFloat(data) {
|
18
|
+
if (data === null) return false;
|
19
|
+
|
20
|
+
if (!YAML_FLOAT_PATTERN.test(data) ||
|
21
|
+
// Quick hack to not allow integers end with `_`
|
22
|
+
// Probably should update regexp & check speed
|
23
|
+
data[data.length - 1] === '_') {
|
24
|
+
return false;
|
25
|
+
}
|
26
|
+
|
27
|
+
return true;
|
28
|
+
}
|
29
|
+
|
30
|
+
function constructYamlFloat(data) {
|
31
|
+
var value, sign;
|
32
|
+
|
33
|
+
value = data.replace(/_/g, '').toLowerCase();
|
34
|
+
sign = value[0] === '-' ? -1 : 1;
|
35
|
+
|
36
|
+
if ('+-'.indexOf(value[0]) >= 0) {
|
37
|
+
value = value.slice(1);
|
38
|
+
}
|
39
|
+
|
40
|
+
if (value === '.inf') {
|
41
|
+
return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
|
42
|
+
|
43
|
+
} else if (value === '.nan') {
|
44
|
+
return NaN;
|
45
|
+
}
|
46
|
+
return sign * parseFloat(value, 10);
|
47
|
+
}
|
48
|
+
|
49
|
+
|
50
|
+
var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
|
51
|
+
|
52
|
+
function representYamlFloat(object, style) {
|
53
|
+
var res;
|
54
|
+
|
55
|
+
if (isNaN(object)) {
|
56
|
+
switch (style) {
|
57
|
+
case 'lowercase': return '.nan';
|
58
|
+
case 'uppercase': return '.NAN';
|
59
|
+
case 'camelcase': return '.NaN';
|
60
|
+
}
|
61
|
+
} else if (Number.POSITIVE_INFINITY === object) {
|
62
|
+
switch (style) {
|
63
|
+
case 'lowercase': return '.inf';
|
64
|
+
case 'uppercase': return '.INF';
|
65
|
+
case 'camelcase': return '.Inf';
|
66
|
+
}
|
67
|
+
} else if (Number.NEGATIVE_INFINITY === object) {
|
68
|
+
switch (style) {
|
69
|
+
case 'lowercase': return '-.inf';
|
70
|
+
case 'uppercase': return '-.INF';
|
71
|
+
case 'camelcase': return '-.Inf';
|
72
|
+
}
|
73
|
+
} else if (common.isNegativeZero(object)) {
|
74
|
+
return '-0.0';
|
75
|
+
}
|
76
|
+
|
77
|
+
res = object.toString(10);
|
78
|
+
|
79
|
+
// JS stringifier can build scientific format without dots: 5e-100,
|
80
|
+
// while YAML requres dot: 5.e-100. Fix it with simple hack
|
81
|
+
|
82
|
+
return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;
|
83
|
+
}
|
84
|
+
|
85
|
+
function isFloat(object) {
|
86
|
+
return (Object.prototype.toString.call(object) === '[object Number]') &&
|
87
|
+
(object % 1 !== 0 || common.isNegativeZero(object));
|
88
|
+
}
|
89
|
+
|
90
|
+
module.exports = new Type('tag:yaml.org,2002:float', {
|
91
|
+
kind: 'scalar',
|
92
|
+
resolve: resolveYamlFloat,
|
93
|
+
construct: constructYamlFloat,
|
94
|
+
predicate: isFloat,
|
95
|
+
represent: representYamlFloat,
|
96
|
+
defaultStyle: 'lowercase'
|
97
|
+
});
|