@altostra/core
Version:
Core library for shared types and logic
34 lines (33 loc) • 1.28 kB
TypeScript
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>;