@konoui/mjimage 0.0.13 → 0.0.15

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 (87) hide show
  1. package/dist/mjs/index.d.ts +5 -9
  2. package/dist/mjs/index.js +5 -9
  3. package/dist/mjs/lib/calculator/calc.d.ts +263 -0
  4. package/dist/mjs/lib/calculator/calc.js +1386 -0
  5. package/dist/mjs/lib/calculator/efficiency.d.ts +19 -0
  6. package/dist/mjs/lib/calculator/efficiency.js +86 -0
  7. package/dist/mjs/lib/calculator/index.d.ts +2 -263
  8. package/dist/mjs/lib/calculator/index.js +14 -1382
  9. package/dist/mjs/lib/controller/controller.d.ts +4 -4
  10. package/dist/mjs/lib/controller/controller.js +34 -34
  11. package/dist/mjs/lib/controller/events.d.ts +3 -4
  12. package/dist/mjs/lib/controller/index.d.ts +1 -1
  13. package/dist/mjs/lib/controller/index.js +1 -1
  14. package/dist/mjs/lib/controller/managers.d.ts +2 -2
  15. package/dist/mjs/lib/controller/managers.js +1 -1
  16. package/dist/mjs/lib/controller/{efficiency.d.ts → player-efficiency.d.ts} +3 -20
  17. package/dist/mjs/lib/controller/{efficiency.js → player-efficiency.js} +3 -80
  18. package/dist/mjs/lib/controller/player.d.ts +1 -1
  19. package/dist/mjs/lib/controller/player.js +4 -4
  20. package/dist/mjs/lib/controller/river.d.ts +2 -2
  21. package/dist/mjs/lib/controller/state-machine.d.ts +2 -2
  22. package/dist/mjs/lib/controller/state-machine.js +2 -2
  23. package/dist/mjs/lib/controller/wall.d.ts +1 -1
  24. package/dist/mjs/lib/controller/wall.js +2 -2
  25. package/dist/mjs/lib/{constants.d.ts → core/constants.d.ts} +2 -0
  26. package/dist/mjs/lib/{constants.js → core/constants.js} +6 -1
  27. package/dist/mjs/lib/{image.d.ts → core/image.d.ts} +5 -5
  28. package/dist/mjs/lib/{image.js → core/image.js} +109 -111
  29. package/dist/mjs/lib/core/index.d.ts +3 -0
  30. package/dist/mjs/lib/core/index.js +19 -0
  31. package/dist/mjs/lib/{parser.d.ts → core/parser.d.ts} +10 -1
  32. package/dist/mjs/lib/{parser.js → core/parser.js} +28 -17
  33. package/dist/mjs/lib/{measure-text.js → measure-text/index.js} +1 -1
  34. package/dist/mjs/lib/mjai/event.d.ts +1 -1
  35. package/dist/mjs/lib/mjai/event.js +2 -2
  36. package/dist/mjs/lib/mjimage.d.ts +2 -1
  37. package/dist/mjs/lib/mjimage.js +9 -9
  38. package/dist/mjs/lib/table/index.d.ts +2 -0
  39. package/dist/mjs/lib/table/index.js +18 -0
  40. package/dist/mjs/lib/{table-parser.d.ts → table/table-parser.d.ts} +2 -2
  41. package/dist/mjs/lib/{table-parser.js → table/table-parser.js} +2 -2
  42. package/dist/mjs/lib/{table.d.ts → table/table.d.ts} +5 -3
  43. package/dist/mjs/lib/{table.js → table/table.js} +11 -4
  44. package/dist/mjs/svg/_0.svg +1 -1
  45. package/dist/mjs/svg/m0.svg +1 -1
  46. package/dist/mjs/svg/m1.svg +1 -1
  47. package/dist/mjs/svg/m2.svg +1 -1
  48. package/dist/mjs/svg/m3.svg +1 -1
  49. package/dist/mjs/svg/m4.svg +1 -1
  50. package/dist/mjs/svg/m5.svg +1 -1
  51. package/dist/mjs/svg/m6.svg +1 -1
  52. package/dist/mjs/svg/m7.svg +1 -1
  53. package/dist/mjs/svg/m8.svg +1 -1
  54. package/dist/mjs/svg/m9.svg +1 -1
  55. package/dist/mjs/svg/p0.svg +1 -1
  56. package/dist/mjs/svg/p1.svg +1 -1
  57. package/dist/mjs/svg/p2.svg +1 -1
  58. package/dist/mjs/svg/p3.svg +1 -1
  59. package/dist/mjs/svg/p4.svg +1 -1
  60. package/dist/mjs/svg/p5.svg +1 -1
  61. package/dist/mjs/svg/p6.svg +1 -1
  62. package/dist/mjs/svg/p7.svg +1 -1
  63. package/dist/mjs/svg/p8.svg +1 -1
  64. package/dist/mjs/svg/p9.svg +1 -1
  65. package/dist/mjs/svg/s0.svg +1 -1
  66. package/dist/mjs/svg/s1.svg +1 -1
  67. package/dist/mjs/svg/s2.svg +1 -1
  68. package/dist/mjs/svg/s3.svg +1 -1
  69. package/dist/mjs/svg/s4.svg +1 -1
  70. package/dist/mjs/svg/s5.svg +1 -1
  71. package/dist/mjs/svg/s6.svg +1 -1
  72. package/dist/mjs/svg/s7.svg +1 -1
  73. package/dist/mjs/svg/s8.svg +1 -1
  74. package/dist/mjs/svg/s9.svg +1 -1
  75. package/dist/mjs/svg/stick100.svg +1 -1
  76. package/dist/mjs/svg/stick1000.svg +1 -1
  77. package/dist/mjs/svg/z1.svg +1 -1
  78. package/dist/mjs/svg/z2.svg +1 -1
  79. package/dist/mjs/svg/z3.svg +1 -1
  80. package/dist/mjs/svg/z4.svg +1 -1
  81. package/dist/mjs/svg/z5.svg +1 -1
  82. package/dist/mjs/svg/z6.svg +1 -1
  83. package/dist/mjs/svg/z7.svg +1 -1
  84. package/package.json +6 -3
  85. /package/dist/mjs/lib/{lexer.d.ts → core/lexer.d.ts} +0 -0
  86. /package/dist/mjs/lib/{lexer.js → core/lexer.js} +0 -0
  87. /package/dist/mjs/lib/{measure-text.d.ts → measure-text/index.d.ts} +0 -0
