Skip to main content
Version: Latest (0.60.x)

[C] JsonSchemaEmitter

Extends

Properties

PropertyModifierTypeInherited from
emitterprotectedAssetEmitter<Record<string, any>, JSONSchemaEmitterOptions>TypeEmitter.emitter

Methods

arrayDeclaration()

arrayDeclaration(
array,
name,
elementType): EmitterOutput<object>

Parameters

ParameterType
arrayModel
namestring
elementTypeType

Returns

EmitterOutput<object>

Overrides

TypeEmitter.arrayDeclaration


arrayDeclarationContext()

arrayDeclarationContext(array): Context

Parameters

ParameterType
arrayModel

Returns

Context

Overrides

TypeEmitter.arrayDeclarationContext


arrayDeclarationReferenceContext()

arrayDeclarationReferenceContext(
array,
name,
elementType): Context

Parameters

ParameterType
arrayModel
namestring
elementTypeType

Returns

Context

Inherited from

TypeEmitter.arrayDeclarationReferenceContext


arrayLiteral()

arrayLiteral(array, elementType): EmitterOutput<object>

Parameters

ParameterType
arrayModel
elementTypeType

Returns

EmitterOutput<object>

Overrides

TypeEmitter.arrayLiteral


arrayLiteralContext()

arrayLiteralContext(array, elementType): Context

Parameters

ParameterType
arrayModel
elementTypeType

Returns

Context

Inherited from

TypeEmitter.arrayLiteralContext


arrayLiteralReferenceContext()

arrayLiteralReferenceContext(array, elementType): Context

Parameters

ParameterType
arrayModel
elementTypeType

Returns

Context

Inherited from

TypeEmitter.arrayLiteralReferenceContext


booleanLiteral()

booleanLiteral(boolean): EmitterOutput<object>

Parameters

ParameterType
booleanBooleanLiteral

Returns

EmitterOutput<object>

Overrides

TypeEmitter.booleanLiteral


booleanLiteralContext()

booleanLiteralContext(boolean): Context

Parameters

ParameterType
booleanBooleanLiteral

Returns

Context

Inherited from

TypeEmitter.booleanLiteralContext


circularReference()

circularReference(
target,
scope,
cycle): Record<string, any> | EmitEntity<Record<string, any>>

Handle circular references. When this method is called it means we are resolving a circular reference. By default if the target is a declaration it will call to reference otherwise it means we have an inline reference

Parameters

ParameterTypeDescription
targetEmitEntity<Record<string, any>>Reference target.
scopeundefined | Scope<Record<string, any>>Current scope.
cycleReferenceCycle-

Returns

Record<string, any> | EmitEntity<Record<string, any>>

Resolved reference entity.

Inherited from

TypeEmitter.circularReference


declarationName()

declarationName(declarationType): undefined | string

Parameters

ParameterType
declarationTypeTypeSpecDeclaration

Returns

undefined | string

Inherited from

TypeEmitter.declarationName


enumDeclaration()

enumDeclaration(en, name): EmitterOutput<object>

Parameters

ParameterType
enEnum
namestring

Returns

EmitterOutput<object>

Overrides

TypeEmitter.enumDeclaration


enumDeclarationContext()

enumDeclarationContext(en): Context

Parameters

ParameterType
enEnum

Returns

Context

Overrides

TypeEmitter.enumDeclarationContext


enumDeclarationReferenceContext()

enumDeclarationReferenceContext(en, name): Context

Parameters

ParameterType
enEnum
namestring

Returns

Context

Inherited from

TypeEmitter.enumDeclarationReferenceContext


enumMember()

enumMember(member): EmitterOutput<Record<string, any>>

Parameters

ParameterType
memberEnumMember

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.enumMember


enumMemberContext()

enumMemberContext(member): object

Parameters

ParameterType
memberEnumMember

Returns

object

Inherited from

TypeEmitter.enumMemberContext


enumMemberReference()

enumMemberReference(member): EmitterOutput<Record<string, any>>

Emit an enum member reference (e.g. as created by the SomeEnum.member syntax in TypeSpec). By default, this will emit nothing.

Parameters

ParameterType
memberEnumMember

Returns

EmitterOutput<Record<string, any>>

Overrides

TypeEmitter.enumMemberReference


enumMembers()

enumMembers(en): EmitterOutput<Record<string, any>>

Parameters

ParameterType
enEnum

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.enumMembers


enumMembersContext()

