@ripwords/myinvois-client 0.1.4 → 0.1.5
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/CHANGELOG.md +13 -0
- package/bun.lock +460 -0
- package/dist/0X-CTIq3y3a.d.ts +210 -0
- package/dist/0X-Cr3M7hci.d.cts +211 -0
- package/dist/1X-Bu4oiv8D.d.ts +111 -0
- package/dist/1X-BywXCqtn.d.ts +19 -0
- package/dist/1X-CWwmfCzo.d.cts +112 -0
- package/dist/1X-ClnJ79HH.d.cts +20 -0
- package/dist/2X-3fSEGIuE.d.ts +39 -0
- package/dist/2X-CV9eYhog.d.cts +40 -0
- package/dist/2X-DNtkJ0tj.d.cts +140 -0
- package/dist/2X-DnG3FY1f.d.ts +139 -0
- package/dist/3X--VWVsC84.d.cts +21 -0
- package/dist/3X-BOxfatu3.d.cts +62 -0
- package/dist/3X-CLdmoel1.d.ts +61 -0
- package/dist/3X-Ynjfgoll.d.ts +20 -0
- package/dist/4X-B5ePdMky.d.ts +30 -0
- package/dist/4X-BTG6o1Gn.d.ts +264 -0
- package/dist/4X-By9PzHaY.d.cts +31 -0
- package/dist/4X-C7fzDWJ_.d.cts +265 -0
- package/dist/5X-B5M0Cv_K.d.cts +22 -0
- package/dist/5X-CNAFsDm2.d.cts +77 -0
- package/dist/5X-CjSz1zxJ.d.ts +76 -0
- package/dist/5X-dhP6fyou.d.ts +21 -0
- package/dist/6X-B9KP_vEn.d.ts +104 -0
- package/dist/6X-BHaY0TCf.d.ts +15 -0
- package/dist/6X-C3elgd-n.d.cts +16 -0
- package/dist/6X-uObUP4VG.d.cts +105 -0
- package/dist/7X-BifJnY24.d.cts +71 -0
- package/dist/7X-C4eX_tAk.d.ts +15 -0
- package/dist/7X-D3idQBl9.d.cts +16 -0
- package/dist/7X-DtkQutx2.d.ts +70 -0
- package/dist/8X-5n9seY3z.d.ts +109 -0
- package/dist/8X-C6UMFvQW.d.cts +19 -0
- package/dist/8X-D6HTLShY.d.ts +18 -0
- package/dist/8X-DioBXCJ0.d.cts +110 -0
- package/dist/9X-BjffnXuq.d.cts +98 -0
- package/dist/9X-CHZKsIdD.d.ts +14 -0
- package/dist/9X-CJjPJgIG.d.cts +15 -0
- package/dist/9X-Cpb6V4JC.d.ts +97 -0
- package/dist/AX-C0w_r3PA.d.ts +110 -0
- package/dist/AX-DrEd2Ov6.d.cts +111 -0
- package/dist/BX-C5jc6myN.d.cts +115 -0
- package/dist/BX-RadlZ-6m.d.ts +114 -0
- package/dist/CX-CT1Zzb9D.d.ts +127 -0
- package/dist/CX-oSgvmn3h.d.cts +128 -0
- package/dist/DX-CtUeTKMM.d.ts +114 -0
- package/dist/DX-ZIG0enmK.d.cts +115 -0
- package/dist/EX-084Yu7Wt.d.ts +106 -0
- package/dist/EX-BpWZ5ADq.d.cts +107 -0
- package/dist/FX-BrbQM0CW.d.ts +126 -0
- package/dist/FX-CvYBEc51.d.cts +127 -0
- package/dist/GX-CU8PZy0G.d.cts +136 -0
- package/dist/GX-gKj8iAAh.d.ts +135 -0
- package/dist/HX-9D-ZXTy5.d.ts +125 -0
- package/dist/HX-DoEErDeE.d.cts +126 -0
- package/dist/IX-DR4Fc92A.d.ts +22 -0
- package/dist/IX-jLAUHe8i.d.cts +23 -0
- package/dist/JX-DIKa9ma-.d.ts +103 -0
- package/dist/JX-DX8BjYQC.d.cts +104 -0
- package/dist/KX-DpsJ_unT.d.ts +150 -0
- package/dist/KX-fZb4_vhw.d.cts +151 -0
- package/dist/LX-D_mI1bk-.d.cts +123 -0
- package/dist/LX-DeXPPWUX.d.ts +122 -0
- package/dist/MX-CKMjg_zK.d.ts +152 -0
- package/dist/MX-DlYZhpkT.d.cts +153 -0
- package/dist/NX-DELEEbad.d.cts +122 -0
- package/dist/NX-oYdb4NDo.d.ts +121 -0
- package/dist/OX-Bid9es3D.d.ts +25 -0
- package/dist/OX-CKPyrIFf.d.cts +26 -0
- package/dist/PX-D7jy9CFk.d.ts +120 -0
- package/dist/PX-SP6NxBtG.d.cts +121 -0
- package/dist/QX-BFWOR4g3.d.ts +58 -0
- package/dist/QX-QZA7E2O-.d.cts +59 -0
- package/dist/RX-DBcgbdeE.d.cts +23 -0
- package/dist/RX-XHgCyMV1.d.ts +22 -0
- package/dist/SX-Cl8RN8oH.d.ts +39 -0
- package/dist/SX-DmiJeCMN.d.cts +40 -0
- package/dist/TX-C1SoDobK.d.cts +31 -0
- package/dist/TX-ZymoIbtr.d.ts +30 -0
- package/dist/UX-D-Ndd1ov.d.ts +17 -0
- package/dist/UX-DFVynFhQ.d.cts +18 -0
- package/dist/VX-B-1b34r7.d.ts +16 -0
- package/dist/VX-DsRum5k3.d.cts +17 -0
- package/dist/WX-0GuMjPNZ.d.ts +25 -0
- package/dist/WX-VReU5R5M.d.cts +26 -0
- package/dist/XX-CF2NANsy.d.ts +827 -0
- package/dist/XX-ChAviUMj.d.cts +828 -0
- package/dist/YX-B51BbNSg.d.ts +19 -0
- package/dist/YX-QfzeMEKx.d.cts +20 -0
- package/dist/ZX-BMJS1iAv.d.ts +21 -0
- package/dist/ZX-Ca2E726a.d.cts +22 -0
- package/dist/api/platform/platformLogin.d.ts +65 -0
- package/dist/api/platform/platformLogin.js +3 -0
- package/dist/certificate-DFK-788s.cjs +62 -0
- package/dist/certificate-DFK-788s.cjs.map +1 -0
- package/dist/certificate-aooIRf9A.js +49 -0
- package/dist/chunk-CUT6urMc.cjs +30 -0
- package/dist/classification-codes-B15PbWxz.d.cts +118 -0
- package/dist/classification-codes-BKxV-rO9.d.ts +117 -0
- package/dist/country-code-CQuaiQm2.d.ts +542 -0
- package/dist/country-code-DPeNFMMi.d.cts +543 -0
- package/dist/currencies-BYJK-m6v.d.ts +207 -0
- package/dist/currencies-S5g1gzBU.d.cts +208 -0
- package/dist/document-CARHiGdp.cjs +472 -0
- package/dist/document-CARHiGdp.cjs.map +1 -0
- package/dist/document-D6VKMAtx.js +405 -0
- package/dist/documents-CQy_uB6C.d.cts +858 -0
- package/dist/documents-i5EV868Y.d.ts +857 -0
- package/dist/e-invoice-BuwtFnlI.d.cts +44 -0
- package/dist/e-invoice-CmbLQkHw.d.ts +43 -0
- package/dist/getBaseUrl-CO7Jp27d.cjs +14 -0
- package/dist/getBaseUrl-CO7Jp27d.cjs.map +1 -0
- package/dist/getBaseUrl-R3IdgCu3.js +7 -0
- package/dist/index-0-EvC6Nv.d.ts +15 -0
- package/dist/index-D2_HVwCz.d.cts +16 -0
- package/dist/index.cjs +309 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +233 -0
- package/dist/index.js +308 -0
- package/dist/index10.cjs +0 -0
- package/dist/index11.cjs +34 -0
- package/dist/index11.cjs.map +1 -0
- package/dist/index12.cjs +24 -0
- package/dist/index12.cjs.map +1 -0
- package/dist/index13.cjs +0 -0
- package/dist/index14.cjs +13 -0
- package/dist/index14.cjs.map +1 -0
- package/dist/index15.cjs +4 -0
- package/dist/index16.cjs +13 -0
- package/dist/index17.cjs +3 -0
- package/dist/index18.cjs +340 -0
- package/dist/index18.cjs.map +1 -0
- package/dist/index19.cjs +329 -0
- package/dist/index19.cjs.map +1 -0
- package/dist/index2.cjs +62 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/index20.cjs +140 -0
- package/dist/index20.cjs.map +1 -0
- package/dist/index21.cjs +3 -0
- package/dist/index22.cjs +208 -0
- package/dist/index22.cjs.map +1 -0
- package/dist/index23.cjs +109 -0
- package/dist/index23.cjs.map +1 -0
- package/dist/index24.cjs +137 -0
- package/dist/index24.cjs.map +1 -0
- package/dist/index25.cjs +64 -0
- package/dist/index25.cjs.map +1 -0
- package/dist/index26.cjs +267 -0
- package/dist/index26.cjs.map +1 -0
- package/dist/index27.cjs +79 -0
- package/dist/index27.cjs.map +1 -0
- package/dist/index28.cjs +107 -0
- package/dist/index28.cjs.map +1 -0
- package/dist/index29.cjs +73 -0
- package/dist/index29.cjs.map +1 -0
- package/dist/index3.cjs +532 -0
- package/dist/index3.cjs.map +1 -0
- package/dist/index30.cjs +112 -0
- package/dist/index30.cjs.map +1 -0
- package/dist/index31.cjs +100 -0
- package/dist/index31.cjs.map +1 -0
- package/dist/index32.cjs +18 -0
- package/dist/index32.cjs.map +1 -0
- package/dist/index33.cjs +38 -0
- package/dist/index33.cjs.map +1 -0
- package/dist/index34.cjs +19 -0
- package/dist/index34.cjs.map +1 -0
- package/dist/index35.cjs +29 -0
- package/dist/index35.cjs.map +1 -0
- package/dist/index36.cjs +20 -0
- package/dist/index36.cjs.map +1 -0
- package/dist/index37.cjs +14 -0
- package/dist/index37.cjs.map +1 -0
- package/dist/index38.cjs +14 -0
- package/dist/index38.cjs.map +1 -0
- package/dist/index39.cjs +17 -0
- package/dist/index39.cjs.map +1 -0
- package/dist/index4.cjs +196 -0
- package/dist/index4.cjs.map +1 -0
- package/dist/index40.cjs +13 -0
- package/dist/index40.cjs.map +1 -0
- package/dist/index41.cjs +108 -0
- package/dist/index41.cjs.map +1 -0
- package/dist/index42.cjs +113 -0
- package/dist/index42.cjs.map +1 -0
- package/dist/index43.cjs +126 -0
- package/dist/index43.cjs.map +1 -0
- package/dist/index44.cjs +113 -0
- package/dist/index44.cjs.map +1 -0
- package/dist/index45.cjs +105 -0
- package/dist/index45.cjs.map +1 -0
- package/dist/index46.cjs +125 -0
- package/dist/index46.cjs.map +1 -0
- package/dist/index47.cjs +134 -0
- package/dist/index47.cjs.map +1 -0
- package/dist/index48.cjs +124 -0
- package/dist/index48.cjs.map +1 -0
- package/dist/index49.cjs +21 -0
- package/dist/index49.cjs.map +1 -0
- package/dist/index5.cjs +0 -0
- package/dist/index50.cjs +102 -0
- package/dist/index50.cjs.map +1 -0
- package/dist/index51.cjs +149 -0
- package/dist/index51.cjs.map +1 -0
- package/dist/index52.cjs +121 -0
- package/dist/index52.cjs.map +1 -0
- package/dist/index53.cjs +151 -0
- package/dist/index53.cjs.map +1 -0
- package/dist/index54.cjs +120 -0
- package/dist/index54.cjs.map +1 -0
- package/dist/index55.cjs +24 -0
- package/dist/index55.cjs.map +1 -0
- package/dist/index56.cjs +119 -0
- package/dist/index56.cjs.map +1 -0
- package/dist/index57.cjs +54 -0
- package/dist/index57.cjs.map +1 -0
- package/dist/index58.cjs +21 -0
- package/dist/index58.cjs.map +1 -0
- package/dist/index58.cts.map +1 -0
- package/dist/index59.cjs +35 -0
- package/dist/index59.cjs.map +1 -0
- package/dist/index59.cts.map +1 -0
- package/dist/index6.cjs +25 -0
- package/dist/index6.cjs.map +1 -0
- package/dist/index60.cjs +29 -0
- package/dist/index60.cjs.map +1 -0
- package/dist/index60.cts.map +1 -0
- package/dist/index61.cjs +16 -0
- package/dist/index61.cjs.map +1 -0
- package/dist/index61.cts.map +1 -0
- package/dist/index62.cjs +15 -0
- package/dist/index62.cjs.map +1 -0
- package/dist/index62.cts.map +1 -0
- package/dist/index63.cjs +24 -0
- package/dist/index63.cjs.map +1 -0
- package/dist/index63.cts.map +1 -0
- package/dist/index64.cjs +419 -0
- package/dist/index64.cjs.map +1 -0
- package/dist/index64.cts.map +1 -0
- package/dist/index65.cjs +15 -0
- package/dist/index65.cjs.map +1 -0
- package/dist/index65.cts.map +1 -0
- package/dist/index66.cjs +16 -0
- package/dist/index66.cjs.map +1 -0
- package/dist/index66.cts.map +1 -0
- package/dist/index7.cjs +0 -0
- package/dist/index8.cjs +0 -0
- package/dist/index9.cjs +25 -0
- package/dist/index9.cjs.map +1 -0
- package/dist/msic-codes-C8PJVOaA.d.ts +25 -0
- package/dist/msic-codes-CIKdPqag.d.cts +26 -0
- package/dist/payment-modes-BOTSRC_X.d.ts +43 -0
- package/dist/payment-modes-ghFEXnUl.d.cts +44 -0
- package/dist/platformLogin-PGzMhw1X.cjs +37 -0
- package/dist/platformLogin-PGzMhw1X.cjs.map +1 -0
- package/dist/platformLogin-f0bNAoZI.js +30 -0
- package/dist/signatures-W-_brwdb.d.ts +172 -0
- package/dist/signatures-hFbt_std.d.cts +173 -0
- package/dist/state-codes-BlILGZ9d.d.cts +62 -0
- package/dist/state-codes-oeFKlwXZ.d.ts +61 -0
- package/dist/tax-types-B5sQ8UyN.d.cts +42 -0
- package/dist/tax-types-CsQ76JMf.d.ts +41 -0
- package/dist/types/classification-codes.d.ts +2 -0
- package/dist/types/country-code.d.ts +2 -0
- package/dist/types/currencies.d.ts +2 -0
- package/dist/types/documents.d.ts +18 -0
- package/dist/types/e-invoice.d.ts +2 -0
- package/dist/types/index.d.ts +58 -0
- package/dist/types/msic/0X.d.ts +2 -0
- package/dist/types/msic/1X.d.ts +2 -0
- package/dist/types/msic/2X.d.ts +2 -0
- package/dist/types/msic/3X.d.ts +2 -0
- package/dist/types/msic/4X.d.ts +2 -0
- package/dist/types/msic/5X.d.ts +2 -0
- package/dist/types/msic/6X.d.ts +2 -0
- package/dist/types/msic/7X.d.ts +2 -0
- package/dist/types/msic/8X.d.ts +2 -0
- package/dist/types/msic/9X.d.ts +2 -0
- package/dist/types/msic-codes.d.ts +12 -0
- package/dist/types/payment-modes.d.ts +2 -0
- package/dist/types/signatures.d.ts +2 -0
- package/dist/types/state-codes.d.ts +2 -0
- package/dist/types/tax-types.d.ts +2 -0
- package/dist/types/unit/1X.d.ts +2 -0
- package/dist/types/unit/2X.d.ts +2 -0
- package/dist/types/unit/3X.d.ts +2 -0
- package/dist/types/unit/4X.d.ts +2 -0
- package/dist/types/unit/5X.d.ts +2 -0
- package/dist/types/unit/6X.d.ts +2 -0
- package/dist/types/unit/7X.d.ts +2 -0
- package/dist/types/unit/8X.d.ts +2 -0
- package/dist/types/unit/9X.d.ts +2 -0
- package/dist/types/unit/AX.d.ts +2 -0
- package/dist/types/unit/BX.d.ts +2 -0
- package/dist/types/unit/CX.d.ts +2 -0
- package/dist/types/unit/DX.d.ts +2 -0
- package/dist/types/unit/EX.d.ts +2 -0
- package/dist/types/unit/FX.d.ts +2 -0
- package/dist/types/unit/GX.d.ts +2 -0
- package/dist/types/unit/HX.d.ts +2 -0
- package/dist/types/unit/IX.d.ts +2 -0
- package/dist/types/unit/JX.d.ts +2 -0
- package/dist/types/unit/KX.d.ts +2 -0
- package/dist/types/unit/LX.d.ts +2 -0
- package/dist/types/unit/MX.d.ts +2 -0
- package/dist/types/unit/NX.d.ts +2 -0
- package/dist/types/unit/OX.d.ts +2 -0
- package/dist/types/unit/PX.d.ts +2 -0
- package/dist/types/unit/QX.d.ts +2 -0
- package/dist/types/unit/RX.d.ts +2 -0
- package/dist/types/unit/SX.d.ts +2 -0
- package/dist/types/unit/TX.d.ts +2 -0
- package/dist/types/unit/UX.d.ts +2 -0
- package/dist/types/unit/VX.d.ts +2 -0
- package/dist/types/unit/WX.d.ts +2 -0
- package/dist/types/unit/XX.d.ts +2 -0
- package/dist/types/unit/YX.d.ts +2 -0
- package/dist/types/unit/ZX.d.ts +2 -0
- package/dist/types/unit-types.d.ts +37 -0
- package/dist/unit-types-B41YFOLT.d.ts +55 -0
- package/dist/unit-types-CjWNk2wS.d.cts +56 -0
- package/dist/utils/base64.d.ts +5 -0
- package/dist/utils/base64.js +10 -0
- package/dist/utils/certificate.d.ts +22 -0
- package/dist/utils/certificate.js +3 -0
- package/dist/utils/document.d.ts +135 -0
- package/dist/utils/document.js +3 -0
- package/dist/utils/getBaseUrl.d.ts +4 -0
- package/dist/utils/getBaseUrl.js +3 -0
- package/dist/utils/helpers.d.ts +271 -0
- package/dist/utils/helpers.js +330 -0
- package/dist/utils/signature-diagnostics.d.ts +93 -0
- package/dist/utils/signature-diagnostics.js +326 -0
- package/dist/utils/validation.d.ts +46 -0
- package/dist/utils/validation.js +134 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index64.cjs","names":[],"sources":["../src/types/unit/XX.d.ts"],"sourcesContent":["/**\n * Unit types starting with X\n * https://sdk.myinvois.hasil.gov.my/codes/unit-types/\n */\nexport type UnitTypeCode_XX =\n | 'X1' // Gunter's chain\n | 'X1A' // Drum, steel\n | 'X1B' // Drum, aluminium\n | 'X1D' // Drum, plywood\n | 'X1F' // Container, flexible\n | 'X1G' // Drum, fibre\n | 'X1W' // Drum, wooden\n | 'X2C' // Barrel, wooden\n | 'X3A' // Jerrican, steel\n | 'X3H' // Jerrican, plastic\n | 'X43' // Bag, super bulk\n | 'X44' // Bag, polybag\n | 'X4A' // Box, steel\n | 'X4B' // Box, aluminium\n | 'X4C' // Box, natural wood\n | 'X4D' // Box, plywood\n | 'X4F' // Box, reconstituted wood\n | 'X4G' // Box, fibreboard\n | 'X4H' // Box, plastic\n | 'X5H' // Bag, woven plastic\n | 'X5L' // Bag, textile\n | 'X5M' // Bag, paper\n | 'X6H' // Composite packaging, plastic receptacle\n | 'X6P' // Composite packaging, glass receptacle\n | 'X7A' // Case, car\n | 'X7B' // Case, wooden\n | 'X8A' // Pallet, wooden\n | 'X8B' // Crate, wooden\n | 'X8C' // Bundle, wooden\n | 'XAA' // Intermediate bulk container, rigid plastic\n | 'XAB' // Receptacle, fibre\n | 'XAC' // Receptacle, paper\n | 'XAD' // Receptacle, wooden\n | 'XAE' // Aerosol\n | 'XAF' // Pallet, modular, collars 80cms * 60cms\n | 'XAG' // Pallet, shrinkwrapped\n | 'XAH' // Pallet, 100cms * 110cms\n | 'XAI' // Clamshell\n | 'XAJ' // Cone\n | 'XAL' // Ball\n | 'XAM' // Ampoule, non-protected\n | 'XAP' // Ampoule, protected\n | 'XAT' // Atomizer\n | 'XAV' // Capsule\n | 'XB4' // Belt\n | 'XBA' // Barrel\n | 'XBB' // Bobbin\n | 'XBC' // Bottlecrate / bottlerack\n | 'XBD' // Board\n | 'XBE' // Bundle\n | 'XBF' // Balloon, non-protected\n | 'XBG' // Bag\n | 'XBH' // Bunch\n | 'XBI' // Bin\n | 'XBJ' // Bucket\n | 'XBK' // Basket\n | 'XBL' // Bale, compressed\n | 'XBM' // Basin\n | 'XBN' // Bale, non-compressed\n | 'XBO' // Bottle, non-protected, cylindrical\n | 'XBP' // Balloon, protected\n | 'XBQ' // Bottle, protected cylindrical\n | 'XBR' // Bar\n | 'XBS' // Bottle, non-protected, bulbous\n | 'XBT' // Bolt\n | 'XBU' // Butt\n | 'XBV' // Bottle, protected bulbous\n | 'XBW' // Box, for liquids\n | 'XBX' // Box\n | 'XBY' // Board, in bundle/bunch/truss\n | 'XBZ' // Bars, in bundle/bunch/truss\n | 'XCA' // Can, rectangular\n | 'XCB' // Crate, beer\n | 'XCC' // Churn\n | 'XCD' // Can, with handle and spout\n | 'XCE' // Creel\n | 'XCF' // Coffer\n | 'XCG' // Cage\n | 'XCH' // Chest\n | 'XCI' // Canister\n | 'XCJ' // Coffin\n | 'XCK' // Cask\n | 'XCL' // Coil\n | 'XCM' // Card\n | 'XCN' // Container, not otherwise specified as transport equipment\n | 'XCO' // Carboy, non-protected\n | 'XCP' // Carboy, protected\n | 'XCQ' // Cartridge\n | 'XCR' // Crate\n | 'XCS' // Case\n | 'XCT' // Carton\n | 'XCU' // Cup\n | 'XCV' // Cover\n | 'XCW' // Cage, roll\n | 'XCX' // Can, cylindrical\n | 'XCY' // Cylinder\n | 'XCZ' // Canvas\n | 'XDA' // Crate, multiple layer, plastic\n | 'XDB' // Crate, multiple layer, wooden\n | 'XDC' // Crate, multiple layer, cardboard\n | 'XDG' // Cage, Commonwealth Handling Equipment Pool (CHEP)\n | 'XDH' // Box, Commonwealth Handling Equipment Pool (CHEP), Eurobox\n | 'XDI' // Drum, iron\n | 'XDJ' // Demijohn, non-protected\n | 'XDK' // Crate, bulk, cardboard\n | 'XDL' // Crate, bulk, plastic\n | 'XDM' // Crate, bulk, wooden\n | 'XDN' // Dispenser\n | 'XDP' // Demijohn, protected\n | 'XDR' // Drum\n | 'XDS' // Tray, one layer no cover, plastic\n | 'XDT' // Tray, one layer no cover, wooden\n | 'XDU' // Tray, one layer no cover, polystyrene\n | 'XDV' // Tray, one layer no cover, cardboard\n | 'XDW' // Tray, two layers no cover, plastic tray\n | 'XDX' // Tray, two layers no cover, wooden\n | 'XDY' // Tray, two layers no cover, cardboard\n | 'XEC' // Bag, plastic\n | 'XED' // Case, with pallet base\n | 'XEE' // Case, with pallet base, wooden\n | 'XEF' // Case, with pallet base, cardboard\n | 'XEG' // Case, with pallet base, plastic\n | 'XEH' // Case, with pallet base, metal\n | 'XEI' // Case, isothermic\n | 'XEN' // Envelope\n | 'XFB' // Flexibag\n | 'XFC' // Crate, fruit\n | 'XFD' // Crate, framed\n | 'XFE' // Flexitank\n | 'XFI' // Firkin\n | 'XFL' // Flask\n | 'XFO' // Footlocker\n | 'XFP' // Filmpack\n | 'XFR' // Frame\n | 'XFT' // Foodtainer\n | 'XFW' // Cart, flatbed\n | 'XFX' // Bag, flexible container\n | 'XGB' // Bottle, gas\n | 'XGI' // Girder\n | 'XGL' // Container, gallon\n | 'XGR' // Receptacle, glass\n | 'XGU' // Tray, containing horizontally stacked flat items\n | 'XGY' // Bag, gunny\n | 'XGZ' // Girders, in bundle/bunch/truss\n | 'XHA' // Basket, with handle, plastic\n | 'XHB' // Basket, with handle, wooden\n | 'XHC' // Basket, with handle, cardboard\n | 'XHG' // Hogshead\n | 'XHN' // Hanger\n | 'XHR' // Hamper\n | 'XIA' // Package, display, wooden\n | 'XIB' // Package, display, cardboard\n | 'XIC' // Package, display, plastic\n | 'XID' // Package, display, metal\n | 'XIE' // Package, show\n | 'XIF' // Package, flow\n | 'XIG' // Package, paper wrapped\n | 'XIH' // Drum, plastic\n | 'XIK' // Package, cardboard, with bottle grip-holes\n | 'XIL' // Tray, rigid, lidded stackable (CEN TS 14482:2002)\n | 'XIN' // Ingot\n | 'XIZ' // Ingots, in bundle/bunch/truss\n | 'XJB' // Bag, jumbo\n | 'XJC' // Jerrican, rectangular\n | 'XJG' // Jug\n | 'XJR' // Jar\n | 'XJT' // Jutebag\n | 'XJY' // Jerrican, cylindrical\n | 'XKG' // Keg\n | 'XKI' // Kit\n | 'XLE' // Luggage\n | 'XLG' // Log\n | 'XLT' // Lot\n | 'XLU' // Lug\n | 'XLV' // Liftvan\n | 'XLZ' // Logs, in bundle/bunch/truss\n | 'XMA' // Crate, metal\n | 'XMB' // Bag, multiply\n | 'XMC' // Crate, milk\n | 'XME' // Container, metal\n | 'XMR' // Receptacle, metal\n | 'XMS' // Sack, multi-wall\n | 'XMT' // Mat\n | 'XMW' // Receptacle, plastic wrapped\n | 'XMX' // Matchbox\n | 'XNA' // Not available\n | 'XNE' // Unpacked or unpackaged\n | 'XNF' // Unpacked or unpackaged, single unit\n | 'XNG' // Unpacked or unpackaged, multiple units\n | 'XNS' // Nest\n | 'XNT' // Net\n | 'XNU' // Net, tube, plastic\n | 'XNV' // Net, tube, textile\n | 'XO1' // Two sided cage on wheels with fixing strap\n | 'XO2' // Trolley\n | 'XO3' // Oneway pallet ISO 0 - 1/2 EURO Pallet\n | 'XO4' // Oneway pallet ISO 1 - 1/1 EURO Pallet\n | 'XO5' // Oneway pallet ISO 2 - 2/1 EURO Pallet\n | 'XO6' // Pallet with exceptional dimensions\n | 'XO7' // Wooden pallet 40 cm x 80 cm\n | 'XO8' // Plastic pallet SRS 60 cm x 80 cm\n | 'XO9' // Plastic pallet SRS 80 cm x 120 cm\n | 'XOA' // Pallet, CHEP 40 cm x 60 cm\n | 'XOB' // Pallet, CHEP 80 cm x 120 cm\n | 'XOC' // Pallet, CHEP 100 cm x 120 cm\n | 'XOD' // Pallet, AS 4068-1993\n | 'XOE' // Pallet, ISO T11\n | 'XOF' // Platform, unspecified weight or dimension\n | 'XOG' // Pallet ISO 0 - 1/2 EURO Pallet\n | 'XOH' // Pallet ISO 1 - 1/1 EURO Pallet\n | 'XOI' // Pallet ISO 2 – 2/1 EURO Pallet\n | 'XOJ' // 1/4 EURO Pallet\n | 'XOK' // Block\n | 'XOL' // 1/8 EURO Pallet\n | 'XOM' // Synthetic pallet ISO 1\n | 'XON' // Synthetic pallet ISO 2\n | 'XOP' // Wholesaler pallet\n | 'XOQ' // Pallet 80 X 100 cm\n | 'XOR' // Pallet 60 X 100 cm\n | 'XOS' // Oneway pallet\n | 'XOT' // Octabin\n | 'XOU' // Container, outer\n | 'XOV' // Returnable pallet\n | 'XOW' // Large bag, pallet sized\n | 'XOX' // A wheeled pallet with raised rim (81 x 67 x 135)\n | 'XOY' // A Wheeled pallet with raised rim (81 x 72 x 135)\n | 'XOZ' // Wheeled pallet with raised rim ( 81 x 60 x 16)\n | 'XP1' // CHEP pallet 60 cm x 80 cm\n | 'XP2' // Pan\n | 'XP3' // LPR pallet 60 cm x 80 cm\n | 'XP4' // LPR pallet 80 cm x 120 cm\n | 'XPA' // Packet\n | 'XPB' // Pallet, box Combined open-ended box and pallet\n | 'XPC' // Parcel\n | 'XPD' // Pallet, modular, collars 80cms * 100cms\n | 'XPE' // Pallet, modular, collars 80cms * 120cms\n | 'XPF' // Pen\n | 'XPG' // Plate\n | 'XPH' // Pitcher\n | 'XPI' // Pipe\n | 'XPJ' // Punnet\n | 'XPK' // Package\n | 'XPL' // Pail\n | 'XPN' // Plank\n | 'XPO' // Pouch\n | 'XPP' // Piece\n | 'XPR' // Receptacle, plastic\n | 'XPT' // Pot\n | 'XPU' // Tray\n | 'XPV' // Pipes, in bundle/bunch/truss\n | 'XPX' // Pallet\n | 'XPY' // Plates, in bundle/bunch/truss\n | 'XPZ' // Planks, in bundle/bunch/truss\n | 'XQA' // Drum, steel, non-removable head\n | 'XQB' // Drum, steel, removable head\n | 'XQC' // Drum, aluminium, non-removable head\n | 'XQD' // Drum, aluminium, removable head\n | 'XQF' // Drum, plastic, non-removable head\n | 'XQG' // Drum, plastic, removable head\n | 'XQH' // Barrel, wooden, bung type\n | 'XQJ' // Barrel, wooden, removable head\n | 'XQK' // Jerrican, steel, non-removable head\n | 'XQL' // Jerrican, steel, removable head\n | 'XQM' // Jerrican, plastic, non-removable head\n | 'XQN' // Jerrican, plastic, removable head\n | 'XQP' // Box, wooden, natural wood, ordinary\n | 'XQQ' // Box, wooden, natural wood, with sift proof walls\n | 'XQR' // Box, plastic, expanded\n | 'XQS' // Box, plastic, solid\n | 'XRD' // Rod\n | 'XRG' // Ring\n | 'XRJ' // Rack, clothing hanger\n | 'XRK' // Rack\n | 'XRL' // Reel\n | 'XRO' // Roll\n | 'XRT' // Rednet\n | 'XRZ' // Rods, in bundle/bunch/truss\n | 'XSA' // Sack\n | 'XSB' // Slab\n | 'XSC' // Crate, shallow\n | 'XSD' // Spindle\n | 'XSE' // Sea-chest\n | 'XSH' // Sachet\n | 'XSI' // Skid\n | 'XSK' // Case, skeleton\n | 'XSL' // Slipsheet\n | 'XSM' // Sheetmetal\n | 'XSO' // Spool\n | 'XSP' // Sheet, plastic wrapping\n | 'XSS' // Case, steel\n | 'XST' // Sheet\n | 'XSU' // Suitcase\n | 'XSV' // Envelope, steel\n | 'XSW' // Shrinkwrapped\n | 'XSX' // Set\n | 'XSY' // Sleeve\n | 'XSZ' // Sheets, in bundle/bunch/truss\n | 'XT1' // Tablet\n | 'XTB' // Tub\n | 'XTC' // Tea-chest\n | 'XTD' // Tube, collapsible\n | 'XTE' // Tyre\n | 'XTG' // Tank container, generic\n | 'XTI' // Tierce\n | 'XTK' // Tank, rectangular\n | 'XTL' // Tub, with lid\n | 'XTN' // Tin\n | 'XTO' // Tun\n | 'XTR' // Trunk\n | 'XTS' // Truss\n | 'XTT' // Bag, tote\n | 'XTU' // Tube\n | 'XTV' // Tube, with nozzle\n | 'XTW' // Pallet, triwall\n | 'XTY' // Tank, cylindrical\n | 'XTZ' // Tubes, in bundle/bunch/truss\n | 'XUC' // Uncaged\n | 'XUN' // Unit\n | 'XVA' // Vat\n | 'XVG' // Bulk, gas (at 1031 mbar and 15°C)\n | 'XVI' // Vial\n | 'XVK' // Vanpack\n | 'XVL' // Bulk, liquid\n | 'XVN' // Vehicle\n | 'XVO' // Bulk, solid, large particles (“nodules†)\n | 'XVP' // Vacuum-packed\n | 'XVQ' // Bulk, liquefied gas (at abnormal temperature/pressure)\n | 'XVR' // Bulk, solid, granular particles (“grains†)\n | 'XVS' // Bulk, scrap metal\n | 'XVY' // Bulk, solid, fine particles (“powders†)\n | 'XWA' // Intermediate bulk container\n | 'XWB' // Wickerbottle\n | 'XWC' // Intermediate bulk container, steel\n | 'XWD' // Intermediate bulk container, aluminium\n | 'XWF' // Intermediate bulk container, metal\n | 'XWG' // Intermediate bulk container, steel, pressurised > 10 kpa\n | 'XWH' // Intermediate bulk container, aluminium, pressurised > 10 kpa\n | 'XWJ' // Intermediate bulk container, metal, pressure 10 kpa\n | 'XWK' // Intermediate bulk container, steel, liquid\n | 'XWL' // Intermediate bulk container, aluminium, liquid\n | 'XWM' // Intermediate bulk container, metal, liquid\n | 'XWN' // Intermediate bulk container, woven plastic, without coat/liner\n | 'XWP' // Intermediate bulk container, woven plastic, coated\n | 'XWQ' // Intermediate bulk container, woven plastic, with liner\n | 'XWR' // Intermediate bulk container, woven plastic, coated and liner\n | 'XWS' // Intermediate bulk container, plastic film\n | 'XWT' // Intermediate bulk container, textile with out coat/liner\n | 'XWU' // Intermediate bulk container, natural wood, with inner liner\n | 'XWV' // Intermediate bulk container, textile, coated\n | 'XWW' // Intermediate bulk container, textile, with liner\n | 'XWX' // Intermediate bulk container, textile, coated and liner\n | 'XWY' // Intermediate bulk container, plywood, with inner liner\n | 'XWZ' // Intermediate bulk container, reconstituted wood, with inner liner\n | 'XXA' // Bag, woven plastic, without inner coat/liner\n | 'XXB' // Bag, woven plastic, sift proof\n | 'XXC' // Bag, woven plastic, water resistant\n | 'XXD' // Bag, plastics film\n | 'XXF' // Bag, textile, without inner coat/liner\n | 'XXG' // Bag, textile, sift proof\n | 'XXH' // Bag, textile, water resistant\n | 'XXJ' // Bag, paper, multi-wall\n | 'XXK' // Bag, paper, multi-wall, water resistant\n | 'XYA' // Composite packaging, plastic receptacle in steel drum\n | 'XYB' // Composite packaging, plastic receptacle in steel crate box\n | 'XYC' // Composite packaging, plastic receptacle in aluminium drum\n | 'XYD' // Composite packaging, plastic receptacle in aluminium crate\n | 'XYF' // Composite packaging, plastic receptacle in wooden box\n | 'XYG' // Composite packaging, plastic receptacle in plywood drum\n | 'XYH' // Composite packaging, plastic receptacle in plywood box\n | 'XYJ' // Composite packaging, plastic receptacle in fibre drum\n | 'XYK' // Composite packaging, plastic receptacle in fibreboard box\n | 'XYL' // Composite packaging, plastic receptacle in plastic drum\n | 'XYM' // Composite packaging, plastic receptacle in solid plastic box\n | 'XYN' // Composite packaging, glass receptacle in steel drum\n | 'XYP' // Composite packaging, glass receptacle in steel crate box\n | 'XYQ' // Composite packaging, glass receptacle in aluminium drum\n | 'XYR' // Composite packaging, glass receptacle in aluminium crate\n | 'XYS' // Composite packaging, glass receptacle in wooden box\n | 'XYT' // Composite packaging, glass receptacle in plywood drum\n | 'XYV' // Composite packaging, glass receptacle in wickerwork hamper\n | 'XYW' // Composite packaging, glass receptacle in fibre drum\n | 'XYX' // Composite packaging, glass receptacle in fibreboard box\n | 'XYY' // Composite packaging, glass receptacle in expandable plastic pack\n | 'XYZ' // Composite packaging, glass receptacle in solid plastic pack\n | 'XZA' // Intermediate bulk container, paper, multi-wall\n | 'XZB' // Bag, large\n | 'XZC' // Intermediate bulk container, paper, multi-wall, water resistant\n | 'XZD' // Intermediate bulk container, rigid plastic, with structural equipment, solids\n | 'XZF' // Intermediate bulk container, rigid plastic, freestanding, solids\n | 'XZG' // Intermediate bulk container, rigid plastic, with structural equipment, pressurised\n | 'XZH' // Intermediate bulk container, rigid plastic, freestanding, pressurised\n | 'XZJ' // Intermediate bulk container, rigid plastic, with structural equipment, liquids\n | 'XZK' // Intermediate bulk container, rigid plastic, freestanding, liquids\n | 'XZL' // Intermediate bulk container, composite, rigid plastic, solids\n | 'XZM' // Intermediate bulk container, composite, flexible plastic, solids\n | 'XZN' // Intermediate bulk container, composite, rigid plastic, pressurised\n | 'XZP' // Intermediate bulk container, composite, flexible plastic, pressurised\n | 'XZQ' // Intermediate bulk container, composite, rigid plastic, liquids\n | 'XZR' // Intermediate bulk container, composite, flexible plastic, liquids\n | 'XZS' // Intermediate bulk container, composite\n | 'XZT' // Intermediate bulk container, fibreboard\n | 'XZU' // Intermediate bulk container, flexible\n | 'XZV' // Intermediate bulk container, metal, other than steel\n | 'XZW' // Intermediate bulk container, natural wood\n | 'XZX' // Intermediate bulk container, plywood\n | 'XZY' // Intermediate bulk container, reconstituted wood\n | 'XZZ' // Mutually defined\n\n/**\n * Enum representing unit type codes starting with 'X'.\n */\nexport enum UnitTypeCodeEnum_XX {\n GuntersChain = 'X1',\n DrumSteel = 'X1A',\n DrumAluminium = 'X1B',\n DrumPlywood = 'X1D',\n ContainerFlexible = 'X1F',\n DrumFibre = 'X1G',\n DrumWooden = 'X1W',\n BarrelWooden = 'X2C',\n JerricanSteel = 'X3A',\n JerricanPlastic = 'X3H',\n BagSuperBulk = 'X43',\n BagPolybag = 'X44',\n BoxSteel = 'X4A',\n BoxAluminium = 'X4B',\n BoxNaturalWood = 'X4C',\n BoxPlywood = 'X4D',\n BoxReconstitutedWood = 'X4F',\n BoxFibreboard = 'X4G',\n BoxPlastic = 'X4H',\n BagWovenPlastic = 'X5H',\n BagTextile = 'X5L',\n BagPaper = 'X5M',\n CompositePackagingPlasticReceptacle = 'X6H',\n CompositePackagingGlassReceptacle = 'X6P',\n CaseCar = 'X7A',\n CaseWooden = 'X7B',\n PalletWooden = 'X8A',\n CrateWooden = 'X8B',\n BundleWooden = 'X8C',\n IntermediateBulkContainerRigidPlastic = 'XAA',\n ReceptacleFibre = 'XAB',\n ReceptaclePaper = 'XAC',\n ReceptacleWooden = 'XAD',\n Aerosol = 'XAE',\n PalletModularCollar80cms60cms = 'XAF',\n PalletShrinkwrapped = 'XAG',\n Pallet100cms110cms = 'XAH',\n Clamshell = 'XAI',\n Cone = 'XAJ',\n Ball = 'XAL',\n AmpouleNonProtected = 'XAM',\n AmpouleProtected = 'XAP',\n Atomizer = 'XAT',\n Capsule = 'XAV',\n Belt = 'XB4',\n Barrel = 'XBA',\n Bobbin = 'XBB',\n BottlecrateBottlerack = 'XBC',\n Board = 'XBD',\n Bundle = 'XBE',\n BalloonNonProtected = 'XBF',\n Bag = 'XBG',\n Bunch = 'XBH',\n Bin = 'XBI',\n Bucket = 'XBJ',\n Basket = 'XBK',\n BaleCompressed = 'XBL',\n Basin = 'XBM',\n BaleNonCompressed = 'XBN',\n BottleNonProtectedCylindrical = 'XBO',\n BalloonProtected = 'XBP',\n BottleProtectedCylindrical = 'XBQ',\n Bar = 'XBR',\n BottleNonProtectedBulbous = 'XBS',\n Bolt = 'XBT',\n Butt = 'XBU',\n BottleProtectedBulbous = 'XBV',\n BoxForLiquids = 'XBW',\n Box = 'XBX',\n BoardInBundleBunchTruss = 'XBY',\n BarsInBundleBunchTruss = 'XBZ',\n CanRectangular = 'XCA',\n CrateBeer = 'XCB',\n Churn = 'XCC',\n CanWithHandleAndSpout = 'XCD',\n Creel = 'XCE',\n Coffer = 'XCF',\n Cage = 'XCG',\n Chest = 'XCH',\n Canister = 'XCI',\n Coffin = 'XCJ',\n Cask = 'XCK',\n Coil = 'XCL',\n Card = 'XCM',\n ContainerNotOtherwiseSpecifiedAsTransportEquipment = 'XCN',\n CarboyNonProtected = 'XCO',\n CarboyProtected = 'XCP',\n Cartridge = 'XCQ',\n Crate = 'XCR',\n Case = 'XCS',\n Carton = 'XCT',\n Cup = 'XCU',\n Cover = 'XCV',\n CageRoll = 'XCW',\n CanCylindrical = 'XCX',\n Cylinder = 'XCY',\n Canvas = 'XCZ',\n CrateMultipleLayerPlastic = 'XDA',\n CrateMultipleLayerWooden = 'XDB',\n CrateMultipleLayerCardboard = 'XDC',\n CageCommonwealthHandlingEquipmentPoolCHEP = 'XDG',\n BoxCommonwealthHandlingEquipmentPoolCHEPEurobox = 'XDH',\n DrumIron = 'XDI',\n DemijohnNonProtected = 'XDJ',\n CrateBulkCardboard = 'XDK',\n CrateBulkPlastic = 'XDL',\n CrateBulkWoden = 'XDM',\n Dispenser = 'XDN',\n DemijohnProtected = 'XDP',\n Drum = 'XDR',\n TrayOneLayerNoCoverPlastic = 'XDS',\n TrayOneLayerNoCoverWooden = 'XDT',\n TrayOneLayerNoCoverPolystyrene = 'XDU',\n TrayOneLayerNoCoverCardboard = 'XDV',\n TrayTwoLayersNoCoverPlasticTray = 'XDW',\n TrayTwoLayersNoCoverWooden = 'XDX',\n TrayTwoLayersNoCoverCardboard = 'XDY',\n BagPlastic = 'XEC',\n CaseWithPalletBase = 'XED',\n CaseWithPalletBaseWooden = 'XEE',\n CaseWithPalletBaseCardboard = 'XEF',\n CaseWithPalletBasePlastic = 'XEG',\n CaseWithPalletBaseMetal = 'XEH',\n CaseIsothermic = 'XEI',\n Envelope = 'XEN',\n Flexibag = 'XFB',\n CrateFruit = 'XFC',\n CrateFramed = 'XFD',\n Flexitank = 'XFE',\n Firkin = 'XFI',\n Flask = 'XFL',\n Footlocker = 'XFO',\n Filmpack = 'XFP',\n Frame = 'XFR',\n Foodtainer = 'XFT',\n CartFlatbed = 'XFW',\n BagFlexibleContainer = 'XFX',\n BottleGas = 'XGB',\n Girder = 'XGI',\n ContainerGallon = 'XGL',\n ReceptacleGlass = 'XGR',\n TrayContainingHorizontallyStackedFlatItems = 'XGU',\n BagGunny = 'XGY',\n GirdersInBundleBunchTruss = 'XGZ',\n BasketWithHandlePlastic = 'XHA',\n BasketWithHandleWooden = 'XHB',\n BasketWithHandleCardboard = 'XHC',\n Hogshead = 'XHG',\n Hanger = 'XHN',\n Hamper = 'XHR',\n PackageDisplayWooden = 'XIA',\n PackageDisplayCardboard = 'XIB',\n PackageDisplayPlastic = 'XIC',\n PackageDisplayMetal = 'XID',\n PackageShow = 'XIE',\n PackageFlow = 'XIF',\n PackagePaperWrapped = 'XIG',\n DrumPlastic = 'XIH',\n PackageCardboardWithBottleGripHoles = 'XIK',\n TrayRigidLiddedStackableCENTS144822002 = 'XIL',\n Ingot = 'XIN',\n IngotsInBundleBunchTruss = 'XIZ',\n BagJumbo = 'XJB',\n JerricanRectangular = 'XJC',\n Jug = 'XJG',\n Jar = 'XJR',\n Jutebag = 'XJT',\n JerricanCylindrical = 'XJY',\n Keg = 'XKG',\n Kit = 'XKI',\n Luggage = 'XLE',\n Log = 'XLG',\n Lot = 'XLT',\n Lug = 'XLU',\n Liftvan = 'XLV',\n LogsInBundleBunchTruss = 'XLZ',\n CrateMetal = 'XMA',\n BagMultiply = 'XMB',\n CrateMilk = 'XMC',\n ContainerMetal = 'XME',\n ReceptacleMetal = 'XMR',\n SackMultiWall = 'XMS',\n Mat = 'XMT',\n ReceptaclePlasticWrapped = 'XMW',\n Matchbox = 'XMX',\n NotAvailable = 'XNA',\n UnpackedOrUnpackaged = 'XNE',\n UnpackedOrUnpackagedSingleUnit = 'XNF',\n UnpackedOrUnpackagedMultipleUnits = 'XNG',\n Nest = 'XNS',\n Net = 'XNT',\n NetTubePlastic = 'XNU',\n NetTubeTextile = 'XNV',\n TwoSidedCageOnWheelsWithFixingStrap = 'XO1',\n Trolley = 'XO2',\n OnewayPalletISO0HalfEUROPallet = 'XO3',\n OnewayPalletISO1OneEUROPallet = 'XO4',\n OnewayPalletISO2TwoEUROPallet = 'XO5',\n PalletWithExceptionalDimensions = 'XO6',\n WoodenPallet40cmX80cm = 'XO7',\n PlasticPalletSRS60cmX80cm = 'XO8',\n PlasticPalletSRS80cmX120cm = 'XO9',\n PalletCHEP40cmX60cm = 'XOA',\n PalletCHEP80cmX120cm = 'XOB',\n PalletCHEP100cmX120cm = 'XOC',\n PalletAS40681993 = 'XOD',\n PalletISOT11 = 'XOE',\n PlatformUnspecifiedWeightOrDimension = 'XOF',\n PalletISO0HalfEUROPallet = 'XOG',\n PalletISO1OneEUROPallet = 'XOH',\n PalletISO2TwoEUROPallet = 'XOI',\n OneQuarterEUROPallet = 'XOJ',\n Block = 'XOK',\n OneEighthEUROPallet = 'XOL',\n SyntheticPalletISO1 = 'XOM',\n SyntheticPalletISO2 = 'XON',\n WholesalerPallet = 'XOP',\n Pallet80X100cm = 'XOQ',\n Pallet60X100cm = 'XOR',\n OnewayPallet = 'XOS',\n Octabin = 'XOT',\n ContainerOuter = 'XOU',\n ReturnablePallet = 'XOV',\n LargeBagPalletSized = 'XOW',\n AWheeledPalletWithRaisedRim81x67x135 = 'XOX',\n AWheeledPalletWithRaisedRim81x72x135 = 'XOY',\n WheeledPalletWithRaisedRim81x60x16 = 'XOZ',\n CHEPPallet60cmX80cm = 'XP1',\n Pan = 'XP2',\n LPRPallet60cmX80cm = 'XP3',\n LPRPallet80cmX120cm = 'XP4',\n Packet = 'XPA',\n PalletBoxCombinedOpenEndedBoxAndPallet = 'XPB',\n Parcel = 'XPC',\n PalletModularCollar80cms100cms = 'XPD',\n PalletModularCollar80cms120cms = 'XPE',\n Pen = 'XPF',\n Plate = 'XPG',\n Pitcher = 'XPH',\n Pipe = 'XPI',\n Punnet = 'XPJ',\n Package = 'XPK',\n Pail = 'XPL',\n Plank = 'XPN',\n Pouch = 'XPO',\n Piece = 'XPP',\n ReceptaclePlastic = 'XPR',\n Pot = 'XPT',\n Tray = 'XPU',\n PipesInBundleBunchTruss = 'XPV',\n Pallet = 'XPX',\n PlatesInBundleBunchTruss = 'XPY',\n PlanksInBundleBunchTruss = 'XPZ',\n DrumSteelNonRemovableHead = 'XQA',\n DrumSteelRemovableHead = 'XQB',\n DrumAluminiumNonRemovableHead = 'XQC',\n DrumAluminiumRemovableHead = 'XQD',\n DrumPlasticNonRemovableHead = 'XQF',\n DrumPlasticRemovableHead = 'XQG',\n BarrelWoodenBungType = 'XQH',\n BarrelWoodenRemovableHead = 'XQJ',\n JerricanSteelNonRemovableHead = 'XQK',\n JerricanSteelRemovableHead = 'XQL',\n JerricanPlasticNonRemovableHead = 'XQM',\n JerricanPlasticRemovableHead = 'XQN',\n BoxWoodenNaturalWoodOrdinary = 'XQP',\n BoxWoodenNaturalWoodWithSiftProofWalls = 'XQQ',\n BoxPlasticExpanded = 'XQR',\n BoxPlasticSolid = 'XQS',\n Rod = 'XRD',\n Ring = 'XRG',\n RackClothingHanger = 'XRJ',\n Rack = 'XRK',\n Reel = 'XRL',\n Roll = 'XRO',\n Rednet = 'XRT',\n RodsInBundleBunchTruss = 'XRZ',\n Sack = 'XSA',\n Slab = 'XSB',\n CrateShallow = 'XSC',\n Spindle = 'XSD',\n SeaChest = 'XSE',\n Sachet = 'XSH',\n Skid = 'XSI',\n CaseSkeleton = 'XSK',\n Slipsheet = 'XSL',\n Sheetmetal = 'XSM',\n Spool = 'XSO',\n SheetPlasticWrapping = 'XSP',\n CaseSteel = 'XSS',\n Sheet = 'XST',\n Suitcase = 'XSU',\n EnvelopeSteel = 'XSV',\n Shrinkwrapped = 'XSW',\n Set = 'XSX',\n Sleeve = 'XSY',\n SheetsInBundleBunchTruss = 'XSZ',\n Tablet = 'XT1',\n Tub = 'XTB',\n TeaChest = 'XTC',\n TubeCollapsible = 'XTD',\n Tyre = 'XTE',\n TankContainerGeneric = 'XTG',\n Tierce = 'XTI',\n TankRectangular = 'XTK',\n TubWithLid = 'XTL',\n Tin = 'XTN',\n Tun = 'XTO',\n Trunk = 'XTR',\n Truss = 'XTS',\n BagTote = 'XTT',\n Tube = 'XTU',\n TubeWithNozzle = 'XTV',\n PalletTriwall = 'XTW',\n TankCylindrical = 'XTY',\n TubesInBundleBunchTruss = 'XTZ',\n Uncaged = 'XUC',\n Unit = 'XUN',\n Vat = 'XVA',\n BulkGasAt1031MbarAnd15C = 'XVG',\n Vial = 'XVI',\n Vanpack = 'XVK',\n BulkLiquid = 'XVL',\n Vehicle = 'XVN',\n BulkSolidLargeParticlesNodules = 'XVO',\n VacuumPacked = 'XVP',\n BulkLiquefiedGasAtAbnormalTemperaturePressure = 'XVQ',\n BulkSolidGranularParticlesGrains = 'XVR',\n BulkScrapMetal = 'XVS',\n BulkSolidFineParticlesPowders = 'XVY',\n IntermediateBulkContainer = 'XWA',\n Wickerbottle = 'XWB',\n IntermediateBulkContainerSteel = 'XWC',\n IntermediateBulkContainerAluminium = 'XWD',\n IntermediateBulkContainerMetal = 'XWF',\n IntermediateBulkContainerSteelPressurisedGreaterThan10Kpa = 'XWG',\n IntermediateBulkContainerAluminiumPressurisedGreaterThan10Kpa = 'XWH',\n IntermediateBulkContainerMetalPressure10Kpa = 'XWJ',\n IntermediateBulkContainerSteelLiquid = 'XWK',\n IntermediateBulkContainerAluminiumLiquid = 'XWL',\n IntermediateBulkContainerMetalLiquid = 'XWM',\n IntermediateBulkContainerWovenPlasticWithoutCoatLiner = 'XWN',\n IntermediateBulkContainerWovenPlasticCoated = 'XWP',\n IntermediateBulkContainerWovenPlasticWithLiner = 'XWQ',\n IntermediateBulkContainerWovenPlasticCoatedAndLiner = 'XWR',\n IntermediateBulkContainerPlasticFilm = 'XWS',\n IntermediateBulkContainerTextileWithOutCoatLiner = 'XWT',\n IntermediateBulkContainerNaturalWoodWithInnerLiner = 'XWU',\n IntermediateBulkContainerTextileCoated = 'XWV',\n IntermediateBulkContainerTextileWithLiner = 'XWW',\n IntermediateBulkContainerTextileCoatedAndLiner = 'XWX',\n IntermediateBulkContainerPlywoodWithInnerLiner = 'XWY',\n IntermediateBulkContainerReconstitutedWoodWithInnerLiner = 'XWZ',\n BagWovenPlasticWithoutInnerCoatLiner = 'XXA',\n BagWovenPlasticSiftProof = 'XXB',\n BagWovenPlasticWaterResistant = 'XXC',\n BagPlasticsFilm = 'XXD',\n BagTextileWithoutInnerCoatLiner = 'XXF',\n BagTextileSiftProof = 'XXG',\n BagTextileWaterResistant = 'XXH',\n BagPaperMultiWall = 'XXJ',\n BagPaperMultiWallWaterResistant = 'XXK',\n CompositePackagingPlasticReceptacleInSteelDrum = 'XYA',\n CompositePackagingPlasticReceptacleInSteelCrateBox = 'XYB',\n CompositePackagingPlasticReceptacleInAluminiumDrum = 'XYC',\n CompositePackagingPlasticReceptacleInAluminiumCrate = 'XYD',\n CompositePackagingPlasticReceptacleInWoodenBox = 'XYF',\n CompositePackagingPlasticReceptacleInPlywoodDrum = 'XYG',\n CompositePackagingPlasticReceptacleInPlywoodBox = 'XYH',\n CompositePackagingPlasticReceptacleInFibreDrum = 'XYJ',\n CompositePackagingPlasticReceptacleInFibreboardBox = 'XYK',\n CompositePackagingPlasticReceptacleInPlasticDrum = 'XYL',\n CompositePackagingPlasticReceptacleInSolidPlasticBox = 'XYM',\n CompositePackagingGlassReceptacleInSteelDrum = 'XYN',\n CompositePackagingGlassReceptacleInSteelCrateBox = 'XYP',\n CompositePackagingGlassReceptacleInAluminiumDrum = 'XYQ',\n CompositePackagingGlassReceptacleInAluminiumCrate = 'XYR',\n CompositePackagingGlassReceptacleInWoodenBox = 'XYS',\n CompositePackagingGlassReceptacleInPlywoodDrum = 'XYT',\n CompositePackagingGlassReceptacleInWickerworkHamper = 'XYV',\n CompositePackagingGlassReceptacleInFibreDrum = 'XYW',\n CompositePackagingGlassReceptacleInFibreboardBox = 'XYX',\n CompositePackagingGlassReceptacleInExpandablePlasticPack = 'XYY',\n CompositePackagingGlassReceptacleInSolidPlasticPack = 'XYZ',\n IntermediateBulkContainerPaperMultiWall = 'XZA',\n BagLarge = 'XZB',\n IntermediateBulkContainerPaperMultiWallWaterResistant = 'XZC',\n IntermediateBulkContainerRigidPlasticWithStructuralEquipmentSolids = 'XZD',\n IntermediateBulkContainerRigidPlasticFreestandingSolids = 'XZF',\n IntermediateBulkContainerRigidPlasticWithStructuralEquipmentPressurised = 'XZG',\n IntermediateBulkContainerRigidPlasticFreestandingPressurised = 'XZH',\n IntermediateBulkContainerRigidPlasticWithStructuralEquipmentLiquids = 'XZJ',\n IntermediateBulkContainerRigidPlasticFreestandingLiquids = 'XZK',\n IntermediateBulkContainerCompositeRigidPlasticSolids = 'XZL',\n IntermediateBulkContainerCompositeFlexiblePlasticSolids = 'XZM',\n IntermediateBulkContainerCompositeRigidPlasticPressurised = 'XZN',\n IntermediateBulkContainerCompositeFlexiblePlasticPressurised = 'XZP',\n IntermediateBulkContainerCompositeRigidPlasticLiquids = 'XZQ',\n IntermediateBulkContainerCompositeFlexiblePlasticLiquids = 'XZR',\n IntermediateBulkContainerComposite = 'XZS',\n IntermediateBulkContainerFibreboard = 'XZT',\n IntermediateBulkContainerFlexible = 'XZU',\n IntermediateBulkContainerMetalOtherThanSteel = 'XZV',\n IntermediateBulkContainerNaturalWood = 'XZW',\n IntermediateBulkContainerPlywood = 'XZX',\n IntermediateBulkContainerReconstitutedWood = 'XZY',\n MutuallyDefined = 'XZZ',\n}\n"],"mappings":";;;;;AAgaA,IAAY,sEAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index64.cts","names":[],"sources":["../src/utils/helpers.d.ts"],"sourcesContent":["import type { InvoiceV1_1, PaymentMeans, AllowanceCharge, CurrencyExchangeRate, Delivery, AdditionalDocumentReference } from '../types/documents/index.js';\n/**\n * MyInvois Invoice Helper Functions\n *\n * Provides convenient utilities for common invoice scenarios and business patterns.\n * These helpers simplify the creation of compliant MyInvois documents.\n */\n/**\n * Payment Method Helpers\n */\nexport declare const PaymentHelpers: {\n /**\n * Creates cash payment means\n */\n cash(): PaymentMeans;\n /**\n * Creates cheque payment means\n */\n cheque(accountId?: string): PaymentMeans;\n /**\n * Creates bank transfer payment means\n */\n bankTransfer(accountId: string, dueDate?: string): PaymentMeans;\n /**\n * Creates credit card payment means\n */\n creditCard(): PaymentMeans;\n /**\n * Creates e-wallet payment means\n */\n eWallet(accountId?: string): PaymentMeans;\n /**\n * Creates custom payment terms with specific due date\n */\n net(days: number, accountId?: string): PaymentMeans;\n};\n/**\n * Currency and Exchange Rate Helpers\n */\nexport declare const CurrencyHelpers: {\n /**\n * Creates domestic MYR transaction (no exchange rate needed)\n */\n domestic(): CurrencyExchangeRate;\n /**\n * Creates international transaction with exchange rate\n */\n international(fromCurrency: string, toCurrency: string | undefined, exchangeRate: number, rateDate?: string): CurrencyExchangeRate;\n /**\n * Common exchange rates (these should be updated with real-time rates)\n */\n commonRates: {\n USD_MYR: number;\n SGD_MYR: number;\n EUR_MYR: number;\n GBP_MYR: number;\n JPY_MYR: number;\n AUD_MYR: number;\n };\n};\n/**\n * Tax Calculation Helpers\n */\nexport declare const TaxHelpers: {\n /**\n * Calculates SST (6%) for goods\n */\n calculateSST(amount: number, rate?: number): {\n taxAmount: number;\n totalWithTax: number;\n };\n /**\n * Calculates Service Tax for services\n */\n calculateServiceTax(amount: number, rate?: number): {\n taxAmount: number;\n totalWithTax: number;\n };\n /**\n * Zero-rated calculation (0% tax)\n */\n zeroRated(amount: number): {\n taxAmount: number;\n totalWithTax: number;\n };\n /**\n * Exempt calculation (no tax)\n */\n exempt(amount: number): {\n taxAmount: number;\n totalWithTax: number;\n };\n};\n/**\n * Allowance and Charge Helpers\n */\nexport declare const AllowanceChargeHelpers: {\n /**\n * Creates a discount allowance\n */\n discount(reason: string, amount: number, percentage?: number): AllowanceCharge;\n /**\n * Creates a shipping charge\n */\n shipping(amount: number, description?: string): AllowanceCharge;\n /**\n * Creates an early payment discount\n */\n earlyPaymentDiscount(percentage: number, baseAmount: number): AllowanceCharge;\n /**\n * Creates a handling fee charge\n */\n handlingFee(amount: number): AllowanceCharge;\n};\n/**\n * Delivery Helpers\n */\nexport declare const DeliveryHelpers: {\n /**\n * Creates standard delivery information\n */\n standard(deliveryDate: string, address: {\n addressLine0: string;\n cityName: string;\n postalZone?: string;\n state: string;\n country?: string;\n }): Delivery;\n /**\n * Creates pickup delivery (customer pickup)\n */\n pickup(pickupDate: string): Delivery;\n /**\n * Creates delivery with freight charges\n */\n withFreight(deliveryDate: string, address: any, freightAmount: number, freightDescription?: string): Delivery;\n};\n/**\n * Document Reference Helpers\n */\nexport declare const DocumentReferenceHelpers: {\n /**\n * Creates purchase order reference\n */\n purchaseOrder(poNumber: string): {\n purchaseOrderReference: string;\n };\n /**\n * Creates contract reference\n */\n contract(contractNumber: string): {\n contractReference: string;\n };\n /**\n * Creates project reference\n */\n project(projectNumber: string): {\n projectReference: string;\n };\n /**\n * Creates billing reference\n */\n billing(billingNumber: string): {\n billingReference: string;\n };\n /**\n * Creates customs reference\n */\n customs(customsFormNumber: string): AdditionalDocumentReference;\n /**\n * Creates free trade agreement reference\n */\n freeTradeAgreement(ftaNumber: string, country: string): AdditionalDocumentReference;\n};\n/**\n * Industry Classification Helpers\n */\nexport declare const IndustryHelpers: {\n /**\n * Common industry classifications with proper codes and descriptions\n */\n trading: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n manufacturing: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n software: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n consulting: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n restaurant: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n construction: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n logistics: {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n /**\n * Creates custom industry classification\n */\n custom(code: string, description: string): {\n industryClassificationCode: string;\n industryClassificationDescription: string;\n };\n};\n/**\n * Date and Time Helpers\n */\nexport declare const DateTimeHelpers: {\n /**\n * Gets current date in MyInvois format (YYYY-MM-DD)\n */\n currentDate(): string;\n /**\n * Gets current time in MyInvois format (HH:mm:ssZ)\n */\n currentTime(): string;\n /**\n * Formats date to MyInvois format\n */\n formatDate(date: Date): string;\n /**\n * Formats time to MyInvois format\n */\n formatTime(date: Date): string;\n /**\n * Adds days to a date\n */\n addDays(date: Date, days: number): Date;\n /**\n * Gets billing period for monthly billing\n */\n monthlyPeriod(year: number, month: number): {\n start: string;\n end: string;\n };\n};\n/**\n * Complete Invoice Builder Helper\n */\nexport declare const InvoiceBuilder: {\n /**\n * Creates a basic cash invoice template\n */\n basicCash(invoiceNumber: string): Partial<InvoiceV1_1>;\n /**\n * Creates a business invoice template with bank transfer\n */\n businessInvoice(invoiceNumber: string, accountId: string, netDays?: number): Partial<InvoiceV1_1>;\n /**\n * Creates an international invoice template\n */\n international(invoiceNumber: string, currency: string, exchangeRate: number): Partial<InvoiceV1_1>;\n};\n"],"mappings":";;;AACA,IAAE,iBAAA;CAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACF,IAAW,kBAAkB;CAAC;CAAK,MAAA;CAAA,MAAA;AAAA;AACnC,IAAC,aAAA,CAAA,GAAA;AACD,IAAW,yBAAyB;CAAC;CAAK,MAAM;CAAiB,MAAM;CAAY,MAAA;CAAA,MAAA;AAAA;AACnF,IAAW,kBAAkB;CAAC;CAAK,MAAM;CAAU,MAAM;CAAU,MAAG;AAAA;AACtE,IAAE,2BAAA;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACF,IAAE,kBAAA,CAAA,GAAA;AACF,IAAW,kBAAa;CAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACxB,IAAE,iBAAA;CAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;AAAA"}
|
package/dist/index65.cjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/types/unit/YX.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Enum representing unit type codes starting with 'Y'.
|
|
5
|
+
*/
|
|
6
|
+
let UnitTypeCodeEnum_YX = /* @__PURE__ */ function(UnitTypeCodeEnum_YX$1) {
|
|
7
|
+
UnitTypeCodeEnum_YX$1["SquareYard"] = "YDK";
|
|
8
|
+
UnitTypeCodeEnum_YX$1["CubicYard"] = "YDQ";
|
|
9
|
+
UnitTypeCodeEnum_YX$1["Yard"] = "YRD";
|
|
10
|
+
return UnitTypeCodeEnum_YX$1;
|
|
11
|
+
}({});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.UnitTypeCodeEnum_YX = UnitTypeCodeEnum_YX;
|
|
15
|
+
//# sourceMappingURL=index65.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index65.cjs","names":[],"sources":["../src/types/unit/YX.d.ts"],"sourcesContent":["/**\n * Unit types starting with Y\n * https://sdk.myinvois.hasil.gov.my/codes/unit-types/\n */\nexport type UnitTypeCode_YX =\n | 'YDK' // square yard\n | 'YDQ' // cubic yard\n | 'YRD' // yard\n\n/**\n * Enum representing unit type codes starting with 'Y'.\n */\nexport enum UnitTypeCodeEnum_YX {\n SquareYard = 'YDK',\n CubicYard = 'YDQ',\n Yard = 'YRD',\n}\n"],"mappings":";;;;;AAYA,IAAY,sEAAL;AACL;AACA;AACA;;AACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index65.cts","names":[],"sources":["../src/utils/signature-diagnostics.d.ts"],"sourcesContent":["import type { InvoiceV1_1 } from '../types';\nexport interface CertificateAnalysisResult {\n organizationIdentifier?: string;\n serialNumber?: string;\n issuerName: string;\n subjectName: string;\n issues: string[];\n recommendations: string[];\n}\nexport interface SignatureAnalysisResult {\n documentDigest: string;\n certificateDigest: string;\n signedPropertiesDigest: string;\n issues: string[];\n recommendations: string[];\n}\nexport interface DiagnosticResult {\n certificateAnalysis: CertificateAnalysisResult;\n signatureAnalysis: SignatureAnalysisResult;\n summary: {\n totalIssues: number;\n certificateIssues: number;\n signatureIssues: number;\n };\n}\n/**\n * Comprehensive signature diagnostics\n */\nexport declare function diagnoseSignatureIssues(invoices: InvoiceV1_1[], certificatePem: string): DiagnosticResult;\n/**\n * Prints diagnostic results in a formatted way\n */\nexport declare function printDiagnostics(result: DiagnosticResult): void;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAW,4BAA4B,CAAC,GAAG;AAC3C,IAAW,0BAAwB,CAAA,GAAA;AACnC,IAAW,mBAAc;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACzB,IAAW,0BAAW;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACtB,IAAW,mBAAY,CAAA,KAAA,MAAA,gBAAA"}
|
package/dist/index66.cjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/types/unit/ZX.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Enum representing unit type codes starting with 'Z'.
|
|
5
|
+
*/
|
|
6
|
+
let UnitTypeCodeEnum_ZX = /* @__PURE__ */ function(UnitTypeCodeEnum_ZX$1) {
|
|
7
|
+
UnitTypeCodeEnum_ZX$1["HangingContainer"] = "Z11";
|
|
8
|
+
UnitTypeCodeEnum_ZX$1["Nanomole"] = "Z9";
|
|
9
|
+
UnitTypeCodeEnum_ZX$1["Page"] = "ZP";
|
|
10
|
+
UnitTypeCodeEnum_ZX$1["MutuallyDefined"] = "ZZ";
|
|
11
|
+
return UnitTypeCodeEnum_ZX$1;
|
|
12
|
+
}({});
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
exports.UnitTypeCodeEnum_ZX = UnitTypeCodeEnum_ZX;
|
|
16
|
+
//# sourceMappingURL=index66.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index66.cjs","names":[],"sources":["../src/types/unit/ZX.d.ts"],"sourcesContent":["/**\n * Unit types starting with Z\n * https://sdk.myinvois.hasil.gov.my/codes/unit-types/\n */\nexport type UnitTypeCode_ZX =\n | 'Z11' // hanging container\n | 'Z9' // nanomole\n | 'ZP' // page\n | 'ZZ' // mutually defined\n\n/**\n * Enum representing unit type codes starting with 'Z'.\n */\nexport enum UnitTypeCodeEnum_ZX {\n HangingContainer = 'Z11',\n Nanomole = 'Z9',\n Page = 'ZP',\n MutuallyDefined = 'ZZ',\n}\n"],"mappings":";;;;;AAaA,IAAY,sEAAL;AACL;AACA;AACA;AACA;;AACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index66.cts","names":[],"sources":["../src/utils/validation.d.ts"],"sourcesContent":["import type { InvoiceV1_1 } from '../types/documents/index.js';\n/**\n * MyInvois Invoice Validation Utilities\n *\n * Provides comprehensive validation for invoice data before document generation\n * and submission to ensure compliance with MyInvois business rules and format requirements.\n */\nexport interface ValidationResult {\n isValid: boolean;\n errors: ValidationError[];\n warnings: ValidationWarning[];\n}\nexport interface ValidationError {\n field: string;\n code: string;\n message: string;\n severity: 'error' | 'warning';\n}\nexport interface ValidationWarning extends ValidationError {\n severity: 'warning';\n}\n/**\n * Validates TIN format based on registration type\n */\nexport declare const validateTIN: (tin: string, registrationType?: string) => ValidationError[];\n/**\n * Validates contact number format (E.164 standard)\n */\nexport declare const validateContactNumber: (contactNumber: string) => ValidationError[];\n/**\n * Validates monetary amounts\n */\nexport declare const validateMonetaryAmount: (amount: number, fieldName: string, maxDigits?: number, maxDecimals?: number) => ValidationError[];\n/**\n * Validates tax calculation consistency\n */\nexport declare const validateTaxCalculations: (invoice: InvoiceV1_1) => ValidationError[];\n/**\n * Main validation function for complete invoice\n */\nexport declare const validateInvoice: (invoice: InvoiceV1_1) => ValidationResult;\n"],"mappings":";;;AACA,IAAE,mBAAA;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AACF,IAAW,kBAAkB,CAAC,GAAI;AAClC,IAAC,oBAAA,CAAA,KAAA,MAAA,eAAA;AACD,IAAW,cAAc,CAAC,KAAK,MAAM,eAAgB;AACrD,IAAW,wBAAwB,CAAC,KAAK,MAAM,eAAgB;AAC/D,IAAE,yBAAA,CAAA,KAAA,MAAA,eAAA;AACF,IAAW,0BAAuB;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA;AAClC,IAAW,kBAAS;CAAA;CAAA,MAAA;CAAA,MAAA;AAAA"}
|
package/dist/index7.cjs
ADDED
|
File without changes
|
package/dist/index8.cjs
ADDED
|
File without changes
|
package/dist/index9.cjs
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/types/payment-modes.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Enum representing the allowed payment mode codes with descriptive names.
|
|
5
|
+
* Provides a more readable way to reference payment modes.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const mode = PaymentModeCodeEnum.Cash;
|
|
9
|
+
* console.log(mode); // Output: "01"
|
|
10
|
+
*/
|
|
11
|
+
let PaymentModeCodeEnum = /* @__PURE__ */ function(PaymentModeCodeEnum$1) {
|
|
12
|
+
PaymentModeCodeEnum$1["Cash"] = "01";
|
|
13
|
+
PaymentModeCodeEnum$1["Cheque"] = "02";
|
|
14
|
+
PaymentModeCodeEnum$1["BankTransfer"] = "03";
|
|
15
|
+
PaymentModeCodeEnum$1["CreditCard"] = "04";
|
|
16
|
+
PaymentModeCodeEnum$1["DebitCard"] = "05";
|
|
17
|
+
PaymentModeCodeEnum$1["EWalletDigitalWallet"] = "06";
|
|
18
|
+
PaymentModeCodeEnum$1["DigitalBank"] = "07";
|
|
19
|
+
PaymentModeCodeEnum$1["Others"] = "08";
|
|
20
|
+
return PaymentModeCodeEnum$1;
|
|
21
|
+
}({});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.PaymentModeCodeEnum = PaymentModeCodeEnum;
|
|
25
|
+
//# sourceMappingURL=index9.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index9.cjs","names":[],"sources":["../src/types/payment-modes.d.ts"],"sourcesContent":["/**\n * Represents the allowed codes for payment modes.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/payment-methods/\n */\nexport type PaymentModeCode =\n | '01' // Cash\n | '02' // Cheque\n | '03' // Bank Transfer\n | '04' // Credit Card\n | '05' // Debit Card\n | '06' // e-Wallet / Digital Wallet\n | '07' // Digital Bank\n | '08' // Others\n\n/**\n * Enum representing the allowed payment mode codes with descriptive names.\n * Provides a more readable way to reference payment modes.\n *\n * @example\n * const mode = PaymentModeCodeEnum.Cash;\n * console.log(mode); // Output: \"01\"\n */\nexport enum PaymentModeCodeEnum {\n Cash = '01',\n Cheque = '02',\n BankTransfer = '03',\n CreditCard = '04',\n DebitCard = '05',\n EWalletDigitalWallet = '06',\n DigitalBank = '07',\n Others = '08',\n}\n\n/**\n * Interface representing a payment mode entry.\n * Contains the code and its corresponding description.\n */\nexport interface PaymentMode {\n code: PaymentModeCode\n description: string\n}\n"],"mappings":";;;;;;;;;;AAsBA,IAAY,sEAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MSIC_0X_CODE } from "./0X-CTIq3y3a.js";
|
|
2
|
+
import { MSIC_1X_CODE } from "./1X-Bu4oiv8D.js";
|
|
3
|
+
import { MSIC_2X_CODE } from "./2X-DnG3FY1f.js";
|
|
4
|
+
import { MSIC_3X_CODE } from "./3X-CLdmoel1.js";
|
|
5
|
+
import { MSIC_4X_CODE } from "./4X-BTG6o1Gn.js";
|
|
6
|
+
import { MSIC_5X_CODE } from "./5X-CjSz1zxJ.js";
|
|
7
|
+
import { MSIC_6X_CODE } from "./6X-B9KP_vEn.js";
|
|
8
|
+
import { MSIC_7X_CODE } from "./7X-DtkQutx2.js";
|
|
9
|
+
import { MSIC_8X_CODE } from "./8X-5n9seY3z.js";
|
|
10
|
+
import { MSIC_9X_CODE } from "./9X-Cpb6V4JC.js";
|
|
11
|
+
|
|
12
|
+
//#region src/types/msic-codes.d.ts
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents the allowed 5-digit Malaysia Standard Industrial Classification (MSIC) codes.
|
|
16
|
+
* Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/msic-codes/
|
|
17
|
+
* Interface representing an MSIC code entry.
|
|
18
|
+
* Contains the 5-digit code and its description.
|
|
19
|
+
*/
|
|
20
|
+
interface MSICCode {
|
|
21
|
+
code: MSIC_0X_CODE | MSIC_1X_CODE | MSIC_2X_CODE | MSIC_3X_CODE | MSIC_4X_CODE | MSIC_5X_CODE | MSIC_6X_CODE | MSIC_7X_CODE | MSIC_8X_CODE | MSIC_9X_CODE;
|
|
22
|
+
description: string;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { MSICCode };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { MSIC_0X_CODE } from "./0X-Cr3M7hci.cjs";
|
|
2
|
+
import { MSIC_1X_CODE } from "./1X-CWwmfCzo.cjs";
|
|
3
|
+
import { MSIC_2X_CODE } from "./2X-DNtkJ0tj.cjs";
|
|
4
|
+
import { MSIC_3X_CODE } from "./3X-BOxfatu3.cjs";
|
|
5
|
+
import { MSIC_4X_CODE } from "./4X-C7fzDWJ_.cjs";
|
|
6
|
+
import { MSIC_5X_CODE } from "./5X-CNAFsDm2.cjs";
|
|
7
|
+
import { MSIC_6X_CODE } from "./6X-uObUP4VG.cjs";
|
|
8
|
+
import { MSIC_7X_CODE } from "./7X-BifJnY24.cjs";
|
|
9
|
+
import { MSIC_8X_CODE } from "./8X-DioBXCJ0.cjs";
|
|
10
|
+
import { MSIC_9X_CODE } from "./9X-BjffnXuq.cjs";
|
|
11
|
+
|
|
12
|
+
//#region src/types/msic-codes.d.ts
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents the allowed 5-digit Malaysia Standard Industrial Classification (MSIC) codes.
|
|
16
|
+
* Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/msic-codes/
|
|
17
|
+
* Interface representing an MSIC code entry.
|
|
18
|
+
* Contains the 5-digit code and its description.
|
|
19
|
+
*/
|
|
20
|
+
interface MSICCode {
|
|
21
|
+
code: MSIC_0X_CODE | MSIC_1X_CODE | MSIC_2X_CODE | MSIC_3X_CODE | MSIC_4X_CODE | MSIC_5X_CODE | MSIC_6X_CODE | MSIC_7X_CODE | MSIC_8X_CODE | MSIC_9X_CODE;
|
|
22
|
+
description: string;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { MSICCode };
|
|
26
|
+
//# sourceMappingURL=msic-codes-CIKdPqag.d.cts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region src/types/payment-modes.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Represents the allowed codes for payment modes.
|
|
4
|
+
* Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/payment-methods/
|
|
5
|
+
*/
|
|
6
|
+
type PaymentModeCode = '01' // Cash
|
|
7
|
+
| '02' // Cheque
|
|
8
|
+
| '03' // Bank Transfer
|
|
9
|
+
| '04' // Credit Card
|
|
10
|
+
| '05' // Debit Card
|
|
11
|
+
| '06' // e-Wallet / Digital Wallet
|
|
12
|
+
| '07' // Digital Bank
|
|
13
|
+
| '08'; // Others
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Enum representing the allowed payment mode codes with descriptive names.
|
|
17
|
+
* Provides a more readable way to reference payment modes.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const mode = PaymentModeCodeEnum.Cash;
|
|
21
|
+
* console.log(mode); // Output: "01"
|
|
22
|
+
*/
|
|
23
|
+
declare enum PaymentModeCodeEnum {
|
|
24
|
+
Cash = '01',
|
|
25
|
+
Cheque = '02',
|
|
26
|
+
BankTransfer = '03',
|
|
27
|
+
CreditCard = '04',
|
|
28
|
+
DebitCard = '05',
|
|
29
|
+
EWalletDigitalWallet = '06',
|
|
30
|
+
DigitalBank = '07',
|
|
31
|
+
Others = '08',
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Interface representing a payment mode entry.
|
|
36
|
+
* Contains the code and its corresponding description.
|
|
37
|
+
*/
|
|
38
|
+
interface PaymentMode {
|
|
39
|
+
code: PaymentModeCode;
|
|
40
|
+
description: string;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { PaymentMode, PaymentModeCode, PaymentModeCodeEnum };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/types/payment-modes.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Represents the allowed codes for payment modes.
|
|
4
|
+
* Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/payment-methods/
|
|
5
|
+
*/
|
|
6
|
+
type PaymentModeCode = '01' // Cash
|
|
7
|
+
| '02' // Cheque
|
|
8
|
+
| '03' // Bank Transfer
|
|
9
|
+
| '04' // Credit Card
|
|
10
|
+
| '05' // Debit Card
|
|
11
|
+
| '06' // e-Wallet / Digital Wallet
|
|
12
|
+
| '07' // Digital Bank
|
|
13
|
+
| '08'; // Others
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Enum representing the allowed payment mode codes with descriptive names.
|
|
17
|
+
* Provides a more readable way to reference payment modes.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const mode = PaymentModeCodeEnum.Cash;
|
|
21
|
+
* console.log(mode); // Output: "01"
|
|
22
|
+
*/
|
|
23
|
+
declare enum PaymentModeCodeEnum {
|
|
24
|
+
Cash = '01',
|
|
25
|
+
Cheque = '02',
|
|
26
|
+
BankTransfer = '03',
|
|
27
|
+
CreditCard = '04',
|
|
28
|
+
DebitCard = '05',
|
|
29
|
+
EWalletDigitalWallet = '06',
|
|
30
|
+
DigitalBank = '07',
|
|
31
|
+
Others = '08',
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Interface representing a payment mode entry.
|
|
36
|
+
* Contains the code and its corresponding description.
|
|
37
|
+
*/
|
|
38
|
+
interface PaymentMode {
|
|
39
|
+
code: PaymentModeCode;
|
|
40
|
+
description: string;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { PaymentMode, PaymentModeCode, PaymentModeCodeEnum };
|
|
44
|
+
//# sourceMappingURL=payment-modes-ghFEXnUl.d.cts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/api/platform/platformLogin.ts
|
|
3
|
+
const platformLogin = async (client) => {
|
|
4
|
+
const { clientId, clientSecret, baseUrl, onBehalfOf, debug } = client;
|
|
5
|
+
try {
|
|
6
|
+
const response = await fetch(`${baseUrl}/connect/token`, {
|
|
7
|
+
method: "POST",
|
|
8
|
+
headers: {
|
|
9
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
10
|
+
...onBehalfOf ? { onbehalfof: onBehalfOf } : {}
|
|
11
|
+
},
|
|
12
|
+
body: new URLSearchParams({
|
|
13
|
+
grant_type: "client_credentials",
|
|
14
|
+
client_id: clientId,
|
|
15
|
+
client_secret: clientSecret,
|
|
16
|
+
scope: "InvoicingAPI"
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
const tokenResponse = await response.json();
|
|
20
|
+
return {
|
|
21
|
+
token: tokenResponse.access_token,
|
|
22
|
+
tokenExpiration: new Date(Date.now() + tokenResponse.expires_in * 1e3)
|
|
23
|
+
};
|
|
24
|
+
} catch (error) {
|
|
25
|
+
if (debug) console.error(error);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
Object.defineProperty(exports, 'platformLogin', {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return platformLogin;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=platformLogin-PGzMhw1X.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformLogin-PGzMhw1X.cjs","names":["client: ClientCredentials","tokenResponse: TokenResponse"],"sources":["../src/api/platform/platformLogin.ts"],"sourcesContent":["import type { ClientCredentials, TokenResponse } from '../../types'\n\nexport const platformLogin = async (\n client: ClientCredentials,\n): Promise<{\n token: string\n tokenExpiration: Date\n}> => {\n const { clientId, clientSecret, baseUrl, onBehalfOf, debug } = client\n try {\n const response = await fetch(`${baseUrl}/connect/token`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n ...(onBehalfOf ? { onbehalfof: onBehalfOf } : {}),\n },\n body: new URLSearchParams({\n grant_type: 'client_credentials',\n client_id: clientId,\n client_secret: clientSecret,\n scope: 'InvoicingAPI',\n }),\n })\n\n const tokenResponse: TokenResponse = await response.json()\n return {\n token: tokenResponse.access_token,\n tokenExpiration: new Date(Date.now() + tokenResponse.expires_in * 1000),\n }\n } catch (error) {\n if (debug) console.error(error)\n throw error\n }\n}\n"],"mappings":";;AAEA,MAAa,gBAAgB,OAC3BA,WAII;CACJ,MAAM,EAAE,UAAU,cAAc,SAAS,YAAY,OAAO,GAAG;AAC/D,KAAI;EACF,MAAM,WAAW,MAAM,OAAO,EAAE,QAAQ,iBAAiB;GACvD,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,GAAI,aAAa,EAAE,YAAY,WAAY,IAAG,CAAE;GACjD;GACD,MAAM,IAAI,gBAAgB;IACxB,YAAY;IACZ,WAAW;IACX,eAAe;IACf,OAAO;GACR;EACF,EAAC;EAEF,MAAMC,gBAA+B,MAAM,SAAS,MAAM;AAC1D,SAAO;GACL,OAAO,cAAc;GACrB,iBAAiB,IAAI,KAAK,KAAK,KAAK,GAAG,cAAc,aAAa;EACnE;CACF,SAAQ,OAAO;AACd,MAAI,MAAO,SAAQ,MAAM,MAAM;AAC/B,QAAM;CACP;AACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/api/platform/platformLogin.ts
|
|
2
|
+
const platformLogin = async (client) => {
|
|
3
|
+
const { clientId, clientSecret, baseUrl, onBehalfOf, debug } = client;
|
|
4
|
+
try {
|
|
5
|
+
const response = await fetch(`${baseUrl}/connect/token`, {
|
|
6
|
+
method: "POST",
|
|
7
|
+
headers: {
|
|
8
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
9
|
+
...onBehalfOf ? { onbehalfof: onBehalfOf } : {}
|
|
10
|
+
},
|
|
11
|
+
body: new URLSearchParams({
|
|
12
|
+
grant_type: "client_credentials",
|
|
13
|
+
client_id: clientId,
|
|
14
|
+
client_secret: clientSecret,
|
|
15
|
+
scope: "InvoicingAPI"
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
const tokenResponse = await response.json();
|
|
19
|
+
return {
|
|
20
|
+
token: tokenResponse.access_token,
|
|
21
|
+
tokenExpiration: new Date(Date.now() + tokenResponse.expires_in * 1e3)
|
|
22
|
+
};
|
|
23
|
+
} catch (error) {
|
|
24
|
+
if (debug) console.error(error);
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { platformLogin };
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
//#region src/types/signatures.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Represents the Digest Method structure used within the signature.
|
|
4
|
+
*/
|
|
5
|
+
interface DigestMethod {
|
|
6
|
+
/** Algorithm used for digest. Should be http://www.w3.org/2001/04/xmlenc#sha256 */
|
|
7
|
+
Algorithm: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents the Cert Digest structure.
|
|
12
|
+
*/
|
|
13
|
+
interface CertDigest {
|
|
14
|
+
/** Digest method details. */
|
|
15
|
+
"ds:DigestMethod": DigestMethod;
|
|
16
|
+
/** Base64 encoded HEX-SHA256 certificate information (CertDigest). */
|
|
17
|
+
"ds:DigestValue": string; // base64binary
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Represents the Issuer Serial structure within the Signing Certificate.
|
|
22
|
+
*/
|
|
23
|
+
interface IssuerSerial {
|
|
24
|
+
/** CN of the certificate issuer (Organization name). */
|
|
25
|
+
"ds:X509IssuerName": string;
|
|
26
|
+
/** Digital certificate serial number. */
|
|
27
|
+
"ds:X509SerialNumber": string; // xsd:normalizedString -> string
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Represents the Certificate structure within Signing Certificate.
|
|
32
|
+
*/
|
|
33
|
+
interface Cert {
|
|
34
|
+
/** Certificate digest details. */
|
|
35
|
+
"xades:CertDigest": CertDigest;
|
|
36
|
+
/** Issuer details. */
|
|
37
|
+
"xades:IssuerSerial": IssuerSerial;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Represents the Signing Certificate structure.
|
|
42
|
+
*/
|
|
43
|
+
interface SigningCertificate {
|
|
44
|
+
/** Certificate details. */
|
|
45
|
+
"xades:Cert": Cert;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Represents the Signed Signature Properties.
|
|
50
|
+
*/
|
|
51
|
+
interface SignedSignatureProperties {
|
|
52
|
+
/** UTC timestamp of signing (YYYY-MM-DDTHH:mm:ssZ). */
|
|
53
|
+
"xades:SigningTime": string; // dateTime
|
|
54
|
+
/** Signing certificate details. */
|
|
55
|
+
"xades:SigningCertificate": SigningCertificate;
|
|
56
|
+
// Note: Other optional properties like SignaturePolicyIdentifier might exist
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Represents the Signed Properties structure.
|
|
61
|
+
*/
|
|
62
|
+
interface SignedProperties {
|
|
63
|
+
/** Target attribute, should be 'signature'. */
|
|
64
|
+
Target: string;
|
|
65
|
+
/** ID attribute, should be 'id-xades-signed-props'. */
|
|
66
|
+
Id: string;
|
|
67
|
+
/** Signed signature properties. */
|
|
68
|
+
"xades:SignedSignatureProperties": SignedSignatureProperties;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Represents the Qualifying Properties structure (Object element).
|
|
73
|
+
*/
|
|
74
|
+
interface QualifyingProperties {
|
|
75
|
+
/** Target attribute, should be 'signature'. */
|
|
76
|
+
Target: string;
|
|
77
|
+
/** Signed properties details. */
|
|
78
|
+
"xades:SignedProperties": SignedProperties;
|
|
79
|
+
// Note: UnsignedProperties might exist but are not detailed in the mandatory part
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Represents the X509 Data structure within KeyInfo.
|
|
84
|
+
*/
|
|
85
|
+
interface X509Data {
|
|
86
|
+
/** Base64 encoded X509 certificate. */
|
|
87
|
+
"ds:X509Certificate": string; // base64binary
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Represents the Key Information structure.
|
|
92
|
+
*/
|
|
93
|
+
interface KeyInfo {
|
|
94
|
+
/** X509 certificate data. */
|
|
95
|
+
"ds:X509Data": X509Data;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Represents the Transform structure within Reference.
|
|
100
|
+
*/
|
|
101
|
+
interface Transform {
|
|
102
|
+
/** Algorithm attribute for the transform. */
|
|
103
|
+
Algorithm: string;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Represents a Reference within SignedInfo.
|
|
108
|
+
*/
|
|
109
|
+
interface Reference {
|
|
110
|
+
/** ID attribute for the reference (e.g., 'id-doc-signed-data', 'id-xades-signed-props'). */
|
|
111
|
+
Id?: string;
|
|
112
|
+
/** URI attribute for the reference (e.g., '', '#id-xades-signed-props'). */
|
|
113
|
+
URI: string;
|
|
114
|
+
/** Optional Transforms applied. */
|
|
115
|
+
"ds:Transforms"?: {
|
|
116
|
+
"ds:Transform": Transform | Transform[]; // Can be single or multiple transforms
|
|
117
|
+
};
|
|
118
|
+
/** Digest method details. */
|
|
119
|
+
"ds:DigestMethod": DigestMethod;
|
|
120
|
+
/** Base64 encoded digest value (DocDigest or PropsDigest). */
|
|
121
|
+
"ds:DigestValue": string; // base64binary
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Represents the Canonicalization Method structure.
|
|
126
|
+
*/
|
|
127
|
+
interface CanonicalizationMethod {
|
|
128
|
+
/** Algorithm used for canonicalization. Should be http://www.w3.org/2006/12/xml-c14n11 */
|
|
129
|
+
Algorithm: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Represents the Signature Method structure.
|
|
134
|
+
*/
|
|
135
|
+
interface SignatureMethod {
|
|
136
|
+
/** Algorithm used for signing. Should be http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 */
|
|
137
|
+
Algorithm: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Represents the Signed Information structure.
|
|
142
|
+
*/
|
|
143
|
+
interface SignedInfo {
|
|
144
|
+
/** Canonicalization method details. */
|
|
145
|
+
"ds:CanonicalizationMethod": CanonicalizationMethod;
|
|
146
|
+
/** Signature method details. */
|
|
147
|
+
"ds:SignatureMethod": SignatureMethod;
|
|
148
|
+
/** References to signed data and properties. Should contain two references. */
|
|
149
|
+
"ds:Reference": [Reference, Reference]; // Expecting two: one for document, one for signed properties
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Represents the root Signature element (IssuerDigitalSignature).
|
|
154
|
+
* Based on the documentation: https://sdk.myinvois.hasil.gov.my/signature/
|
|
155
|
+
* Conforms to XAdES enveloped signature requirements for UBL.
|
|
156
|
+
*/
|
|
157
|
+
interface IssuerDigitalSignature {
|
|
158
|
+
/** ID attribute, should be 'DocSig'. */
|
|
159
|
+
Id: string;
|
|
160
|
+
/** Signed information details. */
|
|
161
|
+
"ds:SignedInfo": SignedInfo;
|
|
162
|
+
/** Base64 encoded signature value (Sig). */
|
|
163
|
+
"ds:SignatureValue": string; // base64binary
|
|
164
|
+
/** Public key information (certificate). */
|
|
165
|
+
"ds:KeyInfo": KeyInfo;
|
|
166
|
+
/** Object containing signed properties. */
|
|
167
|
+
"ds:Object": {
|
|
168
|
+
"xades:QualifyingProperties": QualifyingProperties;
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
export { CanonicalizationMethod, Cert, CertDigest, DigestMethod, IssuerDigitalSignature, IssuerSerial, KeyInfo, QualifyingProperties, Reference, SignatureMethod, SignedInfo, SignedProperties, SignedSignatureProperties, SigningCertificate, Transform, X509Data };
|