diff --git a/app/encoders-decoders/html/page.tsx b/app/encoders-decoders/html/page.tsx
index 67865d5..cf4bc91 100644
--- a/app/encoders-decoders/html/page.tsx
+++ b/app/encoders-decoders/html/page.tsx
@@ -1,7 +1,7 @@
"use client";
import { useCallback, useMemo, useState } from "react";
-import { decode, encode } from "html-entities";
+import { escape, unescape } from "html-escaper";
import { toolGroups } from "@/config/tools";
import { Textarea, TextareaProps } from "@/components/ui/textarea";
@@ -16,20 +16,20 @@ import { PageSection } from "@/components/page-section";
export default function Page() {
const [form, setForm] = useState({
decoded: '> It\'s "HTML escaping".',
- encoded: "> It's "HTML escaping".",
+ encoded: "> It's "HTML escaping".",
});
const setDecodedReactively = useCallback((text: string) => {
setForm({
decoded: text,
- encoded: encode(text),
+ encoded: escape(text),
});
}, []);
const setEncodedReactively = useCallback((text: string) => {
setForm({
encoded: text,
- decoded: decode(text),
+ decoded: unescape(text),
});
}, []);
diff --git a/package.json b/package.json
index a4f790e..ecb7da6 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
"fast-deep-equal": "^3.1.3",
"fp-ts": "^2.16.0",
"fuse.js": "^6.6.2",
- "html-entities": "^2.3.3",
+ "html-escaper": "^3.0.3",
"io-ts": "^2.2.20",
"js-base64": "^3.7.5",
"js-yaml": "^4.1.0",
@@ -55,6 +55,7 @@
"@ianvs/prettier-plugin-sort-imports": "^4.0.1",
"@next/bundle-analyzer": "13.4.4",
"@types/create-hash": "^1.2.2",
+ "@types/html-escaper": "^3.0.0",
"@types/js-yaml": "^4.0.5",
"@types/node": "~18.16.16",
"@types/react": "~18.2.7",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 12383cc..9b4891c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -43,9 +43,9 @@ dependencies:
fuse.js:
specifier: ^6.6.2
version: 6.6.2
- html-entities:
- specifier: ^2.3.3
- version: 2.3.3
+ html-escaper:
+ specifier: ^3.0.3
+ version: 3.0.3
io-ts:
specifier: ^2.2.20
version: 2.2.20(fp-ts@2.16.0)
@@ -99,6 +99,9 @@ devDependencies:
'@types/create-hash':
specifier: ^1.2.2
version: 1.2.2
+ '@types/html-escaper':
+ specifier: ^3.0.0
+ version: 3.0.0
'@types/js-yaml':
specifier: ^4.0.5
version: 4.0.5
@@ -1446,6 +1449,10 @@ packages:
'@types/node': 18.16.16
dev: true
+ /@types/html-escaper@3.0.0:
+ resolution: {integrity: sha512-OcJcvP3Yk8mjYwf/IdXZtTE1tb/u0WF0qa29ER07ZHCYUBZXSN29Z1mBS+/96+kNMGTFUAbSz9X+pHmHpZrTCw==}
+ dev: true
+
/@types/js-yaml@4.0.5:
resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==}
dev: true
@@ -2991,8 +2998,8 @@ packages:
safe-buffer: 5.2.1
dev: false
- /html-entities@2.3.3:
- resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
+ /html-escaper@3.0.3:
+ resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
dev: false
/human-signals@2.1.0: