wallet-core/node_modules/invariant/invariant.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-10-10 03:43:44 +02:00
/**
2018-09-20 02:56:13 +02:00
* Copyright (c) 2013-present, Facebook, Inc.
2016-10-10 03:43:44 +02:00
*
2018-09-20 02:56:13 +02:00
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
2016-10-10 03:43:44 +02:00
*/
'use strict';
/**
* Use invariant() to assert state which your program assumes to be true.
*
* Provide sprintf-style format (only %s is supported) and arguments
* to provide information about what broke and what you were
* expecting.
*
* The invariant message will be stripped in production, but the invariant
* will remain to ensure logic does not differ in production.
*/
var NODE_ENV = process.env.NODE_ENV;
var invariant = function(condition, format, a, b, c, d, e, f) {
if (NODE_ENV !== 'production') {
if (format === undefined) {
throw new Error('invariant requires an error message argument');
}
}
if (!condition) {
var error;
if (format === undefined) {
error = new Error(
'Minified exception occurred; use the non-minified dev environment ' +
'for the full error message and additional helpful warnings.'
);
} else {
var args = [a, b, c, d, e, f];
var argIndex = 0;
error = new Error(
format.replace(/%s/g, function() { return args[argIndex++]; })
);
error.name = 'Invariant Violation';
}
error.framesToPop = 1; // we don't care about invariant's own frame
throw error;
}
};
module.exports = invariant;