enumMembersContext(en): Context

Parameters

ParameterType
enEnum

Returns

Context

Inherited from

TypeEmitter.enumMembersContext


interfaceDeclaration()

interfaceDeclaration(iface, name): EmitterOutput<Record<string, any>>

Parameters

ParameterType
ifaceInterface
namestring

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.interfaceDeclaration


interfaceDeclarationContext()

interfaceDeclarationContext(iface, name): Context

Parameters

ParameterType
ifaceInterface
namestring

Returns

Context

Inherited from

TypeEmitter.interfaceDeclarationContext


interfaceDeclarationOperations()

interfaceDeclarationOperations(iface): EmitterOutput<Record<string, any>>

Parameters

ParameterType
ifaceInterface

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.interfaceDeclarationOperations


interfaceDeclarationOperationsContext()

interfaceDeclarationOperationsContext(iface): Context

Parameters

ParameterType
ifaceInterface

Returns

Context

Inherited from

TypeEmitter.interfaceDeclarationOperationsContext


interfaceDeclarationOperationsReferenceContext()

interfaceDeclarationOperationsReferenceContext(iface): Context

Parameters

ParameterType
ifaceInterface

Returns

Context

Inherited from

TypeEmitter.interfaceDeclarationOperationsReferenceContext


interfaceDeclarationReferenceContext()

interfaceDeclarationReferenceContext(iface, name): Context

Parameters

ParameterType
ifaceInterface
namestring

Returns

Context

Inherited from

TypeEmitter.interfaceDeclarationReferenceContext


interfaceOperationDeclaration()

interfaceOperationDeclaration(operation, name): EmitterOutput<Record<string, any>>

Parameters

ParameterType
operationOperation
namestring

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.interfaceOperationDeclaration


interfaceOperationDeclarationContext()

interfaceOperationDeclarationContext(operation, name): Context

Parameters

ParameterType
operationOperation
namestring

Returns

Context

Inherited from

TypeEmitter.interfaceOperationDeclarationContext


interfaceOperationDeclarationReferenceContext()

interfaceOperationDeclarationReferenceContext(operation, name): Context

Parameters

ParameterType
operationOperation
namestring

Returns

Context

Inherited from

TypeEmitter.interfaceOperationDeclarationReferenceContext


intrinsic()

intrinsic(intrinsic, name): EmitterOutput<object>

Parameters

ParameterType
intrinsicIntrinsicType
namestring

Returns

EmitterOutput<object>

Overrides

TypeEmitter.intrinsic


intrinsicContext()

intrinsicContext(intrinsic, name): Context

Parameters

ParameterType
intrinsicIntrinsicType
namestring

Returns

Context

Inherited from

TypeEmitter.intrinsicContext


modelDeclaration()

modelDeclaration(model, name): EmitterOutput<object>

Emit a model declaration (e.g. as created by model Foo { } syntax in TypeSpec).

Parameters

ParameterTypeDescription
modelModel
namestring-

Returns

EmitterOutput<object>

Overrides

TypeEmitter.modelDeclaration


modelDeclarationContext()

modelDeclarationContext(model, name): Context

Set lexical context for a model declaration.

Parameters

ParameterTypeDescription
modelModel
namestringthe model's declaration name as retrieved from the declarationName method.

Returns

Context

Overrides

TypeEmitter.modelDeclarationContext


modelDeclarationReferenceContext()

modelDeclarationReferenceContext(model, name): Context

Set reference context for a model declaration.

Parameters

ParameterTypeDescription
modelModel
namestring-

Returns

Context

Inherited from

TypeEmitter.modelDeclarationReferenceContext


modelInstantiation()

modelInstantiation(model, name): EmitterOutput<Record<string, any>>

Emit a model instantiation (e.g. as created by Box<string> syntax in TypeSpec). In some cases, name is undefined because a good name could not be found for the instantiation. This often occurs with for instantiations involving type expressions like Box<string | int32>.

Parameters

ParameterTypeDescription
modelModel
nameundefined | stringThe name of the instantiation as retrieved from the declarationName method.

Returns

EmitterOutput<Record<string, any>>

Overrides

TypeEmitter.modelInstantiation


modelInstantiationContext()

modelInstantiationContext(model, name): Context

Set lexical context for a model instantiation.

Parameters

ParameterTypeDescription
modelModel
nameundefined | string-

Returns

Context

Overrides

TypeEmitter.modelInstantiationContext


