Current Path: > > lib > node_modules > npm > node_modules > util-promisify
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
.npmignore | File | 13 bytes | March 10 2021 14:36:36. | |
.travis.yml | File | 69 bytes | March 10 2021 14:36:36. | |
LICENSE | File | 54027 bytes | March 10 2021 14:36:36. | |
README.md | File | 1086 bytes | March 10 2021 14:36:36. | |
index.js | File | 2983 bytes | March 10 2021 14:36:36. | |
package.json | File | 1319 bytes | March 10 2021 14:36:36. |
'use strict'; const ObjectGetOwnPropertyDescriptors = require('object.getownpropertydescriptors'); const util = require('util'); const timers = require('timers'); const kCustomPromisifiedSymbol = util.promisify && util.promisify.custom || Symbol('util.promisify.custom'); //const kCustomPromisifyArgsSymbol = Symbol('customPromisifyArgs'); function promisify(orig) { if (typeof orig !== 'function') { //const errors = require('internal/errors'); //throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'original', 'function'); var err = TypeError(`The "original" argument must be of type function`); err.code = 'ERR_INVALID_ARG_TYPE'; err.name = `TypeError [${err.code}]`; throw err } if (orig === timers.setTimeout || orig === timers.setImmediate) { const _orig = orig orig = function () { var args = []; for (var i = 0; i < arguments.length; i ++) args.push(arguments[i]); const _cb = args.pop() const cb = function () { var args = []; for (var i = 0; i < arguments.length; i ++) args.push(arguments[i]); _cb.apply(null, [null].concat(args)) } _orig.apply(timers, [cb].concat(args)) } } if (orig[kCustomPromisifiedSymbol]) { const fn = orig[kCustomPromisifiedSymbol]; if (typeof fn !== 'function') { throw new TypeError('The [util.promisify.custom] property must be ' + 'a function'); } Object.defineProperty(fn, kCustomPromisifiedSymbol, { value: fn, enumerable: false, writable: false, configurable: true }); return fn; } // Names to create an object from in case the callback receives multiple // arguments, e.g. ['stdout', 'stderr'] for child_process.exec. //const argumentNames = orig[kCustomPromisifyArgsSymbol]; function fn() { var args = []; for (var i = 0; i < arguments.length; i ++) args.push(arguments[i]); let resolve, reject; const promise = new Promise(function (_resolve, _reject) { resolve = _resolve; reject = _reject; }); try { orig.apply(this, args.concat(function (err) { var values = []; for (var i = 1; i < arguments.length; i++) values.push(arguments[i]); if (err) { reject(err); //} else if (argumentNames !== undefined && values.length > 1) { // const obj = {}; // for (var i = 0; i < argumentNames.length; i++) // obj[argumentNames[i]] = values[i]; // resolve(obj); } else { resolve(values[0]); } })); } catch (err) { reject(err); } return promise; } Object.setPrototypeOf(fn, Object.getPrototypeOf(orig)); Object.defineProperty(fn, kCustomPromisifiedSymbol, { value: fn, enumerable: false, writable: false, configurable: true }); return Object.defineProperties(fn, ObjectGetOwnPropertyDescriptors(orig)); } promisify.custom = kCustomPromisifiedSymbol; module.exports = promisify;
SILENT KILLER Tool