mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
Add exit api
This commit is contained in:
14
server/parse_form.ts
Normal file
14
server/parse_form.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
export async function parse_bool<T extends boolean | null>(
|
||||
value: FormDataEntryValue | null,
|
||||
def: T,
|
||||
): Promise<boolean | T> {
|
||||
if (value === null) return def;
|
||||
const nv = typeof value === "string" ? value : await value.text();
|
||||
const v = nv.toLowerCase();
|
||||
const n = parseInt(v);
|
||||
if (isNaN(n)) {
|
||||
return v === "true";
|
||||
} else {
|
||||
return n !== 0;
|
||||
}
|
||||
}
|
||||
17
server/parse_form_test.ts
Normal file
17
server/parse_form_test.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { assertEquals } from "std/testing/asserts.ts";
|
||||
import { parse_bool } from "./parse_form.ts";
|
||||
|
||||
Deno.test("parse_bool_test", async () => {
|
||||
const f = new FormData();
|
||||
f.append("a", "d");
|
||||
assertEquals(await parse_bool(f.get("a"), true), false);
|
||||
assertEquals(await parse_bool(f.get("b"), true), true);
|
||||
assertEquals(await parse_bool(f.get("b"), null), null);
|
||||
assertEquals(await parse_bool(f.get("a"), null), false);
|
||||
f.append("c", "1");
|
||||
f.append("d", "TRue");
|
||||
assertEquals(await parse_bool(f.get("c"), null), true);
|
||||
assertEquals(await parse_bool(f.get("d"), null), true);
|
||||
f.append("e", "tRUE", "a.png");
|
||||
assertEquals(await parse_bool(f.get("e"), null), true);
|
||||
});
|
||||
Reference in New Issue
Block a user