@ripwords/myinvois-client 0.2.37 → 0.2.38

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 (71) hide show
  1. package/dist/{apiQueue-CfneHIgD.js → apiQueue-DoIYEzN4.js} +6 -9
  2. package/dist/{apiQueue-CiZxlntc.cjs → apiQueue-kVoJdrS-.cjs} +7 -10
  3. package/dist/apiQueue-kVoJdrS-.cjs.map +1 -0
  4. package/dist/index.cjs +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index10.cjs +16 -187
  7. package/dist/index10.cjs.map +1 -1
  8. package/dist/index12.cjs +25 -16
  9. package/dist/index12.cjs.map +1 -1
  10. package/dist/index13.cjs +24 -0
  11. package/dist/{index19.cjs.map → index13.cjs.map} +1 -1
  12. package/dist/index15.cjs +0 -29
  13. package/dist/index16.cjs +0 -25
  14. package/dist/index17.cjs +5 -0
  15. package/dist/index18.cjs +6 -33
  16. package/dist/index19.cjs +4 -23
  17. package/dist/index2.cjs +61 -4
  18. package/dist/{index8.cjs.map → index2.cjs.map} +1 -1
  19. package/dist/index20.cjs +3 -0
  20. package/dist/index21.cjs +3 -0
  21. package/dist/index22.cjs +6 -0
  22. package/dist/index23.cjs +207 -3
  23. package/dist/index23.cjs.map +1 -0
  24. package/dist/index24.cjs +105 -9
  25. package/dist/index24.cjs.map +1 -1
  26. package/dist/index25.cjs +136 -4
  27. package/dist/{index33.cjs.map → index25.cjs.map} +1 -1
  28. package/dist/index26.cjs +63 -21
  29. package/dist/index26.cjs.map +1 -0
  30. package/dist/index27.cjs +266 -2
  31. package/dist/{index35.cjs.map → index27.cjs.map} +1 -1
  32. package/dist/index28.cjs +78 -2
  33. package/dist/{index36.cjs.map → index28.cjs.map} +1 -1
  34. package/dist/index29.cjs +103 -326
  35. package/dist/index29.cjs.map +1 -1
  36. package/dist/index3.cjs +531 -6
  37. package/dist/index3.cjs.map +1 -0
  38. package/dist/index30.cjs +69 -189
  39. package/dist/index30.cjs.map +1 -1
  40. package/dist/index31.cjs +107 -203
  41. package/dist/index31.cjs.map +1 -1
  42. package/dist/index32.cjs +95 -104
  43. package/dist/index32.cjs.map +1 -1
  44. package/dist/index33.cjs +3 -136
  45. package/dist/index34.cjs +9 -60
  46. package/dist/index34.cjs.map +1 -1
  47. package/dist/index35.cjs +4 -266
  48. package/dist/index36.cjs +21 -78
  49. package/dist/index37.cjs +2 -106
  50. package/dist/index38.cjs +2 -72
  51. package/dist/index39.cjs +326 -108
  52. package/dist/index39.cjs.map +1 -1
  53. package/dist/index4.cjs +195 -4
  54. package/dist/index4.cjs.map +1 -0
  55. package/dist/index40.cjs +189 -96
  56. package/dist/index40.cjs.map +1 -1
  57. package/dist/index5.cjs +0 -3
  58. package/dist/index6.cjs +24 -2
  59. package/dist/index6.cjs.map +1 -0
  60. package/dist/index7.cjs +0 -6
  61. package/dist/index8.cjs +0 -62
  62. package/dist/index9.cjs +23 -526
  63. package/dist/index9.cjs.map +1 -1
  64. package/dist/utils/apiQueue.js +1 -1
  65. package/package.json +1 -1
  66. package/dist/apiQueue-CiZxlntc.cjs.map +0 -1
  67. package/dist/index15.cjs.map +0 -1
  68. package/dist/index16.cjs.map +0 -1
  69. package/dist/index18.cjs.map +0 -1
  70. package/dist/index37.cjs.map +0 -1
  71. package/dist/index38.cjs.map +0 -1
@@ -96,10 +96,15 @@ var RateLimiter = class {
96
96
  const requestStartTime = Date.now();
97
97
  this.requestTimes.push(requestStartTime);
98
98
  this.nextAvailable = requestStartTime + this.minInterval;
99
- this.executeRequest(next);
99
+ next();
100
100
  } finally {
101
101
  this.isProcessing = false;
102
102
  }
103
+ if (this.queue.length > 0) {
104
+ const now = Date.now();
105
+ const delay = Math.max(1, this.nextAvailable - now);
106
+ this.scheduleNextDrain(delay);
107
+ }
103
108
  }
104
109
  scheduleNextDrain(delay) {
105
110
  if (this.timer) clearTimeout(this.timer);
@@ -108,14 +113,6 @@ var RateLimiter = class {
108
113
  this.drainQueue();
109
114
  }, Math.max(0, delay));
110
115
  }
111
- async executeRequest(requestFn) {
112
- try {
113
- await requestFn();
114
- } catch {}
115
- setTimeout(() => {
116
- this.drainQueue();
117
- }, 50);
118
- }
119
116
  get queueSize() {
120
117
  return this.queue.length;
121
118
  }
@@ -97,10 +97,15 @@ var RateLimiter = class {
97
97
  const requestStartTime = Date.now();
98
98
  this.requestTimes.push(requestStartTime);
99
99
  this.nextAvailable = requestStartTime + this.minInterval;
100
- this.executeRequest(next);
100
+ next();
101
101
  } finally {
102
102
  this.isProcessing = false;
103
103
  }
104
+ if (this.queue.length > 0) {
105
+ const now = Date.now();
106
+ const delay = Math.max(1, this.nextAvailable - now);
107
+ this.scheduleNextDrain(delay);
108
+ }
104
109
  }
105
110
  scheduleNextDrain(delay) {
106
111
  if (this.timer) clearTimeout(this.timer);
@@ -109,14 +114,6 @@ var RateLimiter = class {
109
114
  this.drainQueue();
110
115
  }, Math.max(0, delay));
111
116
  }
112
- async executeRequest(requestFn) {
113
- try {
114
- await requestFn();
115
- } catch {}
116
- setTimeout(() => {
117
- this.drainQueue();
118
- }, 50);
119
- }
120
117
  get queueSize() {
121
118
  return this.queue.length;
122
119
  }
@@ -200,4 +197,4 @@ Object.defineProperty(exports, 'queueRequest', {
200
197
  return queueRequest;
201
198
  }
202
199
  });