modelInstantiationReferenceContext()

modelInstantiationReferenceContext(model, name): Context

Set reference context for a model declaration.

Parameters

ParameterTypeDescription
modelModel
nameundefined | string-

Returns

Context

Inherited from

TypeEmitter.modelInstantiationReferenceContext


modelLiteral()

modelLiteral(model): EmitterOutput<object>

Emit a model literal (e.g. as created by {} syntax in TypeSpec).

Parameters

ParameterTypeDescription
modelModel

Returns

EmitterOutput<object>

Overrides

TypeEmitter.modelLiteral


modelLiteralContext()

modelLiteralContext(model): Context

Set lexical context for a model literal.

Parameters

ParameterTypeDescription
modelModel

Returns

Context

Inherited from

TypeEmitter.modelLiteralContext


modelLiteralReferenceContext()

modelLiteralReferenceContext(model): Context

Set reference context for a model literal.

Parameters

ParameterTypeDescription
modelModel

Returns

Context

Inherited from

TypeEmitter.modelLiteralReferenceContext


modelProperties()

modelProperties(model): EmitterOutput<object>

Emit a model's properties. Unless overridden, this method will emit each of the model's properties and return a no emit result.

Parameters

ParameterTypeDescription
modelModel

Returns

EmitterOutput<object>

Overrides

TypeEmitter.modelProperties


modelPropertiesContext()

modelPropertiesContext(model): Context

Parameters

ParameterType
modelModel

Returns

Context

Inherited from

TypeEmitter.modelPropertiesContext


modelPropertiesReferenceContext()

modelPropertiesReferenceContext(model): Context

Parameters

ParameterType
modelModel

Returns

Context

Inherited from

TypeEmitter.modelPropertiesReferenceContext


modelPropertyLiteral()

modelPropertyLiteral(property): EmitterOutput<object>

Emit a property of a model.

Parameters

ParameterTypeDescription
propertyModelProperty

Returns

EmitterOutput<object>

Overrides

TypeEmitter.modelPropertyLiteral


modelPropertyLiteralContext()

modelPropertyLiteralContext(property): Context

Set lexical context for a property of a model.

Parameters

ParameterTypeDescription
propertyModelProperty

Returns

Context

Inherited from

TypeEmitter.modelPropertyLiteralContext


modelPropertyLiteralReferenceContext()

modelPropertyLiteralReferenceContext(property): Context

Set reference context for a property of a model.

Parameters

ParameterTypeDescription
propertyModelProperty

Returns

Context

Inherited from

TypeEmitter.modelPropertyLiteralReferenceContext


modelPropertyReference()

modelPropertyReference(property): EmitterOutput<object>

Emit a model property reference (e.g. as created by the SomeModel.prop syntax in TypeSpec). By default, this will emit the type of the referenced property and return that result. In other words, the emit will look as if SomeModel.prop were replaced with the type of prop.

Parameters

ParameterTypeDescription
propertyModelProperty

Returns

EmitterOutput<object>

Overrides

TypeEmitter.modelPropertyReference


namespace()

namespace(namespace): EmitterOutput<Record<string, any>>

Emit a namespace

Parameters

ParameterTypeDescription
namespaceNamespace

Returns

EmitterOutput<Record<string, any>>

Emitter output

Inherited from

TypeEmitter.namespace


namespaceContext()

namespaceContext(namespace): Context

Set lexical context for a namespace

Parameters

ParameterTypeDescription
namespaceNamespace

Returns

Context

Inherited from

TypeEmitter.namespaceContext


namespaceReferenceContext()

namespaceReferenceContext(namespace): Context

Set reference context for a namespace.

Parameters

ParameterTypeDescription
namespaceNamespace

Returns

Context

Inherited from

TypeEmitter.namespaceReferenceContext


numericLiteral()

numericLiteral(number): EmitterOutput<object>

Parameters

ParameterType
numberNumericLiteral

Returns

EmitterOutput<object>

Overrides

TypeEmitter.numericLiteral


numericLiteralContext()

numericLiteralContext(number): Context

Parameters

ParameterType
numberNumericLiteral

Returns

Context

Inherited from

TypeEmitter.numericLiteralContext


operationDeclaration()

operationDeclaration(operation, name): EmitterOutput<Record<string, any>>

Parameters

ParameterType
operationOperation
namestring

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.operationDeclaration


operationDeclarationContext()

operationDeclarationContext(operation, name): Context

