Skip to content

Port of npm quill-delta library implementing a working compose method

License

Notifications You must be signed in to change notification settings

jurriaanr/quill-delta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quill Delta

This is a PHP port of the npm library quill-delta. Right now it only ports the compose function to compose the full history including all the retains and deletes to a final version with only the necessary inserts.

installation

Use composer

composer require oberon/quill-delta

usage

use Oberon\Quill\Delta\Composer;
    
$fullOps = [
    [
        "ops" => [
            ["insert" => "hello"],
        ],
    ],
    [
        "ops" => [
            ["retain" => 5],
            ["insert" => " world"],
        ],
    ],
];

$quilComposer = new Composer();
echo $quilComposer->compose($fullOps);

// {"ops":[{"insert":"hello world"}]}

or

use Oberon\Quill\Delta\Delta;

$fullOps = [
    [
        "ops" => [
            ["insert" => "hello"],
        ],
    ],
    [
        "ops" => [
            ["retain" => 5],
            ["insert" => " world"],
        ],
    ],
];

$output = array_reduce($fullOps, function(Delta $delta, $ops){
    $comp = $delta->compose(new Delta($ops));
    return $comp;
}, new Delta());

echo $output;

// {"ops":[{"insert":"hello world"}]}

notes

* only supports the delta compose method, diff and other utilities are not supported

About

Port of npm quill-delta library implementing a working compose method

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages