emoji-banner-generator 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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +160 -0
  3. package/dist/animation.d.ts +14 -0
  4. package/dist/animation.d.ts.map +1 -0
  5. package/dist/animation.js +194 -0
  6. package/dist/animation.js.map +1 -0
  7. package/dist/bitmap.d.ts +25 -0
  8. package/dist/bitmap.d.ts.map +1 -0
  9. package/dist/bitmap.js +141 -0
  10. package/dist/bitmap.js.map +1 -0
  11. package/dist/cli.d.ts +19 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +174 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/clipboard.d.ts +17 -0
  16. package/dist/clipboard.d.ts.map +1 -0
  17. package/dist/clipboard.js +47 -0
  18. package/dist/clipboard.js.map +1 -0
  19. package/dist/emoji.d.ts +25 -0
  20. package/dist/emoji.d.ts.map +1 -0
  21. package/dist/emoji.js +180 -0
  22. package/dist/emoji.js.map +1 -0
  23. package/dist/fonts.d.ts +26 -0
  24. package/dist/fonts.d.ts.map +1 -0
  25. package/dist/fonts.js +551 -0
  26. package/dist/fonts.js.map +1 -0
  27. package/dist/index.d.ts +7 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +108 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/output.d.ts +26 -0
  32. package/dist/output.d.ts.map +1 -0
  33. package/dist/output.js +113 -0
  34. package/dist/output.js.map +1 -0
  35. package/dist/renderer.d.ts +18 -0
  36. package/dist/renderer.d.ts.map +1 -0
  37. package/dist/renderer.js +247 -0
  38. package/dist/renderer.js.map +1 -0
  39. package/dist/slack.d.ts +35 -0
  40. package/dist/slack.d.ts.map +1 -0
  41. package/dist/slack.js +129 -0
  42. package/dist/slack.js.map +1 -0
  43. package/dist/themes.d.ts +31 -0
  44. package/dist/themes.d.ts.map +1 -0
  45. package/dist/themes.js +84 -0
  46. package/dist/themes.js.map +1 -0
  47. package/dist/types.d.ts +113 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +5 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +57 -0
