@rxap/ts-morph
Version:
Provides utilities for manipulating TypeScript code using the ts-morph library. It offers a fluent API to add, modify, and remove code elements such as classes, decorators, imports, and properties in both Angular and NestJS projects. This package simplifi
88 lines (87 loc) • 4.33 kB
TypeScript
import { Normalized } from '@rxap/utilities';
export declare enum UpstreamOptionsKinds {
OPEN_API = "open-api"
}
export type UpstreamOptions = OpenApiUpstreamOptions | BaseUpstreamOptions;
export type NormalizedUpstreamOptions = NormalizedOpenApiUpstreamOptions | NormalizedBaseUpstreamOptions;
export interface BaseUpstreamOptions {
kind: UpstreamOptionsKinds;
mapper?: RequestMapper;
}
export interface NormalizedBaseUpstreamOptions<Mapper extends NormalizedRequestMapper = NormalizedRequestMapper> extends Readonly<Normalized<BaseUpstreamOptions>> {
kind: UpstreamOptionsKinds;
mapper: Mapper | null;
}
export declare function NormalizeBaseUpstreamOptions(options: BaseUpstreamOptions): NormalizedBaseUpstreamOptions;
export type RequestMapper = PagedRequestMapper | BaseRequestMapper | OptionsRequestMapper | ResolveRequestMapper;
export type NormalizedRequestMapper = NormalizedPagedRequestMapper | NormalizedBaseRequestMapper | NormalizedOptionsRequestMapper | NormalizedResolveRequestMapper;
export declare function NormalizeRequestMapper(mapper?: RequestMapper | null): NormalizedRequestMapper | null;
export declare enum RequestMapperKinds {
DEFAULT = "default",
PAGED = "paged",
OPTIONS = "options",
Resolve = "resolve"
}
export interface BaseRequestMapper {
kind: RequestMapperKinds;
}
export interface NormalizedBaseRequestMapper extends Readonly<Normalized<BaseRequestMapper>> {
kind: RequestMapperKinds.DEFAULT;
}
export declare function NormalizeBaseRequestMapper(mapper: BaseRequestMapper): NormalizedBaseRequestMapper;
export declare function IsNormalizedBaseRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedBaseRequestMapper;
export interface PagedRequestMapper extends BaseRequestMapper {
pageIndex?: string;
pageSize?: string;
sortBy?: string;
sortDirection?: string;
list?: string;
total?: string;
filter?: {
eq: string;
join: string;
};
}
export interface NormalizedPagedRequestMapper extends Readonly<Normalized<PagedRequestMapper>> {
kind: RequestMapperKinds.PAGED;
filter: {
eq: string;
join: string;
} | null;
}
export declare function NormalizePagedRequestMapper(mapper: PagedRequestMapper): NormalizedPagedRequestMapper;
export declare function IsNormalizedPagedRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedPagedRequestMapper;
export declare enum ToOptionsFunction {
TO_OPTIONS = "ToOptions",
TO_OPTIONS_FROM_OBJECT = "ToOptionsFromObject"
}
export interface OptionsRequestMapper extends BaseRequestMapper {
toFunction?: ToOptionsFunction;
toValue?: string;
toDisplay?: string;
}
export interface NormalizedOptionsRequestMapper extends Readonly<Normalized<OptionsRequestMapper>> {
kind: RequestMapperKinds.OPTIONS;
toFunction: ToOptionsFunction;
}
export declare function NormalizeOptionsRequestMapper(mapper: OptionsRequestMapper): NormalizedOptionsRequestMapper;
export declare function IsNormalizedOptionsRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedOptionsRequestMapper;
export interface ResolveRequestMapper extends BaseRequestMapper {
value?: string;
}
export interface NormalizedResolveRequestMapper extends Readonly<Normalized<ResolveRequestMapper>> {
kind: RequestMapperKinds.Resolve;
}
export declare function NormalizeResolveRequestMapper(mapper: ResolveRequestMapper): NormalizedResolveRequestMapper;
export declare function IsNormalizedResolveRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedResolveRequestMapper;
export interface OpenApiUpstreamOptions extends BaseUpstreamOptions {
operationId: string;
isService?: boolean;
scope?: string;
}
export interface NormalizedOpenApiUpstreamOptions extends Readonly<Normalized<Omit<OpenApiUpstreamOptions, keyof NormalizedBaseUpstreamOptions>>>, NormalizedBaseUpstreamOptions {
kind: UpstreamOptionsKinds.OPEN_API;
}
export declare function NormalizeOpenApiUpstreamOptions(options: OpenApiUpstreamOptions): NormalizedOpenApiUpstreamOptions;
export declare function IsNormalizedOpenApiUpstreamOptions(options: NormalizedUpstreamOptions): options is NormalizedOpenApiUpstreamOptions;
export declare function NormalizeUpstreamOptions(options?: UpstreamOptions): NormalizedUpstreamOptions | null;