synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
66 lines • 3.43 kB
TypeScript
import { CloudProviderFileHandleInterface, ColumnMultiValueFunctionQueryFilter, ColumnSingleValueQueryFilter, DockerRepository, ExternalFileHandle, ExternalFileHandleInterface, FacetColumnRangeRequest, FacetColumnValuesRequest, FileEntity, InviteeVerificationSignedToken, JoinTeamSignedToken, Link, MembershipInvtnSignedToken, S3FileHandle, TermsOfUseAccessRequirement, TextMatchesQueryFilter } from '@sage-bionetworks/synapse-types';
/**
* TypeScript doesn't support nominal typing, but we can utilize the concreteType field in Synapse objects to identify the class of an object. This function
* will return a function that can be used as a type guard using the concreteType field.
*
* Generic `TTypeChecked` is the type that you are trying to verify/assert.
* Generic `ObjectType` is optional and can be used to require a specific interface or type before calling this method. Defaults to `unknown`.
*
* @param expectedConcreteTypes
* @returns a function that checks if a given object is an instance of `TTypeChecked` using the expected concrete type value.
*/
export declare function isTypeViaConcreteTypeFactory<TTypeChecked extends ObjectType, // The type that you are trying to verify/assert
ObjectType extends {
concreteType: string;
} = {
concreteType: string;
}>(...expectedConcreteTypes: TTypeChecked['concreteType'][]): (object: ObjectType) => object is TTypeChecked;
export declare const implementsCloudProviderFileHandleInterface: (object: {
concreteType: string;
}) => object is CloudProviderFileHandleInterface;
export declare const isExternalFileHandle: (object: {
concreteType: string;
}) => object is ExternalFileHandle;
export declare const isLink: (object: {
concreteType: string;
}) => object is Link;
export declare const implementsExternalFileHandleInterface: (object: {
concreteType: string;
}) => object is ExternalFileHandleInterface;
export declare const isDockerRepository: (object: {
concreteType: string;
}) => object is DockerRepository;
export declare const isFacetColumnValuesRequest: (object: {
concreteType: string;
}) => object is FacetColumnValuesRequest;
export declare const isFacetColumnRangeRequest: (object: {
concreteType: string;
}) => object is FacetColumnRangeRequest;
export declare const isTextMatchesQueryFilter: (object: {
concreteType: string;
}) => object is TextMatchesQueryFilter;
export declare const isColumnSingleValueQueryFilter: (object: {
concreteType: string;
}) => object is ColumnSingleValueQueryFilter;
export declare const isColumnMultiValueFunctionQueryFilter: (object: {
concreteType: string;
}) => object is ColumnMultiValueFunctionQueryFilter;
export declare const isS3FileHandle: (object: {
concreteType: string;
}) => object is S3FileHandle;
export declare const isFileEntity: (object: {
concreteType: string;
}) => object is FileEntity;
export declare const isTermsOfUseAccessRequirement: (object: {
concreteType: string;
}) => object is TermsOfUseAccessRequirement;
export declare const isInviteeVerificationSignedToken: (object: {
concreteType: string;
}) => object is InviteeVerificationSignedToken;
export declare const isJoinTeamSignedToken: (object: {
concreteType: string;
}) => object is JoinTeamSignedToken;
export declare const isMembershipInvtnSignedToken: (object: {
concreteType: string;
}) => object is MembershipInvtnSignedToken;
//# sourceMappingURL=IsType.d.ts.map