mahjong_engine 1.0.4 → 1.0.6
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/BlockDivider.js +21 -17
- package/dist/BlockDivider.js.map +1 -1
- package/dist/BlockHais.js +17 -13
- package/dist/BlockHais.js.map +1 -1
- package/dist/BlockHaisList.js +17 -13
- package/dist/BlockHaisList.js.map +1 -1
- package/dist/Hai.js +27 -23
- package/dist/Hai.js.map +1 -1
- package/dist/Hais.js +8 -4
- package/dist/Hais.js.map +1 -1
- package/dist/IMentsu.js +2 -1
- package/dist/MachiCalculator.js +11 -7
- package/dist/MachiCalculator.js.map +1 -1
- package/dist/MahjongConsts.js +15 -12
- package/dist/MahjongConsts.js.map +1 -1
- package/dist/Meld.js +15 -11
- package/dist/Meld.js.map +1 -1
- package/dist/Melds.js +5 -1
- package/dist/Melds.js.map +1 -1
- package/dist/MentsuAnalyzer.js +5 -1
- package/dist/MentsuAnalyzer.js.map +1 -1
- package/dist/PlayerContext.js +7 -3
- package/dist/PlayerContext.js.map +1 -1
- package/dist/PlayerHand.js +7 -3
- package/dist/PlayerHand.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -12
- package/dist/index.js.map +1 -1
- package/dist/tensuu/FuCalculator.js +29 -25
- package/dist/tensuu/FuCalculator.js.map +1 -1
- package/dist/tensuu/FuDetail.js +5 -1
- package/dist/tensuu/FuDetail.js.map +1 -1
- package/dist/tensuu/ScoreResolver.js +11 -7
- package/dist/tensuu/ScoreResolver.js.map +1 -1
- package/dist/tensuu/ScoreResult.js +5 -1
- package/dist/tensuu/ScoreResult.js.map +1 -1
- package/dist/tensuu/TensuuCalculator.js +7 -3
- package/dist/tensuu/TensuuCalculator.js.map +1 -1
- package/dist/tensuu/TensuuResult.js +5 -1
- package/dist/tensuu/TensuuResult.js.map +1 -1
- package/dist/tileDefs.js +4 -1
- package/dist/tileDefs.js.map +1 -1
- package/dist/yaku/NormalYakuChecker.js +12 -8
- package/dist/yaku/NormalYakuChecker.js.map +1 -1
- package/dist/yaku/YakuChecker.js +9 -5
- package/dist/yaku/YakuChecker.js.map +1 -1
- package/dist/yaku/YakuCheckerBase.js +17 -13
- package/dist/yaku/YakuCheckerBase.js.map +1 -1
- package/dist/yaku/YakuContext.js +5 -1
- package/dist/yaku/YakuContext.js.map +1 -1
- package/dist/yaku/YakumanChecker.js +10 -6
- package/dist/yaku/YakumanChecker.js.map +1 -1
- package/dist/yaku/index.js +76 -73
- package/dist/yaku/index.js.map +1 -1
- package/dist/yaku/normal/ChinitsuChecker.js +6 -2
- package/dist/yaku/normal/ChinitsuChecker.js.map +1 -1
- package/dist/yaku/normal/ChitoitsuChecker.js +8 -4
- package/dist/yaku/normal/ChitoitsuChecker.js.map +1 -1
- package/dist/yaku/normal/DoukouChecker.js +6 -2
- package/dist/yaku/normal/DoukouChecker.js.map +1 -1
- package/dist/yaku/normal/HonchanChecker.js +8 -4
- package/dist/yaku/normal/HonchanChecker.js.map +1 -1
- package/dist/yaku/normal/HonitsuChecker.js +8 -4
- package/dist/yaku/normal/HonitsuChecker.js.map +1 -1
- package/dist/yaku/normal/HonrotoChecker.js +8 -4
- package/dist/yaku/normal/HonrotoChecker.js.map +1 -1
- package/dist/yaku/normal/IipekoChecker.js +6 -2
- package/dist/yaku/normal/IipekoChecker.js.map +1 -1
- package/dist/yaku/normal/IttsuuChecker.js +6 -2
- package/dist/yaku/normal/IttsuuChecker.js.map +1 -1
- package/dist/yaku/normal/JunchanChecker.js +8 -4
- package/dist/yaku/normal/JunchanChecker.js.map +1 -1
- package/dist/yaku/normal/KazehaiChecker.js +8 -4
- package/dist/yaku/normal/KazehaiChecker.js.map +1 -1
- package/dist/yaku/normal/MenzenTsumoChecker.js +6 -2
- package/dist/yaku/normal/MenzenTsumoChecker.js.map +1 -1
- package/dist/yaku/normal/PinfuChecker.js +13 -9
- package/dist/yaku/normal/PinfuChecker.js.map +1 -1
- package/dist/yaku/normal/RenpuuhaiChecker.js +8 -4
- package/dist/yaku/normal/RenpuuhaiChecker.js.map +1 -1
- package/dist/yaku/normal/RyanpekoChecker.js +6 -2
- package/dist/yaku/normal/RyanpekoChecker.js.map +1 -1
- package/dist/yaku/normal/SanankoChecker.js +6 -2
- package/dist/yaku/normal/SanankoChecker.js.map +1 -1
- package/dist/yaku/normal/SankantsuChecker.js +6 -2
- package/dist/yaku/normal/SankantsuChecker.js.map +1 -1
- package/dist/yaku/normal/SanshokuChecker.js +6 -2
- package/dist/yaku/normal/SanshokuChecker.js.map +1 -1
- package/dist/yaku/normal/ShosangenChecker.js +6 -2
- package/dist/yaku/normal/ShosangenChecker.js.map +1 -1
- package/dist/yaku/normal/TanyaoChecker.js +6 -2
- package/dist/yaku/normal/TanyaoChecker.js.map +1 -1
- package/dist/yaku/normal/ToitoiChecker.js +6 -2
- package/dist/yaku/normal/ToitoiChecker.js.map +1 -1
- package/dist/yaku/normal/YakuhaiChecker.js +8 -4
- package/dist/yaku/normal/YakuhaiChecker.js.map +1 -1
- package/dist/yaku/yakuman/ChinrotoChecker.js +6 -2
- package/dist/yaku/yakuman/ChinrotoChecker.js.map +1 -1
- package/dist/yaku/yakuman/Churen9Checker.js +8 -4
- package/dist/yaku/yakuman/Churen9Checker.js.map +1 -1
- package/dist/yaku/yakuman/ChurenChecker.js +8 -4
- package/dist/yaku/yakuman/ChurenChecker.js.map +1 -1
- package/dist/yaku/yakuman/DaisangenChecker.js +6 -2
- package/dist/yaku/yakuman/DaisangenChecker.js.map +1 -1
- package/dist/yaku/yakuman/DaisushiChecker.js +6 -2
- package/dist/yaku/yakuman/DaisushiChecker.js.map +1 -1
- package/dist/yaku/yakuman/ExtendedYakumanChecker.js +6 -2
- package/dist/yaku/yakuman/ExtendedYakumanChecker.js.map +1 -1
- package/dist/yaku/yakuman/Kokushi13Checker.js +8 -4
- package/dist/yaku/yakuman/Kokushi13Checker.js.map +1 -1
- package/dist/yaku/yakuman/KokushiChecker.js +8 -4
- package/dist/yaku/yakuman/KokushiChecker.js.map +1 -1
- package/dist/yaku/yakuman/RyuisoChecker.js +6 -2
- package/dist/yaku/yakuman/RyuisoChecker.js.map +1 -1
- package/dist/yaku/yakuman/ShosushiChecker.js +6 -2
- package/dist/yaku/yakuman/ShosushiChecker.js.map +1 -1
- package/dist/yaku/yakuman/SuankoChecker.js +6 -2
- package/dist/yaku/yakuman/SuankoChecker.js.map +1 -1
- package/dist/yaku/yakuman/SuankoTankiChecker.js +10 -6
- package/dist/yaku/yakuman/SuankoTankiChecker.js.map +1 -1
- package/dist/yaku/yakuman/SukantsuChecker.js +6 -2
- package/dist/yaku/yakuman/SukantsuChecker.js.map +1 -1
- package/dist/yaku/yakuman/TsuisoChecker.js +6 -2
- package/dist/yaku/yakuman/TsuisoChecker.js.map +1 -1
- package/modules/index.ts +3 -1
- package/package.json +1 -1
- package/tsconfig.json +1 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RyuisoChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
class RyuisoChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
3
6
|
yakuName = "緑一色";
|
|
4
7
|
isSatisfied() {
|
|
5
8
|
const greenNums = new Set([20, 21, 22, 24, 26, 33]);
|
|
@@ -10,4 +13,5 @@ export class RyuisoChecker extends YakuCheckerBase {
|
|
|
10
13
|
return allTiles.every(h => greenNums.has(h.getId()));
|
|
11
14
|
}
|
|
12
15
|
}
|
|
16
|
+
exports.RyuisoChecker = RyuisoChecker;
|
|
13
17
|
//# sourceMappingURL=RyuisoChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RyuisoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/RyuisoChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"RyuisoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/RyuisoChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,MAAa,aAAc,SAAQ,iCAAe;IACpC,QAAQ,GAAW,KAAK,CAAC;IAEzB,WAAW;QACjB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG;YACb,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;YACpB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAClD,CAAC;QAEF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CACJ;AAbD,sCAaC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShosushiChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
class ShosushiChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
3
6
|
yakuName = "小四喜";
|
|
4
7
|
isSatisfied() {
|
|
5
8
|
const { foundTargets, mentsuCount, jantoCount } = this.countTargetBlocks(this.context.block, [28, 29, 30, 31]);
|
|
@@ -8,4 +11,5 @@ export class ShosushiChecker extends YakuCheckerBase {
|
|
|
8
11
|
return mentsuCount === 3 && jantoCount === 1;
|
|
9
12
|
}
|
|
10
13
|
}
|
|
14
|
+
exports.ShosushiChecker = ShosushiChecker;
|
|
11
15
|
//# sourceMappingURL=ShosushiChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShosushiChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/ShosushiChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ShosushiChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/ShosushiChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,MAAa,eAAgB,SAAQ,iCAAe;IACtC,QAAQ,GAAW,KAAK,CAAC;IAEzB,WAAW;QACjB,MAAM,EAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,CAAC;QAE1G,IAAG,YAAY,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEzC,OAAO,WAAW,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC;IACjD,CAAC;CACJ;AAVD,0CAUC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuankoChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
class SuankoChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
3
6
|
yakuName = "四暗刻";
|
|
4
7
|
isSatisfied() {
|
|
5
8
|
if (!this.isMenzen())
|
|
@@ -10,4 +13,5 @@ export class SuankoChecker extends YakuCheckerBase {
|
|
|
10
13
|
return this.isSatisfied();
|
|
11
14
|
}
|
|
12
15
|
}
|
|
16
|
+
exports.SuankoChecker = SuankoChecker;
|
|
13
17
|
//# sourceMappingURL=SuankoChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuankoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SuankoChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"SuankoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SuankoChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,MAAa,aAAc,SAAQ,iCAAe;IACpC,QAAQ,GAAW,KAAK,CAAC;IAEzB,WAAW;QACjB,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;CACJ;AAXD,sCAWC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuankoTankiChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
const MahjongConsts_1 = require("../../MahjongConsts");
|
|
6
|
+
const SuankoChecker_1 = require("./SuankoChecker");
|
|
7
|
+
class SuankoTankiChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
5
8
|
yakuName = "四暗刻単騎";
|
|
6
9
|
constructor(context) {
|
|
7
10
|
super(context);
|
|
@@ -9,11 +12,11 @@ export class SuankoTankiChecker extends YakuCheckerBase {
|
|
|
9
12
|
this.hanFuro = 26;
|
|
10
13
|
}
|
|
11
14
|
isSatisfied() {
|
|
12
|
-
const base = new SuankoChecker(this.context);
|
|
15
|
+
const base = new SuankoChecker_1.SuankoChecker(this.context);
|
|
13
16
|
if (!base.isSuanko())
|
|
14
17
|
return false;
|
|
15
18
|
for (const blockhais of this.context.block) {
|
|
16
|
-
if (blockhais.getType() === BlockType.JANTO) {
|
|
19
|
+
if (blockhais.getType() === MahjongConsts_1.BlockType.JANTO) {
|
|
17
20
|
if (blockhais.getHais().some(h => h.getId() == this.context.ctx.agariHai.getId()))
|
|
18
21
|
return true;
|
|
19
22
|
}
|
|
@@ -21,4 +24,5 @@ export class SuankoTankiChecker extends YakuCheckerBase {
|
|
|
21
24
|
return false;
|
|
22
25
|
}
|
|
23
26
|
}
|
|
27
|
+
exports.SuankoTankiChecker = SuankoTankiChecker;
|
|
24
28
|
//# sourceMappingURL=SuankoTankiChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuankoTankiChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SuankoTankiChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"SuankoTankiChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SuankoTankiChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AACrD,uDAAgD;AAChD,mDAAgD;AAIhD,MAAa,kBAAmB,SAAQ,iCAAe;IACzC,QAAQ,GAAW,OAAO,CAAC;IAErC,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAES,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,KAAK,CAAC;QAElC,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAC,CAAC;YACvC,IAAG,SAAS,CAAC,OAAO,EAAE,KAAK,yBAAS,CAAC,KAAK,EAAC,CAAC;gBACxC,IAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC;YAClG,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AArBD,gDAqBC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SukantsuChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
class SukantsuChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
3
6
|
yakuName = "四槓子";
|
|
4
7
|
isSatisfied() {
|
|
5
8
|
return this.countKantsu() === 4;
|
|
6
9
|
}
|
|
7
10
|
}
|
|
11
|
+
exports.SukantsuChecker = SukantsuChecker;
|
|
8
12
|
//# sourceMappingURL=SukantsuChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SukantsuChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SukantsuChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"SukantsuChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/SukantsuChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,MAAa,eAAgB,SAAQ,iCAAe;IACtC,QAAQ,GAAW,KAAK,CAAC;IAEzB,WAAW;QACjB,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACJ;AAND,0CAMC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TsuisoChecker = void 0;
|
|
4
|
+
const YakuCheckerBase_1 = require("../YakuCheckerBase");
|
|
5
|
+
class TsuisoChecker extends YakuCheckerBase_1.YakuCheckerBase {
|
|
3
6
|
yakuName = "字一色";
|
|
4
7
|
isSatisfied() {
|
|
5
8
|
const allTiles = this.getAllTiles();
|
|
6
9
|
return allTiles.every(h => h.isJihai());
|
|
7
10
|
}
|
|
8
11
|
}
|
|
12
|
+
exports.TsuisoChecker = TsuisoChecker;
|
|
9
13
|
//# sourceMappingURL=TsuisoChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TsuisoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/TsuisoChecker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"TsuisoChecker.js","sourceRoot":"","sources":["../../../modules/yaku/yakuman/TsuisoChecker.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,MAAa,aAAc,SAAQ,iCAAe;IACpC,QAAQ,GAAW,KAAK,CAAC;IAEzB,WAAW;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;CACJ;AAPD,sCAOC"}
|
package/modules/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Hai } from './Hai.js';
|
|
2
2
|
export { Hais } from './Hais.js';
|
|
3
|
+
export { Meld } from './Meld.js';
|
|
3
4
|
export { Melds } from './Melds.js';
|
|
4
5
|
export { BlockDivider } from './BlockDivider.js';
|
|
5
6
|
export { PlayerHand } from './PlayerHand.js';
|
|
@@ -9,4 +10,5 @@ export { YakuContext } from './yaku/YakuContext.js';
|
|
|
9
10
|
export { YakuChecker } from './yaku/YakuChecker.js';
|
|
10
11
|
export { TILE } from './tileDefs.js';
|
|
11
12
|
export { ScoreResult } from './tensuu/ScoreResult.js';
|
|
12
|
-
export { MachiCalculator } from './MachiCalculator.js';
|
|
13
|
+
export { MachiCalculator } from './MachiCalculator.js';
|
|
14
|
+
export * from './MahjongConsts.js';
|
package/package.json
CHANGED