-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.js
More file actions
35 lines (28 loc) · 948 Bytes
/
utils.js
File metadata and controls
35 lines (28 loc) · 948 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'use strict'
var utils = require('lazy-cache')(require)
var fn = require
require = utils // eslint-disable-line no-undef, no-native-reassign, no-global-assign
/**
* Lazily required module dependencies
*/
require('define-property', 'define')
require('isobject', 'isObject')
require('minibase-create-plugin', 'createPlugin')
require = fn // eslint-disable-line no-undef, no-native-reassign, no-global-assign
utils.registerMethod = function registerMethod (self, name) {
var plugin = self.registered[self._pluginName]
self.registered[self._pluginName] = Array.isArray(plugin) ? plugin : []
self.registered[self._pluginName].push(name)
return self
}
utils.emitWhenCalled = function emitWhenCalled (self, name, fn) {
return function fnWrapper () {
var args = [].slice.call(arguments)
self.emit.apply(self, [name, fn].concat(args))
return fn.apply(self, args)
}
}
/**
* Expose `utils` modules
*/
module.exports = utils