Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
index.js159 linesDownload Raw Back to lib
1const META = Symbol('proc-log.meta')
2module.exports = {
3  META: META,
4  output: {
5    LEVELS: [
6      'standard',
7      'error',
8      'buffer',
9      'flush',
10    ],
11    KEYS: {
12      standard: 'standard',
13      error: 'error',
14      buffer: 'buffer',
15      flush: 'flush',
16    },
17    standard: function (...args) {
18      return process.emit('output', 'standard', ...args)
19    },
20    error: function (...args) {
21      return process.emit('output', 'error', ...args)
22    },
23    buffer: function (...args) {
24      return process.emit('output', 'buffer', ...args)
25    },
26    flush: function (...args) {
27      return process.emit('output', 'flush', ...args)
28    },
29  },
30  log: {
31    LEVELS: [
32      'notice',
33      'error',
34      'warn',
35      'info',
36      'verbose',
37      'http',
38      'silly',
39      'timing',
40      'pause',
41      'resume',
42    ],
43    KEYS: {
44      notice: 'notice',
45      error: 'error',
46      warn: 'warn',
47      info: 'info',
48      verbose: 'verbose',
49      http: 'http',
50      silly: 'silly',
51      timing: 'timing',
52      pause: 'pause',
53      resume: 'resume',
54    },
55    error: function (...args) {
56      return process.emit('log', 'error', ...args)
57    },
58    notice: function (...args) {
59      return process.emit('log', 'notice', ...args)
60    },
61    warn: function (...args) {
62      return process.emit('log', 'warn', ...args)
63    },
64    info: function (...args) {
65      return process.emit('log', 'info', ...args)
66    },
67    verbose: function (...args) {
68      return process.emit('log', 'verbose', ...args)
69    },
70    http: function (...args) {
71      return process.emit('log', 'http', ...args)
72    },
73    silly: function (...args) {
74      return process.emit('log', 'silly', ...args)
75    },
76    timing: function (...args) {
77      return process.emit('log', 'timing', ...args)
78    },
79    pause: function () {
80      return process.emit('log', 'pause')
81    },
82    resume: function () {
83      return process.emit('log', 'resume')
84    },
85  },
86  time: {
87    LEVELS: [
88      'start',
89      'end',
90    ],
91    KEYS: {
92      start: 'start',
93      end: 'end',
94    },
95    start: function (name, fn) {
96      process.emit('time', 'start', name)
97      function end () {
98        return process.emit('time', 'end', name)
99      }
100      if (typeof fn === 'function') {
101        const res = fn()
102        if (res && res.finally) {
103          return res.finally(end)
104        }
105        end()
106        return res
107      }
108      return end
109    },
110    end: function (name) {
111      return process.emit('time', 'end', name)
112    },
113  },
114  input: {
115    LEVELS: [
116      'start',
117      'end',
118      'read',
119    ],
120    KEYS: {
121      start: 'start',
122      end: 'end',
123      read: 'read',
124    },
125    start: function (...args) {
126      // Support callback for backwards compatibility and pass additional args to event
127      let fn
128      if (typeof args[0] === 'function') {
129        fn = args.shift()
130      }
131      process.emit('input', 'start', ...args)
132      function end () {
133        return process.emit('input', 'end', ...args)
134      }
135      if (typeof fn === 'function') {
136        const res = fn()
137        if (res && res.finally) {
138          return res.finally(end)
139        }
140        end()
141        return res
142      }
143      return end
144    },
145    end: function (...args) {
146      return process.emit('input', 'end', ...args)
147    },
148    read: function (...args) {
149      let resolve, reject
150      const promise = new Promise((_resolve, _reject) => {
151        resolve = _resolve
152        reject = _reject
153      })
154      process.emit('input', 'read', resolve, reject, ...args)
155      return promise
156    },
157  },
158}
159 
codekingpro/portable-devtools · Team Ai