@ripwords/myinvois-client 0.0.10 → 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 (364) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +128 -4
  3. package/bun.lock +138 -122
  4. package/dist/0X-CG1S1WKn.d.ts +210 -0
  5. package/dist/0X-ChfmeAYF.d.cts +211 -0
  6. package/dist/1X-CmlbG02M.d.ts +111 -0
  7. package/dist/1X-DFikQbP0.d.cts +20 -0
  8. package/dist/1X-DbFshzup.d.ts +19 -0
  9. package/dist/1X-jFrFCOs0.d.cts +112 -0
  10. package/dist/2X-5cE4ojEX.d.cts +140 -0
  11. package/dist/2X-DA6J6Wd7.d.ts +139 -0
  12. package/dist/2X-FWZ1rYVt.d.cts +40 -0
  13. package/dist/2X-eC_p0QJf.d.ts +39 -0
  14. package/dist/3X-D9duw0Ro.d.cts +21 -0
  15. package/dist/3X-DbfkwdkO.d.ts +20 -0
  16. package/dist/3X-GxuN79Ax.d.ts +61 -0
  17. package/dist/3X-r9xbWJ2l.d.cts +62 -0
  18. package/dist/4X-1ZkK-uH5.d.cts +31 -0
  19. package/dist/4X-CLO9OuKa.d.cts +265 -0
  20. package/dist/4X-CnHtgO6u.d.ts +30 -0
  21. package/dist/4X-DYz_nYSD.d.ts +264 -0
  22. package/dist/5X-BzPEdkbC.d.ts +21 -0
  23. package/dist/5X-BziH0a09.d.cts +77 -0
  24. package/dist/5X-Cfe39fFc.d.cts +22 -0
  25. package/dist/5X-kBF74qx1.d.ts +76 -0
  26. package/dist/6X-BceErbps.d.cts +105 -0
  27. package/dist/6X-C_xpeu6J.d.ts +15 -0
  28. package/dist/6X-DLWEe1bP.d.cts +16 -0
  29. package/dist/6X-sQZfT0ZK.d.ts +104 -0
  30. package/dist/7X-Bet2agJ6.d.ts +15 -0
  31. package/dist/7X-BoKQxMoO.d.ts +70 -0
  32. package/dist/7X-CucHYQsA.d.cts +16 -0
  33. package/dist/7X-CwPAqozm.d.cts +71 -0
  34. package/dist/8X-BIjJ9kaV.d.cts +110 -0
  35. package/dist/8X-BOEWATU3.d.ts +109 -0
  36. package/dist/8X-CJpqd5xp.d.cts +19 -0
  37. package/dist/8X-s5AzkHR-.d.ts +18 -0
  38. package/dist/9X-BBDP1gZ6.d.ts +14 -0
  39. package/dist/9X-CP5Xp6bE.d.cts +98 -0
  40. package/dist/9X-D3aOVCnz.d.cts +15 -0
  41. package/dist/9X-DAAZV4sr.d.ts +97 -0
  42. package/dist/AX-CmpMMhII.d.ts +110 -0
  43. package/dist/AX-DFzpxGOT.d.cts +111 -0
  44. package/dist/BX-CyiqNE6b.d.cts +115 -0
  45. package/dist/BX-j78z_ju_.d.ts +114 -0
  46. package/dist/CX-B6rEhQx7.d.ts +127 -0
  47. package/dist/CX-BTPvC3Dv.d.cts +128 -0
  48. package/dist/DX-BD4-hTCh.d.cts +115 -0
  49. package/dist/DX-CAmMnx5a.d.ts +114 -0
  50. package/dist/EX-CXhSC85J.d.ts +106 -0
  51. package/dist/EX-mTHCH0Yk.d.cts +107 -0
  52. package/dist/FX-DOOMoQl2.d.cts +127 -0
  53. package/dist/FX-DYVIJ3l0.d.ts +126 -0
  54. package/dist/GX-8URJ7WHz.d.cts +136 -0
  55. package/dist/GX-eBOVHqi6.d.ts +135 -0
  56. package/dist/HX-49z8CzsE.d.cts +126 -0
  57. package/dist/HX-Dz5T0xXI.d.ts +125 -0
  58. package/dist/IX-B6kblmBs.d.cts +23 -0
  59. package/dist/IX-PiKYro5a.d.ts +22 -0
  60. package/dist/JX-DMwHLGEE.d.cts +104 -0
  61. package/dist/JX-Dvnt0mSK.d.ts +103 -0
  62. package/dist/KX-BUb8e0yg.d.ts +150 -0
  63. package/dist/KX-DaJPkefl.d.cts +151 -0
  64. package/dist/LX-BnILxjdS.d.cts +123 -0
  65. package/dist/LX-l5ZBaGov.d.ts +122 -0
  66. package/dist/MX-BbPO8mTj.d.cts +153 -0
  67. package/dist/MX-C7C15AWi.d.ts +152 -0
  68. package/dist/NX-C7nFVC-D.d.ts +121 -0
  69. package/dist/NX-xy5uw7H3.d.cts +122 -0
  70. package/dist/OX-CIzARbON.d.cts +26 -0
  71. package/dist/OX-Dmkvcaij.d.ts +25 -0
  72. package/dist/PX-BKZ14N7N.d.ts +120 -0
  73. package/dist/PX-CL8waFgx.d.cts +121 -0
  74. package/dist/QX-6xdSNtxZ.d.ts +58 -0
  75. package/dist/QX-BowAYqZb.d.cts +59 -0
  76. package/dist/RX-DFoiOK5q.d.ts +22 -0
  77. package/dist/RX-fWoWcHTG.d.cts +23 -0
  78. package/dist/SX-CZ3e31OT.d.cts +40 -0
  79. package/dist/SX-D-Szi9wa.d.ts +39 -0
  80. package/dist/TX-CJhJ-HYX.d.cts +31 -0
  81. package/dist/TX-DTfkGsqn.d.ts +30 -0
  82. package/dist/UX-Bw4HHAj4.d.ts +17 -0
  83. package/dist/UX-P7-u2y70.d.cts +18 -0
  84. package/dist/VX-C8Eu5gQf.d.cts +17 -0
  85. package/dist/VX-DCv5x_hi.d.ts +16 -0
  86. package/dist/WX-BYtJ5_if.d.ts +25 -0
  87. package/dist/WX-DkiaqB2V.d.cts +26 -0
  88. package/dist/XX-D4p4iK-a.d.cts +828 -0
  89. package/dist/XX-Jo1yJO3A.d.ts +827 -0
  90. package/dist/YX-BvGmEsVG.d.ts +19 -0
  91. package/dist/YX-Du8zv9qz.d.cts +20 -0
  92. package/dist/ZX-B4jFD-21.d.cts +22 -0
  93. package/dist/ZX-B59AJcBY.d.ts +21 -0
  94. package/dist/api/platform/platformLogin.d.ts +65 -0
  95. package/dist/api/platform/platformLogin.js +3 -0
  96. package/dist/certificate-DFK-788s.cjs +62 -0
  97. package/dist/certificate-DFK-788s.cjs.map +1 -0
  98. package/dist/certificate-aooIRf9A.js +49 -0
  99. package/dist/chunk-CUT6urMc.cjs +30 -0
  100. package/dist/classification-codes-B15PbWxz.d.cts +118 -0
  101. package/dist/classification-codes-BKxV-rO9.d.ts +117 -0
  102. package/dist/country-code-CQuaiQm2.d.ts +542 -0
  103. package/dist/country-code-DPeNFMMi.d.cts +543 -0
  104. package/dist/currencies-BYJK-m6v.d.ts +207 -0
  105. package/dist/currencies-S5g1gzBU.d.cts +208 -0
  106. package/dist/document-DMIMRJV0.cjs +472 -0
  107. package/dist/document-DMIMRJV0.cjs.map +1 -0
  108. package/dist/document-NQos5fSr.js +405 -0
  109. package/dist/documents-BVG7KIKY.d.ts +847 -0
  110. package/dist/documents-C066EC9m.d.cts +848 -0
  111. package/dist/e-invoice-BuwtFnlI.d.cts +44 -0
  112. package/dist/e-invoice-CmbLQkHw.d.ts +43 -0
  113. package/dist/getBaseUrl-CO7Jp27d.cjs +14 -0
  114. package/dist/getBaseUrl-CO7Jp27d.cjs.map +1 -0
  115. package/dist/getBaseUrl-R3IdgCu3.js +7 -0
  116. package/dist/index-0-EvC6Nv.d.ts +15 -0
  117. package/dist/index-D2_HVwCz.d.cts +16 -0
  118. package/dist/index.cjs +256 -50
  119. package/dist/index.cjs.map +1 -1
  120. package/dist/index.d.ts +232 -5665
  121. package/dist/index.js +253 -46
  122. package/dist/index10.cjs +0 -0
  123. package/dist/index11.cjs +34 -0
  124. package/dist/index11.cjs.map +1 -0
  125. package/dist/index12.cjs +24 -0
  126. package/dist/index12.cjs.map +1 -0
  127. package/dist/index13.cjs +0 -0
  128. package/dist/index14.cjs +13 -0
  129. package/dist/index14.cjs.map +1 -0
  130. package/dist/index15.cjs +4 -0
  131. package/dist/index16.cjs +13 -0
  132. package/dist/index17.cjs +3 -0
  133. package/dist/index18.cjs +340 -0
  134. package/dist/index18.cjs.map +1 -0
  135. package/dist/index19.cjs +329 -0
  136. package/dist/index19.cjs.map +1 -0
  137. package/dist/index2.cjs +62 -0
  138. package/dist/index2.cjs.map +1 -0
  139. package/dist/index20.cjs +140 -0
  140. package/dist/index20.cjs.map +1 -0
  141. package/dist/index21.cjs +3 -0
  142. package/dist/index22.cjs +208 -0
  143. package/dist/index22.cjs.map +1 -0
  144. package/dist/index23.cjs +109 -0
  145. package/dist/index23.cjs.map +1 -0
  146. package/dist/index24.cjs +137 -0
  147. package/dist/index24.cjs.map +1 -0
  148. package/dist/index25.cjs +64 -0
  149. package/dist/index25.cjs.map +1 -0
  150. package/dist/index26.cjs +267 -0
  151. package/dist/index26.cjs.map +1 -0
  152. package/dist/index27.cjs +79 -0
  153. package/dist/index27.cjs.map +1 -0
  154. package/dist/index28.cjs +107 -0
  155. package/dist/index28.cjs.map +1 -0
  156. package/dist/index29.cjs +73 -0
  157. package/dist/index29.cjs.map +1 -0
  158. package/dist/index3.cjs +532 -0
  159. package/dist/index3.cjs.map +1 -0
  160. package/dist/index30.cjs +112 -0
  161. package/dist/index30.cjs.map +1 -0
  162. package/dist/index31.cjs +100 -0
  163. package/dist/index31.cjs.map +1 -0
  164. package/dist/index32.cjs +18 -0
  165. package/dist/index32.cjs.map +1 -0
  166. package/dist/index33.cjs +38 -0
  167. package/dist/index33.cjs.map +1 -0
  168. package/dist/index34.cjs +19 -0
  169. package/dist/index34.cjs.map +1 -0
  170. package/dist/index35.cjs +29 -0
  171. package/dist/index35.cjs.map +1 -0
  172. package/dist/index36.cjs +20 -0
  173. package/dist/index36.cjs.map +1 -0
  174. package/dist/index37.cjs +14 -0
  175. package/dist/index37.cjs.map +1 -0
  176. package/dist/index38.cjs +14 -0
  177. package/dist/index38.cjs.map +1 -0
  178. package/dist/index39.cjs +17 -0
  179. package/dist/index39.cjs.map +1 -0
  180. package/dist/index4.cjs +196 -0
  181. package/dist/index4.cjs.map +1 -0
  182. package/dist/index40.cjs +13 -0
  183. package/dist/index40.cjs.map +1 -0
  184. package/dist/index41.cjs +108 -0
  185. package/dist/index41.cjs.map +1 -0
  186. package/dist/index42.cjs +113 -0
  187. package/dist/index42.cjs.map +1 -0
  188. package/dist/index43.cjs +126 -0
  189. package/dist/index43.cjs.map +1 -0
  190. package/dist/index44.cjs +113 -0
  191. package/dist/index44.cjs.map +1 -0
  192. package/dist/index45.cjs +105 -0
  193. package/dist/index45.cjs.map +1 -0
  194. package/dist/index46.cjs +125 -0
  195. package/dist/index46.cjs.map +1 -0
  196. package/dist/index47.cjs +134 -0
  197. package/dist/index47.cjs.map +1 -0
  198. package/dist/index48.cjs +124 -0
  199. package/dist/index48.cjs.map +1 -0
  200. package/dist/index49.cjs +21 -0
  201. package/dist/index49.cjs.map +1 -0
  202. package/dist/index5.cjs +0 -0
  203. package/dist/index50.cjs +102 -0
  204. package/dist/index50.cjs.map +1 -0
  205. package/dist/index51.cjs +149 -0
  206. package/dist/index51.cjs.map +1 -0
  207. package/dist/index52.cjs +121 -0
  208. package/dist/index52.cjs.map +1 -0
  209. package/dist/index53.cjs +151 -0
  210. package/dist/index53.cjs.map +1 -0
  211. package/dist/index54.cjs +120 -0
  212. package/dist/index54.cjs.map +1 -0
  213. package/dist/index55.cjs +24 -0
  214. package/dist/index55.cjs.map +1 -0
  215. package/dist/index56.cjs +119 -0
  216. package/dist/index56.cjs.map +1 -0
  217. package/dist/index57.cjs +54 -0
  218. package/dist/index57.cjs.map +1 -0
  219. package/dist/index58.cjs +21 -0
  220. package/dist/index58.cjs.map +1 -0
  221. package/dist/index58.cts.map +1 -0
  222. package/dist/index59.cjs +35 -0
  223. package/dist/index59.cjs.map +1 -0
  224. package/dist/index59.cts.map +1 -0
  225. package/dist/index6.cjs +25 -0
  226. package/dist/index6.cjs.map +1 -0
  227. package/dist/index60.cjs +29 -0
  228. package/dist/index60.cjs.map +1 -0
  229. package/dist/index60.cts.map +1 -0
  230. package/dist/index61.cjs +16 -0
  231. package/dist/index61.cjs.map +1 -0
  232. package/dist/index61.cts.map +1 -0
  233. package/dist/index62.cjs +15 -0
  234. package/dist/index62.cjs.map +1 -0
  235. package/dist/index62.cts.map +1 -0
  236. package/dist/index63.cjs +24 -0
  237. package/dist/index63.cjs.map +1 -0
  238. package/dist/index63.cts.map +1 -0
  239. package/dist/index64.cjs +419 -0
  240. package/dist/index64.cjs.map +1 -0
  241. package/dist/index64.cts.map +1 -0
  242. package/dist/index65.cjs +15 -0
  243. package/dist/index65.cjs.map +1 -0
  244. package/dist/index65.cts.map +1 -0
  245. package/dist/index66.cjs +16 -0
  246. package/dist/index66.cjs.map +1 -0
  247. package/dist/index66.cts.map +1 -0
  248. package/dist/index7.cjs +0 -0
  249. package/dist/index8.cjs +0 -0
  250. package/dist/index9.cjs +25 -0
  251. package/dist/index9.cjs.map +1 -0
  252. package/dist/msic-codes-CPWVNnpq.d.cts +26 -0
  253. package/dist/msic-codes-DToUqTI6.d.ts +25 -0
  254. package/dist/payment-modes-DA7uBIGb.d.ts +43 -0
  255. package/dist/payment-modes-FX88uyhP.d.cts +44 -0
  256. package/dist/platformLogin-PGzMhw1X.cjs +37 -0
  257. package/dist/platformLogin-PGzMhw1X.cjs.map +1 -0
  258. package/dist/platformLogin-f0bNAoZI.js +30 -0
  259. package/dist/signatures-BKi9DP2K.d.cts +173 -0
  260. package/dist/signatures-CG175mpg.d.ts +172 -0
  261. package/dist/state-codes-CNp_6051.d.cts +62 -0
  262. package/dist/state-codes-dvoTe5pC.d.ts +61 -0
  263. package/dist/tax-types-CgwxONDS.d.cts +42 -0
  264. package/dist/tax-types-tosH5I0q.d.ts +41 -0
  265. package/dist/types/classification-codes.d.ts +2 -0
  266. package/dist/types/country-code.d.ts +2 -0
  267. package/dist/types/currencies.d.ts +2 -0
  268. package/dist/types/documents.d.ts +7 -0
  269. package/dist/types/e-invoice.d.ts +2 -0
  270. package/dist/types/index.d.ts +58 -0
  271. package/dist/types/msic/0X.d.ts +2 -0
  272. package/dist/types/msic/1X.d.ts +2 -0
  273. package/dist/types/msic/2X.d.ts +2 -0
  274. package/dist/types/msic/3X.d.ts +2 -0
  275. package/dist/types/msic/4X.d.ts +2 -0
  276. package/dist/types/msic/5X.d.ts +2 -0
  277. package/dist/types/msic/6X.d.ts +2 -0
  278. package/dist/types/msic/7X.d.ts +2 -0
  279. package/dist/types/msic/8X.d.ts +2 -0
  280. package/dist/types/msic/9X.d.ts +2 -0
  281. package/dist/types/msic-codes.d.ts +12 -0
  282. package/dist/types/payment-modes.d.ts +2 -0
  283. package/dist/types/signatures.d.ts +2 -0
  284. package/dist/types/state-codes.d.ts +2 -0
  285. package/dist/types/tax-types.d.ts +2 -0
  286. package/dist/types/unit/1X.d.ts +2 -0
  287. package/dist/types/unit/2X.d.ts +2 -0
  288. package/dist/types/unit/3X.d.ts +2 -0
  289. package/dist/types/unit/4X.d.ts +2 -0
  290. package/dist/types/unit/5X.d.ts +2 -0
  291. package/dist/types/unit/6X.d.ts +2 -0
  292. package/dist/types/unit/7X.d.ts +2 -0
  293. package/dist/types/unit/8X.d.ts +2 -0
  294. package/dist/types/unit/9X.d.ts +2 -0
  295. package/dist/types/unit/AX.d.ts +2 -0
  296. package/dist/types/unit/BX.d.ts +2 -0
  297. package/dist/types/unit/CX.d.ts +2 -0
  298. package/dist/types/unit/DX.d.ts +2 -0
  299. package/dist/types/unit/EX.d.ts +2 -0
  300. package/dist/types/unit/FX.d.ts +2 -0
  301. package/dist/types/unit/GX.d.ts +2 -0
  302. package/dist/types/unit/HX.d.ts +2 -0
  303. package/dist/types/unit/IX.d.ts +2 -0
  304. package/dist/types/unit/JX.d.ts +2 -0
  305. package/dist/types/unit/KX.d.ts +2 -0
  306. package/dist/types/unit/LX.d.ts +2 -0
  307. package/dist/types/unit/MX.d.ts +2 -0
  308. package/dist/types/unit/NX.d.ts +2 -0
  309. package/dist/types/unit/OX.d.ts +2 -0
  310. package/dist/types/unit/PX.d.ts +2 -0
  311. package/dist/types/unit/QX.d.ts +2 -0
  312. package/dist/types/unit/RX.d.ts +2 -0
  313. package/dist/types/unit/SX.d.ts +2 -0
  314. package/dist/types/unit/TX.d.ts +2 -0
  315. package/dist/types/unit/UX.d.ts +2 -0
  316. package/dist/types/unit/VX.d.ts +2 -0
  317. package/dist/types/unit/WX.d.ts +2 -0
  318. package/dist/types/unit/XX.d.ts +2 -0
  319. package/dist/types/unit/YX.d.ts +2 -0
  320. package/dist/types/unit/ZX.d.ts +2 -0
  321. package/dist/types/unit-types.d.ts +37 -0
  322. package/dist/unit-types-BKZxwVYQ.d.ts +55 -0
  323. package/dist/unit-types-CaOA5ZDG.d.cts +56 -0
  324. package/dist/utils/base64.d.ts +5 -0
  325. package/dist/utils/base64.js +10 -0
  326. package/dist/utils/certificate.d.ts +22 -0
  327. package/dist/utils/certificate.js +3 -0
  328. package/dist/utils/document.d.ts +135 -0
  329. package/dist/utils/document.js +3 -0
  330. package/dist/utils/getBaseUrl.d.ts +4 -0
  331. package/dist/utils/getBaseUrl.js +3 -0
  332. package/dist/utils/helpers.d.ts +271 -0
  333. package/dist/utils/helpers.js +330 -0
  334. package/dist/utils/signature-diagnostics.d.ts +93 -0
  335. package/dist/utils/signature-diagnostics.js +326 -0
  336. package/dist/utils/validation.d.ts +46 -0
  337. package/dist/utils/validation.js +134 -0
  338. package/myinvois-cert.conf.template +23 -0
  339. package/package.json +20 -7
  340. package/scripts/gen-cert.sh +159 -0
  341. package/src/api/platform/platformLogin.ts +7 -2
  342. package/src/index.ts +528 -1
  343. package/src/types/documents.d.ts +862 -0
  344. package/src/types/index.d.ts +1 -1
  345. package/src/types/msic-codes.d.ts +1 -7
  346. package/src/utils/base64.ts +7 -0
  347. package/src/utils/certificate.ts +60 -0
  348. package/src/utils/document.ts +852 -0
  349. package/src/utils/getBaseUrl.ts +1 -1
  350. package/src/utils/helpers.ts +552 -0
  351. package/src/utils/signature-diagnostics.ts +583 -0
  352. package/src/utils/validation.ts +268 -0
  353. package/test/MyInvoiClientWithRealData.test.ts +11 -2
  354. package/test/MyInvoisClient.test.ts +23 -9
  355. package/test/base64.test.ts +43 -0
  356. package/test/dynamicInvoiceFeatures.test.ts +449 -0
  357. package/test/signAndSubmitInvoice.test.ts +450 -0
  358. package/test/signature-diagnostics.test.ts +128 -0
  359. package/tsconfig.json +4 -1
  360. package/tsdown.config.ts +31 -0
  361. package/rolldown.config.ts +0 -26
  362. package/src/types/documents/index.d.ts +0 -1
  363. package/src/types/documents/invoice-1_1.d.ts +0 -349
  364. package/src/utils/MyInvoisClient.ts +0 -88