203
- //# sourceMappingURL=apiQueue-CiZxlntc.cjs.map
200
+ //# sourceMappingURL=apiQueue-kVoJdrS-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiQueue-kVoJdrS-.cjs","names":["RATE_LIMITS: Record<ApiCategory, RateLimitConfig>","config: RateLimitConfig","delay: number","fn: () => Promise<T>","debug: boolean","category?: ApiCategory","category: ApiCategory","path: string","method: string"],"sources":["../src/utils/apiQueue.ts"],"sourcesContent":["// A very small utility that provides per-endpoint request queuing with fixed-window rate-limits.\n// The goal is to make sure that we never exceed the vendor-defined limits while also ensuring\n// that every request is eventually executed.\n//\n// NOTE: This is intentionally minimal – no external dependencies are introduced.\n// If you need more advanced features (persistence, jitter, etc.) consider a library such as `bottleneck`.\n\n/*\nRate-limit specification (per 60-second window)\n----------------------------------------------\nLogin as Taxpayer System : 12\nLogin as Intermediary System : 12\nSubmit Documents : 100\nGet Submission : 300\nCancel Document : 12\nReject Document : 12\nGet Document : 60\nGet Document Details : 125\nGet Recent Documents : 12\nSearch Documents : 12\nSearch Taxpayer's TIN : 60\nTaxpayer's QR Code : 60\n*/\n\nexport type ApiCategory =\n | 'loginTaxpayer'\n | 'loginIntermediary'\n | 'submitDocuments'\n | 'getSubmission'\n | 'cancelDocument'\n | 'rejectDocument'\n | 'getDocument'\n | 'getDocumentDetails'\n | 'getRecentDocuments'\n | 'searchDocuments'\n | 'searchTin'\n | 'taxpayerQr'\n | 'default'\n\ninterface RateLimitConfig {\n limit: number\n windowMs: number\n}\n\nconst WINDOW = 60_000 // 60 seconds\n\n// Hard-coded limits based on the specification above.\nconst RATE_LIMITS: Record<ApiCategory, RateLimitConfig> = {\n loginTaxpayer: { limit: 12, windowMs: WINDOW },\n loginIntermediary: { limit: 12, windowMs: WINDOW },\n submitDocuments: { limit: 100, windowMs: WINDOW },\n getSubmission: { limit: 300, windowMs: WINDOW },\n cancelDocument: { limit: 12, windowMs: WINDOW },\n rejectDocument: { limit: 12, windowMs: WINDOW },\n getDocument: { limit: 60, windowMs: WINDOW },\n getDocumentDetails: { limit: 125, windowMs: WINDOW },\n getRecentDocuments: { limit: 12, windowMs: WINDOW },\n searchDocuments: { limit: 12, windowMs: WINDOW },\n searchTin: { limit: 60, windowMs: WINDOW },\n taxpayerQr: { limit: 60, windowMs: WINDOW },\n default: { limit: 10_000, windowMs: WINDOW }, // effectively no limit\n}\n\n/**\n * A token-bucket style rate-limiter with queuing.\n * Uses a sliding window approach to allow bursts while respecting overall limits.\n * Each category gets its own instance so limits remain isolated.\n */\nclass RateLimiter {\n private readonly limit: number\n private readonly windowMs: number\n private readonly minInterval: number\n\n private queue: Array<() => void> = []\n private nextAvailable = 0 // timestamp (ms) when the next request can be executed\n private timer: NodeJS.Timeout | null = null\n private requestTimes: number[] = [] // Track request timestamps for sliding window\n private isProcessing = false // Prevent race conditions in drainQueue\n\n constructor(config: RateLimitConfig) {\n this.limit = config.limit\n this.windowMs = config.windowMs\n // Use a more reasonable interval that allows bursts while preventing 429s\n // Allow bursts up to 50% of the limit, then space out remaining requests\n const baseInterval = Math.ceil((this.windowMs / this.limit) * 0.5) // 50% of even spacing\n const isTestEnv = process.env.NODE_ENV === 'test'\n const forceReal = process.env.APIQUEUE_REAL_INTERVAL === 'true'\n // In unit-test envs we use minimal spacing unless explicitly forced back on.\n // This prevents test failures while still maintaining some rate limiting\n this.minInterval =\n isTestEnv && !forceReal ? Math.min(10, baseInterval) : baseInterval\n }\n\n private drainQueue() {\n // Prevent race conditions by ensuring only one drainQueue runs at a time\n if (this.isProcessing || this.queue.length === 0) {\n return\n }\n\n this.isProcessing = true\n\n try {\n const now = Date.now()\n\n // Clean up old request times outside the window\n this.requestTimes = this.requestTimes.filter(\n time => now - time < this.windowMs,\n )\n\n // Check if we can make another request within the rate limit\n if (this.requestTimes.length >= this.limit) {\n // We've hit the limit, schedule for when the oldest request expires\n const oldestRequest = Math.min(...this.requestTimes)\n const nextAvailable = oldestRequest + this.windowMs\n\n this.scheduleNextDrain(nextAvailable - now)\n return\n }\n\n // Check minimum interval constraint\n if (now < this.nextAvailable) {\n // Too early – schedule when we're allowed to execute next\n this.scheduleNextDrain(this.nextAvailable - now)\n return\n }\n\n // Execute the next queued task\n const next = this.queue.shift()!\n const requestStartTime = Date.now()\n this.requestTimes.push(requestStartTime)\n this.nextAvailable = requestStartTime + this.minInterval\n\n // Execute the request immediately\n next()\n } finally {\n this.isProcessing = false\n }\n\n // After resetting isProcessing, check if there are more requests\n // and schedule the next drain with appropriate delay\n if (this.queue.length > 0) {\n // Calculate delay until we can process the next request\n const now = Date.now()\n const delay = Math.max(1, this.nextAvailable - now)\n\n // Use scheduleNextDrain to ensure only one timer is active\n this.scheduleNextDrain(delay)\n }\n }\n\n private scheduleNextDrain(delay: number) {\n if (this.timer) {\n clearTimeout(this.timer)\n }\n\n this.timer = setTimeout(\n () => {\n this.timer = null\n this.drainQueue()\n },\n Math.max(0, delay),\n )\n }\n\n get queueSize() {\n return this.queue.length\n }\n\n // Cleanup method to prevent memory leaks\n cleanup() {\n if (this.timer) {\n clearTimeout(this.timer)\n this.timer = null\n }\n this.queue = []\n this.requestTimes = []\n this.isProcessing = false\n }\n\n schedule<T>(\n fn: () => Promise<T>,\n debug: boolean = false,\n category?: ApiCategory,\n ): Promise<T> {\n return new Promise((resolve, reject) => {\n const execute = () => {\n if (debug && category) {\n console.log(\n `[apiQueue] ▶️ Executing request (${category}). Remaining queue: ${this.queue.length}`,\n )\n }\n try {\n const result = fn()\n if (result && typeof (result as any).then === 'function') {\n ;(result as Promise<T>).then(resolve).catch(reject)\n } else {\n resolve(result as T)\n }\n } catch (err) {\n reject(err)\n }\n }\n\n if (debug && category) {\n console.log(\n `[apiQueue] ⏳ Queued request (${category}). Queue length before push: ${this.queue.length}`,\n )\n }\n\n this.queue.push(execute)\n this.drainQueue()\n })\n }\n}\n\n// A shared registry of limiters keyed by category\nconst limiterRegistry = new Map<ApiCategory, RateLimiter>()\n\nfunction getLimiter(category: ApiCategory): RateLimiter {\n if (!limiterRegistry.has(category)) {\n limiterRegistry.set(category, new RateLimiter(RATE_LIMITS[category]))\n }\n // Non-null because we just set it if missing.\n return limiterRegistry.get(category) as RateLimiter\n}\n\n/**\n * Public helper to schedule a request according to the category's limits.\n */\nexport function queueRequest<T>(\n category: ApiCategory,\n fn: () => Promise<T>,\n debug: boolean = false,\n): Promise<T> {\n const limiter = getLimiter(category)\n return limiter.schedule(fn, debug, category)\n}\n\n/**\n * Very naive path-based category detection. If no matcher fits, the `default` category\n * (effectively unlimited) is returned. Adjust these heuristics as your API surface evolves.\n */\nexport function categorizeRequest(\n path: string,\n method: string = 'GET',\n): ApiCategory {\n const cleanPath = path.toLowerCase()\n const isPost = method?.toUpperCase() === 'POST'\n\n if (cleanPath.includes('/documentsubmissions')) {\n return isPost ? 'submitDocuments' : 'getSubmission'\n }\n\n if (cleanPath.includes('/documentmanagement')) {\n if (cleanPath.endsWith('/cancel')) return 'cancelDocument'\n if (cleanPath.endsWith('/reject')) return 'rejectDocument'\n if (cleanPath.endsWith('/details')) return 'getDocumentDetails'\n if (cleanPath.includes('/recent')) return 'getRecentDocuments'\n // Fallbacks inside document management\n return method === 'GET' ? 'getDocument' : 'searchDocuments'\n }\n\n if (cleanPath.includes('/searchtin')) return 'searchTin'\n if (cleanPath.includes('/qrcode')) return 'taxpayerQr'\n if (cleanPath.includes('/connect/token')) {\n // Distinguish between taxpayer & intermediary based on path hint if possible\n return 'loginTaxpayer'\n }\n\n // -----------------------------\n // New path matchers (v1.0 endpoints)\n // -----------------------------\n\n // Search Documents\n if (cleanPath.includes('/documents/search')) {\n return 'searchDocuments'\n }\n\n // Document raw content\n if (/\\/documents\\/[^/]+\\/raw$/.test(cleanPath)) {\n return 'getDocument'\n }\n\n // Document details\n if (/\\/documents\\/[^/]+\\/details$/.test(cleanPath)) {\n return 'getDocumentDetails'\n }\n\n // Document state actions (cancel/reject)\n if (cleanPath.includes('/documents/state/')) {\n return isPost ? 'cancelDocument' : 'getDocument'\n }\n\n // Taxpayer TIN search & validation share same limit bucket\n if (cleanPath.includes('/taxpayer/search/tin')) return 'searchTin'\n if (cleanPath.includes('/taxpayer/validate/')) return 'searchTin'\n\n // Taxpayer QR code info\n if (cleanPath.includes('/taxpayer/qrcode')) return 'taxpayerQr'\n\n return 'default'\n}\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -8,7 +8,7 @@ const require_platformLogin = require('./platformLogin-BVTUzLjd.cjs');
8
8
  const require_taxpayerValidation = require('./taxpayerValidation-D_jGaVty.cjs');
