Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1072)

Unified Diff: node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js

Issue 877193002: Upgrade vulcanize to 0.7.6. (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
diff --git a/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
index b38cb6d485faa298d5cc20722a4afc9997b1a29f..07ef5218ed91f02d51995ec23ed6cbb6e28ab25f 100644
--- a/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
+++ b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
@@ -1,28 +1,57 @@
'use strict';
-
var Type = require('../../type');
+function resolveJavascriptRegExp(data) {
+ if (null === data) {
+ return false;
+ }
+
+ if (0 === data.length) {
+ return false;
+ }
-function resolveJavascriptRegExp(state) {
- var regexp = state.result,
- tail = /\/([gim]*)$/.exec(state.result),
- modifiers;
+ var regexp = data,
+ tail = /\/([gim]*)$/.exec(data),
+ modifiers = '';
- // `/foo/gim` - tail can be maximum 4 chars
- if ('/' === regexp[0] && tail && 4 >= tail[0].length) {
- regexp = regexp.slice(1, regexp.length - tail[0].length);
- modifiers = tail[1];
+ // if regexp starts with '/' it can have modifiers and must be properly closed
+ // `/foo/gim` - modifiers tail can be maximum 3 chars
+ if ('/' === regexp[0]) {
+ if (tail) {
+ modifiers = tail[1];
+ }
+
+ if (modifiers.length > 3) { return false; }
+ // if expression starts with /, is should be properly terminated
+ if (regexp[regexp.length - modifiers.length - 1] !== '/') { return false; }
+
+ regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
}
try {
- state.result = new RegExp(regexp, modifiers);
+ var dummy = new RegExp(regexp, modifiers);
return true;
} catch (error) {
return false;
}
}
+function constructJavascriptRegExp(data) {
+ var regexp = data,
+ tail = /\/([gim]*)$/.exec(data),
+ modifiers = '';
+
+ // `/foo/gim` - tail can be maximum 4 chars
+ if ('/' === regexp[0]) {
+ if (tail) {
+ modifiers = tail[1];
+ }
+ regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
+ }
+
+ return new RegExp(regexp, modifiers);
+}
function representJavascriptRegExp(object /*, style*/) {
var result = '/' + object.source + '/';
@@ -42,15 +71,14 @@ function representJavascriptRegExp(object /*, style*/) {
return result;
}
-
function isRegExp(object) {
return '[object RegExp]' === Object.prototype.toString.call(object);
}
-
module.exports = new Type('tag:yaml.org,2002:js/regexp', {
- loadKind: 'scalar',
- loadResolver: resolveJavascriptRegExp,
- dumpPredicate: isRegExp,
- dumpRepresenter: representJavascriptRegExp
+ kind: 'scalar',
+ resolve: resolveJavascriptRegExp,
+ construct: constructJavascriptRegExp,
+ predicate: isRegExp,
+ represent: representJavascriptRegExp
});

Powered by Google App Engine
This is Rietveld 408576698