Current section

Files

Jump to
gossamer src gossamer form_data.ffi.mjs
Raw

src/gossamer/form_data.ffi.mjs

// src/gossamer/form_data.ffi.ts
import * as $formData from "./form_data.mjs";
import { fromArray } from "../utils/list.ffi.mjs";
import { toResult } from "../utils/result.ffi.mjs";
function toFormDataValue(value) {
if (typeof value === "string") {
return $formData.FormDataValue$Text(value);
}
return $formData.FormDataValue$FileValue(value);
}
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 toResult(typeof value === "string" ? value : null);
};
var get_file = (formData, name) => {
const value = formData.get(name);
return toResult(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 formData.keys();
};
var values = (formData) => {
return Array.from(formData.values(), toFormDataValue).values();
};
var entries = (formData) => {
return Array.from(
formData.entries(),
([name, value]) => [
name,
toFormDataValue(value)
]
).values();
};
var for_each = (formData, callback) => {
formData.forEach((value, name) => {
callback(name, toFormDataValue(value));
});
};
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
};