forked from enviPath/enviPy
Current Dev State
This commit is contained in:
41
static/js/ketcher2/node_modules/has-require/index.js
generated
vendored
Normal file
41
static/js/ketcher2/node_modules/has-require/index.js
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
|
||||
var escape = require('escape-string-regexp')
|
||||
|
||||
module.exports = hasRequire
|
||||
|
||||
function hasRequire (code, id) {
|
||||
return new RequireChecker(code).has(id)
|
||||
}
|
||||
|
||||
hasRequire.any = function anyRequire (code) {
|
||||
return new RequireChecker(code).any()
|
||||
}
|
||||
|
||||
hasRequire.Checker = RequireChecker
|
||||
|
||||
function RequireChecker (code) {
|
||||
this.code = code
|
||||
}
|
||||
|
||||
var anyRegExp = createRegExp('@?[A-Za-z0-9/_.-]+')
|
||||
RequireChecker.prototype.any = function anyRequire () {
|
||||
if (this._any != null) return this._any
|
||||
this._any = anyRegExp.test(this.code)
|
||||
return this._any
|
||||
}
|
||||
|
||||
RequireChecker.prototype.has = function has (id) {
|
||||
if (!id) throw new Error('module id is required')
|
||||
return this.any() && createRegExp(escape(id)).test(this.code)
|
||||
}
|
||||
|
||||
function createRegExp (input) {
|
||||
return new RegExp([
|
||||
escape('require('),
|
||||
'\\s*[\'"]',
|
||||
input,
|
||||
'[\'"]\\s*',
|
||||
escape(')')
|
||||
].join(''))
|
||||
}
|
||||
Reference in New Issue
Block a user