9
9
  const require_certificate = require('./certificate-CWmfCPdt.cjs');
10
10
  const require_getBaseUrl = require('./getBaseUrl-D0G4GZmp.cjs');
11
- const require_apiQueue = require('./apiQueue-CiZxlntc.cjs');
11
+ const require_apiQueue = require('./apiQueue-kVoJdrS-.cjs');
12
12
 
13
13
  //#region src/index.ts
14
14
  var MyInvoisClient = class MyInvoisClient {
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { platformLogin } from "./platformLogin-B6f18bB7.js";
8
8
  import { taxpayerQRCode, tinSearch, verifyTin } from "./taxpayerValidation-y6P-Es0S.js";
9
9
  import { extractCertificateInfo, getPemFromP12, validateKeyPair } from "./certificate-COwqszxD.js";
10
10
  import { getBaseUrl } from "./getBaseUrl-D7nUmoYb.js";
11
- import { categorizeRequest, queueRequest } from "./apiQueue-CfneHIgD.js";
11
+ import { categorizeRequest, queueRequest } from "./apiQueue-DoIYEzN4.js";
12
12
 
13
13
  //#region src/index.ts
14
14
  var MyInvoisClient = class MyInvoisClient {
package/dist/index10.cjs CHANGED
@@ -1,196 +1,25 @@
1
1
 
2
- //#region src/types/currencies.d.ts
2
+ //#region src/types/payment-modes.d.ts
3
3
  /**
4
- * Enum representing the allowed ISO-4217 3-letter currency codes.
5
- * Provides a more readable way to reference currency codes.
4
+ * Enum representing the allowed payment mode codes with descriptive names.
5
+ * Provides a more readable way to reference payment modes.
6
6
  *
7
7
  * @example
8
- * const currency = CurrencyCodeEnum.MYR;
9
- * console.log(currency); // Output: "MYR"
8
+ * const mode = PaymentModeCodeEnum.Cash;
9
+ * console.log(mode); // Output: "01"
10
10
  */
11
- let CurrencyCodeEnum = /* @__PURE__ */ function(CurrencyCodeEnum$1) {
12
- CurrencyCodeEnum$1["AED"] = "AED";
13
- CurrencyCodeEnum$1["AFN"] = "AFN";
14
- CurrencyCodeEnum$1["ALL"] = "ALL";
15
- CurrencyCodeEnum$1["AMD"] = "AMD";
16
- CurrencyCodeEnum$1["ANG"] = "ANG";
17
- CurrencyCodeEnum$1["AOA"] = "AOA";
18
- CurrencyCodeEnum$1["ARS"] = "ARS";
19
- CurrencyCodeEnum$1["AUD"] = "AUD";
20
- CurrencyCodeEnum$1["AWG"] = "AWG";
21
- CurrencyCodeEnum$1["AZN"] = "AZN";
22
- CurrencyCodeEnum$1["BAM"] = "BAM";
23
- CurrencyCodeEnum$1["BBD"] = "BBD";
24
- CurrencyCodeEnum$1["BDT"] = "BDT";
25
- CurrencyCodeEnum$1["BGN"] = "BGN";
26
- CurrencyCodeEnum$1["BHD"] = "BHD";
27
- CurrencyCodeEnum$1["BIF"] = "BIF";
28
- CurrencyCodeEnum$1["BMD"] = "BMD";
29
- CurrencyCodeEnum$1["BND"] = "BND";
30
- CurrencyCodeEnum$1["BOB"] = "BOB";
31
- CurrencyCodeEnum$1["BOV"] = "BOV";
32
- CurrencyCodeEnum$1["BRL"] = "BRL";
33
- CurrencyCodeEnum$1["BSD"] = "BSD";
34
- CurrencyCodeEnum$1["BTN"] = "BTN";
35
- CurrencyCodeEnum$1["BWP"] = "BWP";
36
- CurrencyCodeEnum$1["BYN"] = "BYN";
37
- CurrencyCodeEnum$1["BZD"] = "BZD";
38
- CurrencyCodeEnum$1["CAD"] = "CAD";
39
- CurrencyCodeEnum$1["CDF"] = "CDF";
40
- CurrencyCodeEnum$1["CHE"] = "CHE";
41
- CurrencyCodeEnum$1["CHF"] = "CHF";
42
- CurrencyCodeEnum$1["CHW"] = "CHW";
43
- CurrencyCodeEnum$1["CLF"] = "CLF";
44
- CurrencyCodeEnum$1["CLP"] = "CLP";
45
- CurrencyCodeEnum$1["CNY"] = "CNY";
46
- CurrencyCodeEnum$1["COP"] = "COP";
47
- CurrencyCodeEnum$1["COU"] = "COU";
48
- CurrencyCodeEnum$1["CRC"] = "CRC";
49
- CurrencyCodeEnum$1["CUC"] = "CUC";
50
- CurrencyCodeEnum$1["CUP"] = "CUP";
51
- CurrencyCodeEnum$1["CVE"] = "CVE";
52
- CurrencyCodeEnum$1["CZK"] = "CZK";
53
- CurrencyCodeEnum$1["DJF"] = "DJF";
54
- CurrencyCodeEnum$1["DKK"] = "DKK";
55
- CurrencyCodeEnum$1["DOP"] = "DOP";
56
- CurrencyCodeEnum$1["DZD"] = "DZD";
57
- CurrencyCodeEnum$1["EGP"] = "EGP";
58
- CurrencyCodeEnum$1["ERN"] = "ERN";
59
- CurrencyCodeEnum$1["ETB"] = "ETB";
60
- CurrencyCodeEnum$1["EUR"] = "EUR";
61
- CurrencyCodeEnum$1["FJD"] = "FJD";
62
- CurrencyCodeEnum$1["FKP"] = "FKP";
63
- CurrencyCodeEnum$1["GBP"] = "GBP";
64
- CurrencyCodeEnum$1["GEL"] = "GEL";
65
- CurrencyCodeEnum$1["GHS"] = "GHS";
66
- CurrencyCodeEnum$1["GIP"] = "GIP";
67
- CurrencyCodeEnum$1["GMD"] = "GMD";
68
- CurrencyCodeEnum$1["GNF"] = "GNF";
69
- CurrencyCodeEnum$1["GTQ"] = "GTQ";
70
- CurrencyCodeEnum$1["GYD"] = "GYD";
71
- CurrencyCodeEnum$1["HKD"] = "HKD";
72
- CurrencyCodeEnum$1["HNL"] = "HNL";
73
- CurrencyCodeEnum$1["HRK"] = "HRK";
74
- CurrencyCodeEnum$1["HTG"] = "HTG";
75
- CurrencyCodeEnum$1["HUF"] = "HUF";
76
- CurrencyCodeEnum$1["IDR"] = "IDR";
77
- CurrencyCodeEnum$1["ILS"] = "ILS";
78
- CurrencyCodeEnum$1["INR"] = "INR";
79
- CurrencyCodeEnum$1["IQD"] = "IQD";
80
- CurrencyCodeEnum$1["IRR"] = "IRR";
81
- CurrencyCodeEnum$1["ISK"] = "ISK";
82
- CurrencyCodeEnum$1["JMD"] = "JMD";
83
- CurrencyCodeEnum$1["JOD"] = "JOD";
84
- CurrencyCodeEnum$1["JPY"] = "JPY";
85
- CurrencyCodeEnum$1["KES"] = "KES";
86
- CurrencyCodeEnum$1["KGS"] = "KGS";
87
- CurrencyCodeEnum$1["KHR"] = "KHR";
88
- CurrencyCodeEnum$1["KMF"] = "KMF";
89
- CurrencyCodeEnum$1["KPW"] = "KPW";
90
- CurrencyCodeEnum$1["KRW"] = "KRW";
91
- CurrencyCodeEnum$1["KWD"] = "KWD";
92
- CurrencyCodeEnum$1["KYD"] = "KYD";
93
- CurrencyCodeEnum$1["KZT"] = "KZT";
94
- CurrencyCodeEnum$1["LAK"] = "LAK";
95
- CurrencyCodeEnum$1["LBP"] = "LBP";
96
- CurrencyCodeEnum$1["LKR"] = "LKR";
97
- CurrencyCodeEnum$1["LRD"] = "LRD";
98
- CurrencyCodeEnum$1["LSL"] = "LSL";
99
- CurrencyCodeEnum$1["LYD"] = "LYD";
100
- CurrencyCodeEnum$1["MAD"] = "MAD";
101
- CurrencyCodeEnum$1["MDL"] = "MDL";
102
- CurrencyCodeEnum$1["MGA"] = "MGA";
103
- CurrencyCodeEnum$1["MKD"] = "MKD";
104
- CurrencyCodeEnum$1["MMK"] = "MMK";
105
- CurrencyCodeEnum$1["MNT"] = "MNT";
106
- CurrencyCodeEnum$1["MOP"] = "MOP";
107
- CurrencyCodeEnum$1["MRU"] = "MRU";
108
- CurrencyCodeEnum$1["MUR"] = "MUR";
109
- CurrencyCodeEnum$1["MVR"] = "MVR";
110
- CurrencyCodeEnum$1["MWK"] = "MWK";
111
- CurrencyCodeEnum$1["MXN"] = "MXN";
112
- CurrencyCodeEnum$1["MXV"] = "MXV";
113
- CurrencyCodeEnum$1["MYR"] = "MYR";
114
- CurrencyCodeEnum$1["MZN"] = "MZN";
115
- CurrencyCodeEnum$1["NAD"] = "NAD";
116
- CurrencyCodeEnum$1["NGN"] = "NGN";
117
- CurrencyCodeEnum$1["NIO"] = "NIO";
118
- CurrencyCodeEnum$1["NOK"] = "NOK";
119
- CurrencyCodeEnum$1["NPR"] = "NPR";
120
- CurrencyCodeEnum$1["NZD"] = "NZD";
121
- CurrencyCodeEnum$1["OMR"] = "OMR";
122
- CurrencyCodeEnum$1["PAB"] = "PAB";
123
- CurrencyCodeEnum$1["PEN"] = "PEN";
124
- CurrencyCodeEnum$1["PGK"] = "PGK";
125
- CurrencyCodeEnum$1["PHP"] = "PHP";
126
- CurrencyCodeEnum$1["PKR"] = "PKR";
127
- CurrencyCodeEnum$1["PLN"] = "PLN";
128
- CurrencyCodeEnum$1["PYG"] = "PYG";
129
- CurrencyCodeEnum$1["QAR"] = "QAR";
130
- CurrencyCodeEnum$1["RON"] = "RON";
131
- CurrencyCodeEnum$1["RSD"] = "RSD";
132
- CurrencyCodeEnum$1["RUB"] = "RUB";
133
- CurrencyCodeEnum$1["RWF"] = "RWF";
134
- CurrencyCodeEnum$1["SAR"] = "SAR";
135
- CurrencyCodeEnum$1["SBD"] = "SBD";
136
- CurrencyCodeEnum$1["SCR"] = "SCR";
137
- CurrencyCodeEnum$1["SDG"] = "SDG";
138
- CurrencyCodeEnum$1["SEK"] = "SEK";
139
- CurrencyCodeEnum$1["SGD"] = "SGD";
140
- CurrencyCodeEnum$1["SHP"] = "SHP";
141
- CurrencyCodeEnum$1["SLL"] = "SLL";
142
- CurrencyCodeEnum$1["SOS"] = "SOS";
143
- CurrencyCodeEnum$1["SRD"] = "SRD";
144
- CurrencyCodeEnum$1["SSP"] = "SSP";
145
- CurrencyCodeEnum$1["STN"] = "STN";
146
- CurrencyCodeEnum$1["SVC"] = "SVC";
147
- CurrencyCodeEnum$1["SYP"] = "SYP";
148
- CurrencyCodeEnum$1["SZL"] = "SZL";
149
- CurrencyCodeEnum$1["THB"] = "THB";
150
- CurrencyCodeEnum$1["TJS"] = "TJS";
151
- CurrencyCodeEnum$1["TMT"] = "TMT";
152
- CurrencyCodeEnum$1["TND"] = "TND";
153
- CurrencyCodeEnum$1["TOP"] = "TOP";
154
- CurrencyCodeEnum$1["TRY"] = "TRY";
155
- CurrencyCodeEnum$1["TTD"] = "TTD";
156
- CurrencyCodeEnum$1["TWD"] = "TWD";
157
- CurrencyCodeEnum$1["TZS"] = "TZS";
158
- CurrencyCodeEnum$1["UAH"] = "UAH";
159
- CurrencyCodeEnum$1["UGX"] = "UGX";
160
- CurrencyCodeEnum$1["USD"] = "USD";
161
- CurrencyCodeEnum$1["USN"] = "USN";
162
- CurrencyCodeEnum$1["UYI"] = "UYI";
163
- CurrencyCodeEnum$1["UYU"] = "UYU";
164
- CurrencyCodeEnum$1["UYW"] = "UYW";
165
- CurrencyCodeEnum$1["UZS"] = "UZS";
166
- CurrencyCodeEnum$1["VED"] = "VED";
167
- CurrencyCodeEnum$1["VES"] = "VES";
168
- CurrencyCodeEnum$1["VND"] = "VND";
169
- CurrencyCodeEnum$1["VUV"] = "VUV";
170
- CurrencyCodeEnum$1["WST"] = "WST";
171
- CurrencyCodeEnum$1["XAF"] = "XAF";
172
- CurrencyCodeEnum$1["XAG"] = "XAG";
173
- CurrencyCodeEnum$1["XAU"] = "XAU";
174
- CurrencyCodeEnum$1["XBA"] = "XBA";
175
- CurrencyCodeEnum$1["XBB"] = "XBB";
176
- CurrencyCodeEnum$1["XBC"] = "XBC";
177
- CurrencyCodeEnum$1["XBD"] = "XBD";
178
- CurrencyCodeEnum$1["XCD"] = "XCD";
179
- CurrencyCodeEnum$1["XDR"] = "XDR";
180
- CurrencyCodeEnum$1["XOF"] = "XOF";
181
- CurrencyCodeEnum$1["XPD"] = "XPD";
182
- CurrencyCodeEnum$1["XPF"] = "XPF";
183
- CurrencyCodeEnum$1["XPT"] = "XPT";
184
- CurrencyCodeEnum$1["XSU"] = "XSU";
185
- CurrencyCodeEnum$1["XUA"] = "XUA";
186
- CurrencyCodeEnum$1["XXX"] = "XXX";
187
- CurrencyCodeEnum$1["YER"] = "YER";
188
- CurrencyCodeEnum$1["ZAR"] = "ZAR";
189
- CurrencyCodeEnum$1["ZMW"] = "ZMW";
190
- CurrencyCodeEnum$1["ZWL"] = "ZWL";
191
- return CurrencyCodeEnum$1;
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;
192
21
  }({});
193
22
 
194
23
  //#endregion
195
- exports.CurrencyCodeEnum = CurrencyCodeEnum;
24
+ exports.PaymentModeCodeEnum = PaymentModeCodeEnum;
196
25
  //# sourceMappingURL=index10.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index10.cjs","names":[],"sources":["../src/types/currencies.d.ts"],"sourcesContent":["/**\n * Represents the allowed ISO-4217 3-letter currency codes.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/currencies/\n */\nexport type CurrencyCode =\n | 'AED'\n | 'AFN'\n | 'ALL'\n | 'AMD'\n | 'ANG'\n | 'AOA'\n | 'ARS'\n | 'AUD'\n | 'AWG'\n | 'AZN'\n | 'BAM'\n | 'BBD'\n | 'BDT'\n | 'BGN'\n | 'BHD'\n | 'BIF'\n | 'BMD'\n | 'BND'\n | 'BOB'\n | 'BOV'\n | 'BRL'\n | 'BSD'\n | 'BTN'\n | 'BWP'\n | 'BYN'\n | 'BZD'\n | 'CAD'\n | 'CDF'\n | 'CHE'\n | 'CHF'\n | 'CHW'\n | 'CLF'\n | 'CLP'\n | 'CNY'\n | 'COP'\n | 'COU'\n | 'CRC'\n | 'CUC'\n | 'CUP'\n | 'CVE'\n | 'CZK'\n | 'DJF'\n | 'DKK'\n | 'DOP'\n | 'DZD'\n | 'EGP'\n | 'ERN'\n | 'ETB'\n | 'EUR'\n | 'FJD'\n | 'FKP'\n | 'GBP'\n | 'GEL'\n | 'GHS'\n | 'GIP'\n | 'GMD'\n | 'GNF'\n | 'GTQ'\n | 'GYD'\n | 'HKD'\n | 'HNL'\n | 'HRK'\n | 'HTG'\n | 'HUF'\n | 'IDR'\n | 'ILS'\n | 'INR'\n | 'IQD'\n | 'IRR'\n | 'ISK'\n | 'JMD'\n | 'JOD'\n | 'JPY'\n | 'KES'\n | 'KGS'\n | 'KHR'\n | 'KMF'\n | 'KPW'\n | 'KRW'\n | 'KWD'\n | 'KYD'\n | 'KZT'\n | 'LAK'\n | 'LBP'\n | 'LKR'\n | 'LRD'\n | 'LSL'\n | 'LYD'\n | 'MAD'\n | 'MDL'\n | 'MGA'\n | 'MKD'\n | 'MMK'\n | 'MNT'\n | 'MOP'\n | 'MRU'\n | 'MUR'\n | 'MVR'\n | 'MWK'\n | 'MXN'\n | 'MXV'\n | 'MYR'\n | 'MZN'\n | 'NAD'\n | 'NGN'\n | 'NIO'\n | 'NOK'\n | 'NPR'\n | 'NZD'\n | 'OMR'\n | 'PAB'\n | 'PEN'\n | 'PGK'\n | 'PHP'\n | 'PKR'\n | 'PLN'\n | 'PYG'\n | 'QAR'\n | 'RON'\n | 'RSD'\n | 'RUB'\n | 'RWF'\n | 'SAR'\n | 'SBD'\n | 'SCR'\n | 'SDG'\n | 'SEK'\n | 'SGD'\n | 'SHP'\n | 'SLL'\n | 'SOS'\n | 'SRD'\n | 'SSP'\n | 'STN'\n | 'SVC'\n | 'SYP'\n | 'SZL'\n | 'THB'\n | 'TJS'\n | 'TMT'\n | 'TND'\n | 'TOP'\n | 'TRY'\n | 'TTD'\n | 'TWD'\n | 'TZS'\n | 'UAH'\n | 'UGX'\n | 'USD'\n | 'USN'\n | 'UYI'\n | 'UYU'\n | 'UYW'\n | 'UZS'\n | 'VED'\n | 'VES'\n | 'VND'\n | 'VUV'\n | 'WST'\n | 'XAF'\n | 'XAG'\n | 'XAU'\n | 'XBA'\n | 'XBB'\n | 'XBC'\n | 'XBD'\n | 'XCD'\n | 'XDR'\n | 'XOF'\n | 'XPD'\n | 'XPF'\n | 'XPT'\n | 'XSU'\n | 'XUA'\n | 'XXX'\n | 'YER'\n | 'ZAR'\n | 'ZMW'\n | 'ZWL'\n\n/**\n * Enum representing the allowed ISO-4217 3-letter currency codes.\n * Provides a more readable way to reference currency codes.\n *\n * @example\n * const currency = CurrencyCodeEnum.MYR;\n * console.log(currency); // Output: \"MYR\"\n */\nexport enum CurrencyCodeEnum {\n AED = 'AED',\n AFN = 'AFN',\n ALL = 'ALL',\n AMD = 'AMD',\n ANG = 'ANG',\n AOA = 'AOA',\n ARS = 'ARS',\n AUD = 'AUD',\n AWG = 'AWG',\n AZN = 'AZN',\n BAM = 'BAM',\n BBD = 'BBD',\n BDT = 'BDT',\n BGN = 'BGN',\n BHD = 'BHD',\n BIF = 'BIF',\n BMD = 'BMD',\n BND = 'BND',\n BOB = 'BOB',\n BOV = 'BOV',\n BRL = 'BRL',\n BSD = 'BSD',\n BTN = 'BTN',\n BWP = 'BWP',\n BYN = 'BYN',\n BZD = 'BZD',\n CAD = 'CAD',\n CDF = 'CDF',\n CHE = 'CHE',\n CHF = 'CHF',\n CHW = 'CHW',\n CLF = 'CLF',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n COU = 'COU',\n CRC = 'CRC',\n CUC = 'CUC',\n CUP = 'CUP',\n CVE = 'CVE',\n CZK = 'CZK',\n DJF = 'DJF',\n DKK = 'DKK',\n DOP = 'DOP',\n DZD = 'DZD',\n EGP = 'EGP',\n ERN = 'ERN',\n ETB = 'ETB',\n EUR = 'EUR',\n FJD = 'FJD',\n FKP = 'FKP',\n GBP = 'GBP',\n GEL = 'GEL',\n GHS = 'GHS',\n GIP = 'GIP',\n GMD = 'GMD',\n GNF = 'GNF',\n GTQ = 'GTQ',\n GYD = 'GYD',\n HKD = 'HKD',\n HNL = 'HNL',\n HRK = 'HRK',\n HTG = 'HTG',\n HUF = 'HUF',\n IDR = 'IDR',\n ILS = 'ILS',\n INR = 'INR',\n IQD = 'IQD',\n IRR = 'IRR',\n ISK = 'ISK',\n JMD = 'JMD',\n JOD = 'JOD',\n JPY = 'JPY',\n KES = 'KES',\n KGS = 'KGS',\n KHR = 'KHR',\n KMF = 'KMF',\n KPW = 'KPW',\n KRW = 'KRW',\n KWD = 'KWD',\n KYD = 'KYD',\n KZT = 'KZT',\n LAK = 'LAK',\n LBP = 'LBP',\n LKR = 'LKR',\n LRD = 'LRD',\n LSL = 'LSL',\n LYD = 'LYD',\n MAD = 'MAD',\n MDL = 'MDL',\n MGA = 'MGA',\n MKD = 'MKD',\n MMK = 'MMK',\n MNT = 'MNT',\n MOP = 'MOP',\n MRU = 'MRU',\n MUR = 'MUR',\n MVR = 'MVR',\n MWK = 'MWK',\n MXN = 'MXN',\n MXV = 'MXV',\n MYR = 'MYR',\n MZN = 'MZN',\n NAD = 'NAD',\n NGN = 'NGN',\n NIO = 'NIO',\n NOK = 'NOK',\n NPR = 'NPR',\n NZD = 'NZD',\n OMR = 'OMR',\n PAB = 'PAB',\n PEN = 'PEN',\n PGK = 'PGK',\n PHP = 'PHP',\n PKR = 'PKR',\n PLN = 'PLN',\n PYG = 'PYG',\n QAR = 'QAR',\n RON = 'RON',\n RSD = 'RSD',\n RUB = 'RUB',\n RWF = 'RWF',\n SAR = 'SAR',\n SBD = 'SBD',\n SCR = 'SCR',\n SDG = 'SDG',\n SEK = 'SEK',\n SGD = 'SGD',\n SHP = 'SHP',\n SLL = 'SLL',\n SOS = 'SOS',\n SRD = 'SRD',\n SSP = 'SSP',\n STN = 'STN',\n SVC = 'SVC',\n SYP = 'SYP',\n SZL = 'SZL',\n THB = 'THB',\n TJS = 'TJS',\n TMT = 'TMT',\n TND = 'TND',\n TOP = 'TOP',\n TRY = 'TRY',\n TTD = 'TTD',\n TWD = 'TWD',\n TZS = 'TZS',\n UAH = 'UAH',\n UGX = 'UGX',\n USD = 'USD',\n USN = 'USN',\n UYI = 'UYI',\n UYU = 'UYU',\n UYW = 'UYW',\n UZS = 'UZS',\n VED = 'VED',\n VES = 'VES',\n VND = 'VND',\n VUV = 'VUV',\n WST = 'WST',\n XAF = 'XAF',\n XAG = 'XAG',\n XAU = 'XAU',\n XBA = 'XBA',\n XBB = 'XBB',\n XBC = 'XBC',\n XBD = 'XBD',\n XCD = 'XCD',\n XDR = 'XDR',\n XOF = 'XOF',\n XPD = 'XPD',\n XPF = 'XPF',\n XPT = 'XPT',\n XSU = 'XSU',\n XUA = 'XUA',\n XXX = 'XXX',\n YER = 'YER',\n ZAR = 'ZAR',\n ZMW = 'ZMW',\n ZWL = 'ZWL',\n}\n\n/**\n * Interface representing a currency entry.\n * Contains the ISO-4217 code and the currency name.\n */\nexport interface Currency {\n code: CurrencyCode\n name: string\n}\n"],"mappings":";;;;;;;;;;AAiMA,IAAY,gEAAL;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;;AACD"}
1
+ {"version":3,"file":"index10.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"}
package/dist/index12.cjs CHANGED
@@ -1,25 +1,34 @@
1
1
 
2
- //#region src/types/e-invoice.d.ts
2
+ //#region src/types/state-codes.d.ts
3
3
  /**
4
- * Enum representing the allowed codes for e-Invoice types with descriptive names.
5
- * Provides a more readable way to reference e-Invoice types compared to using raw codes.
4
+ * Enum representing the allowed state codes with descriptive names.
5
+ * Provides a more readable way to reference states.
6
6
  *
7
7
  * @example
8
- * const invoiceCode = EInvoiceTypeCodeEnum.Invoice;
9
- * console.log(invoiceCode); // Output: "01"
8
+ * const code = StateCodeEnum.Selangor;
9
+ * console.log(code); // Output: "10"
10
10
  */
11
- let EInvoiceTypeCodeEnum = /* @__PURE__ */ function(EInvoiceTypeCodeEnum$1) {
12
- EInvoiceTypeCodeEnum$1["Invoice"] = "01";
13
- EInvoiceTypeCodeEnum$1["CreditNote"] = "02";
14
- EInvoiceTypeCodeEnum$1["DebitNote"] = "03";
15
- EInvoiceTypeCodeEnum$1["RefundNote"] = "04";
16
- EInvoiceTypeCodeEnum$1["SelfBilledInvoice"] = "11";
17
- EInvoiceTypeCodeEnum$1["SelfBilledCreditNote"] = "12";
18
- EInvoiceTypeCodeEnum$1["SelfBilledDebitNote"] = "13";
19
- EInvoiceTypeCodeEnum$1["SelfBilledRefundNote"] = "14";
20
- return EInvoiceTypeCodeEnum$1;
11
+ let StateCodeEnum = /* @__PURE__ */ function(StateCodeEnum$1) {
12
+ StateCodeEnum$1["Johor"] = "01";
13
+ StateCodeEnum$1["Kedah"] = "02";
14
+ StateCodeEnum$1["Kelantan"] = "03";
15
+ StateCodeEnum$1["Melaka"] = "04";
16
+ StateCodeEnum$1["NegeriSembilan"] = "05";
17
+ StateCodeEnum$1["Pahang"] = "06";
18
+ StateCodeEnum$1["PulauPinang"] = "07";
19
+ StateCodeEnum$1["Perak"] = "08";
20
+ StateCodeEnum$1["Perlis"] = "09";
21
+ StateCodeEnum$1["Selangor"] = "10";
22
+ StateCodeEnum$1["Terengganu"] = "11";
23
+ StateCodeEnum$1["Sabah"] = "12";
24
+ StateCodeEnum$1["Sarawak"] = "13";
25
+ StateCodeEnum$1["WPKualaLumpur"] = "14";
26
+ StateCodeEnum$1["WPLabuan"] = "15";
27
+ StateCodeEnum$1["WPPutrajaya"] = "16";
28
+ StateCodeEnum$1["NotApplicable"] = "17";
29
+ return StateCodeEnum$1;
21
30
  }({});
22
31
 
23
32
  //#endregion
24
- exports.EInvoiceTypeCodeEnum = EInvoiceTypeCodeEnum;
33
+ exports.StateCodeEnum = StateCodeEnum;
25
34
  //# sourceMappingURL=index12.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index12.cjs","names":[],"sources":["../src/types/e-invoice.d.ts"],"sourcesContent":["/**\n * Represents the allowed codes for e-Invoice types.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/e-invoice-types/\n */\nexport type EInvoiceTypeCode =\n | '01' // Invoice\n | '02' // Credit Note\n | '03' // Debit Note\n | '04' // Refund Note\n | '11' // Self-billed Invoice\n | '12' // Self-billed Credit Note\n | '13' // Self-billed Debit Note\n | '14' // Self-billed Refund Note\n\n/**\n * Interface representing an e-Invoice type entry.\n * Contains the code and its corresponding description.\n */\nexport interface EInvoiceType {\n code: EInvoiceTypeCode\n description: string\n}\n\n/**\n * Enum representing the allowed codes for e-Invoice types with descriptive names.\n * Provides a more readable way to reference e-Invoice types compared to using raw codes.\n *\n * @example\n * const invoiceCode = EInvoiceTypeCodeEnum.Invoice;\n * console.log(invoiceCode); // Output: \"01\"\n */\nexport enum EInvoiceTypeCodeEnum {\n Invoice = '01',\n CreditNote = '02',\n DebitNote = '03',\n RefundNote = '04',\n SelfBilledInvoice = '11',\n SelfBilledCreditNote = '12',\n SelfBilledDebitNote = '13',\n SelfBilledRefundNote = '14',\n}\n"],"mappings":";;;;;;;;;;AA+BA,IAAY,wEAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
1
+ {"version":3,"file":"index12.cjs","names":[],"sources":["../src/types/state-codes.d.ts"],"sourcesContent":["/**\n * Represents the allowed codes for Malaysian states and federal territories.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/state-codes/\n */\nexport type StateCode =\n | '01' // Johor\n | '02' // Kedah\n | '03' // Kelantan\n | '04' // Melaka\n | '05' // Negeri Sembilan\n | '06' // Pahang\n | '07' // Pulau Pinang\n | '08' // Perak\n | '09' // Perlis\n | '10' // Selangor\n | '11' // Terengganu\n | '12' // Sabah\n | '13' // Sarawak\n | '14' // Wilayah Persekutuan Kuala Lumpur\n | '15' // Wilayah Persekutuan Labuan\n | '16' // Wilayah Persekutuan Putrajaya\n | '17' // Not Applicable\n\n/**\n * Enum representing the allowed state codes with descriptive names.\n * Provides a more readable way to reference states.\n *\n * @example\n * const code = StateCodeEnum.Selangor;\n * console.log(code); // Output: \"10\"\n */\nexport enum StateCodeEnum {\n Johor = '01',\n Kedah = '02',\n Kelantan = '03',\n Melaka = '04',\n NegeriSembilan = '05',\n Pahang = '06',\n PulauPinang = '07',\n Perak = '08',\n Perlis = '09',\n Selangor = '10',\n Terengganu = '11',\n Sabah = '12',\n Sarawak = '13',\n WPKualaLumpur = '14',\n WPLabuan = '15',\n WPPutrajaya = '16',\n NotApplicable = '17',\n}\n\n/**\n * Interface representing a state code entry.\n * Contains the code and its corresponding name.\n */\nexport interface State {\n code: StateCode\n name: string\n}\n"],"mappings":";;;;;;;;;;AA+BA,IAAY,0DAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
package/dist/index13.cjs CHANGED
@@ -0,0 +1,24 @@
1
+
2
+ //#region src/types/tax-types.d.ts
3
+ /**
4
+ * Enum representing the allowed tax type codes with descriptive names.
5
+ * Provides a more readable way to reference tax types.
6
+ *
7
+ * @example
8
+ * const code = TaxTypeCodeEnum.SalesTax;
9
+ * console.log(code); // Output: "01"
10
+ */
11
+ let TaxTypeCodeEnum = /* @__PURE__ */ function(TaxTypeCodeEnum$1) {
12
+ TaxTypeCodeEnum$1["SalesTax"] = "01";
13
+ TaxTypeCodeEnum$1["ServiceTax"] = "02";
14
+ TaxTypeCodeEnum$1["TourismTax"] = "03";
15
+ TaxTypeCodeEnum$1["HighValueGoodsTax"] = "04";
16
+ TaxTypeCodeEnum$1["SalesTaxLowValueGoods"] = "05";
17
+ TaxTypeCodeEnum$1["NotApplicable"] = "06";
18
+ TaxTypeCodeEnum$1["TaxExemption"] = "E";
19
+ return TaxTypeCodeEnum$1;
20
+ }({});
21
+
22
+ //#endregion
23
+ exports.TaxTypeCodeEnum = TaxTypeCodeEnum;
24
+ //# sourceMappingURL=index13.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index19.cjs","names":[],"sources":["../src/types/tax-types.d.ts"],"sourcesContent":["/**\n * Represents the allowed codes for tax types.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/tax-types/\n */\nexport type TaxTypeCode =\n | '01' // Sales Tax\n | '02' // Service Tax\n | '03' // Tourism Tax\n | '04' // High-Value Goods Tax\n | '05' // Sales Tax on Low Value Goods\n | '06' // Not Applicable\n | 'E' // Tax exemption (where applicable)\n\n/**\n * Enum representing the allowed tax type codes with descriptive names.\n * Provides a more readable way to reference tax types.\n *\n * @example\n * const code = TaxTypeCodeEnum.SalesTax;\n * console.log(code); // Output: \"01\"\n */\nexport enum TaxTypeCodeEnum {\n SalesTax = '01',\n ServiceTax = '02',\n TourismTax = '03',\n HighValueGoodsTax = '04',\n SalesTaxLowValueGoods = '05',\n NotApplicable = '06',\n TaxExemption = 'E',\n}\n\n/**\n * Interface representing a tax type entry.\n * Contains the code and its corresponding description.\n */\nexport interface TaxType {\n code: TaxTypeCode\n description: string\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAY,8DAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
1
+ {"version":3,"file":"index13.cjs","names":[],"sources":["../src/types/tax-types.d.ts"],"sourcesContent":["/**\n * Represents the allowed codes for tax types.\n * Based on the documentation: https://sdk.myinvois.hasil.gov.my/codes/tax-types/\n */\nexport type TaxTypeCode =\n | '01' // Sales Tax\n | '02' // Service Tax\n | '03' // Tourism Tax\n | '04' // High-Value Goods Tax\n | '05' // Sales Tax on Low Value Goods\n | '06' // Not Applicable\n | 'E' // Tax exemption (where applicable)\n\n/**\n * Enum representing the allowed tax type codes with descriptive names.\n * Provides a more readable way to reference tax types.\n *\n * @example\n * const code = TaxTypeCodeEnum.SalesTax;\n * console.log(code); // Output: \"01\"\n */\nexport enum TaxTypeCodeEnum {\n SalesTax = '01',\n ServiceTax = '02',\n TourismTax = '03',\n HighValueGoodsTax = '04',\n SalesTaxLowValueGoods = '05',\n NotApplicable = '06',\n TaxExemption = 'E',\n}\n\n/**\n * Interface representing a tax type entry.\n * Contains the code and its corresponding description.\n */\nexport interface TaxType {\n code: TaxTypeCode\n description: string\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAY,8DAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AACD"}
package/dist/index15.cjs CHANGED
@@ -1,29 +0,0 @@
1
-
2
- //#region src/types/notifications.d.ts
3
- let NotificationTypeEnum = /* @__PURE__ */ function(NotificationTypeEnum$1) {
4
- NotificationTypeEnum$1[NotificationTypeEnum$1["Profile data validation"] = 3] = "Profile data validation";
5
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document received"] = 6] = "Document received";
6
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document validated"] = 7] = "Document validated";
7
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document cancelled"] = 8] = "Document cancelled";
8
- NotificationTypeEnum$1[NotificationTypeEnum$1["User profile changed"] = 10] = "User profile changed";
9
- NotificationTypeEnum$1[NotificationTypeEnum$1["Taxpayer profile changed"] = 11] = "Taxpayer profile changed";
10
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document rejection initiated"] = 15] = "Document rejection initiated";
11
- NotificationTypeEnum$1[NotificationTypeEnum$1["ERP data validation"] = 26] = "ERP data validation";
12
- NotificationTypeEnum$1[NotificationTypeEnum$1["Documents processing summary"] = 33] = "Documents processing summary";
13
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document Template Published"] = 34] = "Document Template Published";
14
- NotificationTypeEnum$1[NotificationTypeEnum$1["Document Template Deletion"] = 35] = "Document Template Deletion";
15
- return NotificationTypeEnum$1;
16
- }({});
17
- let NotificationStatusEnum = /* @__PURE__ */ function(NotificationStatusEnum$1) {
18
- NotificationStatusEnum$1[NotificationStatusEnum$1["New"] = 1] = "New";
19
- NotificationStatusEnum$1[NotificationStatusEnum$1["Pending"] = 2] = "Pending";
20
- NotificationStatusEnum$1[NotificationStatusEnum$1["Batched"] = 3] = "Batched";
21
- NotificationStatusEnum$1[NotificationStatusEnum$1["Delivered"] = 4] = "Delivered";
22
- NotificationStatusEnum$1[NotificationStatusEnum$1["Error"] = 5] = "Error";
23
- return NotificationStatusEnum$1;
24
- }({});
25
-
26
- //#endregion
27
- exports.NotificationStatusEnum = NotificationStatusEnum;
28
- exports.NotificationTypeEnum = NotificationTypeEnum;
29
- //# sourceMappingURL=index15.cjs.map
package/dist/index16.cjs CHANGED
@@ -1,25 +0,0 @@
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=index16.cjs.map
package/dist/index17.cjs CHANGED
@@ -0,0 +1,5 @@
1
+ const require_documentManagement = require('./documentManagement-CyPwiyP4.cjs');
2
+
3
+ exports.getDocument = require_documentManagement.getDocument;
4
+ exports.getDocumentDetails = require_documentManagement.getDocumentDetails;
5
+ exports.searchDocuments = require_documentManagement.searchDocuments;
package/dist/index18.cjs CHANGED
@@ -1,34 +1,7 @@
1
+ require('./formatIdValue-i67o4kyD.cjs');
2
+ require('./document-CCza2JPL.cjs');
3
+ const require_documentSubmission = require('./documentSubmission-M4UlirJ7.cjs');
1
4
 
2
- //#region src/types/state-codes.d.ts
3
- /**
4
- * Enum representing the allowed state codes with descriptive names.
5
- * Provides a more readable way to reference states.
6
- *
7
- * @example
8
- * const code = StateCodeEnum.Selangor;
9
- * console.log(code); // Output: "10"
10
- */
11
- let StateCodeEnum = /* @__PURE__ */ function(StateCodeEnum$1) {
12
- StateCodeEnum$1["Johor"] = "01";
13
- StateCodeEnum$1["Kedah"] = "02";
14
- StateCodeEnum$1["Kelantan"] = "03";
15
- StateCodeEnum$1["Melaka"] = "04";
16
- StateCodeEnum$1["NegeriSembilan"] = "05";
17
- StateCodeEnum$1["Pahang"] = "06";
18
- StateCodeEnum$1["PulauPinang"] = "07";
19
- StateCodeEnum$1["Perak"] = "08";
20
- StateCodeEnum$1["Perlis"] = "09";
21
- StateCodeEnum$1["Selangor"] = "10";
22
- StateCodeEnum$1["Terengganu"] = "11";
23
- StateCodeEnum$1["Sabah"] = "12";
24
- StateCodeEnum$1["Sarawak"] = "13";
25
- StateCodeEnum$1["WPKualaLumpur"] = "14";
26
- StateCodeEnum$1["WPLabuan"] = "15";
27
- StateCodeEnum$1["WPPutrajaya"] = "16";
28
- StateCodeEnum$1["NotApplicable"] = "17";
29
- return StateCodeEnum$1;
30
- }({});
31
-
32
- //#endregion
33
- exports.StateCodeEnum = StateCodeEnum;
34
- //# sourceMappingURL=index18.cjs.map
5
+ exports.getSubmissionStatus = require_documentSubmission.getSubmissionStatus;
6
+ exports.performDocumentAction = require_documentSubmission.performDocumentAction;
7
+ exports.submitDocument = require_documentSubmission.submitDocument;
package/dist/index19.cjs CHANGED
@@ -1,24 +1,5 @@
1
+ const require_documentTypeManagement = require('./documentTypeManagement-D_-LiQVg.cjs');
1
2
 
2
- //#region src/types/tax-types.d.ts
3
- /**
4
- * Enum representing the allowed tax type codes with descriptive names.
5
- * Provides a more readable way to reference tax types.
6
- *
7
- * @example
8
- * const code = TaxTypeCodeEnum.SalesTax;
9
- * console.log(code); // Output: "01"
10
- */
11
- let TaxTypeCodeEnum = /* @__PURE__ */ function(TaxTypeCodeEnum$1) {
12
- TaxTypeCodeEnum$1["SalesTax"] = "01";
13
- TaxTypeCodeEnum$1["ServiceTax"] = "02";
14
- TaxTypeCodeEnum$1["TourismTax"] = "03";
15
- TaxTypeCodeEnum$1["HighValueGoodsTax"] = "04";
16
- TaxTypeCodeEnum$1["SalesTaxLowValueGoods"] = "05";
17
- TaxTypeCodeEnum$1["NotApplicable"] = "06";
18
- TaxTypeCodeEnum$1["TaxExemption"] = "E";
19
- return TaxTypeCodeEnum$1;
20
- }({});
21
-
22
- //#endregion
23
- exports.TaxTypeCodeEnum = TaxTypeCodeEnum;
24
- //# sourceMappingURL=index19.cjs.map
3
+ exports.getDocumentType = require_documentTypeManagement.getDocumentType;
4
+ exports.getDocumentTypeVersion = require_documentTypeManagement.getDocumentTypeVersion;
5
+ exports.getDocumentTypes = require_documentTypeManagement.getDocumentTypes;