mingpan 0.1.1 → 0.1.2

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 (135) hide show
  1. package/README.md +53 -7
  2. package/dist/core/bazi/types.d.ts +0 -1
  3. package/dist/core/bazi/types.d.ts.map +1 -1
  4. package/dist/index.js +398 -164
  5. package/dist/index.js.map +1 -1
  6. package/dist/output/daliurenTextRenderer.d.ts +23 -0
  7. package/dist/output/daliurenTextRenderer.d.ts.map +1 -0
  8. package/dist/output/daliurenTextRenderer.js +109 -0
  9. package/dist/output/daliurenTextRenderer.js.map +1 -0
  10. package/dist/output/liuyaoTextRenderer.d.ts +12 -0
  11. package/dist/output/liuyaoTextRenderer.d.ts.map +1 -0
  12. package/dist/output/liuyaoTextRenderer.js +148 -0
  13. package/dist/output/liuyaoTextRenderer.js.map +1 -0
  14. package/dist/output/meihuaTextRenderer.d.ts +12 -0
  15. package/dist/output/meihuaTextRenderer.d.ts.map +1 -0
  16. package/dist/output/meihuaTextRenderer.js +53 -0
  17. package/dist/output/meihuaTextRenderer.js.map +1 -0
  18. package/dist/services/bazi/types.d.ts +0 -2
  19. package/dist/services/bazi/types.d.ts.map +1 -1
  20. package/dist/services/bazi/types.js.map +1 -1
  21. package/dist/services/daliuren/DaliurenService.d.ts +24 -0
  22. package/dist/services/daliuren/DaliurenService.d.ts.map +1 -0
  23. package/dist/services/daliuren/DaliurenService.js +67 -0
  24. package/dist/services/daliuren/DaliurenService.js.map +1 -0
  25. package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts +87 -0
  26. package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts.map +1 -0
  27. package/dist/services/daliuren/calculators/SanChuanCalculator.js +443 -0
  28. package/dist/services/daliuren/calculators/SanChuanCalculator.js.map +1 -0
  29. package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts +33 -0
  30. package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts.map +1 -0
  31. package/dist/services/daliuren/calculators/ShenShaCalculator.js +92 -0
  32. package/dist/services/daliuren/calculators/ShenShaCalculator.js.map +1 -0
  33. package/dist/services/daliuren/calculators/SiKeCalculator.d.ts +35 -0
  34. package/dist/services/daliuren/calculators/SiKeCalculator.d.ts.map +1 -0
  35. package/dist/services/daliuren/calculators/SiKeCalculator.js +121 -0
  36. package/dist/services/daliuren/calculators/SiKeCalculator.js.map +1 -0
  37. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts +41 -0
  38. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -0
  39. package/dist/services/daliuren/calculators/TianDiPanCalculator.js +138 -0
  40. package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -0
  41. package/dist/services/daliuren/data/constants.d.ts +62 -0
  42. package/dist/services/daliuren/data/constants.d.ts.map +1 -0
  43. package/dist/services/daliuren/data/constants.js +240 -0
  44. package/dist/services/daliuren/data/constants.js.map +1 -0
  45. package/dist/services/daliuren/index.d.ts +11 -0
  46. package/dist/services/daliuren/index.d.ts.map +1 -0
  47. package/dist/services/daliuren/index.js +33 -0
  48. package/dist/services/daliuren/index.js.map +1 -0
  49. package/dist/services/daliuren/types.d.ts +152 -0
  50. package/dist/services/daliuren/types.d.ts.map +1 -0
  51. package/dist/services/daliuren/types.js +17 -0
  52. package/dist/services/daliuren/types.js.map +1 -0
  53. package/dist/services/liuyao/LiuyaoService.d.ts +37 -0
  54. package/dist/services/liuyao/LiuyaoService.d.ts.map +1 -0
  55. package/dist/services/liuyao/LiuyaoService.js +214 -0
  56. package/dist/services/liuyao/LiuyaoService.js.map +1 -0
  57. package/dist/services/liuyao/calculators/FushenCalculator.d.ts +40 -0
  58. package/dist/services/liuyao/calculators/FushenCalculator.d.ts.map +1 -0
  59. package/dist/services/liuyao/calculators/FushenCalculator.js +124 -0
  60. package/dist/services/liuyao/calculators/FushenCalculator.js.map +1 -0
  61. package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts +37 -0
  62. package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts.map +1 -0
  63. package/dist/services/liuyao/calculators/JintuishenCalculator.js +86 -0
  64. package/dist/services/liuyao/calculators/JintuishenCalculator.js.map +1 -0
  65. package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts +24 -0
  66. package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts.map +1 -0
  67. package/dist/services/liuyao/calculators/LiuqinCalculator.js +75 -0
  68. package/dist/services/liuyao/calculators/LiuqinCalculator.js.map +1 -0
  69. package/dist/services/liuyao/calculators/LiushenCalculator.d.ts +29 -0
  70. package/dist/services/liuyao/calculators/LiushenCalculator.d.ts.map +1 -0
  71. package/dist/services/liuyao/calculators/LiushenCalculator.js +58 -0
  72. package/dist/services/liuyao/calculators/LiushenCalculator.js.map +1 -0
  73. package/dist/services/liuyao/calculators/NajiaCalculator.d.ts +55 -0
  74. package/dist/services/liuyao/calculators/NajiaCalculator.d.ts.map +1 -0
  75. package/dist/services/liuyao/calculators/NajiaCalculator.js +87 -0
  76. package/dist/services/liuyao/calculators/NajiaCalculator.js.map +1 -0
  77. package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts +43 -0
  78. package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts.map +1 -0
  79. package/dist/services/liuyao/calculators/WangshuaiCalculator.js +100 -0
  80. package/dist/services/liuyao/calculators/WangshuaiCalculator.js.map +1 -0
  81. package/dist/services/liuyao/calculators/XunkongCalculator.d.ts +30 -0
  82. package/dist/services/liuyao/calculators/XunkongCalculator.d.ts.map +1 -0
  83. package/dist/services/liuyao/calculators/XunkongCalculator.js +58 -0
  84. package/dist/services/liuyao/calculators/XunkongCalculator.js.map +1 -0
  85. package/dist/services/liuyao/data/guagong.d.ts +94 -0
  86. package/dist/services/liuyao/data/guagong.d.ts.map +1 -0
  87. package/dist/services/liuyao/data/guagong.js +317 -0
  88. package/dist/services/liuyao/data/guagong.js.map +1 -0
  89. package/dist/services/liuyao/index.d.ts +13 -0
  90. package/dist/services/liuyao/index.d.ts.map +1 -0
  91. package/dist/services/liuyao/index.js +29 -0
  92. package/dist/services/liuyao/index.js.map +1 -0
  93. package/dist/services/liuyao/types.d.ts +154 -0
  94. package/dist/services/liuyao/types.d.ts.map +1 -0
  95. package/dist/services/liuyao/types.js +11 -0
  96. package/dist/services/liuyao/types.js.map +1 -0
  97. package/dist/services/meihua/MeihuaService.d.ts +32 -0
  98. package/dist/services/meihua/MeihuaService.d.ts.map +1 -0
  99. package/dist/services/meihua/MeihuaService.js +176 -0
  100. package/dist/services/meihua/MeihuaService.js.map +1 -0
  101. package/dist/services/meihua/calculators/BianguaCalculator.d.ts +21 -0
  102. package/dist/services/meihua/calculators/BianguaCalculator.d.ts.map +1 -0
  103. package/dist/services/meihua/calculators/BianguaCalculator.js +46 -0
  104. package/dist/services/meihua/calculators/BianguaCalculator.js.map +1 -0
  105. package/dist/services/meihua/calculators/HuguaCalculator.d.ts +22 -0
  106. package/dist/services/meihua/calculators/HuguaCalculator.d.ts.map +1 -0
  107. package/dist/services/meihua/calculators/HuguaCalculator.js +46 -0
  108. package/dist/services/meihua/calculators/HuguaCalculator.js.map +1 -0
  109. package/dist/services/meihua/calculators/QiguaCalculator.d.ts +40 -0
  110. package/dist/services/meihua/calculators/QiguaCalculator.d.ts.map +1 -0
  111. package/dist/services/meihua/calculators/QiguaCalculator.js +105 -0
  112. package/dist/services/meihua/calculators/QiguaCalculator.js.map +1 -0
  113. package/dist/services/meihua/calculators/TiyongCalculator.d.ts +34 -0
  114. package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -0
  115. package/dist/services/meihua/calculators/TiyongCalculator.js +105 -0
  116. package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -0
  117. package/dist/services/meihua/data/bagua.d.ts +19 -0
  118. package/dist/services/meihua/data/bagua.d.ts.map +1 -0
  119. package/dist/services/meihua/data/bagua.js +81 -0
  120. package/dist/services/meihua/data/bagua.js.map +1 -0
  121. package/dist/services/meihua/index.d.ts +11 -0
  122. package/dist/services/meihua/index.d.ts.map +1 -0
  123. package/dist/services/meihua/index.js +27 -0
  124. package/dist/services/meihua/index.js.map +1 -0
  125. package/dist/services/meihua/types.d.ts +95 -0
  126. package/dist/services/meihua/types.d.ts.map +1 -0
  127. package/dist/services/meihua/types.js +6 -0
  128. package/dist/services/meihua/types.js.map +1 -0
  129. package/dist/shared/types.d.ts +0 -1
  130. package/dist/shared/types.d.ts.map +1 -1
  131. package/dist/utils/timeNormalization.d.ts +48 -0
  132. package/dist/utils/timeNormalization.d.ts.map +1 -0
  133. package/dist/utils/timeNormalization.js +69 -0
  134. package/dist/utils/timeNormalization.js.map +1 -0
  135. package/package.json +1 -1
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * 時間歸一化工具
4
+ *
5
+ * 設計原則:
6
+ * 1. 當前階段統一使用北京時間(UTC+8),不對外暴露時區參數
7
+ * 2. 農曆輸入在入口層即轉換為公曆,內部計算統一走公曆
8
+ *
9
+ * TODO: 多時區支持(M4 里程碑)
10
+ * - 新增 timezone 參數
11
+ * - 引入 date-fns-tz 或 @js-temporal/polyfill
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BEIJING_TZ = void 0;
15
+ exports.normalizeBirthDateTime = normalizeBirthDateTime;
16
+ const lunar_javascript_1 = require("lunar-javascript");
17
+ // ============================================
18
+ // Constants
19
+ // ============================================
20
+ /** 北京時區 IANA 標識(內部使用) */
21
+ exports.BEIJING_TZ = 'Asia/Shanghai';
22
+ // ============================================
23
+ // Functions
24
+ // ============================================
25
+ /**
26
+ * 歸一化出生日期時間
27
+ *
28
+ * 處理邏輯:
29
+ * 1. 補齊 minute 默認值
30
+ * 2. 如果是農曆輸入,轉換為公曆
31
+ *
32
+ * @example
33
+ * // 公曆輸入
34
+ * normalizeBirthDateTime({ year: 1990, month: 5, day: 15, hour: 10 })
35
+ * // { year: 1990, month: 5, day: 15, hour: 10, minute: 0, isLunarInput: false }
36
+ *
37
+ * // 農曆輸入
38
+ * normalizeBirthDateTime({ year: 1990, month: 4, day: 21, hour: 10, isLunar: true })
39
+ * // { year: 1990, month: 5, day: 15, hour: 10, minute: 0, isLunarInput: true }
40
+ */
41
+ function normalizeBirthDateTime(input) {
42
+ const minute = input.minute ?? 0;
43
+ const isLunarInput = !!input.isLunar;
44
+ // 公曆輸入:直接返回
45
+ if (!isLunarInput) {
46
+ return {
47
+ year: input.year,
48
+ month: input.month,
49
+ day: input.day,
50
+ hour: input.hour,
51
+ minute,
52
+ isLunarInput,
53
+ };
54
+ }
55
+ // 農曆輸入:轉換為公曆
56
+ // 注意:lunar-javascript 的 fromYmd 不處理閏月,閏月需要用 fromYmdHms 的第二個參數
57
+ // 當前簡化處理,閏月按本月算(與梅花易數口徑一致)
58
+ const lunar = lunar_javascript_1.Lunar.fromYmd(input.year, input.month, input.day);
59
+ const solar = lunar.getSolar();
60
+ return {
61
+ year: solar.getYear(),
62
+ month: solar.getMonth(),
63
+ day: solar.getDay(),
64
+ hour: input.hour,
65
+ minute,
66
+ isLunarInput,
67
+ };
68
+ }
69
+ //# sourceMappingURL=timeNormalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeNormalization.js","sourceRoot":"","sources":["../../src/utils/timeNormalization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAsDH,wDA8BC;AAlFD,uDAAyC;AAEzC,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,yBAAyB;AACZ,QAAA,UAAU,GAAG,eAAe,CAAC;AAyB1C,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,sBAAsB,CAAC,KAAyB;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAErC,YAAY;IACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM;YACN,YAAY;SACb,CAAC;IACJ,CAAC;IAED,aAAa;IACb,8DAA8D;IAC9D,2BAA2B;IAC3B,MAAM,KAAK,GAAG,wBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAE/B,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;QACvB,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,YAAY;KACb,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mingpan",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "MCP service for accurate Bazi and Ziwei chart calculations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",