@@ -0,0 +1,19 @@
1
+ //#region src/types/unit/YX.d.ts
2
+ /**
3
+ * Unit types starting with Y
4
+ * https://sdk.myinvois.hasil.gov.my/codes/unit-types/
5
+ */
6
+ type UnitTypeCode_YX = 'YDK' // square yard
7
+ | 'YDQ' // cubic yard
8
+ | 'YRD'; // yard
9
+
10
+ /**
11
+ * Enum representing unit type codes starting with 'Y'.
12
+ */
13
+ declare enum UnitTypeCodeEnum_YX {
14
+ SquareYard = 'YDK',
15
+ CubicYard = 'YDQ',
16
+ Yard = 'YRD',
17
+ }
18
+ //#endregion
19
+ export { UnitTypeCodeEnum_YX, UnitTypeCode_YX };
@@ -0,0 +1,20 @@
1
+ //#region src/types/unit/YX.d.ts
2
+ /**
3
+ * Unit types starting with Y
4
+ * https://sdk.myinvois.hasil.gov.my/codes/unit-types/
5
+ */
6
+ type UnitTypeCode_YX = 'YDK' // square yard
7
+ | 'YDQ' // cubic yard
8
+ | 'YRD'; // yard
9
+
10
+ /**
11
+ * Enum representing unit type codes starting with 'Y'.
12
+ */
13
+ declare enum UnitTypeCodeEnum_YX {
14
+ SquareYard = 'YDK',
15
+ CubicYard = 'YDQ',
16
+ Yard = 'YRD',
17
+ }
18
+ //#endregion
19
+ export { UnitTypeCodeEnum_YX, UnitTypeCode_YX };
20
+ //# sourceMappingURL=YX-Du8zv9qz.d.cts.map
@@ -0,0 +1,22 @@
1
+ //#region src/types/unit/ZX.d.ts
2
+ /**
3
+ * Unit types starting with Z
4
+ * https://sdk.myinvois.hasil.gov.my/codes/unit-types/
5
+ */
6
+ type UnitTypeCode_ZX = 'Z11' // hanging container
7
+ | 'Z9' // nanomole
8
+ | 'ZP' // page
9
+ | 'ZZ'; // mutually defined
10
+
11
+ /**
12
+ * Enum representing unit type codes starting with 'Z'.
13
+ */
14
+ declare enum UnitTypeCodeEnum_ZX {
15
+ HangingContainer = 'Z11',
16
+ Nanomole = 'Z9',
17
+ Page = 'ZP',
18
+ MutuallyDefined = 'ZZ',
19
+ }
20
+ //#endregion
21
+ export { UnitTypeCodeEnum_ZX, UnitTypeCode_ZX };
22
+ //# sourceMappingURL=ZX-B4jFD-21.d.cts.map
@@ -0,0 +1,21 @@
1
+ //#region src/types/unit/ZX.d.ts
2
+ /**
3
+ * Unit types starting with Z
4
+ * https://sdk.myinvois.hasil.gov.my/codes/unit-types/
5
+ */
6
+ type UnitTypeCode_ZX = 'Z11' // hanging container
7
+ | 'Z9' // nanomole
8
+ | 'ZP' // page
9
+ | 'ZZ'; // mutually defined
10
+
11
+ /**
12
+ * Enum representing unit type codes starting with 'Z'.
13
+ */
14
+ declare enum UnitTypeCodeEnum_ZX {
15
+ HangingContainer = 'Z11',
16
+ Nanomole = 'Z9',
17
+ Page = 'ZP',
18
+ MutuallyDefined = 'ZZ',
19
+ }
20
+ //#endregion
21
+ export { UnitTypeCodeEnum_ZX, UnitTypeCode_ZX };
@@ -0,0 +1,65 @@
1
+ import "../../classification-codes-BKxV-rO9.js";
2
+ import "../../country-code-CQuaiQm2.js";
3
+ import "../../currencies-BYJK-m6v.js";
4
+ import "../../e-invoice-CmbLQkHw.js";
5
+ import "../../signatures-CG175mpg.js";
6
+ import "../../tax-types-tosH5I0q.js";
7
+ import "../../documents-BVG7KIKY.js";
8
+ import "../../payment-modes-DA7uBIGb.js";
9
+ import "../../1X-DbFshzup.js";
10
+ import "../../2X-eC_p0QJf.js";
11
+ import "../../3X-DbfkwdkO.js";
12
+ import "../../4X-CnHtgO6u.js";
13
+ import "../../5X-BzPEdkbC.js";
14
+ import "../../6X-C_xpeu6J.js";
15
+ import "../../7X-Bet2agJ6.js";
16
+ import "../../8X-s5AzkHR-.js";
17
+ import "../../9X-BBDP1gZ6.js";
18
+ import "../../AX-CmpMMhII.js";
19
+ import "../../BX-j78z_ju_.js";
20
+ import "../../CX-B6rEhQx7.js";
21
+ import "../../DX-CAmMnx5a.js";
22
+ import "../../EX-CXhSC85J.js";
23
+ import "../../FX-DYVIJ3l0.js";
24
+ import "../../GX-eBOVHqi6.js";
25
+ import "../../HX-Dz5T0xXI.js";
26
+ import "../../IX-PiKYro5a.js";
27
+ import "../../JX-Dvnt0mSK.js";
28
+ import "../../KX-BUb8e0yg.js";
29
+ import "../../LX-l5ZBaGov.js";
30
+ import "../../MX-C7C15AWi.js";
31
+ import "../../NX-C7nFVC-D.js";
32
+ import "../../OX-Dmkvcaij.js";
33
+ import "../../PX-BKZ14N7N.js";
34
+ import "../../QX-6xdSNtxZ.js";
35
+ import "../../RX-DFoiOK5q.js";
36
+ import "../../SX-D-Szi9wa.js";
37
+ import "../../TX-DTfkGsqn.js";
38
+ import "../../UX-Bw4HHAj4.js";
39
+ import "../../VX-DCv5x_hi.js";
40
+ import "../../WX-BYtJ5_if.js";
41
+ import "../../YX-BvGmEsVG.js";
42
+ import "../../ZX-B59AJcBY.js";
43
+ import "../../XX-Jo1yJO3A.js";
44
+ import "../../unit-types-BKZxwVYQ.js";
45
+ import "../../state-codes-dvoTe5pC.js";
46
+ import "../../0X-CG1S1WKn.js";
47
+ import "../../1X-CmlbG02M.js";
48
+ import "../../2X-DA6J6Wd7.js";
49
+ import "../../3X-GxuN79Ax.js";
50
+ import "../../4X-DYz_nYSD.js";
51
+ import "../../5X-kBF74qx1.js";
52
+ import "../../6X-sQZfT0ZK.js";
53
+ import "../../7X-BoKQxMoO.js";
54
+ import "../../8X-BOEWATU3.js";
55
+ import "../../9X-DAAZV4sr.js";
56
+ import "../../msic-codes-DToUqTI6.js";
57
+ import { ClientCredentials } from "../../index-0-EvC6Nv.js";
58
+
59
+ //#region src/api/platform/platformLogin.d.ts
60
+ declare const platformLogin: (client: ClientCredentials) => Promise<{
61
+ token: string;
62
+ tokenExpiration: Date;
63
+ }>;
64
+ //#endregion
65
+ export { platformLogin };
@@ -0,0 +1,3 @@
1
+ import { platformLogin } from "../../platformLogin-f0bNAoZI.js";
2
+
3
+ export { platformLogin };
@@ -0,0 +1,62 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const crypto = require_chunk.__toESM(require("crypto"));
3
+
4
+ //#region src/utils/certificate.ts
5
+ /**
6
+ * Extracts certificate information from PEM certificate
7
+ * Converts hex serial number to decimal as required by MyInvois
8
+ *
9
+ * @param certificatePem - Certificate in PEM format
10
+ * @returns Object with issuer name and decimal serial number
11
+ */
12
+ const extractCertificateInfo = (certificatePem) => {
13
+ try {
14
+ const cert = new crypto.default.X509Certificate(certificatePem);
15
+ const serialNumberHex = cert.serialNumber;
16
+ const serialNumberDecimal = BigInt("0x" + serialNumberHex).toString();
17
+ return {
18
+ issuerName: cert.issuer,
19
+ serialNumber: serialNumberDecimal
20
+ };
21
+ } catch (error) {
22
+ throw new Error(`Failed to extract certificate info: ${error}`);
23
+ }
24
+ };
25
+ /**
26
+ * Validates that certificate and private key form a valid pair
27
+ *
28
+ * @param certificatePem - Certificate in PEM format
29
+ * @param privateKeyPem - Private key in PEM format
30
+ * @returns Boolean indicating if key pair is valid
31
+ */
32
+ const validateKeyPair = (certificatePem, privateKeyPem) => {
33
+ try {
34
+ const cert = new crypto.default.X509Certificate(certificatePem);
35
+ const publicKey = cert.publicKey;
36
+ const testData = "validation-test-data";
37
+ const signer = crypto.default.createSign("RSA-SHA256");
38
+ signer.update(testData);
39
+ const signature = signer.sign(privateKeyPem);
40
+ const verifier = crypto.default.createVerify("RSA-SHA256");
41
+ verifier.update(testData);
42
+ return verifier.verify(publicKey, signature);
43
+ } catch (error) {
44
+ console.error("Key pair validation failed:", error);
45
+ return false;
46
+ }
47
+ };
48
+
49
+ //#endregion
50
+ Object.defineProperty(exports, 'extractCertificateInfo', {
51
+ enumerable: true,
52
+ get: function () {
53
+ return extractCertificateInfo;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, 'validateKeyPair', {
57
+ enumerable: true,
58
+ get: function () {
59
+ return validateKeyPair;
60
+ }
61
+ });
62
+ //# sourceMappingURL=certificate-DFK-788s.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate-DFK-788s.cjs","names":["certificatePem: string","privateKeyPem: string"],"sources":["../src/utils/certificate.ts"],"sourcesContent":["import crypto from 'crypto'\n\n/**\n * Extracts certificate information from PEM certificate\n * Converts hex serial number to decimal as required by MyInvois\n *\n * @param certificatePem - Certificate in PEM format\n * @returns Object with issuer name and decimal serial number\n */\nexport const extractCertificateInfo = (\n certificatePem: string,\n): {\n issuerName: string\n serialNumber: string\n} => {\n try {\n const cert = new crypto.X509Certificate(certificatePem)\n\n // Convert hex serial number to decimal (MyInvois requirement)\n const serialNumberHex = cert.serialNumber\n const serialNumberDecimal = BigInt('0x' + serialNumberHex).toString()\n\n return {\n issuerName: cert.issuer,\n serialNumber: serialNumberDecimal,\n }\n } catch (error) {\n throw new Error(`Failed to extract certificate info: ${error}`)\n }\n}\n\n/**\n * Validates that certificate and private key form a valid pair\n *\n * @param certificatePem - Certificate in PEM format\n * @param privateKeyPem - Private key in PEM format\n * @returns Boolean indicating if key pair is valid\n */\nexport const validateKeyPair = (\n certificatePem: string,\n privateKeyPem: string,\n): boolean => {\n try {\n const cert = new crypto.X509Certificate(certificatePem)\n const publicKey = cert.publicKey\n\n // Test signature/verification cycle\n const testData = 'validation-test-data'\n const signer = crypto.createSign('RSA-SHA256')\n signer.update(testData)\n const signature = signer.sign(privateKeyPem)\n\n const verifier = crypto.createVerify('RSA-SHA256')\n verifier.update(testData)\n return verifier.verify(publicKey, signature)\n } catch (error) {\n console.error('Key pair validation failed:', error)\n return false\n }\n}\n"],"mappings":";;;;;;;;;;;AASA,MAAa,yBAAyB,CACpCA,mBAIG;AACH,KAAI;EACF,MAAM,OAAO,IAAI,eAAO,gBAAgB;EAGxC,MAAM,kBAAkB,KAAK;EAC7B,MAAM,sBAAsB,OAAO,OAAO,gBAAgB,CAAC,UAAU;AAErE,SAAO;GACL,YAAY,KAAK;GACjB,cAAc;EACf;CACF,SAAQ,OAAO;AACd,QAAM,IAAI,OAAO,sCAAsC,MAAM;CAC9D;AACF;;;;;;;;AASD,MAAa,kBAAkB,CAC7BA,gBACAC,kBACY;AACZ,KAAI;EACF,MAAM,OAAO,IAAI,eAAO,gBAAgB;EACxC,MAAM,YAAY,KAAK;EAGvB,MAAM,WAAW;EACjB,MAAM,SAAS,eAAO,WAAW,aAAa;AAC9C,SAAO,OAAO,SAAS;EACvB,MAAM,YAAY,OAAO,KAAK,cAAc;EAE5C,MAAM,WAAW,eAAO,aAAa,aAAa;AAClD,WAAS,OAAO,SAAS;AACzB,SAAO,SAAS,OAAO,WAAW,UAAU;CAC7C,SAAQ,OAAO;AACd,UAAQ,MAAM,+BAA+B,MAAM;AACnD,SAAO;CACR;AACF"}
@@ -0,0 +1,49 @@
1
+ import crypto from "crypto";
2
+
3
+ //#region src/utils/certificate.ts
4
+ /**
5
+ * Extracts certificate information from PEM certificate
6
+ * Converts hex serial number to decimal as required by MyInvois
7
+ *
8
+ * @param certificatePem - Certificate in PEM format
9
+ * @returns Object with issuer name and decimal serial number
10
+ */
11
+ const extractCertificateInfo = (certificatePem) => {
12
+ try {
13
+ const cert = new crypto.X509Certificate(certificatePem);
14
+ const serialNumberHex = cert.serialNumber;
15
+ const serialNumberDecimal = BigInt("0x" + serialNumberHex).toString();
16
+ return {
17
+ issuerName: cert.issuer,
18
+ serialNumber: serialNumberDecimal
19
+ };
20
+ } catch (error) {
21
+ throw new Error(`Failed to extract certificate info: ${error}`);
22
+ }
23
+ };
24
+ /**
25
+ * Validates that certificate and private key form a valid pair
26
+ *
27
+ * @param certificatePem - Certificate in PEM format
28
+ * @param privateKeyPem - Private key in PEM format
29
+ * @returns Boolean indicating if key pair is valid
30
+ */
31
+ const validateKeyPair = (certificatePem, privateKeyPem) => {
32
+ try {
33
+ const cert = new crypto.X509Certificate(certificatePem);
34
+ const publicKey = cert.publicKey;
35
+ const testData = "validation-test-data";
36
+ const signer = crypto.createSign("RSA-SHA256");
37
+ signer.update(testData);
38
+ const signature = signer.sign(privateKeyPem);
39
+ const verifier = crypto.createVerify("RSA-SHA256");
40
+ verifier.update(testData);
41
+ return verifier.verify(publicKey, signature);
42
+ } catch (error) {
43
+ console.error("Key pair validation failed:", error);
44
+ return false;
45
+ }
46
+ };
47
+
48
+ //#endregion
49
+ export { extractCertificateInfo, validateKeyPair };
@@ -0,0 +1,30 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+
23
+ //#endregion
24
+
25
+ Object.defineProperty(exports, '__toESM', {
26
+ enumerable: true,
27
+ get: function () {
28
+ return __toESM;
29
+ }
30
+ });
@@ -0,0 +1,118 @@
1
+ //#region src/types/classification-codes.d.ts
2
+ /**
3
+ * Represents the allowed classification codes for e-Invoice items.
4
+ * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/classification-codes/
5
+ */
6
+ type ClassificationCode = '001' // Breastfeeding equipment
7
+ | '002' // Child care centres and kindergartens fees
8
+ | '003' // Computer, smartphone or tablet
9
+ | '004' // Consolidated e-Invoice
10
+ | '005' // Construction materials (as specified under Fourth Schedule of the Lembaga Pembangunan Industri Pembinaan Malaysia Act 1994)
11
+ | '006' // Disbursement
12
+ | '007' // Donation
13
+ | '008' // e-Commerce - e-Invoice to buyer / purchaser
14
+ | '009' // e-Commerce - Self-billed e-Invoice to seller, logistics, etc.
15
+ | '010' // Education fees
16
+ | '011' // Goods on consignment (Consignor)
17
+ | '012' // Goods on consignment (Consignee)
18
+ | '013' // Gym membership
19
+ | '014' // Insurance - Education and medical benefits
20
+ | '015' // Insurance - Takaful or life insurance
21
+ | '016' // Interest and financing expenses
22
+ | '017' // Internet subscription
23
+ | '018' // Land and building
24
+ | '019' // Medical examination for learning disabilities and early intervention or rehabilitation treatments of learning disabilities
25
+ | '020' // Medical examination or vaccination expenses
26
+ | '021' // Medical expenses for serious diseases
27
+ | '022' // Others
28
+ | '023' // Petroleum operations (as defined in Petroleum (Income Tax) Act 1967)
29
+ | '024' // Private retirement scheme or deferred annuity scheme
30
+ | '025' // Motor vehicle
31
+ | '026' // Subscription of books / journals / magazines / newspapers / other similar publications
32
+ | '027' // Reimbursement
33
+ | '028' // Rental of motor vehicle
34
+ | '029' // EV charging facilities (Installation, rental, sale / purchase or subscription fees)
35
+ | '030' // Repair and maintenance
36
+ | '031' // Research and development
37
+ | '032' // Foreign income
38
+ | '033' // Self-billed - Betting and gaming
39
+ | '034' // Self-billed - Importation of goods
40
+ | '035' // Self-billed - Importation of services
41
+ | '036' // Self-billed - Others
42
+ | '037' // Self-billed - Monetary payment to agents, dealers or distributors
43
+ | '038' // Sports equipment, rental / entry fees for sports facilities, registration in sports competition or sports training fees imposed by associations / sports clubs / companies registered with the Sports Commissioner or Companies Commission of Malaysia and carrying out sports activities as listed under the Sports Development Act 1997
44
+ | '039' // Supporting equipment for disabled person
45
+ | '040' // Voluntary contribution to approved provident fund
46
+ | '041' // Dental examination or treatment
47
+ | '042' // Fertility treatment
48
+ | '043' // Treatment and home care nursing, daycare centres and residential care centers
49
+ | '044' // Vouchers, gift cards, loyalty points, etc
50
+ | '045'; // Self-billed - Non-monetary payment to agents, dealers or distributors
51
+
52
+ /**
53
+ * Enum representing the allowed classification codes with descriptive names.
54
+ * Provides a more readable way to reference classification codes.
55
+ *
56
+ * @example
57
+ * const code = ClassificationCodeEnum.ComputerSmartphoneOrTablet;
58
+ * console.log(code); // Output: "003"
59
+ */
60
+ declare enum ClassificationCodeEnum {
61
+ BreastfeedingEquipment = '001',
62
+ ChildCareCentresAndKindergartensFees = '002',
63
+ ComputerSmartphoneOrTablet = '003',
64
+ ConsolidatedEInvoice = '004',
65
+ ConstructionMaterials = '005',
66
+ Disbursement = '006',
67
+ Donation = '007',
68
+ ECommerceEInvoiceToBuyer = '008',
69
+ ECommerceSelfBilledToSellerLogistics = '009',
70
+ EducationFees = '010',
71
+ GoodsOnConsignmentConsignor = '011',
72
+ GoodsOnConsignmentConsignee = '012',
73
+ GymMembership = '013',
74
+ InsuranceEducationMedicalBenefits = '014',
75
+ InsuranceTakafulLife = '015',
76
+ InterestFinancingExpenses = '016',
77
+ InternetSubscription = '017',
78
+ LandAndBuilding = '018',
79
+ MedicalExamLearningDisabilities = '019',
80
+ MedicalExamVaccination = '020',
81
+ MedicalExpensesSeriousDiseases = '021',
82
+ Others = '022',
83
+ PetroleumOperations = '023',
84
+ PrivateRetirementSchemeDeferredAnnuity = '024',
85
+ MotorVehicle = '025',
86
+ SubscriptionBooksJournalsEtc = '026',
87
+ Reimbursement = '027',
88
+ RentalOfMotorVehicle = '028',
89
+ EVChargingFacilities = '029',
90
+ RepairAndMaintenance = '030',
91
+ ResearchAndDevelopment = '031',
92
+ ForeignIncome = '032',
93
+ SelfBilledBettingGaming = '033',
94
+ SelfBilledImportationGoods = '034',
95
+ SelfBilledImportationServices = '035',
96
+ SelfBilledOthers = '036',
97
+ SelfBilledMonetaryPaymentToAgents = '037',
98
+ SportsEquipmentRentalFeesEtc = '038',
99
+ SupportingEquipmentDisabledPerson = '039',
100
+ VoluntaryContributionProvidentFund = '040',
101
+ DentalExamTreatment = '041',
102
+ FertilityTreatment = '042',
103
+ TreatmentHomeCareNursingEtc = '043',
104
+ VouchersGiftCardsLoyaltyPoints = '044',
105
+ SelfBilledNonMonetaryPaymentToAgents = '045',
106
+ }
107
+
108
+ /**
109
+ * Interface representing a classification code entry.
110
+ * Contains the code and its corresponding description.
111
+ */
112
+ interface Classification {
113
+ code: ClassificationCode;
114
+ description: string;
115
+ }
116
+ //#endregion
117
+ export { Classification, ClassificationCode, ClassificationCodeEnum };
118
+ //# sourceMappingURL=classification-codes-B15PbWxz.d.cts.map
@@ -0,0 +1,117 @@
1
+ //#region src/types/classification-codes.d.ts
2
+ /**
3
+ * Represents the allowed classification codes for e-Invoice items.
4
+ * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/classification-codes/
5
+ */
6
+ type ClassificationCode = '001' // Breastfeeding equipment
7
+ | '002' // Child care centres and kindergartens fees
8
+ | '003' // Computer, smartphone or tablet
9
+ | '004' // Consolidated e-Invoice
10
+ | '005' // Construction materials (as specified under Fourth Schedule of the Lembaga Pembangunan Industri Pembinaan Malaysia Act 1994)
11
+ | '006' // Disbursement
12
+ | '007' // Donation
13
+ | '008' // e-Commerce - e-Invoice to buyer / purchaser
14
+ | '009' // e-Commerce - Self-billed e-Invoice to seller, logistics, etc.
15
+ | '010' // Education fees
16
+ | '011' // Goods on consignment (Consignor)
17
+ | '012' // Goods on consignment (Consignee)
18
+ | '013' // Gym membership
19
+ | '014' // Insurance - Education and medical benefits
20
+ | '015' // Insurance - Takaful or life insurance
21
+ | '016' // Interest and financing expenses
22
+ | '017' // Internet subscription
23
+ | '018' // Land and building
24
+ | '019' // Medical examination for learning disabilities and early intervention or rehabilitation treatments of learning disabilities
25
+ | '020' // Medical examination or vaccination expenses
26
+ | '021' // Medical expenses for serious diseases
27
+ | '022' // Others
28
+ | '023' // Petroleum operations (as defined in Petroleum (Income Tax) Act 1967)
29
+ | '024' // Private retirement scheme or deferred annuity scheme
30
+ | '025' // Motor vehicle
31
+ | '026' // Subscription of books / journals / magazines / newspapers / other similar publications
32
+ | '027' // Reimbursement
33
+ | '028' // Rental of motor vehicle
34
+ | '029' // EV charging facilities (Installation, rental, sale / purchase or subscription fees)
35
+ | '030' // Repair and maintenance
36
+ | '031' // Research and development
37
+ | '032' // Foreign income
38
+ | '033' // Self-billed - Betting and gaming
39
+ | '034' // Self-billed - Importation of goods
40
+ | '035' // Self-billed - Importation of services
41
+ | '036' // Self-billed - Others
42
+ | '037' // Self-billed - Monetary payment to agents, dealers or distributors
43
+ | '038' // Sports equipment, rental / entry fees for sports facilities, registration in sports competition or sports training fees imposed by associations / sports clubs / companies registered with the Sports Commissioner or Companies Commission of Malaysia and carrying out sports activities as listed under the Sports Development Act 1997
44
+ | '039' // Supporting equipment for disabled person
45
+ | '040' // Voluntary contribution to approved provident fund
46
+ | '041' // Dental examination or treatment
47
+ | '042' // Fertility treatment
48
+ | '043' // Treatment and home care nursing, daycare centres and residential care centers
49
+ | '044' // Vouchers, gift cards, loyalty points, etc
50
+ | '045'; // Self-billed - Non-monetary payment to agents, dealers or distributors
51
+
52
+ /**
53
+ * Enum representing the allowed classification codes with descriptive names.
54
+ * Provides a more readable way to reference classification codes.
55
+ *
56
+ * @example
57
+ * const code = ClassificationCodeEnum.ComputerSmartphoneOrTablet;
58
+ * console.log(code); // Output: "003"
59
+ */
60
+ declare enum ClassificationCodeEnum {
61
+ BreastfeedingEquipment = '001',
62
+ ChildCareCentresAndKindergartensFees = '002',
63
+ ComputerSmartphoneOrTablet = '003',
64
+ ConsolidatedEInvoice = '004',
65
+ ConstructionMaterials = '005',
66
+ Disbursement = '006',
67
+ Donation = '007',
68
+ ECommerceEInvoiceToBuyer = '008',
69
+ ECommerceSelfBilledToSellerLogistics = '009',
70
+ EducationFees = '010',
71
+ GoodsOnConsignmentConsignor = '011',
72
+ GoodsOnConsignmentConsignee = '012',
73
+ GymMembership = '013',
74
+ InsuranceEducationMedicalBenefits = '014',
75
+ InsuranceTakafulLife = '015',
76
+ InterestFinancingExpenses = '016',
77
+ InternetSubscription = '017',
78
+ LandAndBuilding = '018',
79
+ MedicalExamLearningDisabilities = '019',
80
+ MedicalExamVaccination = '020',
81
+ MedicalExpensesSeriousDiseases = '021',
82
+ Others = '022',
83
+ PetroleumOperations = '023',
84
+ PrivateRetirementSchemeDeferredAnnuity = '024',
85
+ MotorVehicle = '025',
86
+ SubscriptionBooksJournalsEtc = '026',
87
+ Reimbursement = '027',
88
+ RentalOfMotorVehicle = '028',
89
+ EVChargingFacilities = '029',
90
+ RepairAndMaintenance = '030',
91
+ ResearchAndDevelopment = '031',
92
+ ForeignIncome = '032',
93
+ SelfBilledBettingGaming = '033',
94
+ SelfBilledImportationGoods = '034',
95
+ SelfBilledImportationServices = '035',
96
+ SelfBilledOthers = '036',
97
+ SelfBilledMonetaryPaymentToAgents = '037',
98
+ SportsEquipmentRentalFeesEtc = '038',
99
+ SupportingEquipmentDisabledPerson = '039',
100
+ VoluntaryContributionProvidentFund = '040',
101
+ DentalExamTreatment = '041',
102
+ FertilityTreatment = '042',
103
+ TreatmentHomeCareNursingEtc = '043',
104
+ VouchersGiftCardsLoyaltyPoints = '044',
105
+ SelfBilledNonMonetaryPaymentToAgents = '045',
106
+ }
107
+
108
+ /**
109
+ * Interface representing a classification code entry.
110
+ * Contains the code and its corresponding description.
111
+ */
112
+ interface Classification {
113
+ code: ClassificationCode;
114
+ description: string;
115
+ }
116
+ //#endregion
117
+ export { Classification, ClassificationCode, ClassificationCodeEnum };