canvas-native
Advanced tools
Comparing version 1.2.3 to 1.3.0
@@ -9,3 +9,3 @@ 'use strict'; | ||
function convert(native) { | ||
var json = createGroup('canvas'); | ||
var json = createCanvas(native); | ||
@@ -96,2 +96,37 @@ var nodeStack = [json]; | ||
function createCanvas(native) { | ||
var json = createGroup('canvas'); | ||
json.meta = { title: null }; | ||
var _iteratorNormalCompletion2 = true; | ||
var _didIteratorError2 = false; | ||
var _iteratorError2 = undefined; | ||
try { | ||
for (var _iterator2 = native[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { | ||
var line = _step2.value; | ||
if (line.type === 'title') { | ||
json.meta.title = line.match[2]; | ||
break; | ||
} | ||
} | ||
} catch (err) { | ||
_didIteratorError2 = true; | ||
_iteratorError2 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion2 && _iterator2['return']) { | ||
_iterator2['return'](); | ||
} | ||
} finally { | ||
if (_didIteratorError2) { | ||
throw _iteratorError2; | ||
} | ||
} | ||
} | ||
return json; | ||
} | ||
function createGroup(type) { | ||
@@ -98,0 +133,0 @@ return { |
export function convert(native) { | ||
const json = createGroup('canvas'); | ||
const json = createCanvas(native); | ||
@@ -67,2 +67,16 @@ let nodeStack = [json]; | ||
function createCanvas(native) { | ||
const json = createGroup('canvas'); | ||
json.meta = { title: null }; | ||
for (const line of native) { | ||
if (line.type === 'title') { | ||
json.meta.title = line.match[2]; | ||
break; | ||
} | ||
} | ||
return json; | ||
} | ||
function createGroup(type) { | ||
@@ -69,0 +83,0 @@ return { |
{ | ||
"name": "canvas-native", | ||
"description": "Utilities for working with the native Canvas format", | ||
"version": "1.2.3", | ||
"version": "1.3.0", | ||
"author": "Jonathan Clem <jonathan@usecanvas.com>", | ||
@@ -6,0 +6,0 @@ "bugs": "https://github.com/usecanvas/canvas-native/issues", |
@@ -7,2 +7,12 @@ import { convert } from '../../../lib/converters/json'; | ||
describe('converters/json', () => { | ||
it('includes a title', () => { | ||
const doc = parse([ | ||
wrap('doc-heading') + 'Foo' | ||
].join('\n')); | ||
expect(convert(doc).meta).to.eql({ | ||
title: 'Foo' | ||
}); | ||
}); | ||
it('converts simple paragraphs to JSON', () => { | ||
@@ -9,0 +19,0 @@ const doc = parse([ |
84687
2235