Parameters

ParameterType
operationOperation
namestring

Returns

Context

Inherited from

TypeEmitter.operationDeclarationContext


operationDeclarationReferenceContext()

operationDeclarationReferenceContext(operation, name): Context

Parameters

ParameterType
operationOperation
namestring

Returns

Context

Inherited from

TypeEmitter.operationDeclarationReferenceContext


operationParameters()

operationParameters(operation, parameters): EmitterOutput<Record<string, any>>

Parameters

ParameterType
operationOperation
parametersModel

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.operationParameters


operationParametersContext()

operationParametersContext(operation, parameters): Context

Parameters

ParameterType
operationOperation
parametersModel

Returns

Context

Inherited from

TypeEmitter.operationParametersContext


operationParametersReferenceContext()

operationParametersReferenceContext(operation, parameters): Context

Parameters

ParameterType
operationOperation
parametersModel

Returns

Context

Inherited from

TypeEmitter.operationParametersReferenceContext


operationReturnType()

operationReturnType(operation, returnType): EmitterOutput<Record<string, any>>

Parameters

ParameterType
operationOperation
returnTypeType

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.operationReturnType


operationReturnTypeContext()

operationReturnTypeContext(operation, returnType): Context

Parameters

ParameterType
operationOperation
returnTypeType

Returns

Context

Inherited from

TypeEmitter.operationReturnTypeContext


operationReturnTypeReferenceContext()

operationReturnTypeReferenceContext(operation, returnType): Context

Parameters

ParameterType
operationOperation
returnTypeType

Returns

Context

Inherited from

TypeEmitter.operationReturnTypeReferenceContext


programContext()

programContext(program): Context

Context shared by the entire program. In cases where you are emitting to a single file, use this method to establish your main source file and set the scope property to that source file's globalScope.

Parameters

ParameterTypeDescription
programProgram

Returns

Context

Context

Inherited from

TypeEmitter.programContext


reference()

reference(
targetDeclaration,
pathUp,
pathDown,
commonScope): object | EmitEntity<Record<string, unknown>>

Parameters

ParameterType
targetDeclarationDeclaration<Record<string, unknown>>
pathUpScope<Record<string, unknown>>[]
pathDownScope<Record<string, unknown>>[]
commonScopenull | Scope<Record<string, unknown>>

Returns

object | EmitEntity<Record<string, unknown>>

Overrides

TypeEmitter.reference


scalarDeclaration()

scalarDeclaration(scalar, name): EmitterOutput<object>

Parameters

ParameterType
scalarScalar
namestring

Returns

EmitterOutput<object>

Overrides

TypeEmitter.scalarDeclaration


scalarDeclarationContext()

scalarDeclarationContext(scalar): Context

Parameters

ParameterType
scalarScalar

Returns

Context

Overrides

TypeEmitter.scalarDeclarationContext


scalarDeclarationReferenceContext()

scalarDeclarationReferenceContext(scalar, name): Context

Parameters

ParameterType
scalarScalar
namestring

Returns

Context

Inherited from

TypeEmitter.scalarDeclarationReferenceContext


scalarInstantiation()

scalarInstantiation(scalar, name): EmitterOutput<Record<string, any>>

Parameters

ParameterType
scalarScalar
nameundefined | string

Returns

EmitterOutput<Record<string, any>>

Overrides

TypeEmitter.scalarInstantiation


scalarInstantiationContext()

scalarInstantiationContext(scalar, name): Context

Parameters

ParameterType
scalarScalar
nameundefined | string

Returns

Context

Overrides

TypeEmitter.scalarInstantiationContext


sourceFile()

sourceFile(sourceFile): EmittedSourceFile

Parameters

ParameterType
sourceFileSourceFile<object>

Returns

EmittedSourceFile

Overrides

TypeEmitter.sourceFile


stringLiteral()

stringLiteral(string): EmitterOutput<object>

Parameters

ParameterType
stringStringLiteral

Returns

EmitterOutput<object>

Overrides

TypeEmitter.stringLiteral


stringLiteralContext()

stringLiteralContext(string): Context

Parameters

ParameterType
stringStringLiteral

Returns

Context

Inherited from

TypeEmitter.stringLiteralContext


stringTemplate()

stringTemplate(string): EmitterOutput<object>

Parameters

ParameterType
stringStringTemplate

Returns

EmitterOutput<object>

Overrides

TypeEmitter.stringTemplate


