Current section
Files
Jump to
Current section
Files
src/gossamer/form_data.ffi.mjs
// src/utils/list.ts
import {
List$Empty,
List$isNonEmpty,
List$NonEmpty,
List$NonEmpty$first,
List$NonEmpty$rest
} from "../../prelude.mjs";
function fromArray(array) {
let list = List$Empty();
for (let i = array.length - 1; i >= 0; --i) {
list = List$NonEmpty(array[i], list);
}
return list;
}
// src/utils/option.ts
import {
Option$None,
Option$Some
} from "../../gleam_stdlib/gleam/option.mjs";
function toOption(value) {
return value === null || value === void 0 ? Option$None() : Option$Some(value);
}
// src/gossamer/form_data.ffi.ts
var new_ = () => {
return new FormData();
};
var append = (formData, name, value) => {
formData.append(name, value);
return formData;
};
var append_blob = (formData, name, value) => {
formData.append(name, value);
return formData;
};
var append_blob_with_filename = (formData, name, value, filename) => {
formData.append(name, value, filename);
return formData;
};
var delete_ = (formData, name) => {
formData.delete(name);
return formData;
};
var get = (formData, name) => {
const value = formData.get(name);
return toOption(typeof value === "string" ? value : null);
};
var get_file = (formData, name) => {
const value = formData.get(name);
return toOption(value instanceof File ? value : null);
};
var get_all = (formData, name) => {
const values2 = formData.getAll(name);
return fromArray(
values2.filter((value) => typeof value === "string")
);
};
var get_all_files = (formData, name) => {
const values2 = formData.getAll(name);
return fromArray(
values2.filter((value) => value instanceof File)
);
};
var has = (formData, name) => {
return formData.has(name);
};
var set = (formData, name, value) => {
formData.set(name, value);
return formData;
};
var set_blob = (formData, name, value) => {
formData.set(name, value);
return formData;
};
var set_blob_with_filename = (formData, name, value, filename) => {
formData.set(name, value, filename);
return formData;
};
var keys = (formData) => {
return fromArray(Array.from(formData.keys()));
};
var values = (formData) => {
return fromArray(
Array.from(formData.values()).filter(
(value) => typeof value === "string"
)
);
};
var entries = (formData) => {
return fromArray(
Array.from(formData.entries()).filter(
(entry) => typeof entry[1] === "string"
)
);
};
var for_each = (formData, callback) => {
formData.forEach((value, key) => {
if (typeof value === "string") {
callback(value, key);
}
});
};
export {
append,
append_blob,
append_blob_with_filename,
delete_,
entries,
for_each,
get,
get_all,
get_all_files,
get_file,
has,
keys,
new_,
set,
set_blob,
set_blob_with_filename,
values
};