invariant.js 1.5 KB

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