@atlaskit/editor-wikimarkup-transformer
Version:
Wiki markup transformer for JIRA and Confluence
75 lines (74 loc) • 1.83 kB
TypeScript
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
export interface AddArgs {
content: PMNode[];
style: string | null;
}
export interface Builder {
/**
* Add a item to the builder
* @param {AddCellArgs[]} items
*/
add: (items: AddCellArgs[]) => void;
/**
* Compile a prosemirror node from the root list
* @returns {PMNode}
*/
buildPMNode: () => PMNode;
type: string;
}
export interface ListItem {
children: List[];
content?: any[];
parent: List;
}
export interface List {
children: ListItem[];
parent?: ListItem;
type: ListType;
}
export type ListType = 'bulletList' | 'orderedList';
export type CellType = 'tableHeader' | 'tableCell';
export interface TableCell {
content: PMNode[];
type: CellType;
}
export interface TableRow {
cells: TableCell[];
}
export interface Table {
rows: TableRow[];
}
export interface AddCellArgs extends AddArgs {
content: PMNode[];
style: string;
}
export interface ConversionMap {
[key: string]: string;
}
export interface MediaConversionMap {
[key: string]: {
embed?: boolean;
transform?: string;
};
}
export type TokenErrCallback = (err: Error, tokenType: string) => void;
export interface Context {
readonly conversion?: {
readonly inlineCardConversion?: ConversionMap;
readonly mediaConversion?: MediaConversionMap;
mentionConversion?: ConversionMap;
};
readonly defaults?: {
readonly media?: {
height: number | null;
width: number | null;
};
};
readonly hydration?: {
readonly media?: {
targetCollectionId?: string;
};
};
readonly issueKeyRegex?: RegExp | undefined;
readonly tokenErrCallback?: TokenErrCallback;
}