1 | 'use strict';
|
2 |
|
3 | var _require = require('slate'),
|
4 | Block = _require.Block,
|
5 | Text = _require.Text;
|
6 |
|
7 | var _require2 = require('immutable'),
|
8 | List = _require2.List;
|
9 |
|
10 | var detectNewline = require('detect-newline');
|
11 |
|
12 | var DEFAULT_NEWLINE = '\n';
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | function 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 |
|
38 | module.exports = deserializeCode; |
\ | No newline at end of file |