emoji-hub-api-client 1.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 (54) hide show
  1. package/README.md +396 -0
  2. package/dist/get-all-emoji-categories/index.d.ts +10 -0
  3. package/dist/get-all-emoji-categories/index.d.ts.map +1 -0
  4. package/dist/get-all-emoji-categories/index.js +32 -0
  5. package/dist/get-all-emoji-categories/index.js.map +1 -0
  6. package/dist/get-all-emoji-groups/index.d.ts +10 -0
  7. package/dist/get-all-emoji-groups/index.d.ts.map +1 -0
  8. package/dist/get-all-emoji-groups/index.js +29 -0
  9. package/dist/get-all-emoji-groups/index.js.map +1 -0
  10. package/dist/get-all-emojis/index.d.ts +8 -0
  11. package/dist/get-all-emojis/index.d.ts.map +1 -0
  12. package/dist/get-all-emojis/index.js +33 -0
  13. package/dist/get-all-emojis/index.js.map +1 -0
  14. package/dist/get-random-emoji/get-random-by-category.d.ts +11 -0
  15. package/dist/get-random-emoji/get-random-by-category.d.ts.map +1 -0
  16. package/dist/get-random-emoji/get-random-by-category.js +34 -0
  17. package/dist/get-random-emoji/get-random-by-category.js.map +1 -0
  18. package/dist/get-random-emoji/get-random-by-group.d.ts +11 -0
  19. package/dist/get-random-emoji/get-random-by-group.d.ts.map +1 -0
  20. package/dist/get-random-emoji/get-random-by-group.js +34 -0
  21. package/dist/get-random-emoji/get-random-by-group.js.map +1 -0
  22. package/dist/get-random-emoji/get-random.d.ts +8 -0
  23. package/dist/get-random-emoji/get-random.d.ts.map +1 -0
  24. package/dist/get-random-emoji/get-random.js +32 -0
  25. package/dist/get-random-emoji/get-random.js.map +1 -0
  26. package/dist/get-random-emoji/index.d.ts +8 -0
  27. package/dist/get-random-emoji/index.d.ts.map +1 -0
  28. package/dist/get-random-emoji/index.js +32 -0
  29. package/dist/get-random-emoji/index.js.map +1 -0
  30. package/dist/index.d.ts +10 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +11 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/search-emojis/search-emojis-by-name.d.ts +14 -0
  35. package/dist/search-emojis/search-emojis-by-name.d.ts.map +1 -0
  36. package/dist/search-emojis/search-emojis-by-name.js +43 -0
  37. package/dist/search-emojis/search-emojis-by-name.js.map +1 -0
  38. package/dist/search-emojis/search-similar-emojis-by-name.d.ts +14 -0
  39. package/dist/search-emojis/search-similar-emojis-by-name.d.ts.map +1 -0
  40. package/dist/search-emojis/search-similar-emojis-by-name.js +43 -0
  41. package/dist/search-emojis/search-similar-emojis-by-name.js.map +1 -0
  42. package/dist/shared/index.d.ts +2 -0
  43. package/dist/shared/index.d.ts.map +1 -0
  44. package/dist/shared/index.js +3 -0
  45. package/dist/shared/index.js.map +1 -0
  46. package/dist/types/index.d.ts +6 -0
  47. package/dist/types/index.d.ts.map +1 -0
  48. package/dist/types/index.js +2 -0
  49. package/dist/types/index.js.map +1 -0
  50. package/dist/types/random-emoji.d.ts +5 -0
  51. package/dist/types/random-emoji.d.ts.map +1 -0
  52. package/dist/types/random-emoji.js +2 -0
  53. package/dist/types/random-emoji.js.map +1 -0
  54. package/package.json +47 -0
