@autorest/powershell
Version:
AutoRest PowerShell Cmdlet Generator
142 lines • 4.89 kB
TypeScript
import { Dictionary } from '@azure-tools/linq';
import { SchemaDetails, LanguageDetails, EnhancedTypeDeclaration, Boolean, SchemaDefinitionResolver } from '../llcsharp/exports';
import { State } from './state';
import { Project as codeDomProject } from '@azure-tools/codegen-csharp';
import { ModelExtensionsNamespace } from '../models/model-extensions';
import { ModuleNamespace } from '../module/module-namespace';
import { CmdletNamespace } from '../cmdlets/namespace';
import { AutorestExtensionHost as Host } from '@autorest/extension-base';
import { PropertyDetails, exportedModels as T } from '@azure-tools/codemodel-v3';
import { DeepPartial } from '@azure-tools/codegen';
import { PwshModel } from '../utils/PwshModel';
import { ModelState } from '../utils/model-state';
import { Schema as NewSchema } from '@autorest/codemodel';
import { TspHost } from '../utils/tsp-host';
export type Schema = T.SchemaT<LanguageDetails<SchemaDetails>, LanguageDetails<PropertyDetails>>;
export interface Metadata {
authors: string;
owners: string;
requireLicenseAcceptance: boolean;
description: string;
copyright: string;
tags: string;
companyName: string;
licenseUri: string;
projectUri: string;
requiredModules: Array<PsRequiredModule>;
requiredModulesAsString: string;
requiredAssemblies: Array<string>;
requiredAssembliesAsString: string;
nestedModules: Array<string>;
nestedModulesAsString: string;
formatsToProcess: Array<string>;
formatsToProcessAsString: string;
typesToProcess: Array<string>;
typesToProcessAsString: string;
scriptsToProcess: Array<string>;
scriptsToProcessAsString: string;
functionsToExport: Array<string>;
functionsToExportAsString: string;
cmdletsToExport: Array<string>;
cmdletsToExportAsString: string;
aliasesToExport: Array<string>;
aliasesToExportAsString: string;
}
export interface PsRequiredModule {
name: string;
version: string;
}
interface ModelCmdletDirective {
'model-name': string;
'cmdlet-name'?: string;
}
export declare class NewPSSwitch extends Boolean {
get declaration(): string;
}
export declare class PSSchemaResolver extends SchemaDefinitionResolver {
inResolve: boolean;
resolveTypeDeclaration(schema: NewSchema | undefined, required: boolean, state: ModelState<PwshModel>, isFixedArray?: boolean): EnhancedTypeDeclaration;
}
export declare class Project extends codeDomProject {
protected service: Host | TspHost;
azure: boolean;
addToString: boolean;
license: string;
pwshCommentHeader: string;
pwshCommentHeaderForCsharp: string;
csharpCommentHeader: string;
csharpCommentHeaderForCsharp: string;
cmdletFolder: string;
modelCmdletFolder: string;
endpointResourceIdKeyName: string;
endpointSuffixKeyName: string;
customFolder: string;
utilsFolder: string;
internalFolder: string;
testFolder: string;
runtimeFolder: string;
binFolder: string;
objFolder: string;
exportsFolder: string;
docsFolder: string;
examplesFolder: string;
resourcesFolder: string;
uxFolder: string;
serviceName: string;
moduleName: string;
title: string;
rootModuleName: string;
csproj: string;
nuspec: string;
gitIgnore: string;
gitAttributes: string;
propertiesExcludedForTableview: string;
readme: string;
afterBuildTasksPath: string;
afterBuildTasksArgs: string;
assemblyInfoPath: string;
assemblyCompany: string;
assemblyProduct: string;
assemblyCopyright: string;
dllName: string;
dll: string;
psd1: string;
psm1: string;
psm1Custom: string;
psm1Internal: string;
formatPs1xml: string;
autoSwitchView: boolean;
apiFolder: string;
baseFolder: string;
moduleFolder: string;
schemaDefinitionResolver: SchemaDefinitionResolver;
moduleVersion: string;
profiles: Array<string>;
modelCmdlets: Array<ModelCmdletDirective>;
modelCmdletsInPS: string;
inputHandlers: Array<string>;
prefix: string;
subjectPrefix: string;
projectNamespace: string;
overrides: Dictionary<string>;
serviceNamespace: ModuleNamespace;
cmdlets: CmdletNamespace;
modelsExtensions: ModelExtensionsNamespace;
accountsVersionMinimum: string;
dependencyModuleFolder: string;
metadata: Metadata;
state: State;
helpLinkPrefix: string;
fixedArray: boolean;
get model(): PwshModel;
constructor(service: Host | TspHost, objectInitializer?: DeepPartial<Project>);
init(state?: ModelState<PwshModel>): Promise<this>;
/**
* Preprocess some list properties in metadata to string properties,
* so they can be easily used in csharp templates.
*/
private preprocessMetadata;
private convertToPsListAsString;
}
export {};
//# sourceMappingURL=project.d.ts.map