mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-09 05:58:15 +08:00
32 lines
691 B
JavaScript
32 lines
691 B
JavaScript
|
'use strict'
|
||
|
|
||
|
var formatter = require('format')
|
||
|
|
||
|
var fault = create(Error)
|
||
|
|
||
|
module.exports = fault
|
||
|
|
||
|
fault.eval = create(EvalError)
|
||
|
fault.range = create(RangeError)
|
||
|
fault.reference = create(ReferenceError)
|
||
|
fault.syntax = create(SyntaxError)
|
||
|
fault.type = create(TypeError)
|
||
|
fault.uri = create(URIError)
|
||
|
|
||
|
fault.create = create
|
||
|
|
||
|
// Create a new `EConstructor`, with the formatted `format` as a first argument.
|
||
|
function create(EConstructor) {
|
||
|
FormattedError.displayName = EConstructor.displayName || EConstructor.name
|
||
|
|
||
|
return FormattedError
|
||
|
|
||
|
function FormattedError(format) {
|
||
|
if (format) {
|
||
|
format = formatter.apply(null, arguments)
|
||
|
}
|
||
|
|
||
|
return new EConstructor(format)
|
||
|
}
|
||
|
}
|