arnaucube
arnaucube/raspberryGPIOhtmlserverPublic Self-hosted repository
raspberryGPIOhtmlserver/node_modules/isarray/build/build.js
node_modules/isarray/build/build.jsRaw
  1
  2/**
  3 * Require the given path.
  4 *
  5 * @param {String} path
  6 * @return {Object} exports
  7 * @api public
  8 */
  9
 10function require(path, parent, orig) {
 11  var resolved = require.resolve(path);
 12
 13  // lookup failed
 14  if (null == resolved) {
 15    orig = orig || path;
 16    parent = parent || 'root';
 17    var err = new Error('Failed to require "' + orig + '" from "' + parent + '"');
 18    err.path = orig;
 19    err.parent = parent;
 20    err.require = true;
 21    throw err;
 22  }
 23
 24  var module = require.modules[resolved];
 25
 26  // perform real require()
 27  // by invoking the module's
 28  // registered function
 29  if (!module.exports) {
 30    module.exports = {};
 31    module.client = module.component = true;
 32    module.call(this, module.exports, require.relative(resolved), module);
 33  }
 34
 35  return module.exports;
 36}
 37
 38/**
 39 * Registered modules.
 40 */
 41
 42require.modules = {};
 43
 44/**
 45 * Registered aliases.
 46 */
 47
 48require.aliases = {};
 49
 50/**
 51 * Resolve `path`.
 52 *
 53 * Lookup:
 54 *
 55 *   - PATH/index.js
 56 *   - PATH.js
 57 *   - PATH
 58 *
 59 * @param {String} path
 60 * @return {String} path or null
 61 * @api private
 62 */
 63
 64require.resolve = function(path) {
 65  if (path.charAt(0) === '/') path = path.slice(1);
 66  var index = path + '/index.js';
 67
 68  var paths = [
 69    path,
 70    path + '.js',
 71    path + '.json',
 72    path + '/index.js',
 73    path + '/index.json'
 74  ];
 75
 76  for (var i = 0; i < paths.length; i++) {
 77    var path = paths[i];
 78    if (require.modules.hasOwnProperty(path)) return path;
 79  }
 80
 81  if (require.aliases.hasOwnProperty(index)) {
 82    return require.aliases[index];
 83  }
 84};
 85
 86/**
 87 * Normalize `path` relative to the current path.
 88 *
 89 * @param {String} curr
 90 * @param {String} path
 91 * @return {String}
 92 * @api private
 93 */
 94
 95require.normalize = function(curr, path) {
 96  var segs = [];
 97
 98  if ('.' != path.charAt(0)) return path;
 99
100  curr = curr.split('/');
101  path = path.split('/');
102
103  for (var i = 0; i < path.length; ++i) {
104    if ('..' == path[i]) {
105      curr.pop();
106    } else if ('.' != path[i] && '' != path[i]) {
107      segs.push(path[i]);
108    }
109  }
110
111  return curr.concat(segs).join('/');
112};
113
114/**
115 * Register module at `path` with callback `definition`.
116 *
117 * @param {String} path
118 * @param {Function} definition
119 * @api private
120 */
121
122require.register = function(path, definition) {
123  require.modules[path] = definition;
124};
125
126/**
127 * Alias a module definition.
128 *
129 * @param {String} from
130 * @param {String} to
131 * @api private
132 */
133
134require.alias = function(from, to) {
135  if (!require.modules.hasOwnProperty(from)) {
136    throw new Error('Failed to alias "' + from + '", it does not exist');
137  }
138  require.aliases[to] = from;
139};
140
141/**
142 * Return a require function relative to the `parent` path.
143 *
144 * @param {String} parent
145 * @return {Function}
146 * @api private
147 */
148
149require.relative = function(parent) {
150  var p = require.normalize(parent, '..');
151
152  /**
153   * lastIndexOf helper.
154   */
155
156  function lastIndexOf(arr, obj) {
157    var i = arr.length;
158    while (i--) {
159      if (arr[i] === obj) return i;
160    }
161    return -1;
162  }
163
164  /**
165   * The relative require() itself.
166   */
167
168  function localRequire(path) {
169    var resolved = localRequire.resolve(path);
170    return require(resolved, parent, path);
171  }
172
173  /**
174   * Resolve relative to the parent.
175   */
176
177  localRequire.resolve = function(path) {
178    var c = path.charAt(0);
179    if ('/' == c) return path.slice(1);
180    if ('.' == c) return require.normalize(p, path);
181
182    // resolve deps by returning
183    // the dep in the nearest "deps"
184    // directory
185    var segs = parent.split('/');
186    var i = lastIndexOf(segs, 'deps') + 1;
187    if (!i) i = 0;
188    path = segs.slice(0, i + 1).join('/') + '/deps/' + path;
189    return path;
190  };
191
192  /**
193   * Check if module is defined at `path`.
194   */
195
196  localRequire.exists = function(path) {
197    return require.modules.hasOwnProperty(localRequire.resolve(path));
198  };
199
200  return localRequire;
201};
202require.register("isarray/index.js", function(exports, require, module){
203module.exports = Array.isArray || function (arr) {
204  return Object.prototype.toString.call(arr) == '[object Array]';
205};
206
207});
208require.alias("isarray/index.js", "isarray/index.js");
209