basic Y.Text toJSON returns unformatted string

This avoids text nodes in nested structures returning undefined when toJSON is called by a parent.
This commit is contained in:
Garth Williams 2020-01-22 11:11:42 +01:00
parent a210bad25e
commit 38ed725c2c
2 changed files with 20 additions and 0 deletions

View File

@ -668,6 +668,17 @@ export class YText extends AbstractType {
return str
}
/**
* Returns the unformatted string representation of this YText type.
*
* Avoids undefined being returned when called as a nested type.
*
* @public
*/
toJSON () {
return this.toString()
}
/**
* Apply a {@link Delta} on this shared YText type.
*

View File

@ -149,3 +149,12 @@ export const testSnapshotDeleteAfter = tc => {
const state1 = text0.toDelta(snapshot1)
t.compare(state1, [{ insert: 'abcd' }])
}
/**
* @param {t.TestCase} tc
*/
export const testToJson = tc => {
const {text0 } = init(tc, { users: 1 })
text0.insert(0, 'abc', { bold: true })
t.assert(text0.toJSON() === 'abc', 'toJSON returns the unformatted text')
}