@konoui/mjimage 0.9.0 → 0.10.0

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.
package/dist/index.d.cts CHANGED
@@ -49,12 +49,7 @@ export declare abstract class BaseActor {
49
49
  river: IRiver;
50
50
  placeManager: PlaceManager;
51
51
  scoreManager: ScoreManager;
52
- hands: {
53
- "1z": ActorHand;
54
- "2z": ActorHand;
55
- "3z": ActorHand;
56
- "4z": ActorHand;
57
- };
52
+ hands: WindMap<ActorHand>;
58
53
  counter: Counter;
59
54
  private _doraIndicators;
60
55
  eventHandler: EventHandler;
@@ -301,6 +296,8 @@ export declare interface ChoiceForReachAcceptance {
301
296
  choices: Pick<DiscardChoice, "RON">;
302
297
  }
303
298
 
299
+ export declare const compareCalledTiles: (arr: readonly Tile[]) => Tile[];
300
+
304
301
  export declare const compareTiles: (i: Tile, j: Tile) => number;
305
302
 
306
303
  export declare class Controller {
@@ -543,12 +540,7 @@ export declare const createLocalGame: (params?: {
543
540
 
544
541
  export declare const createTable: (helper: ImageHelper, fontCtx: FontContext, handsProps: HandsInput, discardsProps: DiscardsInput, scoreBoardProps: ScoreBoardInput) => MySVGElement;
545
542
 
546
- export declare function createWindMap<T>(initial: T, clone?: boolean): {
547
- "1z": T;
548
- "2z": T;
549
- "3z": T;
550
- "4z": T;
551
- };
543
+ export declare function createWindMap<T>(factory: () => T): WindMap<T>;
552
544
 
553
545
  export declare const deserializeWinResult: (ret: SerializedWinResult) => WinResult;
554
546
 
@@ -559,6 +551,12 @@ declare interface DiscardChoice {
559
551
  DAI_KAN: false | SerializedBlock;
560
552
  }
561
553
 
554
+ declare type DiscardEntry = {
555
+ w: Wind;
556
+ t: Tile;
557
+ callMarker?: boolean;
558
+ };
559
+
562
560
  export declare interface DiscardEvent {
563
561
  id: string;
564
562
  type: Extract<ChoiceEvent, "DISCARD">;
@@ -792,18 +790,11 @@ export declare const INPUT_SEPARATOR = ",";
792
790
 
793
791
  export declare interface IRiver {
794
792
  discard(t: Tile, w: Wind): void;
795
- discards(w?: Wind): readonly {
796
- w: Wind;
797
- t: Tile;
798
- callMarker?: boolean;
799
- }[];
800
- lastTile: {
801
- w: Wind;
802
- t: Tile;
803
- callMarker?: boolean;
804
- };
793
+ discards(w?: Wind): readonly DiscardEntry[];
794
+ lastTile: DiscardEntry;
805
795
  markCalled(): void;
806
796
  isFourWindsAbort(): boolean;
797
+ reset(): void;
807
798
  }
808
799
 
809
800
  export declare function is5Tile(t: Tile): boolean;
@@ -1168,22 +1159,15 @@ export declare class RiskRank {
1168
1159
  static rankN(c: Counter, targetUser: Wind, t: Tile): 0 | 5 | 3 | 4 | 6 | 8 | 12;
1169
1160
  }
1170
1161
 
1171
- export declare class River {
1172
- private m;
1173
- constructor();
1162
+ export declare class River implements IRiver {
1163
+ private all;
1164
+ private byWind;
1174
1165
  discard(t: Tile, w: Wind): void;
1175
- discards(w?: Wind): {
1176
- w: Wind;
1177
- t: Tile;
1178
- callMarker?: boolean;
1179
- }[];
1180
- get lastTile(): {
1181
- w: Wind;
1182
- t: Tile;
1183
- callMarker?: boolean;
1184
- };
1166
+ discards(w?: Wind): readonly DiscardEntry[];
1167
+ get lastTile(): DiscardEntry;
1185
1168
  markCalled(): void;
1186
1169
  isFourWindsAbort(): boolean;
1170
+ reset(): void;
1187
1171
  }
1188
1172
 
1189
1173
  export declare interface RonEvent {
@@ -1327,8 +1311,6 @@ export declare class ShantenCalculator {
1327
1311
 
1328
1312
  export declare function shuffle<T>(array: T[]): T[];
1329
1313
 
1330
- export declare const sortCalledTiles: (arr: readonly Tile[]) => Tile[];
1331
-
1332
1314
  export declare const STICK_CONTEXT: {
1333
1315
  readonly WIDTH: 125;
1334
1316
  readonly HEIGHT: 27.5;
@@ -1522,12 +1504,7 @@ export declare class Wall {
1522
1504
  get hiddenDoraIndicators(): Tile[];
1523
1505
  get canKan(): boolean;
1524
1506
  get canDraw(): boolean;
1525
- initialHands(): {
1526
- "1z": string;
1527
- "2z": string;
1528
- "3z": string;
1529
- "4z": string;
1530
- };
1507
+ initialHands(): WindMap<string>;
1531
1508
  private init;
1532
1509
  export(): WallProps;
1533
1510
  static clone(walls: WallProps): WallProps;
@@ -1557,6 +1534,8 @@ export declare const WIND_MAP: {
1557
1534
  readonly "4z": "北";
1558
1535
  };
1559
1536
 
1537
+ export declare type WindMap<T> = Record<Wind, T>;
1538
+
1560
1539
  declare interface WinningHand {
1561
1540
  hand: readonly Block[];
1562
1541
  fu: number;
package/dist/index.d.ts CHANGED
@@ -49,12 +49,7 @@ export declare abstract class BaseActor {
49
49
  river: IRiver;
50
50
  placeManager: PlaceManager;
51
51
  scoreManager: ScoreManager;
52
- hands: {
53
- "1z": ActorHand;
54
- "2z": ActorHand;
55
- "3z": ActorHand;
56
- "4z": ActorHand;
57
- };
52
+ hands: WindMap<ActorHand>;
58
53
  counter: Counter;
59
54
  private _doraIndicators;
60
55
  eventHandler: EventHandler;
@@ -301,6 +296,8 @@ export declare interface ChoiceForReachAcceptance {
301
296
  choices: Pick<DiscardChoice, "RON">;
302
297
  }
303
298
 
299
+ export declare const compareCalledTiles: (arr: readonly Tile[]) => Tile[];
300
+
304
301
  export declare const compareTiles: (i: Tile, j: Tile) => number;
305
302
 
306
303
  export declare class Controller {
@@ -543,12 +540,7 @@ export declare const createLocalGame: (params?: {
543
540
 
544
541
  export declare const createTable: (helper: ImageHelper, fontCtx: FontContext, handsProps: HandsInput, discardsProps: DiscardsInput, scoreBoardProps: ScoreBoardInput) => MySVGElement;
545
542
 
546
- export declare function createWindMap<T>(initial: T, clone?: boolean): {
547
- "1z": T;
548
- "2z": T;
549
- "3z": T;
550
- "4z": T;
551
- };
543
+ export declare function createWindMap<T>(factory: () => T): WindMap<T>;
552
544
 
553
545
  export declare const deserializeWinResult: (ret: SerializedWinResult) => WinResult;
554
546
 
@@ -559,6 +551,12 @@ declare interface DiscardChoice {
559
551
  DAI_KAN: false | SerializedBlock;
560
552
  }
561
553
 
554
+ declare type DiscardEntry = {
555
+ w: Wind;
556
+ t: Tile;
557
+ callMarker?: boolean;
558
+ };
559
+
562
560
  export declare interface DiscardEvent {
563
561
  id: string;
564
562
  type: Extract<ChoiceEvent, "DISCARD">;
@@ -792,18 +790,11 @@ export declare const INPUT_SEPARATOR = ",";
792
790
 
793
791
  export declare interface IRiver {
794
792
  discard(t: Tile, w: Wind): void;
795
- discards(w?: Wind): readonly {
796
- w: Wind;
797
- t: Tile;
798
- callMarker?: boolean;
799
- }[];
800
- lastTile: {
801
- w: Wind;
802
- t: Tile;
803
- callMarker?: boolean;
804
- };
793
+ discards(w?: Wind): readonly DiscardEntry[];
794
+ lastTile: DiscardEntry;
805
795
  markCalled(): void;
806
796
  isFourWindsAbort(): boolean;
797
+ reset(): void;
807
798
  }
808
799
 
809
800
  export declare function is5Tile(t: Tile): boolean;
@@ -1168,22 +1159,15 @@ export declare class RiskRank {
1168
1159
  static rankN(c: Counter, targetUser: Wind, t: Tile): 0 | 5 | 3 | 4 | 6 | 8 | 12;
1169
1160
  }
1170
1161
 
1171
- export declare class River {
1172
- private m;
1173
- constructor();
1162
+ export declare class River implements IRiver {
1163
+ private all;
1164
+ private byWind;
1174
1165
  discard(t: Tile, w: Wind): void;
1175
- discards(w?: Wind): {
1176
- w: Wind;
1177
- t: Tile;
1178
- callMarker?: boolean;
1179
- }[];
1180
- get lastTile(): {
1181
- w: Wind;
1182
- t: Tile;
1183
- callMarker?: boolean;
1184
- };
1166
+ discards(w?: Wind): readonly DiscardEntry[];
1167
+ get lastTile(): DiscardEntry;
1185
1168
  markCalled(): void;
1186
1169
  isFourWindsAbort(): boolean;
1170
+ reset(): void;
1187
1171
  }
1188
1172
 
1189
1173
  export declare interface RonEvent {
@@ -1327,8 +1311,6 @@ export declare class ShantenCalculator {
1327
1311
 
1328
1312
  export declare function shuffle<T>(array: T[]): T[];
1329
1313
 
1330
- export declare const sortCalledTiles: (arr: readonly Tile[]) => Tile[];
1331
-
1332
1314
  export declare const STICK_CONTEXT: {
1333
1315
  readonly WIDTH: 125;
1334
1316
  readonly HEIGHT: 27.5;
@@ -1522,12 +1504,7 @@ export declare class Wall {
1522
1504
  get hiddenDoraIndicators(): Tile[];
1523
1505
  get canKan(): boolean;
1524
1506
  get canDraw(): boolean;
1525
- initialHands(): {
1526
- "1z": string;
1527
- "2z": string;
1528
- "3z": string;
1529
- "4z": string;
1530
- };
1507
+ initialHands(): WindMap<string>;
1531
1508
  private init;
1532
1509
  export(): WallProps;
1533
1510
  static clone(walls: WallProps): WallProps;
@@ -1557,6 +1534,8 @@ export declare const WIND_MAP: {
1557
1534
  readonly "4z": "北";
1558
1535
  };
1559
1536
 
1537
+ export declare type WindMap<T> = Record<Wind, T>;
1538
+
1560
1539
  declare interface WinningHand {
1561
1540
  hand: readonly Block[];
1562
1541
  fu: number;