@vritti/api-sdk 0.3.3 → 0.3.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.
Files changed (133) hide show
  1. package/dist/auth.cjs +942 -0
  2. package/dist/auth.cjs.map +1 -0
  3. package/dist/auth.d.cts +95 -0
  4. package/dist/auth.d.ts +95 -0
  5. package/dist/auth.js +884 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/cache.cjs +182 -14
  8. package/dist/cache.cjs.map +1 -1
  9. package/dist/cache.d.cts +48 -4
  10. package/dist/cache.d.ts +48 -4
  11. package/dist/cache.js +177 -12
  12. package/dist/cache.js.map +1 -1
  13. package/dist/catalog-resolver.cjs +226 -51
  14. package/dist/catalog-resolver.cjs.map +1 -1
  15. package/dist/catalog-resolver.d.cts +41 -19
  16. package/dist/catalog-resolver.d.ts +41 -19
  17. package/dist/catalog-resolver.js +212 -46
  18. package/dist/catalog-resolver.js.map +1 -1
  19. package/dist/code-pattern-BP4zkNtT.d.cts +12 -0
  20. package/dist/code-pattern-BP4zkNtT.d.ts +12 -0
  21. package/dist/context.cjs +93 -0
  22. package/dist/context.cjs.map +1 -0
  23. package/dist/context.d.cts +19 -0
  24. package/dist/context.d.ts +19 -0
  25. package/dist/context.js +64 -0
  26. package/dist/context.js.map +1 -0
  27. package/dist/countries.cjs +1559 -0
  28. package/dist/countries.cjs.map +1 -0
  29. package/dist/countries.d.cts +13 -0
  30. package/dist/countries.d.ts +13 -0
  31. package/dist/countries.js +1532 -0
  32. package/dist/countries.js.map +1 -0
  33. package/dist/data-table.cjs +1280 -0
  34. package/dist/data-table.cjs.map +1 -0
  35. package/dist/data-table.d.cts +123 -0
  36. package/dist/data-table.d.ts +123 -0
  37. package/dist/data-table.js +1260 -0
  38. package/dist/data-table.js.map +1 -0
  39. package/dist/database.cjs +1510 -0
  40. package/dist/database.cjs.map +1 -0
  41. package/dist/database.d.cts +287 -0
  42. package/dist/database.d.ts +287 -0
  43. package/dist/database.js +1469 -0
  44. package/dist/database.js.map +1 -0
  45. package/dist/decimal.d.cts +0 -1
  46. package/dist/decimal.d.ts +0 -1
  47. package/dist/decorators.cjs +1817 -0
  48. package/dist/decorators.cjs.map +1 -0
  49. package/dist/decorators.d.cts +24 -0
  50. package/dist/decorators.d.ts +24 -0
  51. package/dist/decorators.js +1780 -0
  52. package/dist/decorators.js.map +1 -0
  53. package/dist/drizzle-pg-core.cjs +25 -0
  54. package/dist/drizzle-pg-core.cjs.map +1 -1
  55. package/dist/drizzle-pg-core.d.cts +7 -0
  56. package/dist/drizzle-pg-core.d.ts +7 -0
  57. package/dist/drizzle-pg-core.js +22 -0
  58. package/dist/drizzle-pg-core.js.map +1 -1
  59. package/dist/exceptions.cjs +301 -0
  60. package/dist/exceptions.cjs.map +1 -0
  61. package/dist/exceptions.d.cts +90 -0
  62. package/dist/exceptions.d.ts +90 -0
  63. package/dist/exceptions.js +257 -0
  64. package/dist/exceptions.js.map +1 -0
  65. package/dist/filter.types-PuARU9XD.d.cts +50 -0
  66. package/dist/filter.types-PuARU9XD.d.ts +50 -0
  67. package/dist/filters.cjs +407 -0
  68. package/dist/filters.cjs.map +1 -0
  69. package/dist/filters.d.cts +55 -0
  70. package/dist/filters.d.ts +55 -0
  71. package/dist/filters.js +377 -0
  72. package/dist/filters.js.map +1 -0
  73. package/dist/index.cjs +0 -5423
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.cts +93 -854
  76. package/dist/index.d.ts +93 -854
  77. package/dist/index.js +0 -5301
  78. package/dist/index.js.map +1 -1
  79. package/dist/is-country.decorator-CcNwSSr5.d.cts +5 -0
  80. package/dist/is-country.decorator-CcNwSSr5.d.ts +5 -0
  81. package/dist/license.d.cts +1 -1
  82. package/dist/license.d.ts +1 -1
  83. package/dist/lodash.cjs.map +1 -1
  84. package/dist/lodash.js.map +1 -1
  85. package/dist/logger.cjs +862 -0
  86. package/dist/logger.cjs.map +1 -0
  87. package/dist/logger.d.cts +118 -0
  88. package/dist/logger.d.ts +118 -0
  89. package/dist/logger.js +816 -0
  90. package/dist/logger.js.map +1 -0
  91. package/dist/migrate.cjs +2 -2
  92. package/dist/migrate.cjs.map +1 -1
  93. package/dist/migrate.d.cts +2 -0
  94. package/dist/migrate.d.ts +2 -0
  95. package/dist/migrate.js +2 -2
  96. package/dist/migrate.js.map +1 -1
  97. package/dist/money.cjs +18 -3
  98. package/dist/money.cjs.map +1 -1
  99. package/dist/money.d.cts +13 -13
  100. package/dist/money.d.ts +13 -13
  101. package/dist/money.js +18 -3
  102. package/dist/money.js.map +1 -1
  103. package/dist/nats.cjs +34 -35
  104. package/dist/nats.cjs.map +1 -1
  105. package/dist/nats.d.cts +14 -14
  106. package/dist/nats.d.ts +14 -14
  107. package/dist/nats.js +32 -33
  108. package/dist/nats.js.map +1 -1
  109. package/dist/root.cjs +225 -0
  110. package/dist/root.cjs.map +1 -0
  111. package/dist/root.d.cts +4 -0
  112. package/dist/root.d.ts +4 -0
  113. package/dist/root.js +200 -0
  114. package/dist/root.js.map +1 -0
  115. package/dist/{types-DQRwj5rr.d.cts → types-C9jPdQqH.d.cts} +32 -6
  116. package/dist/{types-DQRwj5rr.d.ts → types-C9jPdQqH.d.ts} +32 -6
  117. package/dist/types.cjs +19 -0
  118. package/dist/types.cjs.map +1 -0
  119. package/dist/types.d.cts +17 -0
  120. package/dist/types.d.ts +17 -0
  121. package/dist/types.js +1 -0
  122. package/dist/types.js.map +1 -0
  123. package/dist/utils.cjs +273 -0
  124. package/dist/utils.cjs.map +1 -0
  125. package/dist/utils.d.cts +8 -0
  126. package/dist/utils.d.ts +8 -0
  127. package/dist/utils.js +245 -0
  128. package/dist/utils.js.map +1 -0
  129. package/package.json +122 -1
  130. package/dist/cache.service-_SuJIcNA.d.cts +0 -20
  131. package/dist/cache.service-_SuJIcNA.d.ts +0 -20
  132. package/dist/fastify-augmentation-CQPBNS5a.d.cts +0 -105
  133. package/dist/fastify-augmentation-CQPBNS5a.d.ts +0 -105
