UNPKG

@autorest/powershell

Version:
129 lines 4.84 kB
import { ImplementationDetails } from './components'; import { Extensions } from './extensions'; import { DeepPartial } from '@azure-tools/codegen'; import { Dictionary } from '@azure-tools/linq'; import { Schema, ObjectSchema, Property } from '@autorest/codemodel'; import { EnhancedTypeDeclaration } from '../llcsharp/schema/extended-type-declaration'; import { ModelClass } from '../llcsharp/model/model-class'; import { ModelInterface } from '../llcsharp/model/interface'; export interface PropertyDetails extends ImplementationDetails { required: boolean; readOnly: boolean; } export interface EnumValue { value: any; description: string; name: string; } export interface EnumDetails { modelAsString: boolean; values: Array<EnumValue>; name: string; } export declare enum Purpose { Header = "Header" } export interface Mutability { create: boolean; update: boolean; read: boolean; } export interface VirtualProperty { /** The property that this represents */ property: Property; /** The things that went into building the name */ nameComponents: Array<string>; /** Names To use in priority order */ nameOptions: Array<string>; /** the name of this virtual property */ name: string; /** the member that should be called to get to the virtual property. (may be recursive) */ accessViaProperty?: VirtualProperty; accessViaMember?: VirtualProperty; /** the member's schema */ accessViaSchema?: Schema; originalContainingSchema: Schema; private?: boolean; alias: Array<string>; description: string; format?: PropertyFormat; required: boolean; readOnly?: boolean; sharedWith?: Array<VirtualProperty>; read?: boolean; update?: boolean; create?: boolean; serializedName?: string; } export interface PropertyFormat { suppressFormat?: boolean; index?: number; width?: number; label?: string; } export interface VirtualProperties { owned: Array<VirtualProperty>; inherited: Array<VirtualProperty>; inlined: Array<VirtualProperty>; } export interface SchemaDetails extends ImplementationDetails { /** namespace of the implementation of this item */ namespace?: string; enum?: EnumDetails; purpose?: Purpose; virtualProperties?: VirtualProperties; /** if this is a child of a polymorphic class, this will have the value of the descriminator. */ discriminatorValue?: string; suppressFormat?: boolean; typeDeclaration?: EnhancedTypeDeclaration; classImplementation?: ModelClass; interfaceImplementation?: ModelInterface; internalInterfaceImplementation?: ModelInterface; interfaceName?: string; internalInterfaceName?: string; fullInternalInterfaceName?: string; fullname?: string; } export declare function getPolymorphicBases(schema: ObjectSchema): Array<Schema>; export declare function getAllProperties(schema: Schema): Array<Property>; export declare function getAllPublicVirtualProperties(virtualProperties?: VirtualProperties): Array<VirtualProperty>; export declare function getAllPublicVirtualPropertiesForSdk(virtualProperties?: VirtualProperties): Array<VirtualProperty>; export declare function getAllPublicVirtualPropertiesForSdkWithoutInherited(virtualProperties?: VirtualProperties): Array<VirtualProperty>; export declare function getAllVirtualProperties(virtualProperties?: VirtualProperties): Array<VirtualProperty>; export declare function getVirtualPropertyFromPropertyName(virtualProperties: VirtualProperties | undefined, propertyName: string): VirtualProperty | undefined; export declare class Discriminator extends Extensions implements Discriminator { propertyName: string; extensions: Dictionary<any>; mapping: Dictionary<string>; constructor(propertyName: string, initializer?: DeepPartial<Discriminator>); } export interface Discriminator extends Extensions { propertyName: string; mapping: Dictionary<string>; } export declare enum JsonType { Array = "array", Boolean = "boolean", Integer = "integer", Number = "number", Object = "object", String = "string" } export declare function isJsonType(type: JsonType, schema?: Schema): schema is Schema; export declare function isSchemaObject(schema?: Schema): schema is Schema; export declare class XML extends Extensions implements XML { extensions: Dictionary<any>; attribute: boolean; wrapped: boolean; constructor(initializer?: DeepPartial<XML>); } export interface XML extends Extensions { name?: string; namespace?: string; prefix?: string; attribute: boolean; wrapped: boolean; } export declare function getMutability(property: Property): Mutability; export declare function valueType(type: string): boolean; //# sourceMappingURL=schema.d.ts.map