Name Description
ArrayProperty Beta
BaseDiagnostic The abstract base class for all IDiagnostic implementations. Beta
ClassDiagnostic An IDiagnostic implementation used for ECClass diagnostics. Beta
Constant A Constant is a specific type of Unit that represents a number. Beta
CustomAttributeClass A Typescript class representation of an ECCustomAttributeClass. Beta
CustomAttributeContainerDiagnostic An IDiagnostic implementation used for CustomAttributeContainerProps diagnostics. Beta
DelayedPromise Similar to a normal Promise, a DelayedPromise represents the eventual completion (or failure) Beta
ECClass A common abstract class for all of the ECClass types. Beta
ECName An ECName is an invariant, string based, name is needed for an item in a schema. Beta
ECVersion Beta
EntityClass A Typescript class representation of an ECEntityClass. Beta
Enumeration A Typescript class representation of an ECEnumeration. Beta
EnumerationArrayProperty Beta
EnumerationProperty Beta
Format Beta
FormatDiagnosticReporter An abstract SuppressionDiagnosticReporter implementation that formats the Beta
InvertedUnit An InvertedUnit is a specific type of Unit that describes the inverse of a single Unit whose dimensional derivation is unit-less. Beta
KindOfQuantity A Typescript class representation of a KindOfQuantity. Beta
LoggingDiagnosticReporter An IDiagnosticReporter for logging IDiagnostic objects. Beta
Mixin A Typescript class representation of a Mixin. Beta
NavigationProperty Beta
OverrideFormat Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity. Beta
Phenomenon Beta
PrimitiveArrayProperty Beta
PrimitiveOrEnumPropertyBase Beta
PrimitiveProperty Beta
Property A common abstract class for all ECProperty types. Beta
PropertyCategory Beta
PropertyDiagnostic An IDiagnostic implementation used for Property diagnostics. Beta
RelationshipClass A Typescript class representation of a ECRelationshipClass. Beta
RelationshipConstraint A Typescript class representation of a ECRelationshipConstraint. Beta
RelationshipConstraintDiagnostic An IDiagnostic implementation used for RelationshipConstraint diagnostics. Beta
RelationshipMultiplicity Beta
Schema Beta
SchemaCache Beta
SchemaContext The SchemaContext, context object is used to facilitate schema and schema item location. Beta
SchemaDiagnostic An IDiagnostic implementation used for Schema diagnostics. Beta
SchemaItem An abstract class that supplies all of the common parts of a SchemaItem. Beta
SchemaItemDiagnostic An IDiagnostic implementation used for SchemaItem diagnostics. Beta
SchemaItemKey The SchemaItemKey contains a SchemaItem's name and SchemaKey. Beta
SchemaKey The SchemaKey contains a Schemas name and version. Beta
SchemaMap Beta
SchemaPartVisitorDelegate A helper class to call methods on the provided ISchemaPartVisitor. Beta
SchemaValidater Applies EC Rules, see SchemaValidater.ECRuleSet, to a given Schema and reports any violations. Beta
SchemaValidationVisitor A SchemaWalkerVisitor interface implementation that is used to validate ECObjects schemas using Beta
StructArrayProperty Beta
StructClass A Typescript class representation of an ECStructClass. Beta
StructProperty Beta
SuppressionDiagnosticReporter An abstract base class for IDiagnosticReporter implementation that used the Beta
Unit An abstract class that adds the ability to define Units and everything that goes with them, within an ECSchema as a Beta
UnitSystem Beta


Name Description
DelayedPromiseWithProps Beta
DiagnosticCodes The unique diagnostic codes for ECObjects rules. Beta
Diagnostics The list of IDiagnostic implementation classes used by the EC rule implementations. Beta
ECRuleSet All schema validation rules that fall under the category of ECObjects. Beta
SchemaCompareCodes The unique diagnostic codes for Schema comparison. Beta
SchemaCompareDiagnostics The list of IDiagnostic implementation classes used by the Schema comparison framework. Beta


Name Description
CustomAttributeContainerType Defines the valid CustomAttribute container types. Beta
DecimalPrecision Beta
DiagnosticCategory Defines the possible diagnostic categories. Beta
DiagnosticType Defines the possible diagnostic types. Beta
ECClassModifier Beta
ECObjectsStatus Beta
FormatTraits Beta
FormatType Beta
FractionalPrecision Beta
PrimitiveType Primitive data types for ECProperties. Beta
PropertyType Beta
RelationshipEnd Identifer for an ECRelationshipConstraint. Beta
SchemaItemType Beta
SchemaMatchType Defines what sort of match should be used when locating a schema. Beta
ScientificType Beta
ShowSignOption Beta
StrengthDirection Beta
StrengthType Beta

Global Functions

