root / HServer / 00.Server / 00.Program / node_modules / better-assert / index.js
이력 | 보기 | 이력해설 | 다운로드 (694 Bytes)
1 | 39 | HKM | /**
|
---|---|---|---|
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 | } |