package/dist/utils.js ADDED
@@ -0,0 +1,245 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/utils/math.utils.ts
5
+ function gcd(a, b) {
6
+ return b === 0 ? a : gcd(b, a % b);
7
+ }
8
+ __name(gcd, "gcd");
9
+
10
+ // src/utils/phone.utils.ts
11
+ var CALLING_CODE_TO_COUNTRY = {
12
+ // 3-digit codes
13
+ "355": "AL",
14
+ "213": "DZ",
15
+ "376": "AD",
16
+ "244": "AO",
17
+ "672": "AQ",
18
+ "374": "AM",
19
+ "297": "AW",
20
+ "994": "AZ",
21
+ "973": "BH",
22
+ "880": "BD",
23
+ "375": "BY",
24
+ "501": "BZ",
25
+ "229": "BJ",
26
+ "975": "BT",
27
+ "591": "BO",
28
+ "387": "BA",
29
+ "267": "BW",
30
+ "673": "BN",
31
+ "359": "BG",
32
+ "226": "BF",
33
+ "257": "BI",
34
+ "855": "KH",
35
+ "237": "CM",
36
+ "238": "CV",
37
+ "236": "CF",
38
+ "235": "TD",
39
+ "269": "KM",
40
+ "242": "CG",
41
+ "243": "CD",
42
+ "506": "CR",
43
+ "385": "HR",
44
+ "357": "CY",
45
+ "420": "CZ",
46
+ "253": "DJ",
47
+ "593": "EC",
48
+ "503": "SV",
49
+ "240": "GQ",
50
+ "291": "ER",
51
+ "372": "EE",
52
+ "251": "ET",
53
+ "679": "FJ",
54
+ "358": "FI",
55
+ "241": "GA",
56
+ "220": "GM",
57
+ "995": "GE",
58
+ "233": "GH",
59
+ "350": "GI",
60
+ "299": "GL",
61
+ "502": "GT",
62
+ "224": "GN",
63
+ "245": "GW",
64
+ "592": "GY",
65
+ "509": "HT",
66
+ "504": "HN",
67
+ "354": "IS",
68
+ "964": "IQ",
69
+ "353": "IE",
70
+ "972": "IL",
71
+ "225": "CI",
72
+ "962": "JO",
73
+ "254": "KE",
74
+ "686": "KI",
75
+ "965": "KW",
76
+ "996": "KG",
77
+ "856": "LA",
78
+ "371": "LV",
79
+ "961": "LB",
80
+ "266": "LS",
81
+ "231": "LR",
82
+ "218": "LY",
83
+ "423": "LI",
84
+ "370": "LT",
85
+ "352": "LU",
86
+ "389": "MK",
87
+ "261": "MG",
88
+ "265": "MW",
89
+ "960": "MV",
90
+ "223": "ML",
91
+ "356": "MT",
92
+ "692": "MH",
93
+ "222": "MR",
94
+ "230": "MU",
95
+ "262": "YT",
96
+ "691": "FM",
97
+ "373": "MD",
98
+ "377": "MC",
99
+ "976": "MN",
100
+ "382": "ME",
101
+ "258": "MZ",
102
+ "264": "NA",
103
+ "674": "NR",
104
+ "977": "NP",
105
+ "505": "NI",
106
+ "227": "NE",
107
+ "234": "NG",
108
+ "683": "NU",
109
+ "968": "OM",
110
+ "680": "PW",
111
+ "970": "PS",
112
+ "507": "PA",
113
+ "675": "PG",
114
+ "595": "PY",
115
+ "351": "PT",
116
+ "974": "QA",
117
+ "250": "RW",
118
+ "685": "WS",
119
+ "378": "SM",
120
+ "239": "ST",
121
+ "966": "SA",
122
+ "221": "SN",
123
+ "381": "RS",
124
+ "248": "SC",
125
+ "232": "SL",
126
+ "421": "SK",
127
+ "386": "SI",
128
+ "677": "SB",
129
+ "252": "SO",
130
+ "211": "SS",
131
+ "249": "SD",
132
+ "597": "SR",
133
+ "268": "SZ",
134
+ "963": "SY",
135
+ "992": "TJ",
136
+ "255": "TZ",
137
+ "228": "TG",
138
+ "676": "TO",
139
+ "216": "TN",
140
+ "993": "TM",
141
+ "688": "TV",
142
+ "256": "UG",
143
+ "380": "UA",
144
+ "971": "AE",
145
+ "598": "UY",
146
+ "998": "UZ",
147
+ "678": "VU",
148
+ "379": "VA",
149
+ "967": "YE",
150
+ "260": "ZM",
151
+ "263": "ZW",
152
+ // 2-digit codes
153
+ "93": "AF",
154
+ "54": "AR",
155
+ "61": "AU",
156
+ "43": "AT",
157
+ "32": "BE",
158
+ "55": "BR",
159
+ "56": "CL",
160
+ "86": "CN",
161
+ "57": "CO",
162
+ "53": "CU",
163
+ "45": "DK",
164
+ "20": "EG",
165
+ "33": "FR",
166
+ "49": "DE",
167
+ "30": "GR",
168
+ "36": "HU",
169
+ "91": "IN",
170
+ "62": "ID",
171
+ "98": "IR",
172
+ "39": "IT",
173
+ "81": "JP",
174
+ "82": "KR",
175
+ "60": "MY",
176
+ "52": "MX",
177
+ "31": "NL",
178
+ "64": "NZ",
179
+ "47": "NO",
180
+ "92": "PK",
181
+ "51": "PE",
182
+ "63": "PH",
183
+ "48": "PL",
184
+ "40": "RO",
185
+ "65": "SG",
186
+ "27": "ZA",
187
+ "34": "ES",
188
+ "94": "LK",
189
+ "46": "SE",
190
+ "41": "CH",
191
+ "66": "TH",
192
+ "90": "TR",
193
+ "44": "GB",
194
+ "58": "VE",
195
+ "84": "VN",
196
+ // 1-digit codes (shared codes default to most common country)
197
+ "1": "US",
198
+ "7": "RU"
199
+ };
200
+ function extractCountryFromPhone(phone) {
201
+ const digits = phone.startsWith("+") ? phone.slice(1) : phone;
202
+ for (const length of [
203
+ 3,
204
+ 2,
205
+ 1
206
+ ]) {
207
+ const prefix = digits.slice(0, length);
208
+ if (CALLING_CODE_TO_COUNTRY[prefix]) {
209
+ return CALLING_CODE_TO_COUNTRY[prefix];
210
+ }
211
+ }
212
+ return void 0;
213
+ }
214
+ __name(extractCountryFromPhone, "extractCountryFromPhone");
215
+ function normalizePhoneNumber(phone) {
216
+ return phone.startsWith("+") ? phone : `+${phone}`;
217
+ }
218
+ __name(normalizePhoneNumber, "normalizePhoneNumber");
219
+
220
+ // src/utils/time.utils.ts
221
+ function parseExpiryToMs(expiry) {
222
+ const match = expiry.match(/^(\d+)([smhdwy])$/);
223
+ if (!match) throw new Error(`Invalid expiry format: ${expiry}`);
224
+ const [, digits = "", unit = ""] = match;
225
+ const value = Number.parseInt(digits, 10);
226
+ const multipliers = {
227
+ s: 1e3,
228
+ m: 6e4,
229
+ h: 36e5,
230
+ d: 864e5,
231
+ w: 6048e5,
232
+ y: 31536e6
233
+ };
234
+ const multiplier = multipliers[unit];
235
+ if (multiplier === void 0) throw new Error(`Invalid expiry format: ${expiry}`);
236
+ return value * multiplier;
237
+ }
238
+ __name(parseExpiryToMs, "parseExpiryToMs");
239
+ export {
240
+ extractCountryFromPhone,
241
+ gcd,
242
+ normalizePhoneNumber,
243
+ parseExpiryToMs
244
+ };
245
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/math.utils.ts","../src/utils/phone.utils.ts","../src/utils/time.utils.ts"],"sourcesContent":["// Returns the greatest common divisor of two integers using the Euclidean algorithm\nexport function gcd(a: number, b: number): number {\n return b === 0 ? a : gcd(b, a % b);\n}\n","const CALLING_CODE_TO_COUNTRY: Record<string, string> = {\n // 3-digit codes\n '355': 'AL',\n '213': 'DZ',\n '376': 'AD',\n '244': 'AO',\n '672': 'AQ',\n '374': 'AM',\n '297': 'AW',\n '994': 'AZ',\n '973': 'BH',\n '880': 'BD',\n '375': 'BY',\n '501': 'BZ',\n '229': 'BJ',\n '975': 'BT',\n '591': 'BO',\n '387': 'BA',\n '267': 'BW',\n '673': 'BN',\n '359': 'BG',\n '226': 'BF',\n '257': 'BI',\n '855': 'KH',\n '237': 'CM',\n '238': 'CV',\n '236': 'CF',\n '235': 'TD',\n '269': 'KM',\n '242': 'CG',\n '243': 'CD',\n '506': 'CR',\n '385': 'HR',\n '357': 'CY',\n '420': 'CZ',\n '253': 'DJ',\n '593': 'EC',\n '503': 'SV',\n '240': 'GQ',\n '291': 'ER',\n '372': 'EE',\n '251': 'ET',\n '679': 'FJ',\n '358': 'FI',\n '241': 'GA',\n '220': 'GM',\n '995': 'GE',\n '233': 'GH',\n '350': 'GI',\n '299': 'GL',\n '502': 'GT',\n '224': 'GN',\n '245': 'GW',\n '592': 'GY',\n '509': 'HT',\n '504': 'HN',\n '354': 'IS',\n '964': 'IQ',\n '353': 'IE',\n '972': 'IL',\n '225': 'CI',\n '962': 'JO',\n '254': 'KE',\n '686': 'KI',\n '965': 'KW',\n '996': 'KG',\n '856': 'LA',\n '371': 'LV',\n '961': 'LB',\n '266': 'LS',\n '231': 'LR',\n '218': 'LY',\n '423': 'LI',\n '370': 'LT',\n '352': 'LU',\n '389': 'MK',\n '261': 'MG',\n '265': 'MW',\n '960': 'MV',\n '223': 'ML',\n '356': 'MT',\n '692': 'MH',\n '222': 'MR',\n '230': 'MU',\n '262': 'YT',\n '691': 'FM',\n '373': 'MD',\n '377': 'MC',\n '976': 'MN',\n '382': 'ME',\n '258': 'MZ',\n '264': 'NA',\n '674': 'NR',\n '977': 'NP',\n '505': 'NI',\n '227': 'NE',\n '234': 'NG',\n '683': 'NU',\n '968': 'OM',\n '680': 'PW',\n '970': 'PS',\n '507': 'PA',\n '675': 'PG',\n '595': 'PY',\n '351': 'PT',\n '974': 'QA',\n '250': 'RW',\n '685': 'WS',\n '378': 'SM',\n '239': 'ST',\n '966': 'SA',\n '221': 'SN',\n '381': 'RS',\n '248': 'SC',\n '232': 'SL',\n '421': 'SK',\n '386': 'SI',\n '677': 'SB',\n '252': 'SO',\n '211': 'SS',\n '249': 'SD',\n '597': 'SR',\n '268': 'SZ',\n '963': 'SY',\n '992': 'TJ',\n '255': 'TZ',\n '228': 'TG',\n '676': 'TO',\n '216': 'TN',\n '993': 'TM',\n '688': 'TV',\n '256': 'UG',\n '380': 'UA',\n '971': 'AE',\n '598': 'UY',\n '998': 'UZ',\n '678': 'VU',\n '379': 'VA',\n '967': 'YE',\n '260': 'ZM',\n '263': 'ZW',\n\n // 2-digit codes\n '93': 'AF',\n '54': 'AR',\n '61': 'AU',\n '43': 'AT',\n '32': 'BE',\n '55': 'BR',\n '56': 'CL',\n '86': 'CN',\n '57': 'CO',\n '53': 'CU',\n '45': 'DK',\n '20': 'EG',\n '33': 'FR',\n '49': 'DE',\n '30': 'GR',\n '36': 'HU',\n '91': 'IN',\n '62': 'ID',\n '98': 'IR',\n '39': 'IT',\n '81': 'JP',\n '82': 'KR',\n '60': 'MY',\n '52': 'MX',\n '31': 'NL',\n '64': 'NZ',\n '47': 'NO',\n '92': 'PK',\n '51': 'PE',\n '63': 'PH',\n '48': 'PL',\n '40': 'RO',\n '65': 'SG',\n '27': 'ZA',\n '34': 'ES',\n '94': 'LK',\n '46': 'SE',\n '41': 'CH',\n '66': 'TH',\n '90': 'TR',\n '44': 'GB',\n '58': 'VE',\n '84': 'VN',\n\n // 1-digit codes (shared codes default to most common country)\n '1': 'US', // Also CA, but default to US\n '7': 'RU', // Also KZ, but default to RU\n};\n\n// Extracts ISO 3166-1 alpha-2 country code from an E.164 phone number\nexport function extractCountryFromPhone(phone: string): string | undefined {\n // Remove + prefix if present\n const digits = phone.startsWith('+') ? phone.slice(1) : phone;\n\n // Try matching from longest to shortest prefix (3, 2, 1 digits)\n for (const length of [3, 2, 1]) {\n const prefix = digits.slice(0, length);\n if (CALLING_CODE_TO_COUNTRY[prefix]) {\n return CALLING_CODE_TO_COUNTRY[prefix];\n }\n }\n\n return undefined;\n}\n\n// Normalizes a phone number to E.164 format by ensuring a + prefix\nexport function normalizePhoneNumber(phone: string): string {\n return phone.startsWith('+') ? phone : `+${phone}`;\n}\n","// Parses a duration string (e.g. '10m', '1h', '30s', '7d') to milliseconds\nexport function parseExpiryToMs(expiry: string): number {\n const match = expiry.match(/^(\\d+)([smhdwy])$/);\n if (!match) throw new Error(`Invalid expiry format: ${expiry}`);\n\n const [, digits = '', unit = ''] = match;\n const value = Number.parseInt(digits, 10);\n const multipliers: Record<string, number> = {\n s: 1000,\n m: 60_000,\n h: 3_600_000,\n d: 86_400_000,\n w: 604_800_000,\n y: 31_536_000_000,\n };\n\n const multiplier = multipliers[unit];\n if (multiplier === undefined) throw new Error(`Invalid expiry format: ${expiry}`);\n\n return value * multiplier;\n}\n"],"mappings":";;;;AACO,SAASA,IAAIC,GAAWC,GAAS;AACtC,SAAOA,MAAM,IAAID,IAAID,IAAIE,GAAGD,IAAIC,CAAAA;AAClC;AAFgBF;;;ACDhB,IAAMG,0BAAkD;;EAEtD,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;;EAGP,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;;EAGN,KAAK;EACL,KAAK;AACP;AAGO,SAASC,wBAAwBC,OAAa;AAEnD,QAAMC,SAASD,MAAME,WAAW,GAAA,IAAOF,MAAMG,MAAM,CAAA,IAAKH;AAGxD,aAAWI,UAAU;IAAC;IAAG;IAAG;KAAI;AAC9B,UAAMC,SAASJ,OAAOE,MAAM,GAAGC,MAAAA;AAC/B,QAAIN,wBAAwBO,MAAAA,GAAS;AACnC,aAAOP,wBAAwBO,MAAAA;IACjC;EACF;AAEA,SAAOC;AACT;AAbgBP;AAgBT,SAASQ,qBAAqBP,OAAa;AAChD,SAAOA,MAAME,WAAW,GAAA,IAAOF,QAAQ,IAAIA,KAAAA;AAC7C;AAFgBO;;;AChNT,SAASC,gBAAgBC,QAAc;AAC5C,QAAMC,QAAQD,OAAOC,MAAM,mBAAA;AAC3B,MAAI,CAACA,MAAO,OAAM,IAAIC,MAAM,0BAA0BF,MAAAA,EAAQ;AAE9D,QAAM,CAAA,EAAGG,SAAS,IAAIC,OAAO,EAAE,IAAIH;AACnC,QAAMI,QAAQC,OAAOC,SAASJ,QAAQ,EAAA;AACtC,QAAMK,cAAsC;IAC1CC,GAAG;IACHC,GAAG;IACHC,GAAG;IACHC,GAAG;IACHC,GAAG;IACHC,GAAG;EACL;AAEA,QAAMC,aAAaP,YAAYJ,IAAAA;AAC/B,MAAIW,eAAeC,OAAW,OAAM,IAAId,MAAM,0BAA0BF,MAAAA,EAAQ;AAEhF,SAAOK,QAAQU;AACjB;AAnBgBhB;","names":["gcd","a","b","CALLING_CODE_TO_COUNTRY","extractCountryFromPhone","phone","digits","startsWith","slice","length","prefix","undefined","normalizePhoneNumber","parseExpiryToMs","expiry","match","Error","digits","unit","value","Number","parseInt","multipliers","s","m","h","d","w","y","multiplier","undefined"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vritti/api-sdk",
3
3
  "type": "module",
