ACIL FM
Dark
Refresh
Current DIR:
/lib/node_modules/npm/lib/utils
/
lib
node_modules
npm
lib
utils
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
completion
-
chmod
Open
Rename
Delete
config
-
chmod
Open
Rename
Delete
ansi-trim.js
173 B
chmod
View
DL
Edit
Rename
Delete
audit-error.js
978 B
chmod
View
DL
Edit
Rename
Delete
cmd-list.js
2.46 MB
chmod
View
DL
Edit
Rename
Delete
completion.sh
1.85 MB
chmod
View
DL
Edit
Rename
Delete
did-you-mean.js
1.46 MB
chmod
View
DL
Edit
Rename
Delete
display.js
2.84 MB
chmod
View
DL
Edit
Rename
Delete
error-message.js
12.64 MB
chmod
View
DL
Edit
Rename
Delete
exit-handler.js
6.77 MB
chmod
View
DL
Edit
Rename
Delete
explain-dep.js
3.73 MB
chmod
View
DL
Edit
Rename
Delete
explain-eresolve.js
2.56 MB
chmod
View
DL
Edit
Rename
Delete
format-bytes.js
629 B
chmod
View
DL
Edit
Rename
Delete
format-search-stream.js
3.93 MB
chmod
View
DL
Edit
Rename
Delete
get-identity.js
740 B
chmod
View
DL
Edit
Rename
Delete
is-windows.js
233 B
chmod
View
DL
Edit
Rename
Delete
log-file.js
7.64 MB
chmod
View
DL
Edit
Rename
Delete
log-shim.js
1.68 MB
chmod
View
DL
Edit
Rename
Delete
npm-usage.js
1.95 MB
chmod
View
DL
Edit
Rename
Delete
open-url-prompt.js
1.54 MB
chmod
View
DL
Edit
Rename
Delete
open-url.js
1.17 MB
chmod
View
DL
Edit
Rename
Delete
otplease.js
1.23 MB
chmod
View
DL
Edit
Rename
Delete
ping.js
252 B
chmod
View
DL
Edit
Rename
Delete
pulse-till-done.js
412 B
chmod
View
DL
Edit
Rename
Delete
queryable.js
9.58 MB
chmod
View
DL
Edit
Rename
Delete
read-user-info.js
1.99 MB
chmod
View
DL
Edit
Rename
Delete
reify-finish.js
876 B
chmod
View
DL
Edit
Rename
Delete
reify-output.js
4.96 MB
chmod
View
DL
Edit
Rename
Delete
replace-info.js
807 B
chmod
View
DL
Edit
Rename
Delete
tar.js
3.73 MB
chmod
View
DL
Edit
Rename
Delete
timers.js
3.18 MB
chmod
View
DL
Edit
Rename
Delete
update-notifier.js
4.45 MB
chmod
View
DL
Edit
Rename
Delete
validate-lockfile.js
1023 B
chmod
View
DL
Edit
Rename
Delete
web-auth.js
558 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /lib/node_modules/npm/lib/utils/timers.js
const EE = require('events') const { resolve } = require('path') const fs = require('@npmcli/fs') const log = require('./log-shim') const _timeListener = Symbol('timeListener') const _timeEndListener = Symbol('timeEndListener') const _init = Symbol('init') // This is an event emiiter but on/off // only listen on a single internal event that gets // emitted whenever a timer ends class Timers extends EE { file = null #unfinished = new Map() #finished = {} #onTimeEnd = Symbol('onTimeEnd') #initialListener = null #initialTimer = null constructor ({ listener = null, start = 'npm' } = {}) { super() this.#initialListener = listener this.#initialTimer = start this[_init]() } get unfinished () { return this.#unfinished } get finished () { return this.#finished } [_init] () { this.on() if (this.#initialListener) { this.on(this.#initialListener) } process.emit('time', this.#initialTimer) this.started = this.#unfinished.get(this.#initialTimer) } on (listener) { if (listener) { super.on(this.#onTimeEnd, listener) } else { process.on('time', this[_timeListener]) process.on('timeEnd', this[_timeEndListener]) } } off (listener) { if (listener) { super.off(this.#onTimeEnd, listener) } else { this.removeAllListeners(this.#onTimeEnd) process.off('time', this[_timeListener]) process.off('timeEnd', this[_timeEndListener]) } } time (name, fn) { process.emit('time', name) const end = () => process.emit('timeEnd', name) if (typeof fn === 'function') { const res = fn() return res && res.finally ? res.finally(end) : (end(), res) } return end } load ({ dir } = {}) { if (dir) { this.file = resolve(dir, '_timing.json') } } writeFile (fileData) { if (!this.file) { return } try { const globalStart = this.started const globalEnd = this.#finished.npm || Date.now() const content = { ...fileData, ...this.#finished, // add any unfinished timers with their relative start/end unfinished: [...this.#unfinished.entries()].reduce((acc, [name, start]) => { acc[name] = [start - globalStart, globalEnd - globalStart] return acc }, {}), } // we append line delimited json to this file...forever // XXX: should we also write a process specific timing file? // with similar rules to the debug log (max files, etc) fs.withOwnerSync( this.file, () => fs.appendFileSync(this.file, JSON.stringify(content) + '\n'), { owner: 'inherit' } ) } catch (e) { this.file = null log.warn('timing', `could not write timing file: ${e}`) } } [_timeListener] = (name) => { this.#unfinished.set(name, Date.now()) } [_timeEndListener] = (name) => { if (this.#unfinished.has(name)) { const ms = Date.now() - this.#unfinished.get(name) this.#finished[name] = ms this.#unfinished.delete(name) this.emit(this.#onTimeEnd, name, ms) } else { log.silly('timing', "Tried to end timer that doesn't exist:", name) } } } module.exports = Timers
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply