-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeps.ts
22 lines (19 loc) · 1.03 KB
/
deps.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright 2023-latest the httpland authors. All rights reserved. MIT license.
// This module is browser compatible.
export {
type Handler,
type Middleware,
} from "https://deno.land/x/[email protected]/mod.ts";
export { isString } from "https://deno.land/x/[email protected]/is_string.ts";
export { isUndefined } from "https://deno.land/x/[email protected]/is_undefined.ts";
export { filterValues } from "https://deno.land/[email protected]/collections/filter_values.ts";
export { mapValues } from "https://deno.land/[email protected]/collections/map_values.ts";
export { mapKeys } from "https://deno.land/[email protected]/collections/map_keys.ts";
export { withHeader } from "https://deno.land/x/[email protected]/message.ts";
export { default as kebabCase } from "https://esm.sh/[email protected]?pin=v114";
export type CamelCase<S extends string> = S extends `${infer L}${infer R}`
? `${L}${(R extends `-${infer X}` ? CamelCase<Capitalize<X>> : CamelCase<R>)}`
: "";
export type CamelCasing<T> = {
[k in keyof T as k extends string ? CamelCase<k> : k]: T[k];
};