mirror of
https://github.com/flynx/diff.js.git
synced 2025-10-28 18:40:09 +00:00
added shorthands to some common patterns...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
5401527969
commit
1094729e1f
17
diff.js
17
diff.js
@ -408,6 +408,9 @@ module.BOOL =
|
|||||||
function(obj){
|
function(obj){
|
||||||
return obj === true || obj === false })()
|
return obj === true || obj === false })()
|
||||||
|
|
||||||
|
// shorthand...
|
||||||
|
var B = module.B = BOOL
|
||||||
|
|
||||||
|
|
||||||
// Function pattern...
|
// Function pattern...
|
||||||
//
|
//
|
||||||
@ -421,6 +424,9 @@ module.FUNCTION =
|
|||||||
function(obj){
|
function(obj){
|
||||||
return obj instanceof Function })()
|
return obj instanceof Function })()
|
||||||
|
|
||||||
|
// shorthand...
|
||||||
|
var F = module.F = FUNCTION
|
||||||
|
|
||||||
|
|
||||||
// String pattern...
|
// String pattern...
|
||||||
//
|
//
|
||||||
@ -450,6 +456,9 @@ module.STRING =
|
|||||||
: true )) },
|
: true )) },
|
||||||
function(value){ this.value = value })
|
function(value){ this.value = value })
|
||||||
|
|
||||||
|
// shorthand...
|
||||||
|
var S = module.S = STRING
|
||||||
|
|
||||||
|
|
||||||
// Number pattern...
|
// Number pattern...
|
||||||
//
|
//
|
||||||
@ -488,6 +497,9 @@ module.NUMBER =
|
|||||||
: true )) },
|
: true )) },
|
||||||
function(...value){ this.value = value })
|
function(...value){ this.value = value })
|
||||||
|
|
||||||
|
// shorthand...
|
||||||
|
var N = module.N = NUMBER
|
||||||
|
|
||||||
|
|
||||||
// Array pattern...
|
// Array pattern...
|
||||||
//
|
//
|
||||||
@ -530,6 +542,11 @@ module.ARRAY =
|
|||||||
}).length == (this.value || []).length) },
|
}).length == (this.value || []).length) },
|
||||||
function(...value){ this.value = value })
|
function(...value){ this.value = value })
|
||||||
|
|
||||||
|
// shorthand...
|
||||||
|
// NOTE: yes, ARRAY does not even contain the letter "L" but this is
|
||||||
|
// tradition ;)
|
||||||
|
var L = module.L = ARRAY
|
||||||
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
// Will compare as true to anything but .value...
|
// Will compare as true to anything but .value...
|
||||||
|
|||||||
36
format.js
36
format.js
@ -13,7 +13,7 @@
|
|||||||
var diff = require('./diff')
|
var diff = require('./diff')
|
||||||
var {
|
var {
|
||||||
ANY,
|
ANY,
|
||||||
NULL, BOOL, NUMBER, STRING, ARRAY, FUNCTION,
|
NULL, BOOL, B, NUMBER, N, STRING, S, ARRAY, L, FUNCTION, F,
|
||||||
OR, AND, NOT,
|
OR, AND, NOT,
|
||||||
AT, OF, IN,
|
AT, OF, IN,
|
||||||
VAR, LIKE, TEST,
|
VAR, LIKE, TEST,
|
||||||
@ -53,16 +53,16 @@ module.SIDE_VALUES = OR(
|
|||||||
|
|
||||||
var CHANGE =
|
var CHANGE =
|
||||||
module.CHANGE = AND(
|
module.CHANGE = AND(
|
||||||
AT('path', ARRAY),
|
AT('path', L),
|
||||||
// XXX optional...
|
// XXX optional...
|
||||||
// ...see DIFF_OBJECT's options for description...
|
// ...see DIFF_OBJECT's options for description...
|
||||||
AT('type', OR(STRING, undefined)),
|
AT('type', OR(S, undefined)),
|
||||||
SIDE_VALUES)
|
SIDE_VALUES)
|
||||||
|
|
||||||
|
|
||||||
var DIFF_FLAT =
|
var DIFF_FLAT =
|
||||||
module.DIFF_FLAT = OR(
|
module.DIFF_FLAT = OR(
|
||||||
ARRAY(CHANGE),
|
L(CHANGE),
|
||||||
null)
|
null)
|
||||||
|
|
||||||
|
|
||||||
@ -78,13 +78,13 @@ module.BASIC_CHANGE = AND(
|
|||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
var OBJECT_ITEM =
|
var OBJECT_ITEM =
|
||||||
module.OBJECT_ITEM = OR(
|
module.OBJECT_ITEM = OR(
|
||||||
[STRING, DIFF_TREE],
|
[S, DIFF_TREE],
|
||||||
[STRING, STRING, DIFF_TREE])
|
[S, S, DIFF_TREE])
|
||||||
|
|
||||||
var OBJECT_CHANGE =
|
var OBJECT_CHANGE =
|
||||||
module.OBJECT_CHANGE = AND(
|
module.OBJECT_CHANGE = AND(
|
||||||
AT('type', 'Object'),
|
AT('type', 'Object'),
|
||||||
AT('items', ARRAY(OBJECT_ITEM)),
|
AT('items', L(OBJECT_ITEM)),
|
||||||
// XXX
|
// XXX
|
||||||
AT('item_order', undefined))
|
AT('item_order', undefined))
|
||||||
|
|
||||||
@ -93,14 +93,14 @@ module.OBJECT_CHANGE = AND(
|
|||||||
var ARRAY_ITEM =
|
var ARRAY_ITEM =
|
||||||
module.ARRAY_ITEM = OR(
|
module.ARRAY_ITEM = OR(
|
||||||
[ANY, ANY, DIFF_TREE],
|
[ANY, ANY, DIFF_TREE],
|
||||||
[[ANY, NUMBER], [ANY, NUMBER], DIFF_TREE])
|
[[ANY, N], [ANY, N], DIFF_TREE])
|
||||||
|
|
||||||
var ARRAY_ITEMS =
|
var ARRAY_ITEMS =
|
||||||
module.ARRAY_ITEMS = AND(
|
module.ARRAY_ITEMS = AND(
|
||||||
AT('length', OR(
|
AT('length', OR(
|
||||||
[NUMBER, NUMBER],
|
[N, N],
|
||||||
undefined)),
|
undefined)),
|
||||||
AT('items', ARRAY(
|
AT('items', L(
|
||||||
OR(
|
OR(
|
||||||
ARRAY_ITEM,
|
ARRAY_ITEM,
|
||||||
OBJECT_ITEM))),
|
OBJECT_ITEM))),
|
||||||
@ -138,25 +138,25 @@ var DIFF_OBJECT =
|
|||||||
module.DIFF_OBJECT = AND(
|
module.DIFF_OBJECT = AND(
|
||||||
// format metadata...
|
// format metadata...
|
||||||
AT('format', diff.FORMAT_NAME),
|
AT('format', diff.FORMAT_NAME),
|
||||||
//AT('version', STRING(/\d+\.\d+\.\d+/)),
|
//AT('version', S(/\d+\.\d+\.\d+/)),
|
||||||
AT('version', diff.FORMAT_VERSION),
|
AT('version', diff.FORMAT_VERSION),
|
||||||
|
|
||||||
// instance metadata...
|
// instance metadata...
|
||||||
AT('options', AND(
|
AT('options', AND(
|
||||||
AT('tree_diff', OR(BOOL, NULL)),
|
AT('tree_diff', OR(B, NULL)),
|
||||||
AT('keep_none', OR(BOOL, NULL)),
|
AT('keep_none', OR(B, NULL)),
|
||||||
AT('min_text_length', OR(NUMBER, NULL)),
|
AT('min_text_length', OR(N, NULL)),
|
||||||
AT('no_attributes', OR(BOOL, NULL)),
|
AT('no_attributes', OR(B, NULL)),
|
||||||
AT('NONE', OR(ANY, NULL)),
|
AT('NONE', OR(ANY, NULL)),
|
||||||
AT('EMPTY', OR(ANY, NULL)),
|
AT('EMPTY', OR(ANY, NULL)),
|
||||||
AT('no_length', OR(BOOL, NULL)),
|
AT('no_length', OR(B, NULL)),
|
||||||
AT('cmp', OR(FUNCTION, NULL)) )),
|
AT('cmp', OR(F, NULL)) )),
|
||||||
AT('placeholders', AND(
|
AT('placeholders', AND(
|
||||||
AT('NONE',
|
AT('NONE',
|
||||||
VAR('NONE', ANY)),
|
VAR('NONE', ANY)),
|
||||||
AT('EMPTY',
|
AT('EMPTY',
|
||||||
VAR('EMPTY', ANY)))),
|
VAR('EMPTY', ANY)))),
|
||||||
AT('timestamp', NUMBER),
|
AT('timestamp', N),
|
||||||
|
|
||||||
// diff...
|
// diff...
|
||||||
OR(
|
OR(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user