aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/node-gyp/node_modules/path-array/index.js')
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/index.js137
1 files changed, 0 insertions, 137 deletions
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js
deleted file mode 100644
index 1e8170136e..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js
+++ /dev/null
@@ -1,137 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var inherits = require('util').inherits;
-var delimiter = require('path').delimiter || ':';
-var ArrayIndex = require('array-index');
-
-/**
- * Module exports.
- */
-
-module.exports = PathArray;
-
-/**
- * `PathArray` constructor. Treat your `$PATH` like a mutable JavaScript Array!
- *
- * @param {Env} env - `process.env` object to use.
- * @param {String} [property] - optional property name to use (`PATH` by default).
- * @public
- */
-
-function PathArray (env, property) {
- if (!(this instanceof PathArray)) return new PathArray(env);
- ArrayIndex.call(this);
-
- this.property = property || 'PATH';
-
- // overwrite only the `get` operator of the ".length" property
- Object.defineProperty(this, 'length', {
- get: this._getLength
- });
-
- // store the `process.env` object as a non-enumerable `_env`
- Object.defineProperty(this, '_env', {
- value: env || process.env,
- writable: true,
- enumerable: false,
- configurable: true
- });
-
- // need to invoke the `length` getter to ensure that the
- // indexed getters/setters are set up at this point
- void(this.length);
-}
-
-// inherit from ArrayIndex
-inherits(PathArray, ArrayIndex);
-
-/**
- * Returns the current $PATH representation as an Array.
- *
- * @api private
- */
-
-PathArray.prototype._array = function () {
- var path = this._env[this.property];
- if (!path) return [];
- return path.split(delimiter);
-};
-
-/**
- * Sets the `env` object's `PATH` string to the values in the passed in Array
- * instance.
- *
- * @api private
- */
-
-PathArray.prototype._setArray = function (arr) {
- // mutate the $PATH
- this._env[this.property] = arr.join(delimiter);
-};
-
-/**
- * `.length` getter operation implementation.
- *
- * @api private
- */
-
-PathArray.prototype._getLength = function () {
- var length = this._array().length;
-
- // invoke the ArrayIndex internal `set` operator to ensure that
- // there's getters/setters defined for the determined length so far...
- this.length = length;
-
- return length;
-};
-
-/**
- * ArrayIndex [0] getter operator implementation.
- *
- * @api private
- */
-
-PathArray.prototype[ArrayIndex.get] = function get (index) {
- return this._array()[index];
-};
-
-/**
- * ArrayIndex [0]= setter operator implementation.
- *
- * @api private
- */
-
-PathArray.prototype[ArrayIndex.set] = function set (index, value) {
- var arr = this._array();
- arr[index] = value;
- this._setArray(arr);
- return value;
-};
-
-/**
- * `toString()` returns the current $PATH string.
- *
- * @api public
- */
-
-PathArray.prototype.toString = function toString () {
- return this._env[this.property] || '';
-};
-
-// proxy the JavaScript Array functions, and mutate the $PATH
-Object.getOwnPropertyNames(Array.prototype).forEach(function (name) {
- if ('constructor' == name) return;
- if ('function' != typeof Array.prototype[name]) return;
- if (/to(Locale)?String/.test(name)) return;
- //console.log('proxy %s', name);
-
- PathArray.prototype[name] = function () {
- var arr = this._array();
- var rtn = arr[name].apply(arr, arguments);
- this._setArray(arr);
- return rtn;
- };
-});