Till Tomczak 2d33753b94 feat: Major updates to backend structure and security enhancements
- Removed `COMMON_ERRORS.md` file to streamline documentation.
- Added `Flask-Limiter` for rate limiting and `redis` for session management in `requirements.txt`.
- Expanded `ROADMAP.md` to include completed security features and planned enhancements for version 2.2.
- Enhanced `setup_myp.sh` for ultra-secure kiosk installation, including system hardening and security configurations.
- Updated `app.py` to integrate CSRF protection and improved logging setup.
- Refactored user model to include username and active status for better user management.
- Improved job scheduler with uptime tracking and task management features.
- Updated various templates for a more cohesive user interface and experience.
2025-05-25 20:33:38 +02:00

45 lines
891 B
TypeScript

declare function arg<T extends arg.Spec>(
spec: T,
options?: arg.Options
): arg.Result<T>;
declare namespace arg {
export const flagSymbol: unique symbol;
export function flag<T>(fn: T): T & { [arg.flagSymbol]: true };
export const COUNT: Handler<number> & { [arg.flagSymbol]: true };
export type Handler<T = any> = (
value: string,
name: string,
previousValue?: T
) => T;
export class ArgError extends Error {
constructor(message: string, code: string);
code: string;
}
export interface Spec {
[key: string]: string | Handler | [Handler];
}
export type Result<T extends Spec> = { _: string[] } & {
[K in keyof T]?: T[K] extends Handler
? ReturnType<T[K]>
: T[K] extends [Handler]
? Array<ReturnType<T[K][0]>>
: never;
};
export interface Options {
argv?: string[];
permissive?: boolean;
stopAtPositional?: boolean;
}
}
export = arg;