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