I'm trying to create a cluster with categories using PruneCluster around my GeoJSON layers. 

As the example in GitHub They are creating randomly some markers then adding them to the cluster.

I did the same I got the coords from a GeoJSON layer, stored it in a variable then added it to Prunecluster as follows :

    leafletView.BuildLeafletClusterIcon = function(cluster) {
            var e = new L.Icon.MarkerCluster();
    
            e.stats = cluster.stats;
            e.population = cluster.population;
            return e;
        };
    
        var colors = ['rgb(10, 94, 219)', 'rgb(253, 152, 1)', 'rgb(3, 180, 11)'],
            pi2 = Math.PI * 2;
    
        L.Icon.MarkerCluster = L.Icon.extend({
            options: {
                iconSize: new L.Point(44, 44),
                className: 'prunecluster leaflet-markercluster-icon'
            },
    
            createIcon: function() {
                // based on L.Icon.Canvas from shramov/leaflet-plugins (BSD licence)
                var e = document.createElement('canvas');
                this._setIconStyles(e, 'icon');
                var s = this.options.iconSize;
                e.width = s.x;
                e.height = s.y;
                this.draw(e.getContext('2d'), s.x, s.y);
                return e;
            },
    
            createShadow: function() {
                return null;
            },
    
            draw: function(canvas, width, height) {
    
                var lol = 0;
    
                var start = 0;
                for (var i = 0, l = colors.length; i < l; ++i) {
    
                    var size = this.stats[i] / this.population;
    
    
                    if (size > 0) {
                        canvas.beginPath();
                        canvas.moveTo(22, 22);
                        canvas.fillStyle = colors[i];
                        var from = start + 0.14,
                            to = start + size * pi2;
    
                        if (to < from) {
                            from = start;
                        }
                        canvas.arc(22, 22, 22, from, to);
    
                        start = start + size * pi2;
                        canvas.lineTo(22, 22);
                        canvas.fill();
                        canvas.closePath();
                    }
    
                }
    
                canvas.beginPath();
                canvas.fillStyle = 'white';
                canvas.arc(22, 22, 18, 0, Math.PI * 2);
                canvas.fill();
                canvas.closePath();
    
                canvas.fillStyle = '#555';
                canvas.textAlign = 'center';
                canvas.textBaseline = 'middle';
                canvas.font = 'bold 12px sans-serif';
    
                canvas.fillText(this.population, 22, 22, 40);
            }
        });
    
    
    let myLayerOptionsArbre = {
    
            pointToLayer: createCustomIcon,
            onEachFeature: function(feature, layer) {
                layer.bindTooltip(feature.properties.titre);
                layer.on({
                    click: onMarkerClick
                });
                coordsArb.push(feature.geometry.coordinates);
    
            }
        }
    
    var arb = arbres
        var arbre = new L.GeoJSON(arb, myLayerOptionsArbre)
    
    var ap = {}
    
        for (var i = 0; i < coordsAP.length; i++) {
    
            ap = new PruneCluster.Marker(coordsAP[i][1], coordsAP[i][0]);
            console.log(typeof ap)
            console.log("hey", coordsAP[i][1])
            ap.category = AIRES_PROTEGEES;
            leafletView.RegisterMarker(ap);
        }
    
    leafletView.ProcessView();
        mymap.addLayer(leafletView)

Now on my map I have the clusters around new markers and the GeoJSON layers. When I read the doc, I found that Prunecluster does not support GeoJSON. So you all have any idea about how to convert GeoJSON to marker then add it to PruneCluster.