invariant.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. "use strict";
  2. /**
  3. * Simplified from https://github.com/zertosh/invariant.
  4. */
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.log = exports.invariant = exports.LEVEL = void 0;
  7. var tslib_1 = require("tslib");
  8. var LEVEL;
  9. (function (LEVEL) {
  10. LEVEL["ERROR"] = "error";
  11. LEVEL["WARN"] = "warn";
  12. LEVEL["INFO"] = "log";
  13. })(LEVEL = exports.LEVEL || (exports.LEVEL = {}));
  14. var BRAND = 'AntV/G2Plot';
  15. /**
  16. * 获取错误消息
  17. * @param format
  18. * @param args
  19. */
  20. function getMessage(format) {
  21. var args = [];
  22. for (var _i = 1; _i < arguments.length; _i++) {
  23. args[_i - 1] = arguments[_i];
  24. }
  25. var argIndex = 0;
  26. return "".concat(BRAND, ": ").concat(format.replace(/%s/g, function () { return "".concat(args[argIndex++]); }));
  27. }
  28. /**
  29. * invariant error
  30. * @param condition
  31. * @param format
  32. * @param args
  33. */
  34. function invariant(condition, format) {
  35. var args = [];
  36. for (var _i = 2; _i < arguments.length; _i++) {
  37. args[_i - 2] = arguments[_i];
  38. }
  39. if (!condition) {
  40. var error = new Error(getMessage.apply(void 0, tslib_1.__spreadArray([format], args, false)));
  41. error.name = BRAND;
  42. // error.framesToPop = 1; // we don't care about invariant's own frame
  43. throw error;
  44. }
  45. }
  46. exports.invariant = invariant;
  47. /**
  48. * 打印语句
  49. * @param level
  50. * @param condition
  51. * @param format
  52. * @param args
  53. */
  54. function log(level, condition, format) {
  55. var args = [];
  56. for (var _i = 3; _i < arguments.length; _i++) {
  57. args[_i - 3] = arguments[_i];
  58. }
  59. if (!condition) {
  60. console[level](getMessage.apply(void 0, tslib_1.__spreadArray([format], args, false)));
  61. }
  62. }
  63. exports.log = log;
  64. //# sourceMappingURL=invariant.js.map