All files / renderer patch.ts

90.91% Statements 10/11
50% Branches 1/2
100% Functions 2/2
90.91% Lines 10/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44    15x         12x         12x   12x   12x               15x   33x         33x         33x   33x          
import { NodePatchingData } from "./NodePatcher";
 
export default function patch(node: Node, newNode: Node) {
 
    const {
        patcher: oldPatcher,
        values: oldValues
    } = getPatchingData(node);
 
    const {
        patcher: newPatcher,
        values: newValues
    } = getPatchingData(newNode);
 
    Eif (oldPatcher === newPatcher) {
 
        oldPatcher.patch(node, oldValues, { newValues });
    }
    else {
 
        throw new Error('Not implemented');
    }
}
 
export function getPatchingData(node: Node): NodePatchingData {
 
    const instancePatchingData = (node as any).__instancePatchingData__;
 
    const {
        sharedPatchingData,
        values
    } = instancePatchingData;
 
    const {
        _template,
        _patcher
    } = sharedPatchingData;
 
    return {
        template: _template,
        patcher: _patcher,
        values
    };
}