package/dist/fonts.js ADDED
@@ -0,0 +1,551 @@
1
+ /**
2
+ * Pixel font definitions for rendering text into bitmaps.
3
+ * Each character is represented by a 2D pattern using # for filled pixels.
4
+ */
5
+ export const DEFAULT_FONT_NAME = 'block';
6
+ const blockFont = {
7
+ name: DEFAULT_FONT_NAME,
8
+ height: 7,
9
+ letterSpacing: 1,
10
+ lineSpacing: 1,
11
+ map: {
12
+ A: [
13
+ '.###.',
14
+ '#...#',
15
+ '#...#',
16
+ '#####',
17
+ '#...#',
18
+ '#...#',
19
+ '#...#',
20
+ ],
21
+ B: [
22
+ '####.',
23
+ '#...#',
24
+ '#...#',
25
+ '####.',
26
+ '#...#',
27
+ '#...#',
28
+ '####.',
29
+ ],
30
+ C: [
31
+ '.###.',
32
+ '#...#',
33
+ '#....',
34
+ '#....',
35
+ '#....',
36
+ '#...#',
37
+ '.###.',
38
+ ],
39
+ D: [
40
+ '####.',
41
+ '#...#',
42
+ '#...#',
43
+ '#...#',
44
+ '#...#',
45
+ '#...#',
46
+ '####.',
47
+ ],
48
+ E: [
49
+ '#####',
50
+ '#....',
51
+ '#....',
52
+ '####.',
53
+ '#....',
54
+ '#....',
55
+ '#####',
56
+ ],
57
+ F: [
58
+ '#####',
59
+ '#....',
60
+ '#....',
61
+ '####.',
62
+ '#....',
63
+ '#....',
64
+ '#....',
65
+ ],
66
+ G: [
67
+ '.###.',
68
+ '#...#',
69
+ '#....',
70
+ '#.###',
71
+ '#...#',
72
+ '#...#',
73
+ '.###.',
74
+ ],
75
+ H: [
76
+ '#...#',
77
+ '#...#',
78
+ '#...#',
79
+ '#####',
80
+ '#...#',
81
+ '#...#',
82
+ '#...#',
83
+ ],
84
+ I: [
85
+ '#####',
86
+ '..#..',
87
+ '..#..',
88
+ '..#..',
89
+ '..#..',
90
+ '..#..',
91
+ '#####',
92
+ ],
93
+ J: [
94
+ '..###',
95
+ '...#.',
96
+ '...#.',
97
+ '...#.',
98
+ '...#.',
99
+ '#..#.',
100
+ '.##..',
101
+ ],
102
+ K: [
103
+ '#...#',
104
+ '#..#.',
105
+ '#.#..',
106
+ '##...',
107
+ '#.#..',
108
+ '#..#.',
109
+ '#...#',
110
+ ],
111
+ L: [
112
+ '#....',
113
+ '#....',
114
+ '#....',
115
+ '#....',
116
+ '#....',
117
+ '#....',
118
+ '#####',
119
+ ],
120
+ M: [
121
+ '#...#',
122
+ '##.##',
123
+ '#.#.#',
124
+ '#...#',
125
+ '#...#',
126
+ '#...#',
127
+ '#...#',
128
+ ],
129
+ N: [
130
+ '#...#',
131
+ '##..#',
132
+ '#.#.#',
133
+ '#..##',
134
+ '#...#',
135
+ '#...#',
136
+ '#...#',
137
+ ],
138
+ O: [
139
+ '.###.',
140
+ '#...#',
141
+ '#...#',
142
+ '#...#',
143
+ '#...#',
144
+ '#...#',
145
+ '.###.',
146
+ ],
147
+ P: [
148
+ '####.',
149
+ '#...#',
150
+ '#...#',
151
+ '####.',
152
+ '#....',
153
+ '#....',
154
+ '#....',
155
+ ],
156
+ Q: [
157
+ '.###.',
158
+ '#...#',
159
+ '#...#',
160
+ '#...#',
161
+ '#.#.#',
162
+ '#..#.',
163
+ '.##.#',
164
+ ],
165
+ R: [
166
+ '####.',
167
+ '#...#',
168
+ '#...#',
169
+ '####.',
170
+ '#.#..',
171
+ '#..#.',
172
+ '#...#',
173
+ ],
174
+ S: [
175
+ '.###.',
176
+ '#...#',
177
+ '#....',
178
+ '.###.',
179
+ '....#',
180
+ '#...#',
181
+ '.###.',
182
+ ],
183
+ T: [
184
+ '#####',
185
+ '..#..',
186
+ '..#..',
187
+ '..#..',
188
+ '..#..',
189
+ '..#..',
190
+ '..#..',
191
+ ],
192
+ U: [
193
+ '#...#',
194
+ '#...#',
195
+ '#...#',
196
+ '#...#',
197
+ '#...#',
198
+ '#...#',
199
+ '.###.',
200
+ ],
201
+ V: [
202
+ '#...#',
203
+ '#...#',
204
+ '#...#',
205
+ '#...#',
206
+ '#...#',
207
+ '.#.#.',
208
+ '..#..',
209
+ ],
210
+ W: [
211
+ '#...#',
212
+ '#...#',
213
+ '#...#',
214
+ '#.#.#',
215
+ '#.#.#',
216
+ '##.##',
217
+ '#...#',
218
+ ],
219
+ X: [
220
+ '#...#',
221
+ '#...#',
222
+ '.#.#.',
223
+ '..#..',
224
+ '.#.#.',
225
+ '#...#',
226
+ '#...#',
227
+ ],
228
+ Y: [
229
+ '#...#',
230
+ '#...#',
231
+ '.#.#.',
232
+ '..#..',
233
+ '..#..',
234
+ '..#..',
235
+ '..#..',
236
+ ],
237
+ Z: [
238
+ '#####',
239
+ '....#',
240
+ '...#.',
241
+ '..#..',
242
+ '.#...',
243
+ '#....',
244
+ '#####',
245
+ ],
246
+ '0': [
247
+ '.###.',
248
+ '#...#',
249
+ '#..##',
250
+ '#.#.#',
251
+ '##..#',
252
+ '#...#',
253
+ '.###.',
254
+ ],
255
+ '1': [
256
+ '..#..',
257
+ '.##..',
258
+ '..#..',
259
+ '..#..',
260
+ '..#..',
261
+ '..#..',
262
+ '.###.',
263
+ ],
264
+ '2': [
265
+ '.###.',
266
+ '#...#',
267
+ '....#',
268
+ '...#.',
269
+ '..#..',
270
+ '.#...',
271
+ '#####',
272
+ ],
273
+ '3': [
274
+ '#####',
275
+ '....#',
276
+ '...#.',
277
+ '..##.',
278
+ '....#',
279
+ '#...#',
280
+ '.###.',
281
+ ],
282
+ '4': [
283
+ '#...#',
284
+ '#...#',
285
+ '#...#',
286
+ '#####',
287
+ '....#',
288
+ '....#',
289
+ '....#',
290
+ ],
291
+ '5': [
292
+ '#####',
293
+ '#....',
294
+ '####.',
295
+ '....#',
296
+ '....#',
297
+ '#...#',
298
+ '.###.',
299
+ ],
300
+ '6': [
301
+ '.###.',
302
+ '#....',
303
+ '####.',
304
+ '#...#',
305
+ '#...#',
306
+ '#...#',
307
+ '.###.',
308
+ ],
309
+ '7': [
310
+ '#####',
311
+ '....#',
312
+ '...#.',
313
+ '..#..',
314
+ '.#...',
315
+ '.#...',
316
+ '.#...',
317
+ ],
318
+ '8': [
319
+ '.###.',
320
+ '#...#',
321
+ '#...#',
322
+ '.###.',
323
+ '#...#',
324
+ '#...#',
325
+ '.###.',
326
+ ],
327
+ '9': [
328
+ '.###.',
329
+ '#...#',
330
+ '#...#',
331
+ '.####',
332
+ '....#',
333
+ '...#.',
334
+ '.##..',
335
+ ],
336
+ ' ': [
337
+ '...',
338
+ '...',
339
+ '...',
340
+ '...',
341
+ '...',
342
+ '...',
343
+ '...',
344
+ ],
345
+ '!': [
346
+ '..#..',
347
+ '..#..',
348
+ '..#..',
349
+ '..#..',
350
+ '..#..',
351
+ '.....',
352
+ '..#..',
353
+ ],
354
+ '?': [
355
+ '.###.',
356
+ '#...#',
357
+ '....#',
358
+ '..##.',
359
+ '..#..',
360
+ '.....',
361
+ '..#..',
362
+ ],
363
+ '.': [
364
+ '.....',
365
+ '.....',
366
+ '.....',
367
+ '.....',
368
+ '.....',
369
+ '..#..',
370
+ '..#..',
371
+ ],
372
+ ',': [
373
+ '.....',
374
+ '.....',
375
+ '.....',
376
+ '.....',
377
+ '.....',
378
+ '..#..',
379
+ '.#...',
380
+ ],
381
+ ':': [
382
+ '.....',
383
+ '..#..',
384
+ '..#..',
385
+ '.....',
386
+ '..#..',
387
+ '..#..',
388
+ '.....',
389
+ ],
390
+ ';': [
391
+ '.....',
392
+ '..#..',
393
+ '..#..',
394
+ '.....',
395
+ '..#..',
396
+ '..#..',
397
+ '.#...',
398
+ ],
399
+ '-': [
400
+ '.....',
401
+ '.....',
402
+ '.....',
403
+ '.###.',
404
+ '.....',
405
+ '.....',
406
+ '.....',
407
+ ],
408
+ '_': [
409
+ '.....',
410
+ '.....',
411
+ '.....',
412
+ '.....',
413
+ '.....',
414
+ '.....',
415
+ '#####',
416
+ ],
417
+ '\'': [
418
+ '..#..',
419
+ '..#..',
420
+ '.#...',
421
+ '.....',
422
+ '.....',
423
+ '.....',
424
+ '.....',
425
+ ],
426
+ '"': [
427
+ '.#.#.',
428
+ '.#.#.',
429
+ '..#..',
430
+ '.....',
431
+ '.....',
432
+ '.....',
433
+ '.....',
434
+ ],
435
+ '+': [
436
+ '.....',
437
+ '..#..',
438
+ '..#..',
439
+ '#####',
440
+ '..#..',
441
+ '..#..',
442
+ '.....',
443
+ ],
444
+ '/': [
445
+ '....#',
446
+ '...#.',
447
+ '..#..',
448
+ '.#...',
449
+ '#....',
450
+ '.....',
451
+ '.....',
452
+ ],
453
+ '\\': [
454
+ '#....',
455
+ '.#...',
456
+ '..#..',
457
+ '...#.',
458
+ '....#',
459
+ '.....',
460
+ '.....',
461
+ ],
462
+ '(': [
463
+ '..#..',
464
+ '.#...',
465
+ '#....',
466
+ '#....',
467
+ '#....',
468
+ '.#...',
469
+ '..#..',
470
+ ],
471
+ ')': [
472
+ '..#..',
473
+ '...#.',
474
+ '....#',
475
+ '....#',
476
+ '....#',
477
+ '...#.',
478
+ '..#..',
479
+ ],
480
+ '[': [
481
+ '.###.',
482
+ '.#...',
483
+ '.#...',
484
+ '.#...',
485
+ '.#...',
486
+ '.#...',
487
+ '.###.',
488
+ ],
489
+ ']': [
490
+ '.###.',
491
+ '...#.',
492
+ '...#.',
493
+ '...#.',
494
+ '...#.',
495
+ '...#.',
496
+ '.###.',
497
+ ],
498
+ '{': [
499
+ '..##.',
500
+ '.#...',
501
+ '.#...',
502
+ '#....',
503
+ '.#...',
504
+ '.#...',
505
+ '..##.',
506
+ ],
507
+ '}': [
508
+ '.##..',
509
+ '...#.',
510
+ '...#.',
511
+ '....#',
512
+ '...#.',
513
+ '...#.',
514
+ '.##..',
515
+ ],
516
+ '=': [
517
+ '.....',
518
+ '.....',
519
+ '.###.',
520
+ '.....',
521
+ '.###.',
522
+ '.....',
523
+ '.....',
524
+ ],
525
+ '*': [
526
+ '...#.',
527
+ '.#.#.',
528
+ '..#..',
529
+ '#...#',
530
+ '..#..',
531
+ '.#.#.',
532
+ '...#.',
533
+ ],
534
+ },
535
+ };
536
+ const FONTS = {
537
+ [blockFont.name]: blockFont,
538
+ };
539
+ /**
540
+ * Retrieve a font by name. Falls back to default if not found.
541
+ */
542
+ export function getFont(name = DEFAULT_FONT_NAME) {
543
+ return FONTS[name] || FONTS[DEFAULT_FONT_NAME];
544
+ }
545
+ /**
546
+ * List available font names.
547
+ */
548
+ export function getAvailableFonts() {
549
+ return Object.keys(FONTS);
550
+ }
551
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,SAAS,GAAc;IAC3B,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,GAAG,EAAE;QACH,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,CAAC,EAAE;YACD,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,IAAI,EAAE;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,IAAI,EAAE;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACD,GAAG,EAAE;YACH,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;SACR;KACF;CACF,CAAC;AAEF,MAAM,KAAK,GAA8B;IACvC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe,iBAAiB;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Emoji Banner Generator
4
+ * Convert text to emoji banner art for CLI display
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/index.js ADDED
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Emoji Banner Generator
4
+ * Convert text to emoji banner art for CLI display
5
+ */
6
+ import { createCLI, parseCLIOptions, validateOptions } from './cli.js';
7
+ import { textToBitmap } from './bitmap.js';
8
+ import { parseEmojis, resolveEmoji } from './emoji.js';
9
+ import { renderBitmap, createDefaultConfig } from './renderer.js';
10
+ import { copyToClipboard } from './clipboard.js';
11
+ import { generateSlackJson } from './slack.js';
12
+ import { getThemeBackground } from './themes.js';
13
+ /**
14
+ * Main application entry point
15
+ */
16
+ async function main() {
17
+ try {
18
+ // Create and parse CLI
19
+ const program = createCLI();
20
+ program.parse(process.argv);
21
+ // Parse and validate options
22
+ const options = await parseCLIOptions(program);
23
+ validateOptions(options);
24
+ // Generate the banner
25
+ const result = await generateBanner(options);
26
+ // Handle output based on options
27
+ await handleOutput(result, options);
28
+ }
29
+ catch (error) {
30
+ handleError(error);
31
+ process.exit(1);
32
+ }
33
+ }
34
+ /**
35
+ * Generate emoji banner from options
36
+ */
37
+ async function generateBanner(options) {
38
+ const text = options.text;
39
+ // Parse emojis (supports comma-separated multiple emojis)
40
+ const foregroundEmojis = parseEmojis(options.emoji);
41
+ // Parse background emoji if provided
42
+ const backgroundEmoji = options.background
43
+ ? resolveEmoji(options.background)
44
+ : options.theme === 'github'
45
+ ? getThemeBackground('github')
46
+ : undefined;
47
+ // Determine border emoji (optional)
48
+ let borderEmoji;
49
+ if (options.border) {
50
+ if (!backgroundEmoji) {
51
+ throw new Error('Border requires a background emoji. Specify --background <emoji>.');
52
+ }
53
+ borderEmoji = typeof options.border === 'string' ? resolveEmoji(options.border) : backgroundEmoji;
54
+ }
55
+ // Convert text to bitmap
56
+ const bitmap = await textToBitmap(text, options.font);
57
+ // Create render config
58
+ const config = createDefaultConfig(foregroundEmojis, backgroundEmoji, options.mode, options.theme, borderEmoji);
59
+ // Render bitmap to emoji text
60
+ const result = renderBitmap(bitmap, config);
61
+ return result;
62
+ }
63
+ /**
64
+ * Handle all output operations based on options
65
+ */
66
+ async function handleOutput(result, options) {
67
+ let outputText = result.text;
68
+ // Format output if needed
69
+ if (options.format === 'slack') {
70
+ outputText = generateSlackJson(result);
71
+ }
72
+ if (options.copy) {
73
+ try {
74
+ await copyToClipboard(outputText);
75
+ console.log('📋 Copied to clipboard!');
76
+ }
77
+ catch (error) {
78
+ console.warn('⚠️ Could not copy to clipboard:', error instanceof Error ? error.message : 'Unknown error');
79
+ }
80
+ }
81
+ // Print result to stdout
82
+ console.log('\n' + outputText + '\n');
83
+ }
84
+ /**
85
+ * Handle errors with user-friendly messages
86
+ */
87
+ function handleError(error) {
88
+ if (error instanceof Error) {
89
+ // Check for specific error types
90
+ if (error.message.includes('Text is required')) {
91
+ console.error('❌ Error:', error.message);
92
+ console.error('\nUsage: emoji-banner <text> -e <emoji>');
93
+ console.error(' emoji-banner --help for more information');
94
+ }
95
+ else if (error.message.includes('Invalid')) {
96
+ console.error('❌ Validation Error:', error.message);
97
+ }
98
+ else {
99
+ console.error('❌ Error:', error.message);
100
+ }
101
+ }
102
+ else {
103
+ console.error('❌ An unexpected error occurred');
104
+ }
105
+ }
106
+ // Run main function
107
+ main();
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}