@allior/wmake-utils 0.0.9 → 0.0.10
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.
- package/package.json +4 -5
- package/README_RU.md +0 -52
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allior/wmake-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "Utilities: message content parsers, image preloading, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/root/index.d.ts",
|
|
@@ -17,14 +17,13 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"dist",
|
|
19
19
|
"src",
|
|
20
|
-
"README.md"
|
|
21
|
-
"README_RU.md"
|
|
20
|
+
"README.md"
|
|
22
21
|
],
|
|
23
22
|
"scripts": {
|
|
24
23
|
"pub": "npm publish --access public",
|
|
25
|
-
"build": "
|
|
24
|
+
"build": "bun -e \"import fs from 'node:fs'; try { fs.rmSync('dist', { recursive: true, force: true }); } catch {}\" && bun ../node_modules/vite/bin/vite.js build && VITE_IIFE_ENTRY=root bun ../node_modules/vite/bin/vite.js build --config vite.iife.config.ts && VITE_IIFE_ENTRY=react bun ../node_modules/vite/bin/vite.js build --config vite.iife.config.ts && bun ../node_modules/typescript/lib/tsc.js -p tsconfig.types.json",
|
|
26
25
|
"clean": "rimraf dist",
|
|
27
|
-
"prepublishOnly": "
|
|
26
|
+
"prepublishOnly": "bun run build"
|
|
28
27
|
},
|
|
29
28
|
"keywords": [
|
|
30
29
|
"wmake",
|
package/README_RU.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# @allior/wmake-utils
|
|
2
|
-
|
|
3
|
-
Утилиты для виджетов: парсеры контента сообщений (эмоуты, упоминания, HTML), предзагрузка изображений и др.
|
|
4
|
-
|
|
5
|
-
## parseMessageContent
|
|
6
|
-
|
|
7
|
-
Преобразует объект сообщения (`text` + `emotes`) в HTML-строку: эмоуты становятся `<img>`, упоминания `@nick` — `<span class="mentioned">`.
|
|
8
|
-
|
|
9
|
-
Логика перенесена из StreamElements: поддержка zero-width эмоутов, опции large/medium эмоутов при сообщении «только эмоуты».
|
|
10
|
-
|
|
11
|
-
### Использование
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
import { parseMessageContent } from "@allior/wmake-utils";
|
|
15
|
-
|
|
16
|
-
const html = parseMessageContent(
|
|
17
|
-
{
|
|
18
|
-
text: "Hello @user Kappa",
|
|
19
|
-
emotes: [{ name: "Kappa", urls: { "1": "https://..." } }],
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
zeroWidthEmotes: [],
|
|
23
|
-
largeEmotes: true,
|
|
24
|
-
largeEmotesAmount: 3,
|
|
25
|
-
mediumEmotes: false,
|
|
26
|
-
},
|
|
27
|
-
);
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Опции
|
|
31
|
-
|
|
32
|
-
- **zeroWidthEmotes** — список эмоутов, которые считаются zero-width (склейка с предыдущим контейнером, класс `zero`).
|
|
33
|
-
- **largeEmotes** / **largeEmotesAmount** — если в сообщении только эмоуты и их не больше `largeEmotesAmount`, использовать размер `large` (urls["2"]).
|
|
34
|
-
- **mediumEmotes** — при большом количестве эмоутов использовать размер `medium`.
|
|
35
|
-
|
|
36
|
-
## preloadImagesThenShow
|
|
37
|
-
|
|
38
|
-
Ожидает загрузки всех `<img>` внутри контейнера, затем вызывает callback.
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
import { preloadImagesThenShow } from "@allior/wmake-utils";
|
|
42
|
-
|
|
43
|
-
preloadImagesThenShow(containerElement, (el) => {
|
|
44
|
-
// все изображения загружены, можно показывать
|
|
45
|
-
});
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## htmlEncode
|
|
49
|
-
|
|
50
|
-
Экранирование строки для HTML: пробелы нормализуются, символы `< > " ^` заменяются на сущности.
|
|
51
|
-
|
|
52
|
-
**[English](README.md)**
|