Index: node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/float.js |
diff --git a/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/float.js b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/float.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..644ff4b96f5368cbc410792157c1a77c9a9f603b |
--- /dev/null |
+++ b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/float.js |
@@ -0,0 +1,108 @@ |
+'use strict'; |
+ |
+ |
+var Type = require('../type'); |
+ |
+ |
+var YAML_FLOAT_PATTERN = new RegExp( |
+ '^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?' + |
+ '|\\.[0-9_]+(?:[eE][-+][0-9]+)?' + |
+ '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + |
+ '|[-+]?\\.(?:inf|Inf|INF)' + |
+ '|\\.(?:nan|NaN|NAN))$'); |
+ |
+ |
+function resolveYamlFloat(state) { |
+ var value, sign, base, digits, |
+ object = state.result; |
+ |
+ if (!YAML_FLOAT_PATTERN.test(object)) { |
+ return false; |
+ } |
+ |
+ value = object.replace(/_/g, '').toLowerCase(); |
+ sign = '-' === value[0] ? -1 : 1; |
+ digits = []; |
+ |
+ if (0 <= '+-'.indexOf(value[0])) { |
+ value = value.slice(1); |
+ } |
+ |
+ if ('.inf' === value) { |
+ state.result = (1 === sign) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; |
+ return true; |
+ |
+ } else if ('.nan' === value) { |
+ state.result = NaN; |
+ return true; |
+ |
+ } else if (0 <= value.indexOf(':')) { |
+ value.split(':').forEach(function (v) { |
+ digits.unshift(parseFloat(v, 10)); |
+ }); |
+ |
+ value = 0.0; |
+ base = 1; |
+ |
+ digits.forEach(function (d) { |
+ value += d * base; |
+ base *= 60; |
+ }); |
+ |
+ state.result = sign * value; |
+ return true; |
+ |
+ } else { |
+ state.result = sign * parseFloat(value, 10); |
+ return true; |
+ } |
+} |
+ |
+ |
+function representYamlFloat(object, style) { |
+ if (isNaN(object)) { |
+ switch (style) { |
+ case 'lowercase': |
+ return '.nan'; |
+ case 'uppercase': |
+ return '.NAN'; |
+ case 'camelcase': |
+ return '.NaN'; |
+ } |
+ } else if (Number.POSITIVE_INFINITY === object) { |
+ switch (style) { |
+ case 'lowercase': |
+ return '.inf'; |
+ case 'uppercase': |
+ return '.INF'; |
+ case 'camelcase': |
+ return '.Inf'; |
+ } |
+ } else if (Number.NEGATIVE_INFINITY === object) { |
+ switch (style) { |
+ case 'lowercase': |
+ return '-.inf'; |
+ case 'uppercase': |
+ return '-.INF'; |
+ case 'camelcase': |
+ return '-.Inf'; |
+ } |
+ } else { |
+ return object.toString(10); |
+ } |
+} |
+ |
+ |
+function isFloat(object) { |
+ return ('[object Number]' === Object.prototype.toString.call(object)) && |
+ (0 !== object % 1); |
+} |
+ |
+ |
+module.exports = new Type('tag:yaml.org,2002:float', { |
+ loadKind: 'scalar', |
+ loadResolver: resolveYamlFloat, |
+ dumpPredicate: isFloat, |
+ dumpRepresenter: representYamlFloat, |
+ dumpDefaultStyle: 'lowercase' |
+}); |