package/README.md ADDED
@@ -0,0 +1,396 @@
1
+ ![emoji-hub-api-banner-2](https://github.com/user-attachments/assets/3c273cde-0d8a-4b31-a9c5-1c6c72a0d1e7)
2
+ # Emoji Hub API Client
3
+ A lightweight JavaScript/TypeScript client for the EmojiHub API (https://github.com/cheatsnake/emojihub), providing easy access to emojis by category, group, search, and random selection. This package is ESM-only and works in modern browsers and Node.js 18+ environments that support the Fetch API.
4
+
5
+ ### 📦 Installation
6
+ ```console
7
+ npm install emoji-hub-api-client
8
+ ```
9
+ Note: If you are using Node.js, ensure your project supports ES modules.
10
+
11
+ ### 🎲 Features
12
+ 1. Lightweight & fast — minimal abstraction over the EmojiHub API
13
+ 2. Zero dependencies — uses the native fetch API
14
+ 3. JavaScript & TypeScript support — includes type definitions out of the box
15
+ 4. Search emojis by name
16
+ 5. Fetch random emojis
17
+ 6. Filter emojis by category or group
18
+ 7. Retrieve all available categories and groups
19
+
20
+ ### 📚 API Functions
21
+ The emoji-hub-api-client package exposes the following functions:
22
+ 1. ```getAllEmojiCategories()```: Retrieve a list of all available emoji categories.
23
+ 2. ```getAllEmojiGroups()```: Retrieve a list of all available emoji groups.
24
+ 3. ```getAllEmojis()```: Fetch all emojis available in the EmojiHub API.
25
+ 4. ```getRandomEmoji()```: Fetch a single random emoji.
26
+ 5. ```getRandomEmojiByCategory()```: Fetch a random emoji from a specific category.
27
+ 6. ```getRandomEmojiByGroup()```: Fetch a random emoji from a specific group.
28
+ 7. ```searchEmojisByName()```: Search emojis by name.
29
+ 8. ```searchSimilarEmojisByName()```: Retrieve emojis with names similar to the provided emoji name.
30
+
31
+ ### 🔤 Example Usage
32
+ 1. Get All Emoji Categories
33
+ ```javascript
34
+ import { getAllEmojiCategories } from "emoji-hub-api-client";
35
+
36
+ async function run() {
37
+ const response = await getAllEmojiCategories();
38
+ if (response.code === "api-ok" && response.payload) {
39
+ console.log(response.payload.categories);
40
+ } else {
41
+ console.error("Failed to fetch categories:", response.message);
42
+ }
43
+ }
44
+ run();
45
+
46
+ // 200:OK
47
+ /*
48
+ {
49
+ "code": "api-ok",
50
+ "message": "No error encountered",
51
+ "payload": {
52
+ "categories": [
53
+ "smileys and people",
54
+ "animals and nature",
55
+ "food and drink",
56
+ "travel and places"
57
+ ...
58
+ ...
59
+ ]
60
+ }
61
+ }
62
+ */
63
+
64
+ // Error
65
+ /*
66
+ {
67
+ code: "api-fail",
68
+ message: "Get All Emoji Categories: Encountered Error!",
69
+ payload: null
70
+ }
71
+ */
72
+ ```
73
+ 2. Get All Emoji Groups
74
+ ```javascript
75
+ import { getAllEmojiGroups } from "emoji-hub-api-client";
76
+
77
+ async function run() {
78
+ const response = await getAllEmojiGroups();
79
+ if (response.code === "api-ok" && response.payload) {
80
+ console.log(response.payload.groups);
81
+ } else {
82
+ console.error("Failed to fetch groups:", response.message);
83
+ }
84
+ }
85
+ run();
86
+
87
+ // 200:OK
88
+ /*
89
+ {
90
+ "code": "api-ok",
91
+ "message": "No error encountered",
92
+ "payload": {
93
+ "groups": [
94
+ "face positive",
95
+ "face neutral",
96
+ "face negative",
97
+ "animal mammal",
98
+ "animal bird"
99
+ ...
100
+ ...
101
+ ...
102
+ ]
103
+ }
104
+ }
105
+ */
106
+
107
+ // Error
108
+ /* { code: "api-fail", message: "Get All Emoji Groups: Encountered Error", payload: null }; */
109
+ ```
110
+ 3. Get All Emojis
111
+ ```javascript
112
+ import { getAllEmojis } from "emoji-hub-api-client";
113
+
114
+ async function run() {
115
+ const response = await getAllEmojis();
116
+ if (response.code === "api-ok" && response.payload) {
117
+ // Log the first emoji as a sample
118
+ console.log("Sample emoji:", response.payload[0]);
119
+ } else {
120
+ console.error("Failed to fetch emojis:", response.message);
121
+ }
122
+ }
123
+ run();
124
+
125
+ // 200:OK
126
+ /*
127
+ {
128
+ "code": "api-ok",
129
+ "message": "No error encountered",
130
+ "payload": [
131
+ {
132
+ "name": "grinning face",
133
+ "category": "smileys and people",
134
+ "group": "face positive",
135
+ "htmlCode": ["😀"],
136
+ "unicode": ["U+1F600"]
137
+ }
138
+ ...
139
+ ...
140
+ ...
141
+ ]
142
+ }
143
+ */
144
+
145
+ // Error
146
+ /*
147
+ {
148
+ code: "api-fail",
149
+ message: "Get All Emoji: Encountered Error!",
150
+ payload: null
151
+ }
152
+ */
153
+ ```
154
+ 4. Get A Random Emoji
155
+ ```javascript
156
+ import { getRandomEmoji } from "emoji-hub-api-client";
157
+
158
+ async function run() {
159
+ const response = await getRandomEmoji();
160
+ if (response.code === "api-ok" && response.payload) {
161
+ console.log(response.payload);
162
+ } else {
163
+ console.error("Failed to fetch random emoji:", response.message);
164
+ }
165
+ }
166
+ run();
167
+
168
+ // 200:OK
169
+ /*
170
+ {
171
+ "code": "api-ok",
172
+ "message": "No error encountered",
173
+ "payload": {
174
+ "name": "rocket",
175
+ "category": "travel and places",
176
+ "group": "transport air",
177
+ "htmlCode": ["🚀"],
178
+ "unicode": ["U+1F680"]
179
+ }
180
+ }
181
+ */
182
+
183
+ // Error
184
+ /*
185
+ {
186
+ code: "api-fail",
187
+ message: "Get Random Emoji: Encountered Error!",
188
+ payload: null
189
+ }
190
+ */
191
+ ```
192
+ 5. Get a Random Emoji by Category
193
+ ```javascript
194
+ /* Note: To get the type of categories, check the getAllEmojiCategories() function response */
195
+ import { getRandomEmojiByCategory } from "emoji-hub-api-client";
196
+
197
+ async function run() {
198
+ const response = await getRandomEmojiByCategory({
199
+ category: "smileys-and-people" /* join with hyphen if there are more than 2 words */
200
+ });
201
+
202
+ if (response.code === "api-ok" && response.payload) {
203
+ console.log(response.payload);
204
+ } else {
205
+ console.error("Failed to fetch random emoji by category:", response.message);
206
+ }
207
+ }
208
+ run();
209
+
210
+ // 200:OK
211
+ /*
212
+ {
213
+ "code": "api-ok",
214
+ "message": "No error encountered",
215
+ "payload": {
216
+ "name": "grinning face",
217
+ "category": "smileys and people",
218
+ "group": "face positive",
219
+ "htmlCode": ["😀"],
220
+ "unicode": ["U+1F600"]
221
+ }
222
+ }
223
+ */
224
+
225
+ // Error
226
+ /*
227
+ {
228
+ code: "api-fail",
229
+ message: "Get Random Emoji By Category: Encountered Error!",
230
+ payload: null
231
+ }
232
+ */
233
+ ```
234
+ 6. Get Random Emoji By Group
235
+ ```javascript
236
+ /* Note: to get the names of the groups, check the getAllEmojiGroups() function response */
237
+ import { getRandomEmojiByGroup } from "emoji-hub-api-client";
238
+
239
+ async function run() {
240
+ const response = await getRandomEmojiByGroup({
241
+ group: "face-positive" /* join with hyphen if there are more than 2 words*/
242
+ });
243
+
244
+ if (response.code === "api-ok" && response.payload) {
245
+ console.log(response.payload);
246
+ } else {
247
+ console.error("Failed to fetch random emoji by group:", response.message);
248
+ }
249
+ }
250
+ run();
251
+
252
+ // 200:OK
253
+ /*
254
+ {
255
+ "code": "api-ok",
256
+ "message": "No error encountered",
257
+ "payload": {
258
+ "name": "smiling face with sunglasses",
259
+ "category": "smileys and people",
260
+ "group": "face positive",
261
+ "htmlCode": ["😎"],
262
+ "unicode": ["U+1F60E"]
263
+ }
264
+ }
265
+ */
266
+
267
+ // Error
268
+ /*
269
+ {
270
+ code: "api-fail",
271
+ message: "Get Random Emoji By Group: Encountered Error!",
272
+ payload: null
273
+ }
274
+ */
275
+ ```
276
+ 7. Search An Emoji By Name/Query
277
+ ```javascript
278
+ import { searchEmojisByName } from "emoji-hub-api-client";
279
+
280
+ async function run() {
281
+ const response = await searchEmojisByName({
282
+ query: "smile"
283
+ });
284
+
285
+ if (response.code === "api-ok" && response.payload) {
286
+ console.log(`Total results: ${response.payload.totalResults}`);
287
+ console.log(response.payload.results);
288
+ } else {
289
+ console.error("Failed to search emojis:", response.message);
290
+ }
291
+ }
292
+ run();
293
+
294
+ // 200:OK
295
+ /*
296
+ {
297
+ "code": "api-ok",
298
+ "message": "No error encountered",
299
+ "payload": {
300
+ "totalResults": 2,
301
+ "results": [
302
+ {
303
+ "name": "smiling face",
304
+ "category": "smileys and people",
305
+ "group": "face positive",
306
+ "htmlCode": ["😊"],
307
+ "unicode": ["U+1F642"]
308
+ },
309
+ {
310
+ "name": "smiling face with sunglasses",
311
+ "category": "smileys and people",
312
+ "group": "face positive",
313
+ "htmlCode": ["😎"],
314
+ "unicode": ["U+1F60E"]
315
+ }
316
+ ]
317
+ }
318
+ }
319
+ */
320
+
321
+ // Error
322
+ /*
323
+ {
324
+ code: "api-fail",
325
+ message: "Search Emoji(s) By Name: Encountered Error!",
326
+ payload: null
327
+ }
328
+ */
329
+ ```
330
+ 8. Get Similar Emoji(s) By Name/Query
331
+ ```javascript
332
+ import { searchSimilarEmojisByName } from "emoji-hub-api-client";
333
+
334
+ async function run() {
335
+ const response = await searchSimilarEmojisByName({
336
+ query: "heart"
337
+ });
338
+ if (response.code === "api-ok" && response.payload) {
339
+ console.log(`Total similar emojis found: ${response.payload.totalResults}`);
340
+ console.log(response.payload.results);
341
+ } else {
342
+ console.error("Failed to search similar emojis:", response.message);
343
+ }
344
+ }
345
+ run();
346
+
347
+ // 200:OK
348
+ /*
349
+ {
350
+ "code": "api-ok",
351
+ "message": "No error encountered",
352
+ "payload": {
353
+ "totalResults": 3,
354
+ "results": [
355
+ {
356
+ "name": "red heart",
357
+ "category": "smileys and people",
358
+ "group": "emotion",
359
+ "htmlCode": ["❤"],
360
+ "unicode": ["U+2764"]
361
+ },
362
+ {
363
+ "name": "orange heart",
364
+ "category": "smileys and people",
365
+ "group": "emotion",
366
+ "htmlCode": ["🟧"],
367
+ "unicode": ["U+1F9E7"]
368
+ },
369
+ {
370
+ "name": "yellow heart",
371
+ "category": "smileys and people",
372
+ "group": "emotion",
373
+ "htmlCode": ["💛"],
374
+ "unicode": ["U+1F49B"]
375
+ }
376
+ ]
377
+ }
378
+ }
379
+ */
380
+
381
+ // Error
382
+ /*
383
+ {
384
+ code: "api-fail",
385
+ message: "Search Similar Emoji(s) By Name: Encountered Error!",
386
+ payload: null
387
+ }
388
+ */
389
+ ```
390
+
391
+ ### 📘 Contributing
392
+ Contributions, suggestions, and improvements are welcome.<br/>
393
+ Feel free to open issues or pull requests.
394
+
395
+ ### ❤️ Support
396
+ Like this project? Support it with a github star, it would mean a lot to me! Cheers and Happy Coding.
@@ -0,0 +1,10 @@
1
+ import { TAPIResponse } from "../types/index.js";
2
+ type TEmojiCategories = TAPIResponse & {
3
+ payload: {
4
+ categories: string[];
5
+ } | null;
6
+ };
7
+ declare function getAllEmojiCategories(): Promise<TEmojiCategories>;
8
+ export type { TEmojiCategories };
9
+ export { getAllEmojiCategories };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/get-all-emoji-categories/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,KAAK,gBAAgB,GAAG,YAAY,GAAG;IACnC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5C,CAAC;AAGF,iBAAe,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyBhE;AAGD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getAllEmojiCategories() {
5
+ try {
6
+ /* setup and fetch */
7
+ const API_URL = `${API_BASE_URL}/api/categories`;
8
+ const response = await fetch(API_URL);
9
+ /* check and return */
10
+ if (!response.ok) {
11
+ throw new Error(`HTTP error! status: ${response.status}`);
12
+ }
13
+ else {
14
+ const categories = await response.json();
15
+ return {
16
+ code: "api-ok",
17
+ message: "No errors encountered",
18
+ payload: { categories }
19
+ };
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ return {
25
+ code: "api-fail",
26
+ message: "Get All Emoji Categories: Encountered Error!",
27
+ payload: null
28
+ };
29
+ }
30
+ }
31
+ export { getAllEmojiCategories };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/get-all-emoji-categories/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,YAAY;AACZ,KAAK,UAAU,qBAAqB;IAChC,IAAI,CAAC;QACD,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,EAAE,UAAU,EAAE;aAC1B,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,8CAA8C;YACvD,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { TAPIResponse } from "../types/index.js";
2
+ type TEmojiGroups = TAPIResponse & {
3
+ payload: null | {
4
+ groups: string[];
5
+ };
6
+ };
7
+ declare function getAllEmojiGroups(): Promise<TEmojiGroups>;
8
+ export { getAllEmojiGroups };
9
+ export type { TEmojiGroups };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/get-all-emoji-groups/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAIhD,KAAK,YAAY,GAAG,YAAY,GAAG;IAC/B,OAAO,EAAE,IAAI,GAAG;QACZ,MAAM,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC;CACL,CAAC;AAGF,iBAAe,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,CAwBxD;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAC,YAAY,EAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { API_BASE_URL } from "../shared/index.js";
2
+ /* module */
3
+ async function getAllEmojiGroups() {
4
+ try {
5
+ /* setup and fetch */
6
+ const API_URL = `${API_BASE_URL}/api/groups`;
7
+ const response = await fetch(API_URL);
8
+ if (!response.ok) {
9
+ throw new Error(`HTTP error! status: ${response.status}`);
10
+ }
11
+ else {
12
+ const emojiGroups = await response.json();
13
+ return {
14
+ code: "api-ok",
15
+ message: "No errors encountered",
16
+ payload: {
17
+ groups: emojiGroups
18
+ }
19
+ };
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ return { code: "api-fail", message: "Get All Emoji Groups: Encountered Error", payload: null };
25
+ }
26
+ }
27
+ /* export */
28
+ export { getAllEmojiGroups };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/get-all-emoji-groups/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAShD,YAAY;AACZ,KAAK,UAAU,iBAAiB;IAC5B,IAAI,CAAC;QACD,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,aAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBACZ,QAAQ,CAAC,MACb,EAAE,CAAC,CAAC;QACR,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE;oBACL,MAAM,EAAE,WAAW;iBACtB;aACJ,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,yCAAyC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IACjG,CAAC;AACL,CAAC;AAED,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TAllEmojis = TAPIResponse & {
3
+ payload: null | TEmoji[];
4
+ };
5
+ declare function getAllEmojis(): Promise<TAllEmojis>;
6
+ export { getAllEmojis };
7
+ export type { TAllEmojis };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/get-all-emojis/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,UAAU,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAG9D,iBAAe,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAyBjD;AAGD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getAllEmojis() {
5
+ try {
6
+ /* setup and fetch */
7
+ const API_URL = `${API_BASE_URL}/api/all`;
8
+ const response = await fetch(API_URL);
9
+ /* check and return */
10
+ if (!response.ok) {
11
+ throw new Error(`HTTP error! status: ${response.status}`);
12
+ }
13
+ else {
14
+ const emojis = await response.json();
15
+ return {
16
+ code: "api-ok",
17
+ message: "No errors encountered",
18
+ payload: emojis
19
+ };
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ return {
25
+ code: "api-fail",
26
+ message: "Get All Emoji: Encountered Error!",
27
+ payload: null
28
+ };
29
+ }
30
+ }
31
+ /* export */
32
+ export { getAllEmojis };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/get-all-emojis/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,YAAY;AACZ,KAAK,UAAU,YAAY;IACvB,IAAI,CAAC;QACD,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,UAAU,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,MAAM;aAClB,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,mCAAmC;YAC5C,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAED,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TRandomEmojiByCategory = TAPIResponse & {
3
+ payload: null | TEmoji;
4
+ };
5
+ type TInput = {
6
+ category: string;
7
+ };
8
+ declare function getRandomEmojiByCategory(props: TInput): Promise<TRandomEmojiByCategory>;
9
+ export type { TRandomEmojiByCategory };
10
+ export { getRandomEmojiByCategory };
11
+ //# sourceMappingURL=get-random-by-category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random-by-category.d.ts","sourceRoot":"","sources":["../../src/get-random-emoji/get-random-by-category.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,sBAAsB,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC;AACxE,KAAK,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAGnC,iBAAe,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA4BtF;AAGD,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getRandomEmojiByCategory(props) {
5
+ try {
6
+ /* props - destruct */
7
+ const { category } = props;
8
+ /* setup and fetch */
9
+ const API_URL = `${API_BASE_URL}/api/random/category/${category}`;
10
+ const response = await fetch(API_URL);
11
+ /* check and return */
12
+ if (!response.ok) {
13
+ throw new Error(`HTTP error! status: ${response.status}`);
14
+ }
15
+ else {
16
+ const emoji = await response.json();
17
+ return {
18
+ code: "api-ok",
19
+ message: "No errors encountered",
20
+ payload: emoji
21
+ };
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.error(error);
26
+ return {
27
+ code: "api-fail",
28
+ message: "Get Random Emoji By Category: Encountered Error!",
29
+ payload: null
30
+ };
31
+ }
32
+ }
33
+ export { getRandomEmojiByCategory };
34
+ //# sourceMappingURL=get-random-by-category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random-by-category.js","sourceRoot":"","sources":["../../src/get-random-emoji/get-random-by-category.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,YAAY;AACZ,KAAK,UAAU,wBAAwB,CAAC,KAAa;IACjD,IAAI,CAAC;QACD,sBAAsB;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE3B,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,wBAAwB,QAAQ,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,KAAK;aACjB,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TRandomEmojiByGroup = TAPIResponse & {
3
+ payload: null | TEmoji;
4
+ };
5
+ type TInput = {
6
+ group: string;
7
+ };
8
+ declare function getRandomEmojiByGroup(props: TInput): Promise<TRandomEmojiByGroup>;
9
+ export type { TRandomEmojiByGroup };
10
+ export { getRandomEmojiByGroup };
11
+ //# sourceMappingURL=get-random-by-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random-by-group.d.ts","sourceRoot":"","sources":["../../src/get-random-emoji/get-random-by-group.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,mBAAmB,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC;AACrE,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAGhC,iBAAe,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4BhF;AAGD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getRandomEmojiByGroup(props) {
5
+ try {
6
+ /* props - destruct */
7
+ const { group } = props;
8
+ /* setup and fetch */
9
+ const API_URL = `${API_BASE_URL}/api/random/group/${group}`;
10
+ const response = await fetch(API_URL);
11
+ /* check and return */
12
+ if (!response.ok) {
13
+ throw new Error(`HTTP error! status: ${response.status}`);
14
+ }
15
+ else {
16
+ const emoji = await response.json();
17
+ return {
18
+ code: "api-ok",
19
+ message: "No errors encountered",
20
+ payload: emoji
21
+ };
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.error(error);
26
+ return {
27
+ code: "api-fail",
28
+ message: "Get Random Emoji By Group: Encountered Error!",
29
+ payload: null
30
+ };
31
+ }
32
+ }
33
+ export { getRandomEmojiByGroup };
34
+ //# sourceMappingURL=get-random-by-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random-by-group.js","sourceRoot":"","sources":["../../src/get-random-emoji/get-random-by-group.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,YAAY;AACZ,KAAK,UAAU,qBAAqB,CAAC,KAAa;IAC9C,IAAI,CAAC;QACD,sBAAsB;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,qBAAqB,KAAK,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,KAAK;aACjB,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TRandomEmoji = TAPIResponse & {
3
+ payload: null | TEmoji;
4
+ };
5
+ declare function getRandomEmoji(): Promise<TRandomEmoji>;
6
+ export type { TRandomEmoji };
7
+ export { getRandomEmoji };
8
+ //# sourceMappingURL=get-random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random.d.ts","sourceRoot":"","sources":["../../src/get-random-emoji/get-random.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,YAAY,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC;AAG9D,iBAAe,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CAyBrD;AAGD,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getRandomEmoji() {
5
+ try {
6
+ /* setup and fetch */
7
+ const API_URL = `${API_BASE_URL}/api/random`;
8
+ const response = await fetch(API_URL);
9
+ /* check and return */
10
+ if (!response.ok) {
11
+ throw new Error(`HTTP error! status: ${response.status}`);
12
+ }
13
+ else {
14
+ const emoji = await response.json();
15
+ return {
16
+ code: "api-ok",
17
+ message: "No errors encountered",
18
+ payload: emoji
19
+ };
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ return {
25
+ code: "api-fail",
26
+ message: "Get Random Emoji: Encountered Error!",
27
+ payload: null
28
+ };
29
+ }
30
+ }
31
+ export { getRandomEmoji };
32
+ //# sourceMappingURL=get-random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-random.js","sourceRoot":"","sources":["../../src/get-random-emoji/get-random.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,YAAY;AACZ,KAAK,UAAU,cAAc;IACzB,IAAI,CAAC;QACD,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,aAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,KAAK;aACjB,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TRandomEmojiResponse = TAPIResponse & {
3
+ payload: null | TEmoji;
4
+ };
5
+ declare function getRandomEmoji(): Promise<TRandomEmojiResponse>;
6
+ export type { TRandomEmojiResponse };
7
+ export { getRandomEmoji };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/get-random-emoji/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,oBAAoB,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC;AAGtE,iBAAe,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAyB7D;AAGD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function getRandomEmoji() {
5
+ try {
6
+ /* setup and fetch */
7
+ const API_URL = `${API_BASE_URL}/api/random`;
8
+ const response = await fetch(API_URL);
9
+ /* check and return */
10
+ if (!response.ok) {
11
+ throw new Error(`HTTP error! status: ${response.status}`);
12
+ }
13
+ else {
14
+ const emoji = await response.json();
15
+ return {
16
+ code: "api-ok",
17
+ message: "No errors encountered",
18
+ payload: emoji
19
+ };
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ return {
25
+ code: "api-fail",
26
+ message: "Get Random Emoji: Encountered Error!",
27
+ payload: null
28
+ };
29
+ }
30
+ }
31
+ export { getRandomEmoji };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/get-random-emoji/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,YAAY;AACZ,KAAK,UAAU,cAAc;IACzB,IAAI,CAAC;QACD,qBAAqB;QACrB,MAAM,OAAO,GAAG,GAAG,YAAY,aAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,KAAK;aACjB,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from "./get-random-emoji/get-random.js";
2
+ export * from "./get-random-emoji/get-random-by-category.js";
3
+ export * from "./get-random-emoji/get-random-by-group.js";
4
+ export * from "./get-all-emojis/index.js";
5
+ export * from "./get-all-emoji-categories/index.js";
6
+ export * from "./get-all-emoji-groups/index.js";
7
+ export * from "./search-emojis/search-emojis-by-name.js";
8
+ export * from "./search-emojis/search-similar-emojis-by-name.js";
9
+ export * from "./types/index.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ /* exports */
2
+ export * from "./get-random-emoji/get-random.js";
3
+ export * from "./get-random-emoji/get-random-by-category.js";
4
+ export * from "./get-random-emoji/get-random-by-group.js";
5
+ export * from "./get-all-emojis/index.js";
6
+ export * from "./get-all-emoji-categories/index.js";
7
+ export * from "./get-all-emoji-groups/index.js";
8
+ export * from "./search-emojis/search-emojis-by-name.js";
9
+ export * from "./search-emojis/search-similar-emojis-by-name.js";
10
+ export * from "./types/index.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TEmojiSearchResponse = TAPIResponse & {
3
+ payload: null | {
4
+ totalResults: number;
5
+ results: TEmoji[];
6
+ };
7
+ };
8
+ type TInput = {
9
+ query: string;
10
+ };
11
+ declare function searchEmojisByName(props: TInput): Promise<TEmojiSearchResponse>;
12
+ export type { TEmojiSearchResponse };
13
+ export { searchEmojisByName };
14
+ //# sourceMappingURL=search-emojis-by-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-emojis-by-name.d.ts","sourceRoot":"","sources":["../../src/search-emojis/search-emojis-by-name.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,oBAAoB,GAAG,YAAY,GAAG;IACvC,OAAO,EAAE,IAAI,GAAG;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAA;CACJ,CAAC;AACF,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAGhC,iBAAe,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoC9E;AAGD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function searchEmojisByName(props) {
5
+ try {
6
+ /* props - destruct */
7
+ const { query } = props;
8
+ if (query.length <= 0) {
9
+ throw new Error("Emoji Search: Query must be at least 1 character long!");
10
+ }
11
+ else {
12
+ /* setup and fetch */
13
+ const encoded = encodeURIComponent(query);
14
+ const API_URL = `${API_BASE_URL}/api/search?q=${encoded}`;
15
+ const response = await fetch(API_URL);
16
+ /* check and return */
17
+ if (!response.ok) {
18
+ throw new Error(`HTTP error! status: ${response.status}`);
19
+ }
20
+ else {
21
+ const results = await response.json();
22
+ return {
23
+ code: "api-ok",
24
+ message: "No errors encountered",
25
+ payload: {
26
+ results: results,
27
+ totalResults: results.length
28
+ }
29
+ };
30
+ }
31
+ }
32
+ }
33
+ catch (error) {
34
+ console.error(error);
35
+ return {
36
+ code: "api-fail",
37
+ message: "Search Emoji(s) By Name: Encountered Error!",
38
+ payload: null
39
+ };
40
+ }
41
+ }
42
+ export { searchEmojisByName };
43
+ //# sourceMappingURL=search-emojis-by-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-emojis-by-name.js","sourceRoot":"","sources":["../../src/search-emojis/search-emojis-by-name.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYlD,YAAY;AACZ,KAAK,UAAU,kBAAkB,CAAC,KAAa;IAC3C,IAAI,CAAC;QACD,sBAAsB;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACJ,qBAAqB;YACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,OAAO,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtC,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO;oBACH,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uBAAuB;oBAChC,OAAO,EAAE;wBACL,OAAO,EAAE,OAAO;wBAChB,YAAY,EAAE,OAAO,CAAC,MAAM;qBAC/B;iBACJ,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,6CAA6C;YACtD,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { TEmoji, TAPIResponse } from "../types/index.js";
2
+ type TEmojiSimilarSearchResponse = TAPIResponse & {
3
+ payload: null | {
4
+ totalResults: number;
5
+ results: TEmoji[];
6
+ };
7
+ };
8
+ type TInput = {
9
+ query: string;
10
+ };
11
+ declare function searchSimilarEmojisByName(props: TInput): Promise<TEmojiSimilarSearchResponse>;
12
+ export type { TEmojiSimilarSearchResponse };
13
+ export { searchSimilarEmojisByName };
14
+ //# sourceMappingURL=search-similar-emojis-by-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-similar-emojis-by-name.d.ts","sourceRoot":"","sources":["../../src/search-emojis/search-similar-emojis-by-name.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,2BAA2B,GAAG,YAAY,GAAG;IAC9C,OAAO,EAAE,IAAI,GAAG;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAA;CACJ,CAAC;AACF,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAGhC,iBAAe,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAoC5F;AAGD,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ /* app imports */
2
+ import { API_BASE_URL } from "../shared/index.js";
3
+ /* module */
4
+ async function searchSimilarEmojisByName(props) {
5
+ try {
6
+ /* props - destruct */
7
+ const { query } = props;
8
+ if (query.length <= 0) {
9
+ throw new Error("Emoji Similar Search: Query must be at least 1 character long!");
10
+ }
11
+ else {
12
+ /* setup and fetch */
13
+ const encoded = encodeURIComponent(query);
14
+ const API_URL = `${API_BASE_URL}/api/similar/${encoded}`;
15
+ const response = await fetch(API_URL);
16
+ /* check and return */
17
+ if (!response.ok) {
18
+ throw new Error(`HTTP error! status: ${response.status}`);
19
+ }
20
+ else {
21
+ const results = await response.json();
22
+ return {
23
+ code: "api-ok",
24
+ message: "No errors encountered",
25
+ payload: {
26
+ results: results,
27
+ totalResults: results.length
28
+ }
29
+ };
30
+ }
31
+ }
32
+ }
33
+ catch (error) {
34
+ console.error(error);
35
+ return {
36
+ code: "api-fail",
37
+ message: "Search Similar Emoji(s) By Name: Encountered Error!",
38
+ payload: null
39
+ };
40
+ }
41
+ }
42
+ export { searchSimilarEmojisByName };
43
+ //# sourceMappingURL=search-similar-emojis-by-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-similar-emojis-by-name.js","sourceRoot":"","sources":["../../src/search-emojis/search-similar-emojis-by-name.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYlD,YAAY;AACZ,KAAK,UAAU,yBAAyB,CAAC,KAAa;IAClD,IAAI,CAAC;QACD,sBAAsB;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,qBAAqB;YACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,GAAG,YAAY,gBAAgB,OAAO,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtC,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO;oBACH,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uBAAuB;oBAChC,OAAO,EAAE;wBACL,OAAO,EAAE,OAAO;wBAChB,YAAY,EAAE,OAAO,CAAC,MAAM;qBAC/B;iBACJ,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,qDAAqD;YAC9D,OAAO,EAAE,IAAI;SAChB,CAAA;IACL,CAAC;AACL,CAAC;AAID,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const API_BASE_URL = "https://emojihub.yurace.pro";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,gCAAgC,CAAC"}
@@ -0,0 +1,3 @@
1
+ /* api root url */
2
+ export const API_BASE_URL = 'https://emojihub.yurace.pro';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type TAPIResponse = {
2
+ code: "api-ok" | "api-fail";
3
+ message: string;
4
+ };
5
+ export type TEmoji = Record<string, any>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AACD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { TEmoji, TAPIResponse } from "./index.js";
2
+ export type TRandomEmojiResponse = TAPIResponse & {
3
+ payload: null | TEmoji;
4
+ };
5
+ //# sourceMappingURL=random-emoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-emoji.d.ts","sourceRoot":"","sources":["../../src/types/random-emoji.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=random-emoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-emoji.js","sourceRoot":"","sources":["../../src/types/random-emoji.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "emoji-hub-api-client",
3
+ "description": "A lightweight JavaScript and TypeScript client for the EmojiHub API, allowing easy access to emojis by category, group, search, and random selection.",
4
+ "type": "module",
5
+ "version": "1.0.0",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "prepublishOnly": "npm run build"
20
+ },
21
+ "keywords": [
22
+ "emoji",
23
+ "emojis",
24
+ "emoji-api",
25
+ "emojihub",
26
+ "unicode",
27
+ "symbols",
28
+ "fun-api",
29
+ "public-api",
30
+ "api-client",
31
+ "http-client",
32
+ "javascript",
33
+ "typescript"
34
+ ],
35
+ "license": "MIT",
36
+ "devDependencies": {
37
+ "typescript": "^5.9.3"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "https://github.com/NPM-Workbench/emoji-hub-api-client"
42
+ },
43
+ "homepage": "https://github.com/NPM-Workbench/emoji-hub-api-client",
44
+ "bugs": {
45
+ "url": "https://github.com/NPM-Workbench/emoji-hub-api-client/issues"
46
+ }
47
+ }