Add unstable serialization logic for node JSON parsing (#2157)

* Add unstable serialization logic for node JSON parsing

* Ooops

* Freeze editorState

* Migrate code node

* Address feedback

* Address feedback

* Address feedback

* Address more feedback

* Address more feedback

* Address FlowFixMes

* update types

* prettier

* remove import

* polish types

* fix types

* add ut for unstable APIs

* fix rebase issue

* oops

* wip

* more nodes

* types

* prettier

* add tests for core nodes

* update codes.json

* Merge global files

* Rename global type defs

* Update packages/lexical-link/src/index.js

Co-authored-by: Gerard Rovira <zurfyx@users.noreply.github.com>

* fix linter an versions

* more versions

Co-authored-by: acywatson <acy.watson@gmail.com>
Co-authored-by: John Flockton <thegreatercurve@users.noreply.github.com>
Co-authored-by: Gerard Rovira <zurfyx@users.noreply.github.com>
This commit is contained in:
Dominic Gannaway
2022-05-19 19:44:52 +01:00
committed by GitHub
parent 8d54925925
commit 8f9a903785
55 changed files with 1526 additions and 43 deletions

View File

@ -6,7 +6,13 @@
*
* @flow strict
*/
import type {EditorConfig, LexicalNode, NodeKey, RangeSelection} from 'lexical';
import type {
EditorConfig,
LexicalNode,
NodeKey,
RangeSelection,
SerializedElementNode,
} from 'lexical';
import {ElementNode} from 'lexical';
declare export class OverflowNode extends ElementNode {
static getType(): string;
@ -16,8 +22,16 @@ declare export class OverflowNode extends ElementNode {
updateDOM(prevNode: OverflowNode, dom: HTMLElement): boolean;
insertNewAfter(selection: RangeSelection): null | LexicalNode;
excludeFromCopy(): boolean;
static importJSON(serializedNode: SerializedOverflowNode): OverflowNode;
}
declare export function $createOverflowNode(): OverflowNode;
declare export function $isOverflowNode(
node: ?LexicalNode,
): boolean %checks(node instanceof OverflowNode);
export type SerializedOverflowNode = {
...SerializedElementNode,
type: 'overflow',
version: 1,
...
};