UNPKG

composr-core

Version:
54 lines (43 loc) 1.29 kB
'use strict' var SNIPPETS_PREFIX = 'snippet-' var ALLOWED_LIBRARIES = [ 'http', 'request', 'async', 'corbel-js', 'lodash', 'corbel-token-verifier' ] var LOCAL_LIBRARIES = { 'ComposrError': './ComposrError', 'composrUtils': './utils' } function requirerWrapper (Snippet) { return function requirer (domain, version, functionMode) { return function requirerForDomain (libName) { if (!libName || typeof (libName) !== 'string') { libName = '' } if (libName.indexOf(SNIPPETS_PREFIX) !== -1) { libName = libName.replace(SNIPPETS_PREFIX, '') var snippet = Snippet.getSnippet(domain, libName, version) var returnedResult = null // Execute the exports function if (snippet) { snippet.execute(functionMode, function (res) { // TODO: What that bug!! returnedResult = res }) } return returnedResult } else if (libName && ALLOWED_LIBRARIES.indexOf(libName) !== -1) { return require(libName) } else if (libName && Object.keys(LOCAL_LIBRARIES).indexOf(libName) !== -1) { var locallib = require(LOCAL_LIBRARIES[libName]) return locallib } return null } } } module.exports = requirerWrapper