decidim 0.27.3 → 0.27.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|
+
});
|