Files
enviPy-bayer/static/js/ketcher2/node_modules/has-require/index.js
2025-06-23 20:13:54 +02:00

42 lines
884 B
JavaScript

'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(''))
}