| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- "use strict";
 
- module.exports = (function(){
 
- var AssertionError = (function() {
 
-     function AssertionError(a) {
 
-         this.constructor$(a);
 
-         this.message = a;
 
-         this.name = "AssertionError";
 
-     }
 
-     AssertionError.prototype = new Error();
 
-     AssertionError.prototype.constructor = AssertionError;
 
-     AssertionError.prototype.constructor$ = Error;
 
-     return AssertionError;
 
- })();
 
- function getParams(args) {
 
-     var params = [];
 
-     for (var i = 0; i < args.length; ++i) params.push("arg" + i);
 
-     return params;
 
- }
 
- function nativeAssert(callName, args, expect) {
 
-     try {
 
-         var params = getParams(args);
 
-         var constructorArgs = params;
 
-         constructorArgs.push("return " +
 
-                 callName + "("+ params.join(",") + ");");
 
-         var fn = Function.apply(null, constructorArgs);
 
-         return fn.apply(null, args);
 
-     } catch (e) {
 
-         if (!(e instanceof SyntaxError)) {
 
-             throw e;
 
-         } else {
 
-             return expect;
 
-         }
 
-     }
 
- }
 
- return function assert(boolExpr, message) {
 
-     if (boolExpr === true) return;
 
-     if (typeof boolExpr === "string" &&
 
-         boolExpr.charAt(0) === "%") {
 
-         var nativeCallName = boolExpr;
 
-         var $_len = arguments.length;var args = new Array(Math.max($_len - 2, 0)); for(var $_i = 2; $_i < $_len; ++$_i) {args[$_i - 2] = arguments[$_i];};
 
-         if (nativeAssert(nativeCallName, args, message) === message) return;
 
-         message = (nativeCallName + " !== " + message);
 
-     }
 
-     var ret = new AssertionError(message);
 
-     if (Error.captureStackTrace) {
 
-         Error.captureStackTrace(ret, assert);
 
-     }
 
-     throw ret;
 
- };
 
- })();
 
 
  |