pull json validation for OT into its own module for reuse
parent
fbb9163e42
commit
7689151fc0
@ -0,0 +1,25 @@
|
|||||||
|
define([
|
||||||
|
'/common/realtime-input.js'
|
||||||
|
], function () {
|
||||||
|
var ChainPad = window.ChainPad;
|
||||||
|
var JsonOT = {};
|
||||||
|
|
||||||
|
var validate = JsonOT.validate = function (text, toTransform, transformBy) {
|
||||||
|
var resultOp = ChainPad.Operation.transform0(text, toTransform, transformBy);
|
||||||
|
var text2 = ChainPad.Operation.apply(transformBy, text);
|
||||||
|
var text3 = ChainPad.Operation.apply(resultOp, text2);
|
||||||
|
try {
|
||||||
|
JSON.parse(text3);
|
||||||
|
return resultOp;
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// returning **null** breaks out of the loop
|
||||||
|
// which transforms conflicting operations
|
||||||
|
// in theory this should prevent us from producing bad JSON
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
return JsonOT;
|
||||||
|
});
|
Loading…
Reference in New Issue