var patchNodeAndDOM = function (oldNode, newNode, mount, map) {
    var diffs = slim_dom_1.prepDiff(oldNode, slim_dom_1.diffNode(oldNode, newNode));
    for (var _i = 0, diffs_1 = diffs; _i < diffs_1.length; _i++) {
        var mutation = diffs_1[_i];
        map = slim_dom_1.patchDOM2(mutation, oldNode, mount, map);
        oldNode = slim_dom_1.patchNode2(mutation, oldNode);
    }
    return { node: oldNode, map: map };
};
Exemple #2
0
 return __generator(this, function (_k) {
     switch (_k.label) {
         case 0: return [4 /*yield*/, effects_1.select()];
         case 1:
             state = _k.sent();
             moduleSourceDirectory = utils_1.getModuleSourceDirectory(state);
             _a = [];
             for (_b in graph)
                 _a.push(_b);
             _i = 0;
             _k.label = 2;
         case 2:
             if (!(_i < _a.length)) return [3 /*break*/, 11];
             filePath = _a[_i];
             dep = graph[filePath];
             if (sourceUri && sourceUri !== filePath && lodash_1.values(dep.resolvedImportUris).indexOf(sourceUri) === -1) {
                 return [3 /*break*/, 10];
             }
             module_1 = dep.module;
             _c = 0, _d = module_1.components;
             _k.label = 3;
         case 3:
             if (!(_c < _d.length)) return [3 /*break*/, 10];
             component = _d[_c];
             _e = 0, _f = component.previews;
             _k.label = 4;
         case 4:
             if (!(_e < _f.length)) return [3 /*break*/, 9];
             preview = _f[_e];
             entry = {
                 componentId: component.id,
                 filePath: filePath,
                 previewName: preview.name
             };
             document_1 = paperclip_1.runPCFile({ entry: entry, graph: graph, directoryAliases: (_j = {},
                     // TODO - will eventually want to pass host and protocol information here too
                     _j[moduleSourceDirectory] = "http://localhost:" + state.options.port + constants_1.PUBLIC_SRC_DIR_PATH,
                     _j) }).document;
             _g = state_1.getLatestPreviewDocument;
             _h = [component.id, preview.name];
             return [4 /*yield*/, effects_1.select()];
         case 5:
             prevDocument = _g.apply(void 0, _h.concat([_k.sent()]));
             console.log("Evaluated component " + component.id + ":" + preview.name);
             newDocument = document_1;
             // TODO - push diagnostics too
             return [4 /*yield*/, effects_1.put(actions_1.previewEvaluated(component.id, preview.name, newDocument))];
         case 6:
             // TODO - push diagnostics too
             _k.sent();
             if (!prevDocument) return [3 /*break*/, 8];
             diff = slim_dom_1.diffNode(prevDocument, newDocument);
             // push even if there are no diffs so that FE can flag windows as loaded.
             return [4 /*yield*/, effects_1.put(actions_1.previewDiffed(component.id, preview.name, slim_dom_1.getDocumentChecksum(prevDocument), diff))];
         case 7:
             // push even if there are no diffs so that FE can flag windows as loaded.
             _k.sent();
             _k.label = 8;
         case 8:
             _e++;
             return [3 /*break*/, 4];
         case 9:
             _c++;
             return [3 /*break*/, 3];
         case 10:
             _i++;
             return [3 /*break*/, 2];
         case 11: return [2 /*return*/];
     }
 });