baja-lite 1.3.26 → 1.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc.cjs +89 -0
  3. package/.prettierrc +4 -0
  4. package/.vscode/settings.json +8 -0
  5. package/ci.js +29 -0
  6. package/package-cjs.json +17 -0
  7. package/package.json +2 -2
  8. package/{boot-remote.js → src/boot-remote.ts} +7 -6
  9. package/{boot.js → src/boot.ts} +38 -31
  10. package/{code.js → src/code.ts} +66 -71
  11. package/{convert-xml.js → src/convert-xml.ts} +155 -105
  12. package/src/enum.ts +71 -0
  13. package/src/error.ts +11 -0
  14. package/src/fn.ts +295 -0
  15. package/{index.d.ts → src/index.ts} +12 -11
  16. package/{list.js → src/list.ts} +9 -8
  17. package/src/math.ts +405 -0
  18. package/src/object.ts +247 -0
  19. package/{snowflake.js → src/snowflake.ts} +52 -33
  20. package/src/sql.ts +5023 -0
  21. package/{sqlite.js → src/sqlite.ts} +52 -53
  22. package/src/string.ts +111 -0
  23. package/src/test-mysql.ts +144 -0
  24. package/{test-postgresql.js → src/test-postgresql.ts} +80 -91
  25. package/{test-sqlite.js → src/test-sqlite.ts} +80 -90
  26. package/{test-xml.js → src/test-xml.ts} +1 -1
  27. package/{test.js → src/test.ts} +3 -2
  28. package/src/wx/base.ts +76 -0
  29. package/src/wx/mini.ts +147 -0
  30. package/src/wx/organ.ts +290 -0
  31. package/{wx/types.d.ts → src/wx/types.ts} +10 -21
  32. package/tsconfig.cjs.json +42 -0
  33. package/tsconfig.json +44 -0
  34. package/tsconfig.tsbuildinfo +1 -0
  35. package/xml/event-report.xml +13 -0
  36. package/yarn.lock +1757 -0
  37. package/boot-remote.d.ts +0 -2
  38. package/boot.d.ts +0 -2
  39. package/code.d.ts +0 -2
  40. package/convert-xml.d.ts +0 -10
  41. package/enum.d.ts +0 -18
  42. package/enum.js +0 -59
  43. package/error.d.ts +0 -5
  44. package/error.js +0 -13
  45. package/fn.d.ts +0 -128
  46. package/fn.js +0 -172
  47. package/index.js +0 -11
  48. package/list.d.ts +0 -10
  49. package/math.d.ts +0 -83
  50. package/math.js +0 -451
  51. package/object.d.ts +0 -83
  52. package/object.js +0 -221
  53. package/snowflake.d.ts +0 -12
  54. package/sql.d.ts +0 -1788
  55. package/sql.js +0 -4765
  56. package/sqlite.d.ts +0 -32
  57. package/string.d.ts +0 -17
  58. package/string.js +0 -105
  59. package/test-mysql.d.ts +0 -2
  60. package/test-mysql.js +0 -109
  61. package/test-postgresql.d.ts +0 -2
  62. package/test-sqlite.d.ts +0 -1
  63. package/test-xml.d.ts +0 -1
  64. package/test.d.ts +0 -1
  65. package/wx/base.d.ts +0 -11
  66. package/wx/base.js +0 -78
  67. package/wx/mini.d.ts +0 -52
  68. package/wx/mini.js +0 -112
  69. package/wx/organ.d.ts +0 -65
  70. package/wx/organ.js +0 -171
  71. package/wx/types.js +0 -1
  72. package/wx.js +0 -3
  73. /package/{README.md → Readme.md} +0 -0
  74. /package/{wx.d.ts → src/wx.ts} +0 -0
