A simple library to handle the content state of Draft.js in the backend.
use Draft\Encoding;
use Draft\Model\Immutable\ContentState;
$rawState = json_decode('{"entityMap":{"0":{"type":"LINK","mutability":"MUTABLE","data":{"url":"/","rel":null,"title":"hi","extra":"foo"}}},"blocks":[{"key":"8r91j","text":"a","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":0,"length":1,"style":"ITALIC"}],"entityRanges":[{"offset":0,"length":1,"key":0}]}]}', true);
$contentBlocks = Encoding::convertFromRaw($rawState);
$contentState = ContentState::createFromBlockArray($contentBlocks);
var_dump($contentState);This bundle is currently under heavy development and some aspects are likely to change until considered stable.
To run the test suite, you need install the dependencies via composer, then run PHPUnit.
$ composer install
$ composer testMany thanks to the Draft.js team for the initial inspiration that became the groundworks for the library.
MIT, see LICENSE