"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/bluebird/js/main/assert.js" (7 Feb 2017, 1639 Bytes) of archive /windows/misc/atom-windows.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Javascript source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 "use strict";
    2 module.exports = (function(){
    3 var AssertionError = (function() {
    4     function AssertionError(a) {
    5         this.constructor$(a);
    6         this.message = a;
    7         this.name = "AssertionError";
    8     }
    9     AssertionError.prototype = new Error();
   10     AssertionError.prototype.constructor = AssertionError;
   11     AssertionError.prototype.constructor$ = Error;
   12     return AssertionError;
   13 })();
   14 
   15 function getParams(args) {
   16     var params = [];
   17     for (var i = 0; i < args.length; ++i) params.push("arg" + i);
   18     return params;
   19 }
   20 
   21 function nativeAssert(callName, args, expect) {
   22     try {
   23         var params = getParams(args);
   24         var constructorArgs = params;
   25         constructorArgs.push("return " +
   26                 callName + "("+ params.join(",") + ");");
   27         var fn = Function.apply(null, constructorArgs);
   28         return fn.apply(null, args);
   29     } catch (e) {
   30         if (!(e instanceof SyntaxError)) {
   31             throw e;
   32         } else {
   33             return expect;
   34         }
   35     }
   36 }
   37 
   38 return function assert(boolExpr, message) {
   39     if (boolExpr === true) return;
   40 
   41     if (typeof boolExpr === "string" &&
   42         boolExpr.charAt(0) === "%") {
   43         var nativeCallName = boolExpr;
   44         var $_len = arguments.length;var args = new Array($_len - 2); for(var $_i = 2; $_i < $_len; ++$_i) {args[$_i - 2] = arguments[$_i];}
   45         if (nativeAssert(nativeCallName, args, message) === message) return;
   46         message = (nativeCallName + " !== " + message);
   47     }
   48 
   49     var ret = new AssertionError(message);
   50     if (Error.captureStackTrace) {
   51         Error.captureStackTrace(ret, assert);
   52     }
   53     throw ret;
   54 };
   55 })();