socketioMEANseed/server/node_modules/isarray/build/build.js
server/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