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
abstractConstraintMustExistWithMultipleConstraints EC Rule: If multiple constraints exist, an abstract constraint must be defined.
abstractConstraintMustNarrowBaseConstraints EC Rule: When overriding a RelationshipClass, the derived abstract constraint must narrow the base constraint classes.
atLeastOneConstraintClassDefined EC Rule: At least on concrete constraint class must be defined in the list of constraint classes.
classModifierToString Beta,
constraintClassesDeriveFromAbstractContraint EC Rule: All constraint classes must have a common base class specified in the abstract constraint.
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,
derivedConstraintsMustNarrowBaseConstraints EC Rule: When overriding a RelationshipClass, derived constraint classes must narrow base constraint classes.
diagnosticCategoryToString Beta,
diagnosticTypeToString Beta,
enumerationTypeUnsupported EC Rule: Enumeration type must be a string or integer
incompatibleTypePropertyOverride EC Rule: When overriding a class property, the child and base property must be of the same property type (primitive, struct, enumeration, etc...).
incompatibleUnitPropertyOverride EC Rule: When overriding a kindOfQuantity property, the child and base property units must be the same.
incompatibleValueTypePropertyOverride EC Rule: When overriding a class primitive property, the child and base property must be of the same type (string, number, etc...).
mixinAppliedToClassMustDeriveFromConstraint EC Rule: Mixin applied to class must derived from the Mixin appliesTo constraint.
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: 05 November, 2020