@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
37 lines • 2.33 kB
TypeScript
import { Class } from '#csharp/code-dom/class';
import { ExpressionOrLiteral, Expression } from '#csharp/code-dom/expression';
import { Field } from '#csharp/code-dom/field';
import { Namespace } from '#csharp/code-dom/namespace';
import { OneOrMoreStatements } from '#csharp/code-dom/statements/statement';
import { State } from '../generator';
import { EnhancedTypeDeclaration } from '#csharp/schema/extended-type-declaration';
import { ObjectImplementation } from '#csharp/schema/object';
import { TypeDeclaration } from '#csharp/code-dom/type-declaration';
import { KnownMediaType } from '#common/media-types';
import { Variable } from '#csharp/code-dom/variable';
export interface BackingField {
field: Field;
typeDeclaration: TypeDeclaration;
className: string;
}
export declare class ModelClass extends Class implements EnhancedTypeDeclaration {
deserializeFromContainerMember(mediaType: KnownMediaType, container: ExpressionOrLiteral, serializedName: string, defaultValue: Expression): Expression;
deserializeFromNode(mediaType: KnownMediaType, node: ExpressionOrLiteral, defaultValue: Expression): Expression;
serializeToNode(mediaType: KnownMediaType, value: ExpressionOrLiteral, serializedName: string): Expression;
/** emits an expression serialize this to a HttpContent */
serializeToContent(mediaType: KnownMediaType, value: ExpressionOrLiteral): Expression;
/** emits an expression to deserialize content from a string */
deserializeFromString(mediaType: KnownMediaType, content: ExpressionOrLiteral, defaultValue: Expression): Expression | undefined;
serializeToContainerMember(mediaType: KnownMediaType, value: ExpressionOrLiteral, container: Variable, serializedName: string): OneOrMoreStatements;
readonly isXmlAttribute: boolean;
readonly isRequired: boolean;
isPolymorphic: boolean;
private jsonSerializer;
private xmlSerializer;
hasHeaderProperties: boolean;
constructor(namespace: Namespace, schemaWithFeatures: ObjectImplementation, state: State, objectInitializer?: Partial<ModelClass>);
validateValue(property: Variable): OneOrMoreStatements;
validatePresence(property: Variable): OneOrMoreStatements;
addDiscriminator(discriminatorValue: string, modelClass: ModelClass): void;
}
//# sourceMappingURL=model-class.d.ts.map