1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-02-24 09:13:24 +01:00
slate/lib/models/character.js
2016-06-15 20:00:41 -07:00

51 lines
752 B
JavaScript

import { List, Record } from 'immutable'
/**
* Record.
*/
const CharacterRecord = new Record({
marks: new List(),
text: ''
})
/**
* Character.
*/
class Character extends CharacterRecord {
/**
* Create a character record from a Javascript `object`.
*
* @param {Object} object
* @return {Character} character
*/
static create(object) {
return new Character({
text: object.text,
marks: new List(object.marks)
})
}
/**
* Create a list of characters from a Javascript `array`.
*
* @param {Array} array
* @return {List} characters
*/
static createList(array) {
return new List(array.map(object => Character.create(object)))
}
}
/**
* Export.
*/
export default Character