4
- "version": "0.3.3",
4
+ "version": "0.3.5",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -86,6 +86,16 @@
86
86
  "default": "./dist/lodash.cjs"
87
87
  }
88
88
  },
89
+ "./exceptions": {
90
+ "import": {
91
+ "types": "./dist/exceptions.d.ts",
92
+ "default": "./dist/exceptions.js"
93
+ },
94
+ "require": {
95
+ "types": "./dist/exceptions.d.cts",
96
+ "default": "./dist/exceptions.cjs"
97
+ }
98
+ },
89
99
  "./money": {
90
100
  "import": {
91
101
  "types": "./dist/money.d.ts",
@@ -96,6 +106,16 @@
96
106
  "default": "./dist/money.cjs"
97
107
  }
98
108
  },
109
+ "./countries": {
110
+ "import": {
111
+ "types": "./dist/countries.d.ts",
112
+ "default": "./dist/countries.js"
113
+ },
114
+ "require": {
115
+ "types": "./dist/countries.d.cts",
116
+ "default": "./dist/countries.cjs"
117
+ }
118
+ },
99
119
  "./icons": {
100
120
  "import": {
101
121
  "types": "./dist/icons.d.ts",
@@ -155,6 +175,106 @@
155
175
  "types": "./dist/email.d.cts",
156
176
  "default": "./dist/email.cjs"
157
177
  }
178
+ },
179
+ "./auth": {
180
+ "import": {
181
+ "types": "./dist/auth.d.ts",
182
+ "default": "./dist/auth.js"
183
+ },
184
+ "require": {
185
+ "types": "./dist/auth.d.cts",
186
+ "default": "./dist/auth.cjs"
187
+ }
188
+ },
189
+ "./context": {
190
+ "import": {
191
+ "types": "./dist/context.d.ts",
192
+ "default": "./dist/context.js"
193
+ },
194
+ "require": {
195
+ "types": "./dist/context.d.cts",
196
+ "default": "./dist/context.cjs"
197
+ }
198
+ },
199
+ "./data-table": {
200
+ "import": {
201
+ "types": "./dist/data-table.d.ts",
202
+ "default": "./dist/data-table.js"
203
+ },
204
+ "require": {
205
+ "types": "./dist/data-table.d.cts",
206
+ "default": "./dist/data-table.cjs"
207
+ }
208
+ },
209
+ "./database": {
210
+ "import": {
211
+ "types": "./dist/database.d.ts",
212
+ "default": "./dist/database.js"
213
+ },
214
+ "require": {
215
+ "types": "./dist/database.d.cts",
216
+ "default": "./dist/database.cjs"
217
+ }
218
+ },
219
+ "./decorators": {
220
+ "import": {
221
+ "types": "./dist/decorators.d.ts",
222
+ "default": "./dist/decorators.js"
223
+ },
224
+ "require": {
225
+ "types": "./dist/decorators.d.cts",
226
+ "default": "./dist/decorators.cjs"
227
+ }
228
+ },
229
+ "./filters": {
230
+ "import": {
231
+ "types": "./dist/filters.d.ts",
232
+ "default": "./dist/filters.js"
233
+ },
234
+ "require": {
235
+ "types": "./dist/filters.d.cts",
236
+ "default": "./dist/filters.cjs"
237
+ }
238
+ },
239
+ "./logger": {
240
+ "import": {
241
+ "types": "./dist/logger.d.ts",
242
+ "default": "./dist/logger.js"
243
+ },
244
+ "require": {
245
+ "types": "./dist/logger.d.cts",
246
+ "default": "./dist/logger.cjs"
247
+ }
248
+ },
249
+ "./root": {
250
+ "import": {
251
+ "types": "./dist/root.d.ts",
252
+ "default": "./dist/root.js"
253
+ },
254
+ "require": {
255
+ "types": "./dist/root.d.cts",
256
+ "default": "./dist/root.cjs"
257
+ }
258
+ },
259
+ "./types": {
260
+ "import": {
261
+ "types": "./dist/types.d.ts",
262
+ "default": "./dist/types.js"
263
+ },
264
+ "require": {
265
+ "types": "./dist/types.d.cts",
266
+ "default": "./dist/types.cjs"
267
+ }
268
+ },
269
+ "./utils": {
270
+ "import": {
271
+ "types": "./dist/utils.d.ts",
272
+ "default": "./dist/utils.js"
273
+ },
274
+ "require": {
275
+ "types": "./dist/utils.d.cts",
276
+ "default": "./dist/utils.cjs"
277
+ }
158
278
  }
