UNPKG

@ems-press/content-api-types

Version:

Typescript types for the EMS Press Content API

142 lines (141 loc) 6.9 kB
import { SortOption } from '../sort'; import * as BookSeries from './book-series'; import * as Books from './books'; import * as BookChapters from './book-chapters'; import * as BookChapterFiles from './book-chapter-files'; import * as BookChapterImages from './book-chapter-images'; import * as BookFiles from './book-files'; import * as BookImages from './book-images'; import * as BookSupplementaryUrls from './book-supplementary-urls'; import * as Images from './images'; import * as Persons from './persons'; import * as PersonGroups from './person-groups'; import * as PersonGroupMembers from './person-group-members'; import * as Serials from './serials'; import * as SerialArticles from './serial-articles'; import * as SerialArticleFiles from './serial-article-files'; import * as SerialArticleImages from './serial-article-images'; import * as SerialIssues from './serial-issues'; import * as SerialIssueFiles from './serial-issue-files'; export declare type Type = Books.Type | BookChapters.Type | BookChapterFiles.Type | BookChapterImages.Type | BookFiles.Type | BookImages.Type | BookSeries.Type | BookSupplementaryUrls.Type | Images.Type | Persons.Type | PersonGroups.Type | PersonGroupMembers.Type | Serials.Type | SerialArticles.Type | SerialArticleFiles.Type | SerialArticleImages.Type | SerialIssues.Type | SerialIssueFiles.Type; export declare type Relationship = { cardinality: null | '1' | 'N'; type: Type; }; export declare const types: Type[]; export { Books, BookChapters, BookChapterFiles, BookChapterImages, BookFiles, BookImages, BookSeries, BookSupplementaryUrls, Images, PersonGroups, PersonGroupMembers, Persons, Serials, SerialArticles, SerialArticleFiles, SerialArticleImages, SerialIssues, SerialIssueFiles, }; export declare type AttributesForType<T extends Type> = { books: Books.Attributes; 'book-chapters': BookChapters.Attributes; 'book-chapter-files': BookChapterFiles.Attributes; 'book-chapter-images': BookChapterImages.Attributes; 'book-files': BookFiles.Attributes; 'book-images': BookImages.Attributes; 'book-series': BookSeries.Attributes; 'book-supplementary-urls': BookSupplementaryUrls.Attributes; images: Images.Attributes; 'person-groups': PersonGroups.Attributes; 'person-group-members': PersonGroupMembers.Attributes; persons: Persons.Attributes; serials: Serials.Attributes; 'serial-articles': SerialArticles.Attributes; 'serial-article-files': SerialArticleFiles.Attributes; 'serial-article-images': SerialArticleImages.Attributes; 'serial-issues': SerialIssues.Attributes; 'serial-issue-files': SerialIssueFiles.Attributes; }[T]; export declare type RelationshipsForType<T extends Type> = { books: Books.Relationships; 'book-chapters': BookChapters.Relationships; 'book-chapter-files': BookChapterFiles.Relationships; 'book-chapter-images': BookChapterImages.Relationships; 'book-files': BookFiles.Relationships; 'book-images': BookImages.Relationships; 'book-series': BookSeries.Relationships; 'book-supplementary-urls': BookSupplementaryUrls.Relationships; images: Images.Relationships; 'person-groups': PersonGroups.Relationships; 'person-group-members': PersonGroupMembers.Relationships; persons: Persons.Relationships; serials: Serials.Relationships; 'serial-articles': SerialArticles.Relationships; 'serial-article-files': SerialArticleFiles.Relationships; 'serial-article-images': SerialArticleImages.Relationships; 'serial-issues': SerialIssues.Relationships; 'serial-issue-files': SerialIssueFiles.Relationships; }[T]; export declare type SortFieldForType<T extends Type> = { books: Books.SortField; 'book-chapters': BookChapters.SortField; 'book-chapter-files': BookChapterFiles.SortField; 'book-chapter-images': BookChapterImages.SortField; 'book-files': BookFiles.SortField; 'book-images': BookImages.SortField; 'book-series': BookSeries.SortField; 'book-supplementary-urls': BookSupplementaryUrls.SortField; images: Images.SortField; 'person-groups': PersonGroups.SortField; 'person-group-members': PersonGroupMembers.SortField; persons: Persons.SortField; serials: Serials.SortField; 'serial-articles': SerialArticles.SortField; 'serial-article-files': SerialArticleFiles.SortField; 'serial-article-images': SerialArticleImages.SortField; 'serial-issues': SerialIssues.SortField; 'serial-issue-files': SerialIssueFiles.SortField; }[T]; export declare type SortOptionForType<T extends Type> = { books: SortOption<Books.SortField>; 'book-chapters': SortOption<BookChapters.SortField>; 'book-chapter-files': SortOption<BookChapterFiles.SortField>; 'book-chapter-images': SortOption<BookChapterImages.SortField>; 'book-files': SortOption<BookFiles.SortField>; 'book-images': SortOption<BookImages.SortField>; 'book-series': SortOption<BookSeries.SortField>; 'book-supplementary-urls': SortOption<BookSupplementaryUrls.SortField>; images: SortOption<Images.SortField>; 'person-groups': SortOption<PersonGroups.SortField>; 'person-group-members': SortOption<PersonGroupMembers.SortField>; persons: SortOption<Persons.SortField>; serials: SortOption<Serials.SortField>; 'serial-articles': SortOption<SerialArticles.SortField>; 'serial-article-files': SortOption<SerialArticleFiles.SortField>; 'serial-article-images': SortOption<SerialArticleImages.SortField>; 'serial-issues': SortOption<SerialIssues.SortField>; 'serial-issue-files': SortOption<SerialIssueFiles.SortField>; }[T]; export declare type FilterForType<T extends Type> = { books: Books.Filter; 'book-chapters': BookChapters.Filter; 'book-chapter-files': BookChapterFiles.Filter; 'book-chapter-images': BookChapterImages.Filter; 'book-files': BookFiles.Filter; 'book-images': BookImages.Filter; 'book-series': BookSeries.Filter; 'book-supplementary-urls': BookSupplementaryUrls.Filter; images: Images.Filter; 'person-groups': PersonGroups.Filter; 'person-group-members': PersonGroupMembers.Filter; persons: Persons.Filter; serials: Serials.Filter; 'serial-articles': SerialArticles.Filter; 'serial-article-files': SerialArticleFiles.Filter; 'serial-article-images': SerialArticleImages.Filter; 'serial-issues': SerialIssues.Filter; 'serial-issue-files': SerialIssueFiles.Filter; }[T]; export declare const attributeKeys: { [T in Type]: (keyof AttributesForType<T>)[]; }; export declare const relationshipKeys: { [T in Type]: (keyof RelationshipsForType<T>)[]; }; export declare const filterKeys: { [T in Type]: (keyof FilterForType<T>)[]; }; export declare const sortFields: { [T in Type]: SortFieldForType<T>[]; }; export declare const sortOptions: { [T in Type]: SortOptionForType<T>[]; };