docs + some tweaks...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2018-08-27 01:48:12 +03:00
parent 1d1bbea23d
commit 3ffbe78f57
2 changed files with 16 additions and 1 deletions

View File

@ -282,7 +282,9 @@ The `path` is a `"/"` or `"\"` separated string that supports the following item
*Note that `"**"` is a special case in that it can not be combined with other patterns above (e.g. in `"a|**"` the string `"**"` is treated literally and has not special meaning).* *Note that `"**"` is a special case in that it can not be combined with other patterns above (e.g. in `"a|**"` the string `"**"` is treated literally and has not special meaning).*
`diff.merge(diff) -> diff` `diff.merge(diff) -> diff`
XXX Generate a merged *diff* containing the changes from both diff object.
*Note that this method currently simply concatenates the changes of two diff objects together, at this point no effort is made to optimize the new change list (changes can be redundant or canceling but there should not be any conflicts unless a merged diff is missing or is out of order).*
`diff.end() -> diff` `diff.end() -> diff`
Return the *parent diff* that was used to generate the current *child diff* or the current diff if there is not parent. Return the *parent diff* that was used to generate the current *child diff* or the current diff if there is not parent.

13
diff.js
View File

@ -2180,6 +2180,16 @@ var DiffClassPrototype = {
// ...currently the context for most things is .constructor.types // ...currently the context for most things is .constructor.types
// which is global this makes anything that any handler does not // which is global this makes anything that any handler does not
// local to a particular diff instance... // local to a particular diff instance...
// XXX patching should be possible with a simple empty object...
// ...not sure how to create the path elements though...
// this would make optimizing .merge(..) simple:
// var diff = x.merge(y)
// // reference -- the unchanged section of the input...
// var pre = diff
// .reverse()
// .patch()
// var post = diff.patch(ref)
// var optimized = Diff(pre, post)
var DiffPrototype = { var DiffPrototype = {
// system meta information... // system meta information...
get format(){ get format(){
@ -2197,6 +2207,7 @@ var DiffPrototype = {
placeholders: null, placeholders: null,
options: null, options: null,
diff: null, diff: null,
timestamp: null,
parent: null, parent: null,
@ -2220,6 +2231,8 @@ var DiffPrototype = {
: options.tree_diff ? : options.tree_diff ?
diff.diff(A, B, options) diff.diff(A, B, options)
: diff.flatten(diff.diff(A, B, options), options) : diff.flatten(diff.diff(A, B, options), options)
this.timestamp = Date.now()
}, },
// XXX should this be a deep copy??? // XXX should this be a deep copy???