@adisuper94/orcid
Version:
ORCID API client
56 lines • 1.34 kB
TypeScript
interface DisambiguatedOrg {
id: string;
source: string;
}
interface Org {
name: string;
address: {
city: string | null;
region: string | null;
country?: string;
};
disambiguatedOrg: DisambiguatedOrg | null;
}
interface SourceOrcid {
uri: string;
path: string;
host: string;
}
interface Source {
orcid?: SourceOrcid;
clientId: string | null;
name: string;
}
/**
* Affiliation group object, which can be either employment or education
*/
export interface AffiliationGroup {
putCode: number;
departmentName?: string;
roleTitle?: string;
startDate?: Date;
endDate?: Date;
path: string;
visibility: string;
org?: Org;
url?: string;
source: Source;
createdDate: Date;
modifiedDate: Date;
}
/**
* Employment summary object
*/
export interface Employment extends AffiliationGroup {
}
/**
* Education summary object
*/
export interface Education extends AffiliationGroup {
}
export type Result<T, E = Error> = [T, undefined] | [undefined, E];
export declare function tryCatch<T>(promise: Promise<T>): Promise<Result<T>>;
export declare function parseEmploymentResp(obj: unknown): Result<Employment[]>;
export declare function parseEducationResp(obj: unknown): Result<Education[]>;
export {};
//# sourceMappingURL=types.d.ts.map