UNPKG

785 BJavaScriptView Raw
1'use strict';
2
3var _require = require('slate'),
4 Block = _require.Block,
5 Text = _require.Text;
6
7var _require2 = require('immutable'),
8 List = _require2.List;
9
10var detectNewline = require('detect-newline');
11
12var DEFAULT_NEWLINE = '\n';
13
14/**
15 * Deserialize a text into a code block
16 * @param {Option} opts
17 * @param {String} text
18 * @return {Block}
19 */
20function deserializeCode(opts, text) {
21 var sep = detectNewline(text) || DEFAULT_NEWLINE;
22
23 var lines = List(text.split(sep)).map(function (line) {
24 return Block.create({
25 type: opts.lineType,
26 nodes: [Text.create(line)]
27 });
28 });
29
30 var code = Block.create({
31 type: opts.containerType,
32 nodes: lines
33 });
34
35 return code;
36}
37
38module.exports = deserializeCode;
\No newline at end of file