@20syldev/api 4.8.0 → 5.0.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 (126) hide show
  1. package/README.md +93 -55
  2. package/dist/config/versions.js +16 -0
  3. package/dist/config/versions.js.map +1 -1
  4. package/dist/constants.js +5 -0
  5. package/dist/constants.js.map +1 -1
  6. package/dist/modules/v5/chart.js +379 -0
  7. package/dist/modules/v5/chart.js.map +1 -0
  8. package/dist/modules/v5/evaluate.js +281 -0
  9. package/dist/modules/v5/evaluate.js.map +1 -0
  10. package/dist/modules/v5/matrix.js +238 -0
  11. package/dist/modules/v5/matrix.js.map +1 -0
  12. package/dist/modules/v5.js +5 -0
  13. package/dist/modules/v5.js.map +1 -0
  14. package/dist/routes/get.js +191 -162
  15. package/dist/routes/get.js.map +1 -1
  16. package/dist/routes/post.js +69 -0
  17. package/dist/routes/post.js.map +1 -1
  18. package/package.json +4 -2
  19. package/recap.md +98 -0
  20. package/.github/FUNDING.yml +0 -1
  21. package/.prettierrc +0 -7
  22. package/eslint.config.js +0 -24
  23. package/robots.txt +0 -74
  24. package/src/app.ts +0 -53
  25. package/src/config/env.ts +0 -87
  26. package/src/config/plans.ts +0 -61
  27. package/src/config/versions.ts +0 -121
  28. package/src/constants.ts +0 -61
  29. package/src/favicon.ico +0 -0
  30. package/src/middleware/cors.ts +0 -23
  31. package/src/middleware/error.ts +0 -16
  32. package/src/middleware/json.ts +0 -9
  33. package/src/middleware/logger.ts +0 -32
  34. package/src/middleware/ratelimit.ts +0 -89
  35. package/src/middleware/version.ts +0 -40
  36. package/src/modules/v3/algorithms.js +0 -218
  37. package/src/modules/v3/captcha.js +0 -60
  38. package/src/modules/v3/chat.js +0 -111
  39. package/src/modules/v3/color.js +0 -60
  40. package/src/modules/v3/convert.js +0 -39
  41. package/src/modules/v3/domain.js +0 -86
  42. package/src/modules/v3/hash.js +0 -16
  43. package/src/modules/v3/hyperplanning.js +0 -56
  44. package/src/modules/v3/levenshtein.js +0 -46
  45. package/src/modules/v3/personal.js +0 -139
  46. package/src/modules/v3/qrcode.js +0 -20
  47. package/src/modules/v3/tic_tac_toe.js +0 -242
  48. package/src/modules/v3/time.js +0 -98
  49. package/src/modules/v3/token.js +0 -54
  50. package/src/modules/v3/username.js +0 -94
  51. package/src/modules/v3/utils.js +0 -77
  52. package/src/modules/v3.js +0 -15
  53. package/src/modules/v4/address.ts +0 -412
  54. package/src/modules/v4/agent.ts +0 -104
  55. package/src/modules/v4/algorithms.ts +0 -276
  56. package/src/modules/v4/captcha.ts +0 -114
  57. package/src/modules/v4/chat.ts +0 -130
  58. package/src/modules/v4/color.ts +0 -75
  59. package/src/modules/v4/convert.ts +0 -127
  60. package/src/modules/v4/cron.ts +0 -221
  61. package/src/modules/v4/dice.ts +0 -46
  62. package/src/modules/v4/domain.ts +0 -86
  63. package/src/modules/v4/encode.ts +0 -241
  64. package/src/modules/v4/geo.ts +0 -64
  65. package/src/modules/v4/hash.ts +0 -32
  66. package/src/modules/v4/hyperplanning.ts +0 -93
  67. package/src/modules/v4/ip.ts +0 -134
  68. package/src/modules/v4/levenshtein.ts +0 -46
  69. package/src/modules/v4/palette.ts +0 -71
  70. package/src/modules/v4/password.ts +0 -379
  71. package/src/modules/v4/personal.ts +0 -140
  72. package/src/modules/v4/placeholder.ts +0 -197
  73. package/src/modules/v4/qrcode.ts +0 -121
  74. package/src/modules/v4/regex.ts +0 -67
  75. package/src/modules/v4/statistics.ts +0 -62
  76. package/src/modules/v4/text.ts +0 -330
  77. package/src/modules/v4/tic_tac_toe.ts +0 -264
  78. package/src/modules/v4/time.ts +0 -149
  79. package/src/modules/v4/token.ts +0 -53
  80. package/src/modules/v4/username.ts +0 -94
  81. package/src/modules/v4/validate.ts +0 -76
  82. package/src/modules/v4.ts +0 -29
  83. package/src/routes/delete.ts +0 -72
  84. package/src/routes/get.ts +0 -856
  85. package/src/routes/index.ts +0 -59
  86. package/src/routes/patch.ts +0 -45
  87. package/src/routes/post.ts +0 -209
  88. package/src/storage/index.ts +0 -16
  89. package/src/types/express.d.ts +0 -17
  90. package/src/types/storage.ts +0 -48
  91. package/src/utils/colors.ts +0 -91
  92. package/src/utils/helpers.ts +0 -90
  93. package/src/utils/response.ts +0 -28
  94. package/tests/integration/api.test.ts +0 -772
  95. package/tests/tsconfig.json +0 -3
  96. package/tests/unit/address.test.ts +0 -84
  97. package/tests/unit/agent.test.ts +0 -113
  98. package/tests/unit/algorithms.test.ts +0 -121
  99. package/tests/unit/captcha.test.ts +0 -62
  100. package/tests/unit/chat.test.ts +0 -54
  101. package/tests/unit/color.test.ts +0 -54
  102. package/tests/unit/convert.test.ts +0 -68
  103. package/tests/unit/cron.test.ts +0 -110
  104. package/tests/unit/dice.test.ts +0 -58
  105. package/tests/unit/domain.test.ts +0 -48
  106. package/tests/unit/encode.test.ts +0 -109
  107. package/tests/unit/geo.test.ts +0 -46
  108. package/tests/unit/hash.test.ts +0 -45
  109. package/tests/unit/hyperplanning.test.ts +0 -97
  110. package/tests/unit/ip.test.ts +0 -140
  111. package/tests/unit/levenshtein.test.ts +0 -35
  112. package/tests/unit/palette.test.ts +0 -54
  113. package/tests/unit/password.test.ts +0 -86
  114. package/tests/unit/personal.test.ts +0 -66
  115. package/tests/unit/placeholder.test.ts +0 -58
  116. package/tests/unit/qrcode.test.ts +0 -83
  117. package/tests/unit/regex.test.ts +0 -95
  118. package/tests/unit/statistics.test.ts +0 -58
  119. package/tests/unit/text.test.ts +0 -108
  120. package/tests/unit/tic_tac_toe.test.ts +0 -56
  121. package/tests/unit/time.test.ts +0 -115
  122. package/tests/unit/token.test.ts +0 -62
  123. package/tests/unit/username.test.ts +0 -35
  124. package/tests/unit/validate.test.ts +0 -72
  125. package/tsconfig.json +0 -17
  126. 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.8.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:-v5.0.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.8.0 build
