@pai-forge/riichi-mahjong 0.1.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.
Files changed (134) hide show
  1. package/README.md +58 -0
  2. package/dist/core/dora.d.ts +14 -0
  3. package/dist/core/dora.js +71 -0
  4. package/dist/core/hai.d.ts +30 -0
  5. package/dist/core/hai.js +78 -0
  6. package/dist/core/machi.d.ts +11 -0
  7. package/dist/core/machi.js +58 -0
  8. package/dist/core/mentsu.d.ts +26 -0
  9. package/dist/core/mentsu.js +87 -0
  10. package/dist/core/tehai.d.ts +38 -0
  11. package/dist/core/tehai.js +87 -0
  12. package/dist/errors.d.ts +40 -0
  13. package/dist/errors.js +58 -0
  14. package/dist/features/machi/index.d.ts +9 -0
  15. package/dist/features/machi/index.js +37 -0
  16. package/dist/features/machi/types.d.ts +1 -0
  17. package/dist/features/machi/types.js +1 -0
  18. package/dist/features/parser/index.d.ts +19 -0
  19. package/dist/features/parser/index.js +28 -0
  20. package/dist/features/parser/mspz.d.ts +85 -0
  21. package/dist/features/parser/mspz.js +365 -0
  22. package/dist/features/points/constants.d.ts +27 -0
  23. package/dist/features/points/constants.js +30 -0
  24. package/dist/features/points/index.d.ts +21 -0
  25. package/dist/features/points/index.js +174 -0
  26. package/dist/features/points/lib/fu/constants.d.ts +37 -0
  27. package/dist/features/points/lib/fu/constants.js +45 -0
  28. package/dist/features/points/lib/fu/index.d.ts +11 -0
  29. package/dist/features/points/lib/fu/index.js +23 -0
  30. package/dist/features/points/lib/fu/lib/chiitoitsu.d.ts +5 -0
  31. package/dist/features/points/lib/fu/lib/chiitoitsu.js +17 -0
  32. package/dist/features/points/lib/fu/lib/kokushi.d.ts +6 -0
  33. package/dist/features/points/lib/fu/lib/kokushi.js +18 -0
  34. package/dist/features/points/lib/fu/lib/mentsu.d.ts +11 -0
  35. package/dist/features/points/lib/fu/lib/mentsu.js +122 -0
  36. package/dist/features/points/lib/fu/types.d.ts +55 -0
  37. package/dist/features/points/lib/fu/types.js +1 -0
  38. package/dist/features/points/types.d.ts +27 -0
  39. package/dist/features/points/types.js +1 -0
  40. package/dist/features/shanten/index.d.ts +16 -0
  41. package/dist/features/shanten/index.js +25 -0
  42. package/dist/features/shanten/logic/chiitoitsu.d.ts +8 -0
  43. package/dist/features/shanten/logic/chiitoitsu.js +36 -0
  44. package/dist/features/shanten/logic/kokushi.d.ts +16 -0
  45. package/dist/features/shanten/logic/kokushi.js +48 -0
  46. package/dist/features/shanten/logic/mentsu-te.d.ts +8 -0
  47. package/dist/features/shanten/logic/mentsu-te.js +129 -0
  48. package/dist/features/yaku/factory.d.ts +13 -0
  49. package/dist/features/yaku/factory.js +19 -0
  50. package/dist/features/yaku/index.d.ts +12 -0
  51. package/dist/features/yaku/index.js +62 -0
  52. package/dist/features/yaku/lib/definitions/chiitoitsu.d.ts +2 -0
  53. package/dist/features/yaku/lib/definitions/chiitoitsu.js +12 -0
  54. package/dist/features/yaku/lib/definitions/chinitsu.d.ts +2 -0
  55. package/dist/features/yaku/lib/definitions/chinitsu.js +40 -0
  56. package/dist/features/yaku/lib/definitions/chinroutou.d.ts +2 -0
  57. package/dist/features/yaku/lib/definitions/chinroutou.js +21 -0
  58. package/dist/features/yaku/lib/definitions/chuuren-poutou.d.ts +2 -0
  59. package/dist/features/yaku/lib/definitions/chuuren-poutou.js +69 -0
  60. package/dist/features/yaku/lib/definitions/daisangen.d.ts +2 -0
  61. package/dist/features/yaku/lib/definitions/daisangen.js +26 -0
  62. package/dist/features/yaku/lib/definitions/daisuushii.d.ts +2 -0
  63. package/dist/features/yaku/lib/definitions/daisuushii.js +32 -0
  64. package/dist/features/yaku/lib/definitions/honchan.d.ts +2 -0
  65. package/dist/features/yaku/lib/definitions/honchan.js +29 -0
  66. package/dist/features/yaku/lib/definitions/honitsu.d.ts +2 -0
  67. package/dist/features/yaku/lib/definitions/honitsu.js +40 -0
  68. package/dist/features/yaku/lib/definitions/honroutou.d.ts +2 -0
  69. package/dist/features/yaku/lib/definitions/honroutou.js +33 -0
  70. package/dist/features/yaku/lib/definitions/iipeiko.d.ts +2 -0
  71. package/dist/features/yaku/lib/definitions/iipeiko.js +46 -0
  72. package/dist/features/yaku/lib/definitions/ikkitsuukan.d.ts +2 -0
  73. package/dist/features/yaku/lib/definitions/ikkitsuukan.js +56 -0
  74. package/dist/features/yaku/lib/definitions/index.d.ts +30 -0
  75. package/dist/features/yaku/lib/definitions/index.js +90 -0
  76. package/dist/features/yaku/lib/definitions/junchan.d.ts +2 -0
  77. package/dist/features/yaku/lib/definitions/junchan.js +25 -0
  78. package/dist/features/yaku/lib/definitions/kokushi.d.ts +2 -0
  79. package/dist/features/yaku/lib/definitions/kokushi.js +12 -0
  80. package/dist/features/yaku/lib/definitions/menzen-tsumo.d.ts +2 -0
  81. package/dist/features/yaku/lib/definitions/menzen-tsumo.js +8 -0
  82. package/dist/features/yaku/lib/definitions/pinfu.d.ts +2 -0
  83. package/dist/features/yaku/lib/definitions/pinfu.js +40 -0
  84. package/dist/features/yaku/lib/definitions/ryanpeiko.d.ts +2 -0
  85. package/dist/features/yaku/lib/definitions/ryanpeiko.js +33 -0
  86. package/dist/features/yaku/lib/definitions/ryuuiisou.d.ts +2 -0
  87. package/dist/features/yaku/lib/definitions/ryuuiisou.js +43 -0
  88. package/dist/features/yaku/lib/definitions/sanankou.d.ts +2 -0
  89. package/dist/features/yaku/lib/definitions/sanankou.js +49 -0
  90. package/dist/features/yaku/lib/definitions/sankantsu.d.ts +2 -0
  91. package/dist/features/yaku/lib/definitions/sankantsu.js +18 -0
  92. package/dist/features/yaku/lib/definitions/sanshoku-doujun.d.ts +2 -0
  93. package/dist/features/yaku/lib/definitions/sanshoku-doujun.js +58 -0
  94. package/dist/features/yaku/lib/definitions/sanshoku-doukou.d.ts +2 -0
  95. package/dist/features/yaku/lib/definitions/sanshoku-doukou.js +53 -0
  96. package/dist/features/yaku/lib/definitions/shousangen.d.ts +2 -0
  97. package/dist/features/yaku/lib/definitions/shousangen.js +28 -0
  98. package/dist/features/yaku/lib/definitions/shousuushii.d.ts +2 -0
  99. package/dist/features/yaku/lib/definitions/shousuushii.js +34 -0
  100. package/dist/features/yaku/lib/definitions/suuankou.d.ts +2 -0
  101. package/dist/features/yaku/lib/definitions/suuankou.js +63 -0
  102. package/dist/features/yaku/lib/definitions/suukantsu.d.ts +2 -0
  103. package/dist/features/yaku/lib/definitions/suukantsu.js +18 -0
  104. package/dist/features/yaku/lib/definitions/tanyao.d.ts +2 -0
  105. package/dist/features/yaku/lib/definitions/tanyao.js +23 -0
  106. package/dist/features/yaku/lib/definitions/toitoi.d.ts +2 -0
  107. package/dist/features/yaku/lib/definitions/toitoi.js +16 -0
  108. package/dist/features/yaku/lib/definitions/tsuuiisou.d.ts +2 -0
  109. package/dist/features/yaku/lib/definitions/tsuuiisou.js +35 -0
  110. package/dist/features/yaku/lib/definitions/yakuhai.d.ts +4 -0
  111. package/dist/features/yaku/lib/definitions/yakuhai.js +21 -0
  112. package/dist/features/yaku/lib/index.d.ts +1 -0
  113. package/dist/features/yaku/lib/index.js +1 -0
  114. package/dist/features/yaku/lib/structures/chiitoitsu.d.ts +6 -0
  115. package/dist/features/yaku/lib/structures/chiitoitsu.js +38 -0
  116. package/dist/features/yaku/lib/structures/index.d.ts +10 -0
  117. package/dist/features/yaku/lib/structures/index.js +17 -0
  118. package/dist/features/yaku/lib/structures/kokushi.d.ts +6 -0
  119. package/dist/features/yaku/lib/structures/kokushi.js +43 -0
  120. package/dist/features/yaku/lib/structures/mentsu-te.d.ts +24 -0
  121. package/dist/features/yaku/lib/structures/mentsu-te.js +127 -0
  122. package/dist/features/yaku/types.d.ts +121 -0
  123. package/dist/features/yaku/types.js +1 -0
  124. package/dist/features/yaku/utils.d.ts +19 -0
  125. package/dist/features/yaku/utils.js +34 -0
  126. package/dist/index.d.ts +12 -0
  127. package/dist/index.js +9 -0
  128. package/dist/types.d.ts +280 -0
  129. package/dist/types.js +97 -0
  130. package/dist/utils/assertions.d.ts +22 -0
  131. package/dist/utils/assertions.js +33 -0
  132. package/dist/utils/test-helpers.d.ts +55 -0
  133. package/dist/utils/test-helpers.js +124 -0
  134. package/package.json +62 -0
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@pai-forge/riichi-mahjong",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/PaiForge/riichi-mahjong.git"
11
+ },
12
+ "main": "./dist/index.js",
13
+ "exports": {
14
+ ".": "./dist/index.js",
15
+ "./*": "./dist/*.js"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "sideEffects": false,
21
+ "scripts": {
22
+ "test": "vitest src",
23
+ "build": "tsc -p tsconfig.build.json",
24
+ "lint": "eslint src --max-warnings=0",
25
+ "lint:fix": "eslint src --fix",
26
+ "format": "prettier --write src",
27
+ "prepare": "husky"
28
+ },
29
+ "keywords": [
30
+ "mahjong",
31
+ "riichi",
32
+ "game"
33
+ ],
34
+ "author": "",
35
+ "license": "ISC",
36
+ "description": "Riichi Mahjong Logic Library",
37
+ "devDependencies": {
38
+ "@types/node": "^25.0.3",
39
+ "eslint": "^9.39.2",
40
+ "eslint-config-prettier": "^10.1.8",
41
+ "eslint-plugin-jsdoc": "^61.5.0",
42
+ "globals": "^16.5.0",
43
+ "husky": "^9.1.7",
44
+ "lint-staged": "^16.2.7",
45
+ "prettier": "^3.7.4",
46
+ "typescript": "^5.9.3",
47
+ "typescript-eslint": "^8.50.0",
48
+ "vitest": "^4.0.15"
49
+ },
50
+ "engines": {
51
+ "node": ">=20.0.0"
52
+ },
53
+ "lint-staged": {
54
+ "*.{ts,js}": [
55
+ "eslint --fix",
56
+ "prettier --write"
57
+ ],
58
+ "*.json": [
59
+ "prettier --write"
60
+ ]
61
+ }
62
+ }