UNPKG

@altostra/core

Version:

Core library for shared types and logic

34 lines (33 loc) 1.28 kB
import type { NaturalNumber } from "../../../../common/CustomTypes/Numerics"; import type { Ref, ResourceBase } from "../../Common"; import type { ResourceId } from "../../ResourceId"; export declare type ApiType = 'resource.api'; export interface Api extends ResourceBase { type: ApiType; endpoints: Ref[]; cors: Cors; minCompressionBytes?: NaturalNumber | 0; defaultAuthorizer?: ResourceId | null; logLevel?: LogLevel; } export declare type CorsNoneType = 'api.cors.none'; export interface CorsNone { type: CorsNoneType; } export declare type CorsSimpleType = 'api.cors.simple'; export interface CorsSimple { type: CorsSimpleType; origins: string; } export declare type CorsType = CorsNoneType | CorsSimpleType; export declare type Cors = CorsNone | CorsSimple; export declare type CorsResourceByType = { [K in CorsNoneType]: CorsNone; } & { [K in CorsSimpleType]: CorsSimple; }; export declare type LogLevel = 'error' | 'full' | 'info' | 'off'; export declare const logLevels: readonly LogLevel[]; export declare const isLogLevel: import("@altostra/type-validations").TypeValidation<LogLevel>; export declare const MAX_MIN_COMP_BYTES: number; export declare const isApi: import("@altostra/type-validations").ObjectOfTypeValidation<Api>;