@ibyar/cli
Version:
The Ibyar/Aurora CLI tool
65 lines • 2.55 kB
TypeScript
import ts from 'typescript/lib/tsserverlibrary.js';
import { ClassInfo, SignalInfo } from './modules.js';
import { SignalKey } from './signals.js';
export declare function convertToProperties(json: {
[key: string]: any;
}): ts.ObjectLiteralElementLike[];
export declare function createProperty(name: string, value: any): ts.ObjectLiteralElementLike;
export declare function createInitializer(value: any): ts.Expression;
export declare function createInterfaceType(viewName: string, extendsType: string): ts.InterfaceDeclaration;
export declare function createTypeLiteral(typeName: string): ts.TypeLiteralNode;
/**
* create view constructor interface of Type `T`
*
* ```ts
* interface ConstructorOfView<T> {
* new(): T;
* readonly prototype: T;
* }
* ```
*/
export declare function createConstructorOfViewInterfaceDeclaration(): ts.InterfaceDeclaration;
export declare function createStaticPropertyViewType(typeName: string): ts.TypeReferenceNode;
export declare function generateStatements(sourceText: string, scriptTarget?: ts.ScriptTarget, scriptKind?: ts.ScriptKind): ts.NodeArray<ts.Statement>;
export declare function generateNode<T = ts.Node>(sourceText: string, scriptTarget?: ts.ScriptTarget, scriptKind?: ts.ScriptKind): T;
/**
* declare global {
interface HTMLElementTagNameMap {
'user-view': HTMLUserViewElement;
}
}
*/
export declare function updateGlobalHTMLElementTagNameMap(views: {
tagName: string;
viewName: string;
}[]): ts.NodeArray<ts.Statement>;
export declare function updateModuleTypeWithComponentView(classes: ClassInfo[]): ts.NodeArray<ts.Statement>;
/**
* create new type with name `ɵɵ0Directives0ɵɵ`
*
* example:
* ```ts
* export type ɵɵ0IfDirective0ɵɵ = {
* selector: '*if';
* successor: '*else',
* inputs: [
* { name: 'ifCondition', aliasName: 'if' },
* { name: 'thenTemplateRef', aliasName: 'then' },
* { name: 'elseTemplateRef', aliasName: 'else' },
* ],
* outputs: [],
* };
* ```
* @param classes directive class information
* @returns new array of statements
*/
export declare function updateModuleTypeWithDirectives(classes: ClassInfo[]): ts.NodeArray<ts.Statement>;
export declare function convertToRuntimeMetadata(signalMetadata: Partial<Record<SignalKey, SignalInfo[]>>): {
signal: string;
options: {
name: string;
alias: string;
}[];
}[];
export declare function createSignalsAssignment(signalMetadata: Partial<Record<SignalKey, SignalInfo[]>>): ts.PropertyAssignment;
//# sourceMappingURL=factory.d.ts.map