159
279
  },
160
280
  "files": [
@@ -177,6 +297,7 @@
177
297
  "drizzle-orm": "1.0.0-rc.3",
178
298
  "ioredis": "^5.4.1",
179
299
  "lodash": "^4.18.1",
300
+ "lru-cache": "^11.5.1",
180
301
  "nats": "^2.29.3",
181
302
  "pg": "^8.16.0",
182
303
  "winston": "^3.11.0",
@@ -1,20 +0,0 @@
1
- interface ICacheProvider {
2
- set<T>(key: string, value: T, ttlSeconds: number): Promise<void>;
3
- get<T>(key: string): Promise<T | null>;
4
- del(...keys: string[]): Promise<void>;
5
- scanKeys(pattern: string): Promise<string[]>;
6
- getMemoryInfo(): Promise<string>;
7
- }
8
-
9
- declare class CacheService {
10
- private readonly provider;
11
- private readonly logger;
12
- constructor(provider: ICacheProvider);
13
- set<T>(key: string, value: T, ttlSeconds: number): Promise<void>;
14
- get<T>(key: string): Promise<T | null>;
15
- del(...keys: string[]): Promise<void>;
16
- scanKeys(pattern: string): Promise<string[]>;
17
- getMemoryInfo(): Promise<string>;
18
- }
19
-
20
- export { CacheService as C, type ICacheProvider as I };
@@ -1,20 +0,0 @@
1
- interface ICacheProvider {
2
- set<T>(key: string, value: T, ttlSeconds: number): Promise<void>;
3
- get<T>(key: string): Promise<T | null>;
4
- del(...keys: string[]): Promise<void>;
5
- scanKeys(pattern: string): Promise<string[]>;
6
- getMemoryInfo(): Promise<string>;
7
- }
8
-
9
- declare class CacheService {
10
- private readonly provider;
11
- private readonly logger;
12
- constructor(provider: ICacheProvider);
13
- set<T>(key: string, value: T, ttlSeconds: number): Promise<void>;
14
- get<T>(key: string): Promise<T | null>;
15
- del(...keys: string[]): Promise<void>;
16
- scanKeys(pattern: string): Promise<string[]>;
17
- getMemoryInfo(): Promise<string>;
18
- }
19
-
20
- export { CacheService as C, type ICacheProvider as I };
@@ -1,105 +0,0 @@
1
- import { FastifyRequest } from 'fastify';
2
-
3
- declare class RequestService {
4
- private readonly injectedRequest;
5
- private readonly config;
6
- constructor(injectedRequest: FastifyRequest, config: AuthConfig);
7
- private get request();
8
- getAccessToken(): string | null;
9
- getRefreshToken(): string | null;
10
- getHeader(key: string): string | string[] | undefined;
11
- getHostname(): string;
12
- getAllHeaders(): FastifyRequest['headers'];
13
- }
14
-
15
- declare const AUTH_CONFIG: unique symbol;
16
- type OnAuthenticatedCallback = (requestService: RequestService, sessionInfo: NonNullable<FastifyRequest['sessionInfo']>) => void | Promise<void>;
17
- type TokenExpiryString = `${number}${'s' | 'm' | 'h' | 'd' | 'w' | 'y'}`;
18
- interface TokenExpiry {
19
- access: TokenExpiryString;
20
- refresh: TokenExpiryString;
21
- }
22
- interface CookieConfig {
23
- refreshCookieName: string;
24
- refreshCookieMaxAge: number;
25
- refreshCookiePath: string;
26
- refreshCookieSecure: boolean;
27
- refreshCookieSameSite: 'strict' | 'lax' | 'none';
28
- refreshCookieDomain?: string;
29
- }
30
- interface GuardConfig {
31
- authHeaderName: string;
32
- tokenPrefix: string;
33
- csrfExemptSessionTypes?: string[];
34
- csrfExemptTransports?: string[];
35
- refreshTokenBindingExemptSessionTypes?: string[];
36
- onAuthenticated?: OnAuthenticatedCallback;
37
- }
38
- interface AuthConfig {
39
- tokenExpiry: TokenExpiry;
40
- cookie: CookieConfig;
41
- guard: GuardConfig;
42
- }
43
- declare const AUTH_CONFIG_DEFAULTS: {
44
- cookie: {
45
- refreshCookieName: string;
46
- refreshCookieMaxAge: number;
47
- refreshCookiePath: string;
48
- refreshCookieSecure: boolean;
49
- refreshCookieSameSite: "strict";
50
- refreshCookieDomain: string;
51
- };
52
- guard: {
53
- authHeaderName: string;
54
- tokenPrefix: string;
55
- csrfExemptSessionTypes: never[];
56
- csrfExemptTransports: never[];
57
- refreshTokenBindingExemptSessionTypes: never[];
58
- };
59
- };
60
- interface CookieSerializeOptions {
61
- httpOnly: boolean;
62
- secure: boolean;
63
- sameSite: 'strict' | 'lax' | 'none';
64
- path: string;
65
- maxAge: number;
66
- domain: string;
67
- }
68
- declare enum TokenType {
69
- ACCESS = "access",
70
- REFRESH = "refresh"
71
- }
72
- interface JwtClaims {
73
- exp: number;
74
- iat: number;
75
- }
76
- interface AccessTokenPayload {
77
- sessionType: string;
78
- tokenType: TokenType.ACCESS;
79
- userId: string;
80
- sessionId: string;
81
- refreshTokenHash: string;
82
- }
83
- type DecodedAccessToken = AccessTokenPayload & JwtClaims;
84
- interface RefreshTokenPayload {
85
- sessionType: string;
86
- tokenType: TokenType.REFRESH;
87
- userId: string;
88
- sessionId: string;
89
- }
90
- type DecodedRefreshToken = RefreshTokenPayload & JwtClaims;
91
-
92
- declare module 'fastify' {
93
- interface VrittiSessionInfo {
94
- userId: string;
95
- sessionId: string;
96
- sessionType: string;
97
- }
98
- interface FastifyRequest {
99
- sessionInfo?: VrittiSessionInfo;
100
- authConfig?: AuthConfig;
101
- cookies?: Record<string, string>;
102
- }
103
- }
104
-
105
- export { type AuthConfig as A, type CookieConfig as C, type DecodedAccessToken as D, type GuardConfig as G, type OnAuthenticatedCallback as O, RequestService as R, type TokenExpiry as T, TokenType as a, type DecodedRefreshToken as b, type AccessTokenPayload as c, AUTH_CONFIG as d, AUTH_CONFIG_DEFAULTS as e, type CookieSerializeOptions as f, type RefreshTokenPayload as g, type TokenExpiryString as h };
@@ -1,105 +0,0 @@
1
- import { FastifyRequest } from 'fastify';
2
-
3
- declare class RequestService {
4
- private readonly injectedRequest;
5
- private readonly config;
6
- constructor(injectedRequest: FastifyRequest, config: AuthConfig);
7
- private get request();
8
- getAccessToken(): string | null;
9
- getRefreshToken(): string | null;
10
- getHeader(key: string): string | string[] | undefined;
11
- getHostname(): string;
12
- getAllHeaders(): FastifyRequest['headers'];
13
- }
14
-
15
- declare const AUTH_CONFIG: unique symbol;
16
- type OnAuthenticatedCallback = (requestService: RequestService, sessionInfo: NonNullable<FastifyRequest['sessionInfo']>) => void | Promise<void>;
17
- type TokenExpiryString = `${number}${'s' | 'm' | 'h' | 'd' | 'w' | 'y'}`;
18
- interface TokenExpiry {
19
- access: TokenExpiryString;
20
- refresh: TokenExpiryString;
21
- }
22
- interface CookieConfig {
23
- refreshCookieName: string;
24
- refreshCookieMaxAge: number;
25
- refreshCookiePath: string;
26
- refreshCookieSecure: boolean;
27
- refreshCookieSameSite: 'strict' | 'lax' | 'none';
28
- refreshCookieDomain?: string;
29
- }
30
- interface GuardConfig {
31
- authHeaderName: string;
32
- tokenPrefix: string;
33
- csrfExemptSessionTypes?: string[];
34
- csrfExemptTransports?: string[];
35
- refreshTokenBindingExemptSessionTypes?: string[];
36
- onAuthenticated?: OnAuthenticatedCallback;
37
- }
38
- interface AuthConfig {
39
- tokenExpiry: TokenExpiry;
40
- cookie: CookieConfig;
41
- guard: GuardConfig;
42
- }
43
- declare const AUTH_CONFIG_DEFAULTS: {
44
- cookie: {
45
- refreshCookieName: string;
46
- refreshCookieMaxAge: number;
47
- refreshCookiePath: string;
48
- refreshCookieSecure: boolean;
49
- refreshCookieSameSite: "strict";
50
- refreshCookieDomain: string;
51
- };
52
- guard: {
53
- authHeaderName: string;
54
- tokenPrefix: string;
55
- csrfExemptSessionTypes: never[];
56
- csrfExemptTransports: never[];
57
- refreshTokenBindingExemptSessionTypes: never[];
58
- };
59
- };
60
- interface CookieSerializeOptions {
61
- httpOnly: boolean;
62
- secure: boolean;
63
- sameSite: 'strict' | 'lax' | 'none';
64
- path: string;
65
- maxAge: number;
66
- domain: string;
67
- }
68
- declare enum TokenType {
69
- ACCESS = "access",
70
- REFRESH = "refresh"
71
- }
72
- interface JwtClaims {
73
- exp: number;
74
- iat: number;
75
- }
76
- interface AccessTokenPayload {
77
- sessionType: string;
78
- tokenType: TokenType.ACCESS;
79
- userId: string;
80
- sessionId: string;
81
- refreshTokenHash: string;
82
- }
83
- type DecodedAccessToken = AccessTokenPayload & JwtClaims;
84
- interface RefreshTokenPayload {
85
- sessionType: string;
86
- tokenType: TokenType.REFRESH;
87
- userId: string;
88
- sessionId: string;
89
- }
90
- type DecodedRefreshToken = RefreshTokenPayload & JwtClaims;
91
-
92
- declare module 'fastify' {
93
- interface VrittiSessionInfo {
94
- userId: string;
95
- sessionId: string;
96
- sessionType: string;
97
- }
98
- interface FastifyRequest {
99
- sessionInfo?: VrittiSessionInfo;
100
- authConfig?: AuthConfig;
101
- cookies?: Record<string, string>;
102
- }
103
- }
104
-
105
- export { type AuthConfig as A, type CookieConfig as C, type DecodedAccessToken as D, type GuardConfig as G, type OnAuthenticatedCallback as O, RequestService as R, type TokenExpiry as T, TokenType as a, type DecodedRefreshToken as b, type AccessTokenPayload as c, AUTH_CONFIG as d, AUTH_CONFIG_DEFAULTS as e, type CookieSerializeOptions as f, type RefreshTokenPayload as g, type TokenExpiryString as h };