grafana/public/app/features/explore/Value.ts
Tobias Skarhed 219d711597 noImplicitAny: slate (#17681)
* Update slate types

* Fix noImplicitAny
2019-06-20 20:41:01 +02:00

42 lines
776 B
TypeScript

import { Block, Document, Text, Value } from 'slate';
const SCHEMA = {
blocks: {
paragraph: 'paragraph',
codeblock: 'code_block',
codeline: 'code_line',
},
inlines: {},
marks: {},
};
export const makeFragment = (text: string, syntax?: string) => {
const lines = text.split('\n').map(line =>
Block.create({
type: 'code_line',
nodes: [Text.create(line)],
} as any)
);
const block = Block.create({
data: {
syntax,
},
type: 'code_block',
nodes: lines,
} as any);
return Document.create({
nodes: [block],
});
};
export const makeValue = (text: string, syntax?: string) => {
const fragment = makeFragment(text, syntax);
return Value.create({
document: fragment,
SCHEMA,
} as any);
};