@@ -1,93 +1,109 @@
1
- function hexToDec(hexStr) {
2
- if (hexStr.substring(0, 2) === "0x")
3
- hexStr = hexStr.substring(2);
1
+ function hexToDec(hexStr: string): string | null {
2
+ if (hexStr.substring(0, 2) === "0x") hexStr = hexStr.substring(2);
4
3
  hexStr = hexStr.toLowerCase();
5
4
  return convertBase(hexStr, 16, 10);
6
5
  }
7
- function add(x, y, base) {
8
- let z = [];
6
+
7
+ function add(x: number[], y: number[], base: number): number[] {
8
+ let z: number[] = [];
9
9
  let n = Math.max(x.length, y.length);
10
10
  let carry = 0;
11
11
  let i = 0;
12
12
  while (i < n || carry) {
13
13
  let xi = i < x.length ? x[i] : 0;
14
14
  let yi = i < y.length ? y[i] : 0;
15
- let zi = carry + xi + yi;
15
+ let zi = carry + xi! + yi!;
16
16
  z.push(zi % base);
17
17
  carry = Math.floor(zi / base);
18
18
  i++;
19
19
  }
20
20
  return z;
21
21
  }
22
- function multiplyByNumber(num, x, base) {
23
- if (num < 0)
24
- return null;
25
- if (num == 0)
26
- return [];
27
- let result = [];
22
+
23
+ function multiplyByNumber(num: number, x: number[], base: number): number[] | null {
24
+ if (num < 0) return null;
25
+ if (num == 0) return [];
26
+
27
+ let result: number[] = [];
28
28
  let power = x;
29
29
  while (true) {
30
30
  if (num & 1) {
31
31
  result = add(result, power, base);
32
32
  }
33
33
  num = num >> 1;
34
- if (num === 0)
35
- break;
34
+ if (num === 0) break;
36
35
  power = add(power, power, base);
37
36
  }
37
+
38
38
  return result;
39
39
  }
40
- function parseToDigitsArray(str, base) {
40
+
41
+ function parseToDigitsArray(str: string, base: number): number[] | null {
41
42
  let digits = str.split("");
42
- let ary = [];
43
+ let ary: number[] = [];
43
44
  for (let i = digits.length - 1; i >= 0; i--) {
44
- let n = parseInt(digits[i], base);
45
- if (isNaN(n))
46
- return null;
45
+ let n = parseInt(digits[i]!, base);
46
+ if (isNaN(n)) return null;
47
47
  ary.push(n);
48
48
  }
49
49
  return ary;
50
50
  }
51
- function convertBase(str, fromBase, toBase) {
51
+
52
+ function convertBase(str: string, fromBase: number, toBase: number): string | null {
52
53
  let digits = parseToDigitsArray(str, fromBase);
53
- if (digits === null)
54
- return null;
55
- let outArray = [];
54
+ if (digits === null) return null;
55
+
56
+ let outArray: number[] = [];
56
57
  let power = [1];
57
58
  for (let i = 0; i < digits.length; i++) {
58
59
  if (digits[i]) {
59
- outArray = add(outArray, multiplyByNumber(digits[i], power, toBase), toBase);
60
+ outArray = add(outArray, multiplyByNumber(digits[i]!, power, toBase)!, toBase);
60
61
  }
61
- power = multiplyByNumber(fromBase, power, toBase);
62
+ power = multiplyByNumber(fromBase, power, toBase)!;
62
63
  }
64
+
63
65
  let out = "";
64
66
  for (let i = outArray.length - 1; i >= 0; i--) {
65
- out += outArray[i].toString(toBase);
67
+ out += outArray[i]!.toString(toBase);
66
68
  }
67
69
  return out;
68
70
  }
71
+
69
72
  export class Snowflake {
70
- constructor(options) {
73
+ private seq: number;
74
+ private mid: number;
75
+ private offset: number;
76
+ private lastTime: number;
77
+
78
+ constructor(options?: { mid?: number; offset?: number }) {
71
79
  options = options || {};
72
80
  this.seq = 0;
73
81
  this.mid = (options.mid || 1) % 1023;
74
82
  this.offset = options.offset || 0;
75
83
  this.lastTime = 0;
76
84
  }
77
- generate() {
78
- let time = Date.now(), bTime = (time - this.offset).toString(2);
85
+
86
+ generate(): string | null {
87
+ let time = Date.now(),
88
+ bTime = (time - this.offset).toString(2);
89
+
79
90
  if (this.lastTime == time) {
80
91
  this.seq++;
92
+
81
93
  if (this.seq > 4095) {
82
94
  this.seq = 0;
95
+
83
96
  while (Date.now() <= time) { }
84
97
  }
85
- }
86
- else {
98
+ } else {
87
99
  this.seq = 0;
88
100
  }
101
+
89
102
  this.lastTime = time;
90
- let bSeq = this.seq.toString(2), bMid = this.mid.toString(2);
103
+
104
+ let bSeq = this.seq.toString(2),
105
+ bMid = this.mid.toString(2);
106
+
91
107
  while (bSeq.length < 12) {
92
108
  bSeq = "0" + bSeq;
93
109
  }
@@ -96,13 +112,16 @@ export class Snowflake {
96
112
  }
97
113
  let bid = bTime + bMid + bSeq;
98
114
  let id = "";
115
+
99
116
  for (let i = bid.length; i > 0; i -= 4) {
100
117
  id = parseInt(bid.substring(i - 4, i), 2).toString(16) + id;
101
118
  }
119
+
102
120
  return hexToDec(id);
103
121
  }
104
122
  }
123
+
105
124
  export const snowflake = new Snowflake({
106
125
  mid: 66,
107
126
  offset: (2024 - 1970) * 31536000 * 1000,
108
- });
127
+ });