@ima/core
Version:
IMA.js framework for isomorphic javascript application
99 lines • 4.4 kB
TypeScript
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