44
+ > @20syldev/api@5.0.0 build
36
45
  > tsc
37
46
 
38
- > @20syldev/api@4.8.0 start
47
+ > @20syldev/api@5.0.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
  ```
@@ -53,69 +63,97 @@ $ npm run dev
53
63
  Vous pouvez également importer les modules spécifiques dont vous avez besoin :
54
64
 
55
65
  ```js
56
- // Importer des modules spécifiques depuis la v4
57
- import { color, token, username } from '@20syldev/api/v4';
66
+ // Importer des modules spécifiques depuis la v5
67
+ import { evaluate, color, username } from '@20syldev/api/v5';
68
+
69
+ // Évaluer une expression mathématique
70
+ const expr = evaluate('sin(pi / 2) + sqrt(4)', 5);
71
+ console.log(expr.result); // 3
72
+ console.log(expr.expression); // "sin(pi / 2) + sqrt(4)"
58
73
 
59
74
  // Générer une couleur aléatoire
60
75
  const couleur = color();
61
76
  console.log(`Couleur HEX: ${couleur.hex}`);
62
77
  console.log(`Couleur RGB: ${couleur.rgb}`);
63
- console.log(`Couleur HSL: ${couleur.hsl}`);
64
78
 
65
79
  // Générer un nom d'utilisateur aléatoire
