add compressData and decompressData to the npm package
This commit is contained in:
parent
958ebeae61
commit
f5c44e1f0b
@ -15,6 +15,11 @@ Please add the latest change on the top under the correct section.
|
||||
|
||||
### Excalidraw API
|
||||
|
||||
#### Features
|
||||
|
||||
- Added [`compressData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#compressData) and [`decompressData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#decompressData)
|
||||
- Added [`generateEncryptionKey`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#generateEncryptionKey)
|
||||
|
||||
#### Breaking Changes
|
||||
|
||||
- `setToastMessage` API is now renamed to `setToast` API and the function signature is also updated [#5427](https://github.com/excalidraw/excalidraw/pull/5427). You can also pass `duration` and `closable` attributes along with `message`.
|
||||
|
@ -1150,6 +1150,29 @@ loadSceneOrLibraryFromBlob(
|
||||
|
||||
This function loads either scene or library data from the supplied blob. If the blob contains scene data, and you pass `localAppState`, `localAppState` value will be preferred over the `appState` derived from `blob`. Throws if blob doesn't contain neither valid scene data or library data.
|
||||
|
||||
#### `compressData`
|
||||
|
||||
```js
|
||||
const encrytionKey = generateEncryptionKey();
|
||||
|
||||
const buffer = await compressData(
|
||||
new TextEncoder().encode(
|
||||
serializeAsJSON(elements, appState, files, "database"),
|
||||
),
|
||||
{ encryptionKey },
|
||||
);
|
||||
```
|
||||
|
||||
#### `decompressData`
|
||||
|
||||
```js
|
||||
const { data: decodedBuffer } = await decompressData(new Uint8Array(payload), {
|
||||
decryptionKey,
|
||||
});
|
||||
```
|
||||
|
||||
#### `generateEncryptionKey`
|
||||
|
||||
#### `getFreeDrawSvgPath`
|
||||
|
||||
**How to use**
|
||||
|
@ -206,6 +206,9 @@ export {
|
||||
getFreeDrawSvgPath,
|
||||
exportToClipboard,
|
||||
mergeLibraryItems,
|
||||
generateEncryptionKey,
|
||||
compressData,
|
||||
decompressData,
|
||||
} from "../../packages/utils";
|
||||
export { isLinearElement } from "../../element/typeChecks";
|
||||
|
||||
|
@ -193,6 +193,8 @@ export const exportToClipboard = async (
|
||||
}
|
||||
};
|
||||
|
||||
export { decompressData, compressData } from "../data/encode";
|
||||
export { generateEncryptionKey } from "../data/encryption";
|
||||
export { serializeAsJSON, serializeLibraryAsJSON } from "../data/json";
|
||||
export {
|
||||
loadFromBlob,
|
||||
|
Loading…
x
Reference in New Issue
Block a user