@20syldev/api 4.7.0 → 4.9.0

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 (191) hide show
  1. package/README.md +84 -47
  2. package/dist/app.js +6 -6
  3. package/dist/app.js.map +1 -1
  4. package/dist/config/env.js.map +1 -1
  5. package/dist/config/versions.js +22 -3
  6. package/dist/config/versions.js.map +1 -1
  7. package/dist/constants.js +27 -12
  8. package/dist/constants.js.map +1 -1
  9. package/dist/middleware/error.js +2 -2
  10. package/dist/middleware/error.js.map +1 -1
  11. package/dist/middleware/logger.js.map +1 -1
  12. package/dist/middleware/ratelimit.js +2 -2
  13. package/dist/middleware/ratelimit.js.map +1 -1
  14. package/dist/middleware/version.js.map +1 -1
  15. package/dist/modules/v3.js +1 -1
  16. package/dist/modules/v3.js.map +1 -1
  17. package/{src/modules/v4/address.ts → dist/modules/v4/address.js} +14 -46
  18. package/dist/modules/v4/address.js.map +1 -0
  19. package/{src/modules/v4/agent.ts → dist/modules/v4/agent.js} +26 -38
  20. package/dist/modules/v4/agent.js.map +1 -0
  21. package/dist/modules/v4/algorithms.js +79 -0
  22. package/dist/modules/v4/algorithms.js.map +1 -1
  23. package/dist/modules/v4/avatar.js +136 -0
  24. package/dist/modules/v4/avatar.js.map +1 -0
  25. package/dist/modules/v4/barcode.js +440 -0
  26. package/dist/modules/v4/barcode.js.map +1 -0
  27. package/dist/modules/v4/captcha.js +7 -0
  28. package/dist/modules/v4/captcha.js.map +1 -1
  29. package/dist/modules/v4/chat.js +9 -1
  30. package/dist/modules/v4/chat.js.map +1 -1
  31. package/dist/modules/v4/color.js +8 -1
  32. package/dist/modules/v4/color.js.map +1 -1
  33. package/dist/modules/v4/convert.js +9 -0
  34. package/dist/modules/v4/convert.js.map +1 -1
  35. package/dist/modules/v4/credit.js +104 -0
  36. package/dist/modules/v4/credit.js.map +1 -0
  37. package/dist/modules/v4/cron.js +202 -0
  38. package/dist/modules/v4/cron.js.map +1 -0
  39. package/dist/modules/v4/dice.js +7 -0
  40. package/dist/modules/v4/dice.js.map +1 -1
  41. package/dist/modules/v4/domain.js +6 -1
  42. package/dist/modules/v4/domain.js.map +1 -1
  43. package/dist/modules/v4/encode.js +71 -0
  44. package/dist/modules/v4/encode.js.map +1 -1
  45. package/dist/modules/v4/geo.js +11 -1
  46. package/dist/modules/v4/geo.js.map +1 -1
  47. package/dist/modules/v4/hash.js +10 -1
  48. package/dist/modules/v4/hash.js.map +1 -1
  49. package/dist/modules/v4/hyperplanning.js +9 -1
  50. package/dist/modules/v4/hyperplanning.js.map +1 -1
  51. package/{src/modules/v4/ip.ts → dist/modules/v4/ip.js} +58 -60
  52. package/dist/modules/v4/ip.js.map +1 -0
  53. package/dist/modules/v4/levenshtein.js +8 -0
  54. package/dist/modules/v4/levenshtein.js.map +1 -1
  55. package/dist/modules/v4/palette.js +9 -1
  56. package/dist/modules/v4/palette.js.map +1 -1
  57. package/{src/modules/v4/password.ts → dist/modules/v4/password.js} +25 -63
  58. package/dist/modules/v4/password.js.map +1 -0
  59. package/dist/modules/v4/personal.js +14 -18
  60. package/dist/modules/v4/personal.js.map +1 -1
  61. package/dist/modules/v4/placeholder.js +8 -0
  62. package/dist/modules/v4/placeholder.js.map +1 -1
  63. package/dist/modules/v4/qrcode.js +10 -3
  64. package/dist/modules/v4/qrcode.js.map +1 -1
  65. package/dist/modules/v4/regex.js +48 -0
  66. package/dist/modules/v4/regex.js.map +1 -0
  67. package/dist/modules/v4/statistics.js +7 -0
  68. package/dist/modules/v4/statistics.js.map +1 -1
  69. package/dist/modules/v4/text.js +30 -0
  70. package/dist/modules/v4/text.js.map +1 -1
  71. package/dist/modules/v4/tic_tac_toe.js +9 -1
  72. package/dist/modules/v4/tic_tac_toe.js.map +1 -1
  73. package/dist/modules/v4/time.js +62 -11
  74. package/dist/modules/v4/time.js.map +1 -1
  75. package/dist/modules/v4/token.js +17 -8
  76. package/dist/modules/v4/token.js.map +1 -1
  77. package/dist/modules/v4/username.js +5 -0
  78. package/dist/modules/v4/username.js.map +1 -1
  79. package/dist/modules/v4/validate.js +21 -0
  80. package/dist/modules/v4/validate.js.map +1 -1
  81. package/dist/modules/v4.js +10 -1
  82. package/dist/modules/v4.js.map +1 -1
  83. package/dist/routes/delete.js.map +1 -1
  84. package/dist/routes/get.js +208 -48
  85. package/dist/routes/get.js.map +1 -1
  86. package/dist/routes/index.js +2 -2
  87. package/dist/routes/index.js.map +1 -1
  88. package/dist/routes/patch.js.map +1 -1
  89. package/dist/routes/post.js +2 -2
  90. package/dist/routes/post.js.map +1 -1
  91. package/dist/utils/response.js.map +1 -1
  92. package/package.json +2 -1
  93. package/.github/FUNDING.yml +0 -1
  94. package/.prettierrc +0 -7
  95. package/eslint.config.js +0 -24
  96. package/robots.txt +0 -74
  97. package/src/app.ts +0 -53
  98. package/src/config/env.ts +0 -87
  99. package/src/config/plans.ts +0 -61
  100. package/src/config/versions.ts +0 -119
  101. package/src/constants.ts +0 -46
  102. package/src/favicon.ico +0 -0
  103. package/src/middleware/cors.ts +0 -23
  104. package/src/middleware/error.ts +0 -16
  105. package/src/middleware/json.ts +0 -9
  106. package/src/middleware/logger.ts +0 -32
  107. package/src/middleware/ratelimit.ts +0 -89
  108. package/src/middleware/version.ts +0 -40
  109. package/src/modules/v3/algorithms.js +0 -218
  110. package/src/modules/v3/captcha.js +0 -60
  111. package/src/modules/v3/chat.js +0 -111
  112. package/src/modules/v3/color.js +0 -60
  113. package/src/modules/v3/convert.js +0 -39
  114. package/src/modules/v3/domain.js +0 -86
  115. package/src/modules/v3/hash.js +0 -16
  116. package/src/modules/v3/hyperplanning.js +0 -56
  117. package/src/modules/v3/levenshtein.js +0 -46
  118. package/src/modules/v3/personal.js +0 -139
  119. package/src/modules/v3/qrcode.js +0 -20
  120. package/src/modules/v3/tic_tac_toe.js +0 -242
  121. package/src/modules/v3/time.js +0 -98
  122. package/src/modules/v3/token.js +0 -54
  123. package/src/modules/v3/username.js +0 -94
  124. package/src/modules/v3/utils.js +0 -77
  125. package/src/modules/v3.js +0 -15
  126. package/src/modules/v4/algorithms.ts +0 -276
  127. package/src/modules/v4/captcha.ts +0 -114
  128. package/src/modules/v4/chat.ts +0 -130
  129. package/src/modules/v4/color.ts +0 -75
  130. package/src/modules/v4/convert.ts +0 -127
  131. package/src/modules/v4/dice.ts +0 -46
  132. package/src/modules/v4/domain.ts +0 -86
  133. package/src/modules/v4/encode.ts +0 -241
  134. package/src/modules/v4/geo.ts +0 -63
  135. package/src/modules/v4/hash.ts +0 -32
  136. package/src/modules/v4/hyperplanning.ts +0 -93
  137. package/src/modules/v4/levenshtein.ts +0 -46
  138. package/src/modules/v4/palette.ts +0 -71
  139. package/src/modules/v4/personal.ts +0 -140
  140. package/src/modules/v4/placeholder.ts +0 -197
  141. package/src/modules/v4/qrcode.ts +0 -121
  142. package/src/modules/v4/statistics.ts +0 -62
  143. package/src/modules/v4/text.ts +0 -330
  144. package/src/modules/v4/tic_tac_toe.ts +0 -264
  145. package/src/modules/v4/time.ts +0 -103
  146. package/src/modules/v4/token.ts +0 -53
  147. package/src/modules/v4/username.ts +0 -94
  148. package/src/modules/v4/validate.ts +0 -76
  149. package/src/modules/v4.ts +0 -27
  150. package/src/routes/delete.ts +0 -72
  151. package/src/routes/get.ts +0 -835
  152. package/src/routes/index.ts +0 -59
  153. package/src/routes/patch.ts +0 -45
  154. package/src/routes/post.ts +0 -209
  155. package/src/storage/index.ts +0 -16
  156. package/src/types/express.d.ts +0 -17
  157. package/src/types/storage.ts +0 -48
  158. package/src/utils/colors.ts +0 -91
  159. package/src/utils/helpers.ts +0 -90
  160. package/src/utils/response.ts +0 -28
  161. package/tests/integration/api.test.ts +0 -716
  162. package/tests/tsconfig.json +0 -3
  163. package/tests/unit/address.test.ts +0 -84
  164. package/tests/unit/agent.test.ts +0 -113
  165. package/tests/unit/algorithms.test.ts +0 -121
  166. package/tests/unit/captcha.test.ts +0 -62
  167. package/tests/unit/chat.test.ts +0 -54
  168. package/tests/unit/color.test.ts +0 -54
  169. package/tests/unit/convert.test.ts +0 -68
  170. package/tests/unit/dice.test.ts +0 -58
  171. package/tests/unit/domain.test.ts +0 -48
  172. package/tests/unit/encode.test.ts +0 -109
  173. package/tests/unit/geo.test.ts +0 -46
  174. package/tests/unit/hash.test.ts +0 -45
  175. package/tests/unit/hyperplanning.test.ts +0 -97
  176. package/tests/unit/ip.test.ts +0 -140
  177. package/tests/unit/levenshtein.test.ts +0 -35
  178. package/tests/unit/palette.test.ts +0 -54
  179. package/tests/unit/password.test.ts +0 -86
  180. package/tests/unit/personal.test.ts +0 -66
  181. package/tests/unit/placeholder.test.ts +0 -58
  182. package/tests/unit/qrcode.test.ts +0 -83
  183. package/tests/unit/statistics.test.ts +0 -58
  184. package/tests/unit/text.test.ts +0 -108
  185. package/tests/unit/tic_tac_toe.test.ts +0 -56
  186. package/tests/unit/time.test.ts +0 -68
  187. package/tests/unit/token.test.ts +0 -62
  188. package/tests/unit/username.test.ts +0 -35
  189. package/tests/unit/validate.test.ts +0 -72
  190. package/tsconfig.json +0 -17
  191. package/tsconfig.test.json +0 -9
package/README.md CHANGED
@@ -1,41 +1,50 @@
1
1
  <div align="center">
2
2
  <a href="https://api.sylvain.sh"><img src="https://api.sylvain.sh/favicon.ico" alt="Logo" width="25%" height="auto"/></a>
3
3
 
4
- # API Personnelle
5
- [![Version](https://custom-icon-badges.demolab.com/badge/Version%20:-v4.7.0-6479ee?logo=api.sylvain.sh&labelColor=23272A)](https://github.com/20syldev/api/releases/latest)
4
+ # API Personnelle
5
+
6
+ [![Version](https://custom-icon-badges.demolab.com/badge/Version%20:-v4.9.0-6479ee?logo=api.sylvain.sh&labelColor=23272A)](https://github.com/20syldev/api/releases/latest)
7
+
6
8
  </div>
7
9
 
8
10
  ---
9
11
 
10
12
  ## À propos de l'API
13
+
11
14
  Voici mon API personnelle, disponible sur le domaine [api.sylvain.sh](https://api.sylvain.sh).
12
15
  L'API est développée avec **TypeScript** et **Node.js**, et hébergée **24h/7j**. Elle est **simple d'utilisation** et a une **documentation** disponible sur [docs.sylvain.sh](https://docs.sylvain.sh) !
13
- > *Une limite de **2000** requêtes **par heure** est fixée. Elle change pour certains endpoints nécessitant plus de ressources. Si vous souhaitez une **augmentation** de cette limite, n'hésitez pas à visiter la [documentation](https://docs.sylvain.sh/pricing).*
16
+
17
+ > _Une limite de **2000** requêtes **par heure** est fixée. Elle change pour certains endpoints nécessitant plus de ressources. Si vous souhaitez une **augmentation** de cette limite, n'hésitez pas à visiter la [documentation](https://docs.sylvain.sh/pricing)._
14
18
 
15
19
  ## Prérequis
20
+
16
21
  - **Node.js** >= 22.0.0
17
22
 
18
23
  ## Installer le paquet de l'API sur votre machine
24
+
19
25
  ```console
20
26
  $ sudo apt install nodejs npm
21
27
  $ npm install @20syldev/api
22
28
  $ npm init
23
29
  ```
24
- > *Attention, vous devez configurer le type sur "**module**" dans votre fichier `package.json`.*
30
+
31
+ > _Attention, vous devez configurer le type sur "**module**" dans votre fichier `package.json`._
25
32
 
26
33
  ## Utiliser l'API
27
34
 
28
35
  ### Option 1 : Démarrer un serveur local
29
36
 
30
37
  Pour démarrer un serveur local avec tous les endpoints :
38
+
31
39
  ```console
32
40
  $ npm run build && npm start
33
41
  ```
42
+
34
43
  ```console
35
- > @20syldev/api@4.7.0 build
44
+ > @20syldev/api@4.9.0 build
36
45
  > tsc
37
46
 
38
- > @20syldev/api@4.7.0 start
47
+ > @20syldev/api@4.9.0 start
39
48
  > node dist/app.js
40
49
 
41
50
  API is running on
@@ -44,6 +53,7 @@ API is running on
44
53
  ```
45
54
 
46
55
  Pour le développement avec rechargement automatique :
56
+
47
57
  ```console
48
58
  $ npm run dev
49
59
  ```
@@ -73,49 +83,76 @@ console.log(`Jeton: ${jeton}`);
73
83
 
74
84
  ## Scripts disponibles
75
85
 
76
- | Commande | Description |
77
- |----------|-------------|
78
- | `npm run dev` | Serveur de développement avec rechargement automatique (tsx watch) |
79
- | `npm run build` | Compilation TypeScript vers `dist/` |
80
- | `npm start` | Démarrer le serveur de production (`node dist/app.js`) |
81
- | `npm run lint` | Vérification ESLint |
82
- | `npm run format` | Formatage avec Prettier |
83
- | `npm run check` | Vérification TypeScript + ESLint |
86
+ | Commande | Description |
87
+ | ---------------- | ------------------------------------------------------------------ |
88
+ | `npm run dev` | Serveur de développement avec rechargement automatique (tsx watch) |
89
+ | `npm run build` | Compilation TypeScript vers `dist/` |
90
+ | `npm start` | Démarrer le serveur de production (`node dist/app.js`) |
91
+ | `npm test` | Lancer les tests unitaires et d'intégration |
92
+ | `npm run lint` | Vérification ESLint |
93
+ | `npm run format` | Formatage avec Prettier |
94
+ | `npm run check` | Vérification TypeScript + ESLint |
95
+
96
+ ## Endpoints disponibles (v4)
97
+
98
+ | Endpoint | Méthode | Description |
99
+ | ------------------- | ---------- | ------------------------------------------------------- |
100
+ | `/v4/address` | GET | Génération d'adresses postales aléatoires |
101
+ | `/v4/agent` | GET | Analyse de User-Agent |
102
+ | `/v4/algorithms` | GET | Fonctions algorithmiques (tri, fibonacci, factorielle…) |
103
+ | `/v4/avatar` | GET | Génération d'avatars identicon/pixel |
104
+ | `/v4/barcode` | GET | Génération de codes-barres (Code128, EAN-13/8, Code39) |
105
+ | `/v4/captcha` | GET | Génération d'images captcha |
106
+ | `/v4/chat` | GET / POST | Système de chat temporaire |
107
+ | `/v4/color` | GET | Génération de couleurs aléatoires |
108
+ | `/v4/convert` | GET | Conversions d'unités |
109
+ | `/v4/credit` | GET | Génération de cartes bancaires fictives (Luhn valide) |
110
+ | `/v4/cron` | GET | Analyse d'expressions cron |
111
+ | `/v4/dice` | GET | Lanceur de dés RPG |
112
+ | `/v4/domain` | GET | Informations de domaine aléatoires |
113
+ | `/v4/encode` | GET | Encodage / décodage |
114
+ | `/v4/geo` | GET | Calcul de distance géographique |
115
+ | `/v4/hash` | POST | Hachage de texte |
116
+ | `/v4/headers` | GET | Informations des en-têtes HTTP |
117
+ | `/v4/hyperplanning` | POST | Analyse de calendriers HyperPlanning |
118
+ | `/v4/infos` | GET | Informations sur l'API |
119
+ | `/v4/ip` | GET | Analyse d'adresses IP |
120
+ | `/v4/levenshtein` | GET | Distance entre chaînes |
121
+ | `/v4/palette` | GET | Génération de palettes de couleurs |
122
+ | `/v4/password` | GET | Génération de mots de passe sécurisés |
123
+ | `/v4/personal` | GET | Profil personnel aléatoire |
124
+ | `/v4/placeholder` | GET | Génération d'images placeholder |
125
+ | `/v4/qrcode` | GET | Génération de QR codes |
126
+ | `/v4/regex` | GET | Test d'expressions régulières |
127
+ | `/v4/statistics` | GET | Statistiques descriptives |
128
+ | `/v4/text` | GET | Utilitaires texte |
129
+ | `/v4/tic-tac-toe` | GET / POST | Jeu de morpion |
130
+ | `/v4/time` | GET | Informations temporelles |
131
+ | `/v4/token` | POST | Génération de jetons sécurisés |
132
+ | `/v4/username` | GET | Génération de noms d'utilisateur |
133
+ | `/v4/validate` | GET | Validation (Luhn, IBAN, email) |
134
+
135
+ ## Exemples d'utilisation
84
136
 
85
- ## Modules disponibles
137
+ ```js
138
+ import { avatar, barcode, credit, cron } from '@20syldev/api/v4';
86
139
 
87
- L'API v4 expose plusieurs modules que vous pouvez importer :
140
+ // Générer une carte bancaire fictive Luhn-valide
141
+ const { cards } = credit('visa', 1, 'full');
142
+ console.log(cards[0].formatted); // "4532 9876 5432 1098"
143
+ console.log(cards[0].cvv); // "847"
88
144
 
89
- ```js
90
- import {
91
- address, // Génération d'adresses postales aléatoires
92
- agent, // Analyse de User-Agent (navigateur, OS, appareil)
93
- algorithms, // Fonctions algorithmiques diverses
94
- captcha, // Génération d'images captcha
95
- chat, // Système de chat temporaire
96
- color, // Génération de couleurs aléatoires
97
- convert, // Conversions d'unités
98
- dice, // Lanceur de dés RPG
99
- domain, // Informations de domaine aléatoires
100
- encode, // Encodage / décodage (base64, morse, rot13, caesar, binaire)
101
- geo, // Informations de géolocalisation
102
- hash, // Hachage de texte
103
- hyperplanning, // Analyse de calendriers
104
- ip, // Analyse d'adresses IPv4/IPv6
105
- levenshtein, // Distance entre chaînes
106
- palette, // Génération de palettes de couleurs
107
- password, // Génération de mots de passe sécurisés
108
- personal, // Informations personnelles aléatoires
109
- placeholder, // Génération d'images placeholder
110
- qrcode, // Génération de QR codes
111
- statistics, // Statistiques descriptives
112
- text, // Utilitaires texte (slug, stats, lorem, nombre en lettres)
113
- tic_tac_toe, // Jeu de morpion
114
- time, // Informations temporelles
115
- token, // Génération de jetons sécurisés
116
- username, // Génération de noms d'utilisateur
117
- validate // Validation (Luhn, IBAN, email)
118
- } from '@20syldev/api/v4';
145
+ // Générer un avatar identicon SVG déterministe
146
+ const { body } = avatar({ seed: 'john', format: 'svg', size: 200 });
147
+ // body contient une chaîne SVG
148
+
149
+ // Générer un code-barres Code128
150
+ const { body: svg } = barcode({ data: 'Hello World' });
151
+ // body contient une chaîne SVG
152
+
153
+ // Analyser une expression cron
154
+ const { next } = cron('0 9 * * 1-5', 3);
155
+ console.log(next); // ["2026-05-12T09:00:00.000Z", ...]
119
156
  ```
120
157
 
121
- *Visitez la [documentation](https://docs.sylvain.sh) dédiée, vous y retrouverez des exemples de requêtes et des codes simples pour tester l'[API](https://api.sylvain.sh) !*
158
+ _Visitez la [documentation](https://docs.sylvain.sh) dédiée, vous y retrouverez des exemples de requêtes et des codes simples pour tester l'[API](https://api.sylvain.sh) !_
package/dist/app.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import express from 'express';
2
2
  import { env } from './config/env.js';
3
3
  import { setupCors } from './middleware/cors.js';
4
+ import { errorHandler } from './middleware/error.js';
4
5
  import { jsonResponseMiddleware } from './middleware/json.js';
5
- import { rateLimitMiddleware } from './middleware/ratelimit.js';
6
6
  import { loggerMiddleware } from './middleware/logger.js';
7
- import { errorHandler } from './middleware/error.js';
8
- import { versionCheckMiddleware, endpointCheckMiddleware } from './middleware/version.js';
9
- import indexRoutes from './routes/index.js';
7
+ import { rateLimitMiddleware } from './middleware/ratelimit.js';
8
+ import { endpointCheckMiddleware, versionCheckMiddleware } from './middleware/version.js';
9
+ import deleteRoutes from './routes/delete.js';
10
10
  import getRoutes from './routes/get.js';
11
- import postRoutes from './routes/post.js';
11
+ import indexRoutes from './routes/index.js';
12
12
  import patchRoutes from './routes/patch.js';
13
- import deleteRoutes from './routes/delete.js';
13
+ import postRoutes from './routes/post.js';
14
14
  const app = express();
15
15
  // Setup CORS, body parsing, static files
16
16
  setupCors(app);
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,yCAAyC;AACzC,SAAS,CAAC,GAAG,CAAC,CAAC;AAEf,uBAAuB;AACvB,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEhC,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE7B,kBAAkB;AAClB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE1B,iBAAiB;AACjB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,qCAAqC;AACrC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAErB,gCAAgC;AAChC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC7C,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;AAExD,mBAAmB;AACnB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,eAAe;AACf,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CACtB,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,CAAC,IAAI,4BAA4B,GAAG,CAAC,IAAI,EAAE,CAAC,CAC3G,CAAC;AACN,CAAC;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,yCAAyC;AACzC,SAAS,CAAC,GAAG,CAAC,CAAC;AAEf,uBAAuB;AACvB,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEhC,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE7B,kBAAkB;AAClB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE1B,iBAAiB;AACjB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,qCAAqC;AACrC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAErB,gCAAgC;AAChC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC7C,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;AAExD,mBAAmB;AACnB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,eAAe;AACf,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CACtB,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,CAAC,IAAI,4BAA4B,GAAG,CAAC,IAAI,EAAE,CAAC,CAC3G,CAAC;AACN,CAAC;AAED,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -51,31 +51,50 @@ const v3 = {
51
51
  { name: 'levenshtein', path: '/levenshtein?str1={string}&str2={string}' },
52
52
  {
53
53
  name: 'time',
54
- path: '/time(?type={type}&start={timestamp}&end={timestamp}&format={format}&timezone={timezone})',
54
+ path: '/time(?type={live|random|countdown}&target={date}&start={timestamp}&end={timestamp}&format={format}&timezone={timezone})',
55
55
  },
56
56
  ]),
57
57
  post: merge(v2.post, [{ name: 'hyperplanning', path: '/hyperplanning' }]),
58
58
  };
59
59
  const v4 = {
60
60
  get: merge(v3.get, [
61
+ { name: 'address', path: '/address(&country={code}&count={n})' },
62
+ { name: 'agent', path: '/agent(&ua={string})' },
63
+ {
64
+ name: 'avatar',
65
+ path: '/avatar(&seed={string}&size={50-2000}&type={identicon|pixel}&bg={hex}&format={png|svg})',
66
+ },
67
+ {
68
+ name: 'barcode',
69
+ path: '/barcode?data={string}(&type={type}&width={px}&height={px}&format={svg|png}&color={hex}&bg={hex})',
70
+ },
61
71
  {
62
72
  name: 'captcha',
63
73
  path: '/captcha(&text={text}&length={n}&width={px}&height={px}&noise={low|medium|high}&bg={hex}&color={hex})',
64
74
  },
65
75
  { name: 'color', path: '/color(&hex={hex})' },
66
76
  { name: 'convert', path: '/convert?value={value}&from={unit}&to={unit}' },
77
+ { name: 'credit', path: '/credit(&brand={visa|mastercard|amex|discover}&count={n}&format={full|masked})' },
78
+ { name: 'cron', path: '/cron?expr={expression}(&count={n}&from={date}&timezone={timezone})' },
67
79
  { name: 'dice', path: '/dice?roll={NdX+M}' },
68
80
  { name: 'encode', path: '/encode?method={method}&text={text}(&shift={shift})' },
69
81
  { name: 'geo', path: '/geo?lat1={lat}&lon1={lon}&lat2={lat}&lon2={lon}' },
82
+ { name: 'headers', path: '/headers(&filter={header1,header2})' },
83
+ { name: 'ip', path: '/ip(&address={ip})' },
70
84
  { name: 'palette', path: '/palette?color={#hex}&type={type}' },
71
85
  {
72
- name: 'qrcode',
73
- path: '/qrcode?url={URL}(&size={px}&margin={n}&correction={L|M|Q|H}&dark={hex}&light={hex}&icon={URL}&iconSize={px}&iconPadding={px}&iconRadius={px}&format={png|base64})',
86
+ name: 'password',
87
+ path: '/password(&type={random|passphrase}&length={n}&uppercase={bool}&lowercase={bool}&digits={bool}&symbols={bool}&exclude={chars}&count={n}&separator={char})',
74
88
  },
75
89
  {
76
90
  name: 'placeholder',
77
91
  path: '/placeholder?type={image|skeleton}&width={w}&height={h}(&bg={hex}&color={hex}&text={text}&rows={n}&avatar={bool})',
78
92
  },
93
+ {
94
+ name: 'qrcode',
95
+ path: '/qrcode?url={URL}(&size={px}&margin={n}&correction={L|M|Q|H}&dark={hex}&light={hex}&icon={URL}&iconSize={px}&iconPadding={px}&iconRadius={px}&format={png|base64})',
96
+ },
97
+ { name: 'regex', path: '/regex?pattern={regex}&text={string}(&flags={flags})' },
79
98
  { name: 'statistics', path: '/statistics?values={n1,n2,n3,...}' },
80
99
  { name: 'text', path: '/text?method={method}(&value={value}&type={type}&count={count}&lang={lang})' },
81
100
  { name: 'validate', path: '/validate?type={type}&value={value}' },
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/config/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/config/versions.ts"],"names":[],"mappings":"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"}
package/dist/constants.js CHANGED
@@ -1,20 +1,16 @@
1
1
  import pkg from '../package.json' with { type: 'json' };
2
+ // App
2
3
  export const APP_VERSION = pkg.version;
4
+ export const DEFAULT_PORT = 3000;
5
+ export const DOCS_URL = 'https://docs.sylvain.sh';
6
+ export const START_TIME = Date.now();
7
+ // Server
8
+ export const GAME_CLEANUP_TTL = 600_000;
9
+ export const GITHUB_CACHE_TTL = 600_000;
3
10
  export const MAX_LOG_ENTRIES = 1000;
4
11
  export const RATE_LIMIT_WINDOW = 10_000;
5
12
  export const RATE_LIMIT_MAX = 50;
6
13
  export const SESSION_TTL = 3_600_000;
7
- export const GAME_CLEANUP_TTL = 600_000;
8
- export const GITHUB_CACHE_TTL = 600_000;
9
- export const MIN_TOKEN_LENGTH = 12;
10
- export const MAX_TOKEN_LENGTH = 4096;
11
- export const MAX_FACTORIAL = 170;
12
- export const MAX_GCD_VALUE = 100_000;
13
- export const MAX_PRIME_LIST = 10_000;
14
- export const MAX_LEVENSHTEIN_LENGTH = 1000;
15
- export const MAX_STRING_LENGTH = 1000;
16
- export const DOCS_URL = 'https://docs.sylvain.sh';
17
- export const DEFAULT_PORT = 3000;
18
14
  export const STATUS_MESSAGES = {
19
15
  400: 'Bad Request',
20
16
  401: 'Unauthorized',
@@ -24,7 +20,26 @@ export const STATUS_MESSAGES = {
24
20
  429: 'Too Many Requests',
25
21
  500: 'Internal Server Error',
26
22
  };
27
- export const START_TIME = Date.now();
23
+ // Modules
24
+ export const EARTH_RADIUS_KM = 6371;
25
+ export const MAX_ADDRESS_COUNT = 10;
26
+ export const MAX_CREDIT_COUNT = 10;
27
+ export const MAX_COUNTDOWN_YEARS = 100;
28
+ export const MAX_CRON_ITERATIONS = 365 * 24 * 60;
29
+ export const MAX_CRON_RESULTS = 20;
30
+ export const MAX_FACTORIAL = 170;
31
+ export const MAX_GCD_VALUE = 100_000;
32
+ export const MAX_LEVENSHTEIN_LENGTH = 1000;
33
+ export const MIN_PASSWORD_LENGTH = 8;
34
+ export const MAX_PASSWORD_LENGTH = 128;
35
+ export const MAX_PASSWORD_COUNT = 20;
36
+ export const MAX_PATTERN_LENGTH = 200;
37
+ export const MAX_PRIME_LIST = 10_000;
38
+ export const MAX_QRCODE_LOGO_BYTES = 2 * 1024 * 1024;
39
+ export const MAX_REGEX_MATCHES = 100;
40
+ export const MAX_STRING_LENGTH = 1000;
41
+ export const MIN_TOKEN_LENGTH = 12;
42
+ export const MAX_TOKEN_LENGTH = 4096;
28
43
  export const ROMAN_VALUES = [
29
44
  [1000, 'M'],
30
45
  [900, 'CM'],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,MAAM,CAAC,MAAM,eAAe,GAA2B;IACnD,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,uBAAuB;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAuB;IAC5C,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,EAAE,EAAE,IAAI,CAAC;IACV,CAAC,EAAE,EAAE,GAAG,CAAC;IACT,CAAC,EAAE,EAAE,IAAI,CAAC;IACV,CAAC,EAAE,EAAE,GAAG,CAAC;IACT,CAAC,CAAC,EAAE,IAAI,CAAC;IACT,CAAC,CAAC,EAAE,GAAG,CAAC;IACR,CAAC,CAAC,EAAE,IAAI,CAAC;IACT,CAAC,CAAC,EAAE,GAAG,CAAC;CACX,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { error } from '../utils/response.js';
2
2
  export function errorHandler(err, _req, res, _next) {
3
3
  console.error(err.stack);
4
4
  const status = err.status && err.status >= 400 && err.status < 600 ? err.status : 500;
5
- const isSensitive = status === 500 && /\/[a-z]|\\[a-z]|ECONNREFUSED|ENOENT|EPERM|at\s+\w/i.test(err.message);
6
- error(res, status, isSensitive ? 'An unexpected error occurred.' : err.message);
5
+ const sensitive = status === 500 && /\/[a-z]|\\[a-z]|ECONNREFUSED|ENOENT|EPERM|at\s+\w/i.test(err.message);
6
+ error(res, status, sensitive ? 'An unexpected error occurred.' : err.message);
7
7
  }
8
8
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/middleware/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,YAAY,CACxB,GAAgC,EAChC,IAAa,EACb,GAAa,EACb,KAAmB;IAEnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,MAAM,WAAW,GAAG,MAAM,KAAK,GAAG,IAAI,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7G,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/middleware/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,YAAY,CACxB,GAAgC,EAChC,IAAa,EACb,GAAa,EACb,KAAmB;IAEnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,KAAK,GAAG,IAAI,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3G,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC/B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC;QAE/C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IAAI,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC/B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC;QAE/C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IAAI,EAAE,CAAC;AACX,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ipLimits } from '../storage/index.js';
1
+ import { getPlan, globalLimit } from '../config/plans.js';
2
2
  import { RATE_LIMIT_WINDOW, SESSION_TTL } from '../constants.js';
3
+ import { ipLimits } from '../storage/index.js';
3
4
  import { error } from '../utils/response.js';
4
- import { getPlan, globalLimit } from '../config/plans.js';
5
5
  let requests = 0;
6
6
  let resetTime = Date.now() + SESSION_TTL;
7
7
  const burstTracker = {};
@@ -1 +1 @@
1
- {"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../../src/middleware/ratelimit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../../src/middleware/ratelimit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/middleware/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAG,CAAC;IAE5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO;IACX,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAE,CAAC,OAAO,CAAC;IAExC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gCAAgC,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO;IACX,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAkB,CAAC;IAE/C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,QAAQ,uBAAuB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/middleware/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAG,CAAC;IAE5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO;IACX,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAE,CAAC,OAAO,CAAC;IAExC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gCAAgC,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO;IACX,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAkB,CAAC;IAE/C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,QAAQ,uBAAuB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export * as algorithms from './v3/algorithms.js';
2
- export { default as chat } from './v3/chat.js';
3
2
  export { default as captcha } from './v3/captcha.js';
3
+ export { default as chat } from './v3/chat.js';
4
4
  export { default as color } from './v3/color.js';
5
5
  export { default as convert } from './v3/convert.js';
6
6
  export { default as domain } from './v3/domain.js';
@@ -1 +1 @@
1
- {"version":3,"file":"v3.js","sourceRoot":"","sources":["../../src/modules/v3.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"v3.js","sourceRoot":"","sources":["../../src/modules/v3.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,23 +1,10 @@
1
+ import { MAX_ADDRESS_COUNT } from '../../constants.js';
1
2
  import { random, randomNumber } from '../../utils/helpers.js';
2
-
3
- const MAX_COUNT = 10;
4
-
5
- interface CountryData {
6
- name: string;
7
- streetTypes: string[];
8
- streetNames: string[];
9
- cities: string[];
10
- regions: string[];
11
- zipFormat: () => string;
3
+ function randomChar(chars) {
4
+ return chars[Math.floor(Math.random() * chars.length)];
12
5
  }
13
-
14
- function randomChar(chars: string): string {
15
- return chars[Math.floor(Math.random() * chars.length)]!;
16
- }
17
-
18
6
  const ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
19
-
20
- const countries: Record<string, CountryData> = {
7
+ const countries = {
21
8
  fr: {
22
9
  name: 'France',
23
10
  streetTypes: ['Rue', 'Avenue', 'Boulevard', 'Allée', 'Impasse', 'Place', 'Chemin', 'Route', 'Voie', 'Passage'],
@@ -214,8 +201,7 @@ const countries: Record<string, CountryData> = {
214
201
  'East Midlands',
215
202
  'North East',
216
203
  ],
217
- zipFormat: () =>
218
- `${randomChar(ALPHA)}${randomChar(ALPHA)}${randomNumber(1, 9)} ${randomNumber(1, 9)}${randomChar(ALPHA)}${randomChar(ALPHA)}`,
204
+ zipFormat: () => `${randomChar(ALPHA)}${randomChar(ALPHA)}${randomNumber(1, 9)} ${randomNumber(1, 9)}${randomChar(ALPHA)}${randomChar(ALPHA)}`,
219
205
  },
220
206
  de: {
221
207
  name: 'Germany',
@@ -364,22 +350,7 @@ const countries: Record<string, CountryData> = {
364
350
  zipFormat: () => String(randomNumber(10000, 52999)).padStart(5, '0'),
365
351
  },
366
352
  };
367
-
368
- const countryKeys = Object.keys(countries);
369
-
370
- export interface Address {
371
- street: string;
372
- city: string;
373
- zip: string;
374
- state: string;
375
- country: string;
376
- countryCode: string;
377
- }
378
-
379
- export interface AddressResult {
380
- addresses: Address[];
381
- }
382
-
353
+ const COUNTRY_KEYS = Object.keys(countries);
383
354
  /**
384
355
  * Generates one or more fictional postal addresses for a given country.
385
356
  *
@@ -388,19 +359,16 @@ export interface AddressResult {
388
359
  * @returns Array of addresses with street, city, zip, state, country, and countryCode
389
360
  * @throws Error if the country code is invalid or count is out of range
390
361
  */
391
- export default function address(countryCode?: string, count: number = 1): AddressResult {
392
- if (count < 1 || count > MAX_COUNT) {
393
- throw new Error(`Count must be between 1 and ${MAX_COUNT}`);
362
+ export default function address(countryCode, count = 1) {
363
+ if (count < 1 || count > MAX_ADDRESS_COUNT) {
364
+ throw new Error(`Count must be between 1 and ${MAX_ADDRESS_COUNT}`);
394
365
  }
395
-
396
- const code = (countryCode ?? random(countryKeys)).toLowerCase();
366
+ const code = (countryCode ?? random(COUNTRY_KEYS)).toLowerCase();
397
367
  if (!countries[code]) {
398
- throw new Error(`Unknown country code "${code}". Supported: ${countryKeys.join(', ')}`);
368
+ throw new Error(`Unknown country code "${code}". Supported: ${COUNTRY_KEYS.join(', ')}`);
399
369
  }
400
-
401
- const data = countries[code]!;
402
-
403
- const addresses: Address[] = Array.from({ length: count }, () => ({
370
+ const data = countries[code];
371
+ const addresses = Array.from({ length: count }, () => ({
404
372
  street: `${randomNumber(1, 200)} ${random(data.streetTypes)} ${random(data.streetNames)}`,
405
373
  city: random(data.cities),
406
374
  zip: data.zipFormat(),
@@ -408,6 +376,6 @@ export default function address(countryCode?: string, count: number = 1): Addres
408
376
  country: data.name,
409
377
  countryCode: code.toUpperCase(),
410
378
  }));
411
-
412
379
  return { addresses };
413
380
  }
381
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/modules/v4/address.ts"],"names":[],"mappings":"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"}