bigpipe-util
Version:
This library currently implements small part of Facebook BigPipe so far, but the advantage is to efficiently insert/replace content and work with the DOM. It is also possible to easily call JavaScript modules from PHP.
28 lines (25 loc) • 839 B
JavaScript
import $ from './$';
export default function replaceTransportMarkers(markerValue, markers, key) {
const marker = typeof key !== "undefined" ? markers[key] : markers;
if (Array.isArray(marker)) {
for (let i = 0; i < marker.length; i++) {
replaceTransportMarkers(markerValue, marker, i);
}
} else {
if (marker && typeof marker == "object") {
if (marker.__m) {
markers[key] = window.require(marker.__m);
} else if (marker.__e) {
markers[key] = $(marker.__e);
} else if (marker.__map) {
markers[key] = new Map(marker.__map);
} else if (marker.__set) {
markers[key] = new Set(marker.__set);
} else {
for (let value in marker) {
replaceTransportMarkers(markerValue, marker, value);
}
}
}
}
}