data-provider-temporary
Version:
Library that helps with server-to-client synchronization of data
35 lines (30 loc) • 1.22 kB
JavaScript
; /**
* Copyright (c) 2014, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
var path = require('path');
var escapePathForRegex = function escapePathForRegex(dir) {
if (path.sep === '\\') {
// Replace "\" with "/" so it's not escaped by escapeStrForRegex.
// replacePathSepForRegex will convert it back.
dir = dir.replace(/\\/g, '/');
}
return replacePathSepForRegex(escapeStrForRegex(dir));
};
var escapeStrForRegex = function escapeStrForRegex(string) {return (
string.replace(/[[\]{}()*+?.\\^$|]/g, '\\$&'));};
var replacePathSepForRegex = function replacePathSepForRegex(string) {
if (path.sep === '\\') {
return string.replace(/(\/|\\(?!\.))/g, '\\\\');
}
return string;
};
module.exports = {
escapePathForRegex: escapePathForRegex,
escapeStrForRegex: escapeStrForRegex,
replacePathSepForRegex: replacePathSepForRegex };