in src/powerquery-parser/language/type/typeUtils/isEqualType.ts [66:122]
export function isEqualExtendedTypes(left: Type.TExtendedType, right: Type.TExtendedType): boolean {
if (left === right) {
return true;
} else if (left.maybeExtendedKind !== right.maybeExtendedKind) {
return false;
}
switch (left.maybeExtendedKind) {
case Type.ExtendedTypeKind.AnyUnion:
return isEqualAnyUnion(left, right as Type.AnyUnion);
case Type.ExtendedTypeKind.DefinedFunction:
return isEqualDefinedFunction(left, right as Type.DefinedFunction);
case Type.ExtendedTypeKind.DefinedList:
return isEqualDefinedList(left, right as Type.DefinedList);
case Type.ExtendedTypeKind.DefinedListType:
return isEqualDefinedListType(left, right as Type.DefinedListType);
case Type.ExtendedTypeKind.DefinedRecord:
return isEqualDefinedRecord(left, right as Type.DefinedRecord);
case Type.ExtendedTypeKind.DefinedTable:
return isEqualDefinedTable(left, right as Type.DefinedTable);
case Type.ExtendedTypeKind.FunctionType:
return isEqualFunctionType(left, right as Type.FunctionType);
case Type.ExtendedTypeKind.ListType:
return isEqualListType(left, right as Type.ListType);
case Type.ExtendedTypeKind.LogicalLiteral:
return isEqualLogicalLiteral(left, right as Type.LogicalLiteral);
case Type.ExtendedTypeKind.NumberLiteral:
return isEqualNumberLiteral(left, right as Type.NumberLiteral);
case Type.ExtendedTypeKind.PrimaryPrimitiveType:
return isEqualPrimaryPrimitiveType(left, right as Type.PrimaryPrimitiveType);
case Type.ExtendedTypeKind.RecordType:
return isEqualRecordType(left, right as Type.RecordType);
case Type.ExtendedTypeKind.TableType:
return isEqualTableType(left, right as Type.TableType);
case Type.ExtendedTypeKind.TableTypePrimaryExpression:
return isEqualTableTypePrimaryExpression(left, right as Type.TableTypePrimaryExpression);
case Type.ExtendedTypeKind.TextLiteral:
return isEqualTextLiteral(left, right as Type.TextLiteral);
default:
throw Assert.isNever(left);
}
}