Current section
Files
Jump to
Current section
Files
src/gossamer/url_search_params.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;
}
function toArray(list) {
const array = [];
let current = list;
while (List$isNonEmpty(current)) {
array.push(List$NonEmpty$first(current));
current = List$NonEmpty$rest(current);
}
return array;
}
// src/utils/result.ts
import { Result$Error, Result$Ok } from "../../prelude.mjs";
function toResult(value) {
return value === null || value === void 0 ? Result$Error(void 0) : Result$Ok(value);
}
toResult.fromThrows = function(throws) {
try {
return Result$Ok(throws());
} catch (error) {
return Result$Error(
error instanceof Error ? error.message : String(error)
);
}
};
toResult.fromPromise = function(promise) {
return promise.then(
(value) => Result$Ok(value),
(error) => Result$Error(error instanceof Error ? error.message : String(error))
);
};
// src/gossamer/url_search_params.ffi.ts
var new_ = () => {
return new URLSearchParams();
};
var from_string = (query) => {
return new URLSearchParams(query);
};
var from_pairs = (pairs) => {
return new URLSearchParams(toArray(pairs));
};
var append = (params, name, value) => {
params.append(name, value);
return params;
};
var delete_ = (params, name) => {
params.delete(name);
return params;
};
var delete_value = (params, name, value) => {
params.delete(name, value);
return params;
};
var get = (params, name) => {
return toResult(params.get(name));
};
var get_all = (params, name) => {
return fromArray(params.getAll(name));
};
var has = (params, name) => {
return params.has(name);
};
var has_value = (params, name, value) => {
return params.has(name, value);
};
var set = (params, name, value) => {
params.set(name, value);
return params;
};
var sort = (params) => {
params.sort();
return params;
};
var for_each = (params, callback) => {
params.forEach((value, key) => callback(value, key));
};
var keys = (params) => {
return fromArray(Array.from(params.keys()));
};
var values = (params) => {
return fromArray(Array.from(params.values()));
};
var entries = (params) => {
return fromArray(Array.from(params.entries()));
};
var to_string = (params) => {
return params.toString();
};
var size = (params) => {
return params.size;
};
export {
append,
delete_,
delete_value,
entries,
for_each,
from_pairs,
from_string,
get,
get_all,
has,
has_value,
keys,
new_,
set,
size,
sort,
to_string,
values
};