<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.exportCSVData = exportCSVData;
    function _downloadBlob(content, filename, contentType) {
        // Create a blob
        var blob = new Blob([content], { type: contentType });
        var url = URL.createObjectURL(blob);
        // Create a link to download it
        var csvDownload = document.createElement("a");
        csvDownload.href = url;
        csvDownload.setAttribute("download", filename);
        csvDownload.click();
    }
    function _convertArrayToCSV(data) {
        return data
            .map((row) =&gt; row
            .map(String) // convert every value to String
            .map((v) =&gt; v.replaceAll('"', '""')) // escape double colons
            .map((v) =&gt; `"${v}"`) // quote it
            .join(",") // comma-separated
        )
            .join("\r\n"); // rows starting on new lines
    }
    function exportCSVData(featureData, layer) {
        const data = [];
        featureData?.forEach((feature, index) =&gt; {
            if (index === 0) {
                const rowKeys = [];
                // add keys
                for (const rk in feature?.attributes) {
                    let alias = rk;
                    layer?.fields?.some((field) =&gt; {
                        if (field?.name === rk) {
                            if (field?.alias) {
                                alias = field.alias;
                            }
                            return true;
                        }
                    });
                    rowKeys.push(alias);
                }
                data.push(rowKeys);
            }
            // get attributes
            const values = [];
            for (const key in feature?.attributes) {
                let value = feature.attributes[key];
                feature?.layer?.fields?.some((f) =&gt; {
                    if (f?.name === key &amp;&amp; f?.type === "date") {
                        if (value)
                            value = new Date(value).toLocaleDateString();
                        return true;
                    }
                });
                values.push(value);
            }
            data.push(values);
        });
        const csvdata = _convertArrayToCSV(data);
        // download csv
        const resultTitle = layer?.title || "results";
        _downloadBlob(csvdata, `${resultTitle}.csv`, "text/csv;charset=utf-8;");
    }
});
</pre></body></html>