@@ -1,10 +1,6 @@
1
1
  export * from "./lib/mjimage";
2
- export * from "./lib/constants";
3
- export * from "./lib/measure-text";
4
- export * from "./lib/lexer";
5
- export * from "./lib/image";
6
- export * from "./lib/parser";
7
- export * from "./lib/table";
8
- export * from "./lib/table-parser";
9
- export * from "./lib/calculator";
10
- export * from "./lib/controller";
2
+ export * from "./lib/measure-text/";
3
+ export * from "./lib/core/";
4
+ export * from "./lib/table/";
5
+ export * from "./lib/calculator/";
6
+ export * from "./lib/controller/";
package/dist/mjs/index.js CHANGED
@@ -15,12 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/mjimage"), exports);
18
- __exportStar(require("./lib/constants"), exports);
19
- __exportStar(require("./lib/measure-text"), exports);
20
- __exportStar(require("./lib/lexer"), exports);
21
- __exportStar(require("./lib/image"), exports);
22
- __exportStar(require("./lib/parser"), exports);
23
- __exportStar(require("./lib/table"), exports);
24
- __exportStar(require("./lib/table-parser"), exports);
25
- __exportStar(require("./lib/calculator"), exports);
26
- __exportStar(require("./lib/controller"), exports);
18
+ __exportStar(require("./lib/measure-text/"), exports);
19
+ __exportStar(require("./lib/core/"), exports);
20
+ __exportStar(require("./lib/table/"), exports);
21
+ __exportStar(require("./lib/calculator/"), exports);
22
+ __exportStar(require("./lib/controller/"), exports);
@@ -0,0 +1,263 @@
1
+ import { TYPE, Round, Wind } from "../core/constants";
2
+ import { Tile, BlockPon, BlockChi, BlockShoKan, BlockAnKan, BlockDaiKan, Type, Block } from "../core/parser";
3
+ export type TupleOfSize<T, N extends number, R extends unknown[] = []> = R["length"] extends N ? R : TupleOfSize<T, N, [T, ...R]>;
4
+ export interface HandData {
5
+ [TYPE.M]: TupleOfSize<number, 10>;
6
+ [TYPE.S]: TupleOfSize<number, 10>;
7
+ [TYPE.P]: TupleOfSize<number, 10>;
8
+ [TYPE.Z]: TupleOfSize<number, 8>;
9
+ [TYPE.BACK]: [string, number];
10
+ called: (BlockChi | BlockPon | BlockAnKan | BlockDaiKan | BlockShoKan)[];
11
+ tsumo: Tile | null;
12
+ reached: boolean;
13
+ }
14
+ export declare class Hand {
15
+ private data;
16
+ constructor(input: string, allowBackBlock?: boolean);
17
+ private init;
18
+ get hands(): Tile[];
19
+ toString(): string;
20
+ get called(): (BlockChi | BlockPon | BlockAnKan | BlockDaiKan | BlockShoKan)[];
21
+ get reached(): boolean;
22
+ get drawn(): Tile | null;
23
+ get menzen(): boolean;
24
+ getArrayLen(t: Type): 2 | 8 | 10;
25
+ sum(t: Type): number;
26
+ get(t: Type, n: number): number;
27
+ inc(tiles: Tile[]): Tile[];
28
+ dec(tiles: Tile[]): Tile[];
29
+ draw(t: Tile): void;
30
+ discard(t: Tile): void;
31
+ reach(): void;
32
+ call(b: BlockPon | BlockChi | BlockDaiKan): void;
33
+ kan(b: BlockAnKan | BlockShoKan): void;
34
+ clone(): Hand;
35
+ }
36
+ export declare class ShantenCalculator {
37
+ hand: Hand;
38
+ constructor(hand: Hand);
39
+ calc(): number;
40
+ sevenPairs(): number;
41
+ thirteenOrphans(): number;
42
+ fourSetsOnePair(): number;
43
+ private commonByType;
44
+ private groupRemainingTiles;
45
+ private calcCommon;
46
+ }
47
+ export declare class BlockCalculator {
48
+ hand: Hand;
49
+ constructor(hand: Hand);
50
+ calc(lastTile: Tile): Block[][];
51
+ markDrawn(hands: Block[][], lastTile: Tile): Block[][];
52
+ sevenPairs(): Block[][];
53
+ thirteenOrphans(): Block[][];
54
+ nineGates(): Block[][];
55
+ fourSetsOnePair(): Block[][];
56
+ private commonAll;
57
+ private commonByType;
58
+ }
59
+ export interface BoardParams {
60
+ doraMarkers: Tile[];
61
+ blindDoraMarkers?: Tile[];
62
+ round: Round;
63
+ myWind: Wind;
64
+ ronWind?: Wind;
65
+ sticks?: {
66
+ reach: number;
67
+ dead: number;
68
+ };
69
+ reached?: 1 | 2;
70
+ replacementWin?: boolean;
71
+ quadWin?: boolean;
72
+ finalWallWin?: boolean;
73
+ finalDiscardWin?: boolean;
74
+ oneShotWin?: boolean;
75
+ }
76
+ export interface WinResult {
77
+ deltas: {
78
+ [w in Wind]: number;
79
+ };
80
+ sum: number;
81
+ fu: number;
82
+ points: {
83
+ name: string;
84
+ double: number;
85
+ }[];
86
+ point: number;
87
+ hand: Block[];
88
+ params: BoardParams;
89
+ }
90
+ export declare class DoubleCalculator {
91
+ hand: Hand;
92
+ cfg: {
93
+ doras: Tile[];
94
+ blindDoras: Tile[];
95
+ roundWind: Tile;
96
+ myWind: Tile;
97
+ reached: 0 | 1 | 2;
98
+ sticks: {
99
+ reach: number;
100
+ dead: number;
101
+ };
102
+ replacementWin: boolean;
103
+ quadWin: boolean;
104
+ finalWallWin: boolean;
105
+ finalDiscardWin: boolean;
106
+ oneShotWin: boolean;
107
+ orig: BoardParams;
108
+ };
109
+ constructor(hand: Hand, params: BoardParams);
110
+ calc(hands: Block[][]): WinResult | false;
111
+ calcPatterns(hands: Block[][]): {
112
+ points: {
113
+ name: string;
114
+ double: number;
115
+ }[];
116
+ fu: number;
117
+ hand: Block[];
118
+ }[];
119
+ private minus;
120
+ dA1(h: Block[]): {
121
+ name: string;
122
+ double: number;
123
+ }[];
124
+ dB1(h: Block[]): {
125
+ name: string;
126
+ double: number;
127
+ }[];
128
+ dC1(h: Block[]): {
129
+ name: string;
130
+ double: number;
131
+ }[];
132
+ dD1(h: Block[]): {
133
+ name: string;
134
+ double: number;
135
+ }[];
136
+ dE1(h: Block[]): {
137
+ name: string;
138
+ double: number;
139
+ }[];
140
+ dF1(h: Block[]): {
141
+ name: string;
142
+ double: number;
143
+ }[];
144
+ dG1(h: Block[]): {
145
+ name: string;
146
+ double: number;
147
+ }[];
148
+ dH1(h: Block[]): {
149
+ name: string;
150
+ double: number;
151
+ }[];
152
+ dI1(h: Block[]): {
153
+ name: string;
154
+ double: number;
155
+ }[];
156
+ dJ1(h: Block[]): {
157
+ name: string;
158
+ double: number;
159
+ }[];
160
+ dK1(h: Block[]): {
161
+ name: string;
162
+ double: number;
163
+ }[];
164
+ dX1(h: Block[]): {
165
+ name: string;
166
+ double: number;
167
+ }[];
168
+ dA2(h: Block[]): {
169
+ name: string;
170
+ double: number;
171
+ }[];
172
+ dB2(h: Block[]): {
173
+ name: string;
174
+ double: number;
175
+ }[];
176
+ dC2(h: Block[]): {
177
+ name: string;
178
+ double: number;
179
+ }[];
180
+ dD2(h: Block[]): {
181
+ name: string;
182
+ double: number;
183
+ }[];
184
+ dE2(h: Block[]): {
185
+ name: string;
186
+ double: number;
187
+ }[];
188
+ dF2(h: Block[]): {
189
+ name: string;
190
+ double: number;
191
+ }[];
192
+ dG2(h: Block[]): {
193
+ name: string;
194
+ double: number;
195
+ }[];
196
+ dH2(h: Block[]): {
197
+ name: string;
198
+ double: number;
199
+ }[];
200
+ dI2(h: Block[]): {
201
+ name: string;
202
+ double: number;
203
+ }[];
204
+ dJ2(h: Block[]): {
205
+ name: string;
206
+ double: number;
207
+ }[];
208
+ dA3(h: Block[]): {
209
+ name: string;
210
+ double: number;
211
+ }[];
212
+ dB3(h: Block[]): {
213
+ name: string;
214
+ double: number;
215
+ }[];
216
+ dC3(h: Block[]): {
217
+ name: string;
218
+ double: number;
219
+ }[];
220
+ dA6(h: Block[]): {
221
+ name: string;
222
+ double: number;
223
+ }[];
224
+ dA13(h: Block[]): {
225
+ name: string;
226
+ double: number;
227
+ }[];
228
+ dB13(h: Block[]): {
229
+ name: string;
230
+ double: number;
231
+ }[];
232
+ dC13(h: Block[]): {
233
+ name: string;
234
+ double: number;
235
+ }[];
236
+ dD13(h: Block[]): {
237
+ name: string;
238
+ double: number;
239
+ }[];
240
+ dE13(h: Block[]): {
241
+ name: string;
242
+ double: number;
243
+ }[];
244
+ dF13(h: Block[]): {
245
+ name: string;
246
+ double: number;
247
+ }[];
248
+ dG13(h: Block[]): {
249
+ name: string;
250
+ double: number;
251
+ }[];
252
+ dH13(h: Block[]): {
253
+ name: string;
254
+ double: number;
255
+ }[];
256
+ dI13(h: Block[]): {
257
+ name: string;
258
+ double: number;
259
+ }[];
260
+ dJ13(h: Block[]): never[];
261
+ dK13(h: Block[]): never[];
262
+ calcFu(h: Block[]): number;
263
+ }