stringTemplateContext()

stringTemplateContext(string): Context

Parameters

ParameterType
stringStringTemplate

Returns

Context

Inherited from

TypeEmitter.stringTemplateContext


tupleLiteral()

tupleLiteral(tuple): EmitterOutput<Record<string, any>>

Parameters

ParameterType
tupleTuple

Returns

EmitterOutput<Record<string, any>>

Overrides

TypeEmitter.tupleLiteral


tupleLiteralContext()

tupleLiteralContext(tuple): Context

Parameters

ParameterType
tupleTuple

Returns

Context

Inherited from

TypeEmitter.tupleLiteralContext


tupleLiteralReferenceContext()

tupleLiteralReferenceContext(tuple): Context

Parameters

ParameterType
tupleTuple

Returns

Context

Inherited from

TypeEmitter.tupleLiteralReferenceContext


tupleLiteralValues()

tupleLiteralValues(tuple): EmitterOutput<Record<string, any>>

Parameters

ParameterType
tupleTuple

Returns

EmitterOutput<Record<string, any>>

Overrides

TypeEmitter.tupleLiteralValues


tupleLiteralValuesContext()

tupleLiteralValuesContext(tuple): Context

Parameters

ParameterType
tupleTuple

Returns

Context

Inherited from

TypeEmitter.tupleLiteralValuesContext


tupleLiteralValuesReferenceContext()

tupleLiteralValuesReferenceContext(tuple): Context

Parameters

ParameterType
tupleTuple

Returns

Context

Inherited from

TypeEmitter.tupleLiteralValuesReferenceContext


unionDeclaration()

unionDeclaration(union, name): EmitterOutput<object>

Parameters

ParameterType
unionUnion
namestring

Returns

EmitterOutput<object>

Overrides

TypeEmitter.unionDeclaration


unionDeclarationContext()

unionDeclarationContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Overrides

TypeEmitter.unionDeclarationContext


unionDeclarationReferenceContext()

unionDeclarationReferenceContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Inherited from

TypeEmitter.unionDeclarationReferenceContext


unionInstantiation()

unionInstantiation(union, name): EmitterOutput<Record<string, any>>

Parameters

ParameterType
unionUnion
namestring

Returns

EmitterOutput<Record<string, any>>

Inherited from

TypeEmitter.unionInstantiation


unionInstantiationContext()

unionInstantiationContext(union, name): Context

Parameters

ParameterType
unionUnion
namestring

Returns

Context

Inherited from

TypeEmitter.unionInstantiationContext


unionInstantiationReferenceContext()

unionInstantiationReferenceContext(union, name): Context

Parameters

ParameterType
unionUnion
namestring

Returns

Context

Inherited from

TypeEmitter.unionInstantiationReferenceContext


unionLiteral()

unionLiteral(union): EmitterOutput<object>

Parameters

ParameterType
unionUnion

Returns

EmitterOutput<object>

Overrides

TypeEmitter.unionLiteral


unionLiteralContext()

unionLiteralContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Inherited from

TypeEmitter.unionLiteralContext


unionLiteralReferenceContext()

unionLiteralReferenceContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Inherited from

TypeEmitter.unionLiteralReferenceContext


unionVariant()

unionVariant(variant): EmitterOutput<object>

Parameters

ParameterType
variantUnionVariant

Returns

EmitterOutput<object>

Overrides

TypeEmitter.unionVariant


unionVariantContext()

unionVariantContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Inherited from

TypeEmitter.unionVariantContext


unionVariantReferenceContext()

unionVariantReferenceContext(union): Context

Parameters

ParameterType
unionUnion

Returns

Context

Inherited from

TypeEmitter.unionVariantReferenceContext


unionVariants()

unionVariants(union): EmitterOutput<object>

Parameters

ParameterType
unionUnion

Returns

EmitterOutput<object>

Overrides

TypeEmitter.unionVariants


unionVariantsContext()

unionVariantsContext(): Context

Returns

Context

Inherited from

TypeEmitter.unionVariantsContext


unionVariantsReferenceContext()

unionVariantsReferenceContext(): Context

Returns

Context

Inherited from

TypeEmitter.unionVariantsReferenceContext


writeOutput()

writeOutput(sourceFiles): Promise<void>

Parameters

ParameterType
sourceFilesSourceFile<Record<string, any>>[]

Returns

Promise<void>

Overrides

TypeEmitter.writeOutput