66
80
  const utilisateur = username();
67
81
  console.log(`Nom d'utilisateur: ${utilisateur.username}`);
68
-
69
- // Générer un jeton sécurisé
70
- const jeton = token(16, 'hex');
71
- console.log(`Jeton: ${jeton}`);
72
82
  ```
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 |
84
-
85
- ## Modules disponibles
86
-
87
- L'API v4 expose plusieurs modules que vous pouvez importer :
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 (v5)
97
+
98
+ | Endpoint | Méthode | Description |
99
+ | ------------------- | ---------- | ------------------------------------------------------- |
100
+ | `/v5/address` | GET | Génération d'adresses postales aléatoires |
101
+ | `/v5/agent` | GET | Analyse de User-Agent |
102
+ | `/v5/algorithms` | GET | Fonctions algorithmiques (tri, fibonacci, factorielle…) |
103
+ | `/v5/avatar` | GET | Génération d'avatars identicon/pixel |
104
+ | `/v5/barcode` | GET | Génération de codes-barres (Code128, EAN-13/8, Code39) |
105
+ | `/v5/captcha` | GET | Génération d'images captcha |
106
+ | `/v5/chart` | POST | Génération de graphiques SVG (bar, line, pie, donut) |
107
+ | `/v5/chat` | GET / POST | Système de chat temporaire |
108
+ | `/v5/color` | GET | Génération de couleurs aléatoires |
109
+ | `/v5/convert` | GET | Conversions d'unités |
110
+ | `/v5/credit` | GET | Génération de cartes bancaires fictives (Luhn valide) |
111
+ | `/v5/cron` | GET | Analyse d'expressions cron |
112
+ | `/v5/dice` | GET | Lanceur de dés RPG |
113
+ | `/v5/domain` | GET | Informations de domaine aléatoires |
114
+ | `/v5/encode` | GET | Encodage / décodage |
115
+ | `/v5/evaluate` | GET | Évaluation d'expressions mathématiques |
116
+ | `/v5/geo` | GET | Calcul de distance géographique |
117
+ | `/v5/hash` | POST | Hachage de texte |
118
+ | `/v5/headers` | GET | Informations des en-têtes HTTP |
119
+ | `/v5/hyperplanning` | POST | Analyse de calendriers HyperPlanning |
120
+ | `/v5/infos` | GET | Informations sur l'API |
121
+ | `/v5/ip` | GET | Analyse d'adresses IP |
122
+ | `/v5/levenshtein` | GET | Distance entre chaînes |
123
+ | `/v5/matrix` | POST | Opérations matricielles (add, multiply, inverse…) |
124
+ | `/v5/palette` | GET | Génération de palettes de couleurs |
125
+ | `/v5/password` | GET | Génération de mots de passe sécurisés |
126
+ | `/v5/personal` | GET | Profil personnel aléatoire |
127
+ | `/v5/placeholder` | GET | Génération d'images placeholder |
128
+ | `/v5/qrcode` | GET | Génération de QR codes |
129
+ | `/v5/regex` | GET | Test d'expressions régulières |
130
+ | `/v5/statistics` | GET | Statistiques descriptives |
131
+ | `/v5/text` | GET | Utilitaires texte |
132
+ | `/v5/tic-tac-toe` | GET / POST | Jeu de morpion |
133
+ | `/v5/time` | GET | Informations temporelles |
134
+ | `/v5/token` | POST | Génération de jetons sécurisés |
135
+ | `/v5/username` | GET | Génération de noms d'utilisateur |
136
+ | `/v5/validate` | GET | Validation (Luhn, IBAN, email) |
137
+
138
+ ## Exemples d'utilisation
88
139
 
89
140
  ```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';
