UNPKG

@ima/core

Version:

IMA.js framework for isomorphic javascript application

99 lines 4.4 kB
import * as $Helper from '@ima/helpers'; import { AppEnvironment } from '../boot'; import { InitBindFunction } from '../Bootstrap'; import { Cache } from '../cache/Cache'; import { CacheFactory } from '../cache/CacheFactory'; import { ControllerDecorator } from '../controller/ControllerDecorator'; import { Dictionary } from '../dictionary/Dictionary'; import { Dispatcher } from '../event/Dispatcher'; import { EventBus } from '../event/EventBus'; import { Observable } from '../event/Observable'; import { HttpAgent } from '../http/HttpAgent'; import { HttpProxy } from '../http/HttpProxy'; import { HttpStatusCode } from '../http/HttpStatusCode'; import { UrlTransformer } from '../http/UrlTransformer'; import { MetaManager } from '../meta/MetaManager'; import { ObjectContainer } from '../oc/ObjectContainer'; import { PageHandlerRegistry } from '../page/handler/PageHandlerRegistry'; import { PageManager } from '../page/manager/PageManager'; import { PageFactory } from '../page/PageFactory'; import { ComponentUtils } from '../page/renderer/ComponentUtils'; import { PageRenderer } from '../page/renderer/PageRenderer'; import { PageStateManager } from '../page/state/PageStateManager'; import { PageStateManagerDecorator } from '../page/state/PageStateManagerDecorator'; import { Request } from '../router/Request'; import { CookieTransformFunction, Response } from '../router/Response'; import { RouteFactory } from '../router/RouteFactory'; import { RouteNames } from '../router/RouteNames'; import { Router } from '../router/Router'; import { RouterEvents } from '../router/RouterEvents'; import { CookieStorage } from '../storage/CookieStorage'; import { MapStorage } from '../storage/MapStorage'; import { SessionMapStorage } from '../storage/SessionMapStorage'; import { SessionStorage } from '../storage/SessionStorage'; import { WeakMapStorage } from '../storage/WeakMapStorage'; import { GlobalImaObject, Utils } from '../types'; import { Window } from '../window/Window'; type AddOCPrefixes<T, P extends string> = { [K in keyof T as K extends string ? `${P}${K}` : never]: T[K] | null; }; type AddOCChaining<T> = { [K in keyof T as K extends string ? `${K}` | `${K}.${string}` : never]: T[K]; }; type WithOCOptional<T> = AddOCPrefixes<AddOCChaining<T>, '?'>; type WithOCSpread<T> = AddOCPrefixes<AddOCChaining<T>, '...'>; type WithOCOptionalSpread<T> = AddOCPrefixes<AddOCChaining<T>, '...?'>; export type DecoratedOCAliasMap = AddOCChaining<OCAliasMap> & WithOCOptional<OCAliasMap> & WithOCOptionalSpread<OCAliasMap> & WithOCSpread<OCAliasMap>; /** * Map of IMA default string aliases and constants initialized in * the ObjectContainer. This is used for typechecking and type * hinting of string OC arguments. */ export interface OCAliasMap { $Helper: typeof $Helper; $oc: ObjectContainer; $Settings: Parameters<InitBindFunction>['2'] & { [key: string]: any; }; $Env: keyof AppEnvironment; $Protocol: GlobalImaObject['$Protocol']; $Secure: boolean; $Request: Request; $Response: Response; $Window: Window; $Error: Dispatcher; $Dictionary: Dictionary; $CookieTransformFunction: CookieTransformFunction; $CookieStorage: CookieStorage; $SessionStorage: InstanceType<typeof SessionStorage> | InstanceType<typeof MapStorage>; $MapStorage: InstanceType<typeof MapStorage>; $WeakMapStorage: WeakMapStorage; $SessionMapStorage: InstanceType<typeof SessionMapStorage>; $Dispatcher: Dispatcher; $EventBus: EventBus; $Observable: Observable; $CacheStorage: OCAliasMap['$MapStorage']; $CacheFactory: InstanceType<typeof CacheFactory>; $Cache: Cache; $MetaManager: MetaManager; $ControllerDecorator: ControllerDecorator; $PageStateManagerDecorator: PageStateManagerDecorator; $PageStateManager: PageStateManager; $PageFactory: PageFactory; $ComponentUtils: ComponentUtils; $Utils: Utils; $PageHandlerRegistry: PageHandlerRegistry; $PageManager: PageManager; $RouteFactory: RouteFactory; $Router: Router; $RouteNames: RouteNames; $RouterEvents: RouterEvents; $HttpUrlTransformer: UrlTransformer; $HttpAgentProxy: HttpProxy; $Http: HttpAgent; $HttpStatusCode: typeof HttpStatusCode; $PageRenderer: PageRenderer; } export declare const initBind: InitBindFunction; export {}; //# sourceMappingURL=bind.d.ts.map