Name Description
classModifierToString Beta
containerTypeToString Creates a string representing a valid CustomAttributeContainerType. Beta
createClassDiagnosticClass Helper method for creating ClassDiagnostic child classes. Beta
createCustomAttributeContainerDiagnosticClass Helper method for creating CustomAttributeContainerDiagnostic child classes. Beta
createPropertyDiagnosticClass Helper method for creating PropertyDiagnostic child classes. Beta
createRelationshipConstraintDiagnosticClass Helper method for creating RelationshipConstraintDiagnostic child classes. Beta
createSchemaDiagnosticClass Helper method for creating SchemaDiagnostic child classes. Beta
createSchemaItemDiagnosticClass Helper method for creating SchemaItemDiagnostic child classes. Beta
diagnosticCategoryToString Beta
diagnosticTypeToString Beta
parseClassModifier Parses the provided string into an ECClassModifier if the string is a valid modifier. Beta
parseCustomAttributeContainerType Parses the given string into the appropriate CustomAttributeContainerType if the string is valid. Beta
parsePrimitiveType Tries to parse the given string as one of the 10 primitive types. Beta
parseRelationshipEnd Beta
parseSchemaItemType Tries to parse the given string as one of the 8 schema item types. Beta
parseStrength Takes a string representing a StrengthType, will parse it and return the corresponding StrengthType. Beta
parseStrengthDirection Beta
primitiveTypeToString Beta
propertyTypeToString Beta
relationshipEndToString Beta
schemaItemTypeToString Converts a valid SchemaItemType to a display string. Beta
serializeCustomAttributes Beta
strengthDirectionToString Beta
strengthToString Beta
validateCustomAttributeInstance Validates a custom attribute instance and yields EC-500, EC-501, and EC-502 rule violations.
validateNavigationProperty Validates Navigation Properties.
validateSchemaReferences Validates schema references against multiple EC rules.


Name Description
ArrayPropertyProps Beta
BaseRuleSuppressionMap Interface used to represent elements of a rule suppression Beta
ClassProps Beta
ConstantProps Beta
CustomAttribute Beta
CustomAttributeClassProps Beta
CustomAttributeContainerProps Beta
CustomAttributeSet Beta
DelayedPromiseWithPropsConstructor Beta
EntityClassProps Beta
EnumerationPropertyProps Beta
EnumerationProps Beta
Enumerator Beta
EnumeratorProps Beta
FormatProps Beta
IDiagnostic The interface implemented by all diagnostics used during schema validation. Beta
IDiagnosticReporter Interface used to report IDiagnostic objects created during schema validation. Beta
InvertedUnitProps Beta
IRuleSet Interface used to represent logical collection of IRule instances. Beta
IRuleSuppressionMap Interface used to represent elements of a rule suppression Beta
IRuleSuppressionSet Interface used to represent logical collection of ISuppressionRule instances. Beta
ISchemaItemLocater Beta
ISchemaLocater The interface defines what is needed to be a ISchemaLocater, which are used in a SchemaContext. Beta
ISchemaPartVisitor Interface to allow schema traversal/deserialization workflows to visit Beta
KindOfQuantityProps Beta
MixinProps Beta
NavigationPropertyProps Beta
NoDelayedPromiseMethods Beta
PhenomenonProps Beta
PrimitiveArrayPropertyProps Beta
PrimitiveOrEnumPropertyBaseProps Beta
PrimitivePropertyProps Beta
PropertyCategoryProps Beta
PropertyProps Beta
RelationshipClassProps Beta
RelationshipConstraintProps Beta
SchemaItemProps Beta
SchemaProps Beta
SchemaReferenceProps Beta
StructArrayPropertyProps Beta
StructPropertyProps Beta
UnitProps Beta


Name Description
PropertyTypeUtils Beta
XmlSerializationUtils Namespace holding utility functions for serializing EC types to the EC XML format. Beta

Type Aliases

Name Description
AnyArrayProperty Beta
AnyClass Beta
AnyClassProps Beta
AnyDiagnostic Type which encapsulates all possible diagnostics. Beta
AnyECType Beta
AnyEnumerationProperty Beta
AnyEnumerator Beta
AnyPrimitiveProperty Beta
AnyProperty Beta
AnyPropertyProps Beta
AnySchemaItem Beta
AnySchemaItemProps Beta
AnyStructProperty Beta
BaseRule Beta
BaseSuppressionRule Beta
DelayedPromiseWithProps Define the type of a DelayedPromiseWithProps instance Beta
IRule Interface used for all rule implementations used during schema validation. Beta
ISuppressionRule Interface used for all rule suppressions used during schema validation. Beta
LazyLoadedConstant Beta
LazyLoadedCustomAttributeClass Beta
LazyLoadedECClass Beta
LazyLoadedEntityClass Beta
LazyLoadedEnumeration Beta
LazyLoadedFormat Beta
LazyLoadedInvertedUnit Beta
LazyLoadedKindOfQuantity Beta
LazyLoadedMixin Beta
LazyLoadedPhenomenon Beta
LazyLoadedPropertyCategory Beta
LazyLoadedRelationshipClass Beta
LazyLoadedRelationshipConstraintClass Beta
LazyLoadedSchema Beta
LazyLoadedSchemaItem Beta
LazyLoadedStructClass Beta
LazyLoadedUnit Beta
LazyLoadedUnitSystem Beta
StructClassProps Beta
UnitSystemProps Beta

Last Updated: 25 February, 2021