use lz-string to compress share code
This commit is contained in:
14
package-lock.json
generated
14
package-lock.json
generated
@@ -15,6 +15,7 @@
|
||||
"copy-to-clipboard": "^3.3.3",
|
||||
"eventemitter3": "^4.0.7",
|
||||
"javascript-stringify": "^2.1.0",
|
||||
"lz-string": "^1.4.4",
|
||||
"meriyah": "^4.3.3",
|
||||
"normalize.css": "^8.0.1",
|
||||
"primeicons": "^6.0.1",
|
||||
@@ -4359,6 +4360,14 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/lz-string": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
|
||||
"integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
|
||||
"bin": {
|
||||
"lz-string": "bin/bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
|
||||
@@ -9506,6 +9515,11 @@
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"lz-string": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
|
||||
"integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ=="
|
||||
},
|
||||
"magic-string": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
"dependencies": {
|
||||
"@codemirror/lang-javascript": "^6.1.1",
|
||||
"@codemirror/theme-one-dark": "^6.1.0",
|
||||
"@gkucmierz/utils": "^1.16.1",
|
||||
"codemirror": "^6.0.1",
|
||||
"copy-to-clipboard": "^3.3.3",
|
||||
"eventemitter3": "^4.0.7",
|
||||
"javascript-stringify": "^2.1.0",
|
||||
"lz-string": "^1.4.4",
|
||||
"meriyah": "^4.3.3",
|
||||
"normalize.css": "^8.0.1",
|
||||
"primeicons": "^6.0.1",
|
||||
|
||||
@@ -4,8 +4,8 @@ import {
|
||||
STORAGE_KEY_CODE,
|
||||
} from '../app.config';
|
||||
import EventEmitter from 'eventemitter3';
|
||||
import { toBase64Url, fromBase64Url } from '@gkucmierz/utils/src/base64.mjs';
|
||||
import { APP_URL, SHARE_CODE_ROUTE_NAME } from '../app.config';
|
||||
import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';
|
||||
|
||||
const ee = new EventEmitter();
|
||||
let code;
|
||||
@@ -25,10 +25,10 @@ const codeService = {
|
||||
ee.emit('change', code);
|
||||
},
|
||||
setFromUrl(_encoded) {
|
||||
this.change(fromBase64Url(_encoded));
|
||||
this.change(decompressFromEncodedURIComponent(_encoded));
|
||||
},
|
||||
codeToUrl(_code = code) {
|
||||
return [APP_URL, SHARE_CODE_ROUTE_NAME, toBase64Url(_code)].join('/');
|
||||
return [APP_URL, SHARE_CODE_ROUTE_NAME, compressToEncodedURIComponent(_code)].join('/');
|
||||
},
|
||||
ee,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user