141
+ import { chart, evaluate, matrix } from '@20syldev/api/v5';
142
+
143
+ // Évaluer une expression mathématique
144
+ const { result } = evaluate('log2(8) * (3 + pi)', 4);
145
+ console.log(result); // 18.4248
146
+
147
+ // Opération matricielle — produit de deux matrices
148
+ const { result: product } = matrix.multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]);
149
+ console.log(product); // [[19, 22], [43, 50]]
150
+
151
+ // Générer un graphique SVG en mémoire
152
+ const { body: svg } = chart.bar(
153
+ { labels: ['Jan', 'Fév', 'Mar'], datasets: [{ label: 'Ventes', values: [120, 85, 200] }] },
154
+ { width: 600, height: 300 },
155
+ );
156
+ // body contient une chaîne SVG prête à l'emploi
119
157
  ```
120
158
 
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) !*
159
+ _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) !_
@@ -1,5 +1,6 @@
1
1
  import * as apiv3 from '../modules/v3.js';
2
2
  import * as apiv4 from '../modules/v4.js';
3
+ import * as apiv5 from '../modules/v5.js';
3
4
  /**
4
5
  * Merges a base list of endpoints with additions, deduplicating by `name`.
5
6
  * If an addition has the same name as a base entry, it overrides it.
@@ -100,11 +101,26 @@ const v4 = {
100
101
  { name: 'validate', path: '/validate?type={type}&value={value}' },
101
102
  ]),
102
103
  post: [...v3.post],
104
+ patch: [{ name: 'tic-tac-toe', path: '/tic-tac-toe/:game' }],
105
+ delete: [
106
+ { name: 'chat', path: '/chat/:token' },
107
+ { name: 'tic-tac-toe', path: '/tic-tac-toe/:game' },
108
+ ],
109
+ };
110
+ const v5 = {
111
+ get: merge(v4.get, [{ name: 'evaluate', path: '/evaluate?expr={expression}(&precision={0-15})' }]),
112
+ post: merge(v4.post, [
113
+ { name: 'chart', path: '/chart' },
114
+ { name: 'matrix', path: '/matrix' },
115
+ ]),
116
+ patch: [...v4.patch],
117
+ delete: [...v4.delete],
103
118
  };
104
119
  export const versions = {
105
120
  v1: { endpoints: v1, modules: apiv3 },
106
121
  v2: { endpoints: v2, modules: apiv3 },
107
122
  v3: { endpoints: v3, modules: apiv3 },
108
123
  v4: { endpoints: v4, modules: apiv4 },
124
+ v5: { endpoints: v5, modules: apiv5 },
109
125
  };
110
126
  //# sourceMappingURL=versions.js.map
@@ -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
@@ -23,16 +23,21 @@ export const STATUS_MESSAGES = {
23
23
  // Modules
24
24
  export const EARTH_RADIUS_KM = 6371;
25
25
  export const MAX_ADDRESS_COUNT = 10;
26
+ export const MAX_CHART_DATASETS = 5;
27
+ export const MAX_CHART_LABELS = 20;
26
28
  export const MAX_CREDIT_COUNT = 10;
27
29
  export const MAX_COUNTDOWN_YEARS = 100;
28
30
  export const MAX_CRON_ITERATIONS = 365 * 24 * 60;
29
31
  export const MAX_CRON_RESULTS = 20;
32
+ export const MAX_EXPR_DEPTH = 100;
33
+ export const MAX_EXPR_LENGTH = 500;
30
34
  export const MAX_FACTORIAL = 170;
31
35
  export const MAX_GCD_VALUE = 100_000;
32
36
  export const MAX_LEVENSHTEIN_LENGTH = 1000;
33
37
  export const MIN_PASSWORD_LENGTH = 8;
34
38
  export const MAX_PASSWORD_LENGTH = 128;
35
39
  export const MAX_PASSWORD_COUNT = 20;
40
+ export const MAX_MATRIX_SIZE = 20;
36
41
  export const MAX_PATTERN_LENGTH = 200;
37
42
  export const MAX_PRIME_LIST = 10_000;
38
43
  export const MAX_QRCODE_LOGO_BYTES = 2 * 1024 * 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}