Back | Home
الـ Path الحالي: /home/picotech/domains/instantly.picotech.app/public_html/public/uploads/../uploads/../../../../instantly.picotech.app/homes/../../wa.picotech.app/public_html/node_modules/path-exists/../duplexify/./.././debug/../domutils/../cheerio/../negotiator/../socket.io/../express/../@whiskeysockets/../ws/../cheerio-select/../methods/../dotenv/../boolbase/../process-warning
الملفات الموجودة في هذا الـ Path:
.
..
.github
LICENSE
README.md
index.d.ts
index.js
index.test-d.ts
jest.test.js
package.json
test.js
مشاهدة ملف: index.js
'use strict'
const { format } = require('util')
function build () {
const codes = {}
const emitted = new Map()
function create (name, code, message) {
if (!name) throw new Error('Warning name must not be empty')
if (!code) throw new Error('Warning code must not be empty')
if (!message) throw new Error('Warning message must not be empty')
code = code.toUpperCase()
if (codes[code] !== undefined) {
throw new Error(`The code '${code}' already exist`)
}
function buildWarnOpts (a, b, c) {
// more performant than spread (...) operator
let formatted
if (a && b && c) {
formatted = format(message, a, b, c)
} else if (a && b) {
formatted = format(message, a, b)
} else if (a) {
formatted = format(message, a)
} else {
formatted = message
}
return {
code,
name,
message: formatted
}
}
emitted.set(code, false)
codes[code] = buildWarnOpts
return codes[code]
}
function emit (code, a, b, c) {
if (codes[code] === undefined) throw new Error(`The code '${code}' does not exist`)
if (emitted.get(code) === true) return
emitted.set(code, true)
const warning = codes[code](a, b, c)
process.emitWarning(warning.message, warning.name, warning.code)
}
return {
create,
emit,
emitted
}
}
module.exports = build