1. 1 : /* eslint-disable */
  2. 2 : declare interface Number {
  3. 3 : getMS(type: string): number;
  4. 4 :
  5. 5 : /**
  6. 6 : * Get X Hour from date
  7. 7 : * @return number ms from Date().getTime()
  8. 8 : * @example
  9. 9 : * get `1 hour from current Date()`
  10. 10 : * 1.addHour()
  11. 11 : * get `1 hour from spesific Date()`
  12. 12 : * 1.addHour(new Date('2020-06-04 01:10:53'))
  13. 13 : */
  14. 14 : addHour(source: Date | null): number;
  15. 15 :
  16. 16 : /**
  17. 17 : * add zero leading
  18. 18 : * @param add
  19. 19 : * @param target
  20. 20 : */
  21. 21 : AddZero(add: number, target: string): number;
  22. 22 : }
  23. 23 :
  24. 24 : Number.prototype.getMS = function (type) {
  25. 25 : const self = this;
  26. 26 : return this * 60 * 1000;
  27. 27 : };
  28. 28 :
  29. 29 : Number.prototype.addHour = function (source) {
  30. 30 : const self = this;
  31. 31 : const Hour = this * 60 * 1000; /* ms */
  32. 32 : if (!source) source = new Date();
  33. 33 : return new Date(source.getTime() + Hour).getTime();
  34. 34 : };
  35. 35 :
  36. 36 : Number.prototype.AddZero = function (b, c) {
  37. 37 : const l = String(b || 10).length - String(this).length + 1;
  38. 38 : return l > 0 ? new Array(l).join(c || "0") + this : this;
  39. 39 : };
  40. 40 :
  41. 41 : /**
  42. 42 : * Odd or Even (Ganjil Genap);
  43. 43 : * @param n
  44. 44 : * @param type odd or even
  45. 45 : */
  46. 46 : function oddoreven(n: string, type: string) {
  47. 47 : if (!type) {
  48. 48 : type = "odd";
  49. 49 : }
  50. 50 : const time = !n ? new Date().getDay() : Number(n);
  51. 51 :
  52. 52 : if (!/^-?\d+jQuery/.test(time.toString())) {
  53. 53 : alert("arguments is not number, please remove quote");
  54. 54 : return null;
  55. 55 : }
  56. 56 :
  57. 57 : const hasil = time % 2;
  58. 58 :
  59. 59 : const rType = /^(odd|ganjil)$/.test(type) ? "1" : "0";
  60. 60 : //return hasil == (type == ('odd' || 'ganjil') ? 1 : 0);
  61. 61 :
  62. 62 : return hasil.toString() == rType.toString();
  63. 63 : }
  64. 64 :
  65. 65 : /**
  66. 66 : * strpad / startwith zero [0]
  67. 67 : * @param {number} val
  68. 68 : */
  69. 69 : function strpad(val: number) {
  70. 70 : if (val >= 10) {
  71. 71 : return val;
  72. 72 : } else {
  73. 73 : return "0" + val;
  74. 74 : }
  75. 75 : }
  76. 76 :
  77. 77 : /**
  78. 78 : * is variable number?
  79. 79 : * @param n
  80. 80 : * @returns
  81. 81 : */
  82. 82 : function isInt(n) {
  83. 83 : return Number(n) === n && n % 1 === 0;
  84. 84 : }
  85. 85 :
  86. 86 : /**
  87. 87 : * is variable float?
  88. 88 : * @param n
  89. 89 : * @returns
  90. 90 : */
  91. 91 : function isFloat(n) {
  92. 92 : return Number(n) === n && n % 1 !== 0;
  93. 93 : }
  94. 94 :
  95. 95 : if (typeof module.exports != 'undefined') {
  96. 96 : global.isInt = isInt
  97. 97 : global.isFloat = isFloat
  98. 98 : }