root / HServer / 00.Server / 00.Program / node_modules / better-assert / index.js
이력 | 보기 | 이력해설 | 다운로드 (694 Bytes)
1 |
/**
|
---|---|
2 |
* Module dependencies.
|
3 |
*/
|
4 |
|
5 |
var AssertionError = require('assert').AssertionError |
6 |
, callsite = require('callsite')
|
7 |
, fs = require('fs')
|
8 |
|
9 |
/**
|
10 |
* Expose `assert`.
|
11 |
*/
|
12 |
|
13 |
module.exports = process.env.NO_ASSERT |
14 |
? function(){}
|
15 |
: assert; |
16 |
|
17 |
/**
|
18 |
* Assert the given `expr`.
|
19 |
*/
|
20 |
|
21 |
function assert(expr) { |
22 |
if (expr) return; |
23 |
|
24 |
var stack = callsite();
|
25 |
var call = stack[1]; |
26 |
var file = call.getFileName();
|
27 |
var lineno = call.getLineNumber();
|
28 |
var src = fs.readFileSync(file, 'utf8'); |
29 |
var line = src.split('\n')[lineno-1]; |
30 |
var src = line.match(/assert\((.*)\)/)[1]; |
31 |
|
32 |
var err = new AssertionError({ |
33 |
message: src,
|
34 |
stackStartFunction: stack[0].getFunction() |
35 |
}); |
36 |
|
37 |
throw err;
|
38 |
} |