%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : kowitt.ac.th / Your IP : 216.73.216.120 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files/Microsoft VS Code/resources/app/extensions/git/node_modules/zone.js/lib/node/ |
Upload File : |
/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import '../zone'; import './events'; import './fs'; import {patchTimer} from '../common/timers'; import {patchMethod} from '../common/utils'; const set = 'set'; const clear = 'clear'; const _global = typeof window === 'object' && window || typeof self === 'object' && self || global; // Timers const timers = require('timers'); patchTimer(timers, set, clear, 'Timeout'); patchTimer(timers, set, clear, 'Interval'); patchTimer(timers, set, clear, 'Immediate'); const shouldPatchGlobalTimers = global.setTimeout !== timers.setTimeout; if (shouldPatchGlobalTimers) { patchTimer(_global, set, clear, 'Timeout'); patchTimer(_global, set, clear, 'Interval'); patchTimer(_global, set, clear, 'Immediate'); } patchNextTick(); // Crypto let crypto; try { crypto = require('crypto'); } catch (err) { } // TODO(gdi2290): implement a better way to patch these methods if (crypto) { let nativeRandomBytes = crypto.randomBytes; crypto.randomBytes = function randomBytesZone(size: number, callback?: Function) { if (!callback) { return nativeRandomBytes(size); } else { let zone = Zone.current; const source = crypto.constructor.name + '.randomBytes'; return nativeRandomBytes(size, zone.wrap(callback, source)); } }.bind(crypto); let nativePbkdf2 = crypto.pbkdf2; crypto.pbkdf2 = function pbkdf2Zone(...args: any[]) { let fn = args[args.length - 1]; if (typeof fn === 'function') { let zone = Zone.current; const source = crypto.constructor.name + '.pbkdf2'; args[args.length - 1] = zone.wrap(fn, source); return nativePbkdf2(...args); } else { return nativePbkdf2(...args); } }.bind(crypto); } // HTTP Client let httpClient; try { httpClient = require('_http_client'); } catch (err) { } if (httpClient && httpClient.ClientRequest) { let ClientRequest = httpClient.ClientRequest.bind(httpClient); httpClient.ClientRequest = function(options: any, callback?: Function) { if (!callback) { return new ClientRequest(options); } else { let zone = Zone.current; return new ClientRequest(options, zone.wrap(callback, 'http.ClientRequest')); } }; } function patchNextTick() { let setNative = null; function scheduleTask(task: Task) { const args = task.data; args[0] = function() { task.invoke.apply(this, arguments); }; setNative.apply(process, args); return task; } setNative = patchMethod(process, 'nextTick', (delegate: Function) => function(self: any, args: any[]) { if (typeof args[0] === 'function') { const zone = Zone.current; const task = zone.scheduleMicroTask('nextTick', args[0], args, scheduleTask); return task; } else { // cause an error by calling it directly. return delegate.apply(process, args); } }); }