Files
Stirling-PDF/shared-operations/src/index.ts

58 lines
2.2 KiB
TypeScript
Raw Normal View History

2023-11-10 21:08:07 +03:00
import { extractPages, ExtractPagesParamsType } from "./functions/extractPages";
import { impose, ImposeParamsBaseType, ImposeParamsType } from "./functions/impose";
import { mergePDFs, MergeParamsType } from './functions/mergePDFs';
import { removeBlankPages, RemoveBlankPagesParamsType } from "./functions/removeBlankPages";
import { rotatePages, RotateParamsType } from './functions/rotatePages';
import { scaleContent, ScaleContentParamsType} from './functions/scaleContent';
import { scalePage, ScalePageParamsType } from './functions/scalePage';
import { sortPagesWithPreset, SortPagesWithPresetParamsType } from './functions/sortPagesWithPreset'
2023-11-17 16:11:06 +03:00
import { splitPagesByPreset, SplitPageByPresetParamsType } from './functions/splitPagesByPreset';
import { splitPdfByIndex, SplitPdfByIndexParamsType } from './functions/splitPdfByIndex';
import { updateMetadata, UpdateMetadataParams } from "./functions/updateMetadata";
import { PdfFile } from "./wrappers/PdfFile";
import { Override } from '../declarations/TypeScriptUtils'
2023-11-10 21:08:07 +03:00
// Import injected libraries here!
2023-11-10 21:08:07 +03:00
const toExport = {
extractPages,
2023-11-10 21:08:07 +03:00
impose,
mergePDFs,
removeBlankPages,
2023-11-10 21:08:07 +03:00
rotatePages,
scaleContent,
scalePage,
sortPagesWithPreset,
2023-11-17 16:11:06 +03:00
splitPagesByPreset,
splitPdfByIndex,
updateMetadata,
}
export default toExport;
export type OperationsParametersBaseType = {
extractPages: ExtractPagesParamsType;
impose: ImposeParamsBaseType;
mergePDFs: MergeParamsType;
removeBlankPages: RemoveBlankPagesParamsType;
rotatePages: RotateParamsType;
scaleContent: ScaleContentParamsType;
scalePage: ScalePageParamsType;
sortPagesWithPreset: SortPagesWithPresetParamsType;
2023-11-17 16:11:06 +03:00
splitPagesByPreset: SplitPageByPresetParamsType;
splitPdfByIndex: SplitPdfByIndexParamsType;
updateMetadata: UpdateMetadataParams;
}
export type OperationsBaseType = typeof toExport;
// Overide fields in the type of toExport, with the given fields and types. This seems to magically work!
export type OperationsType = Override<OperationsBaseType, {
impose: (params: ImposeParamsType) => Promise<PdfFile>;
}>;
export type OperationsParametersType = Override<OperationsParametersBaseType, {
impose: ImposeParamsType;
}>;