20 generic functions
tsz is 1.6x faster 471 lines 14 KB
Timing
Files
// Complex TypeScript with generics, unions, and conditional types
/// <reference lib="es2015.promise" />
type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;
interface Result<T, E = Error> {
ok: boolean;
value?: T;
error?: E;
}
async function process0<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process1<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process2<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process3<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process4<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process5<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process6<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process7<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process8<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process9<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process10<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process11<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process12<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process13<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process14<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process15<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process16<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process17<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process18<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}
async function process19<T extends Record<string, unknown>>(
input: T,
options?: DeepPartial<{ timeout: number; retries: number }>
): Promise<Result<T>> {
const timeout = options?.timeout ?? 1000;
const retries = options?.retries ?? 3;
for (let attempt = 0; attempt < retries; attempt++) {
try {
const result = await Promise.resolve(input);
if (timeout < 0) throw new Error("timeout");
return { ok: true, value: result };
} catch (e) {
if (attempt === retries - 1) return { ok: false, error: e as Error };
}
}
return { ok: false, error: new Error("exhausted") };
}