UNPKG

@officesdk/web

Version:

Web JS SDK for the Office SDK

68 lines (67 loc) 2.55 kB
import { serve } from '@officesdk/rpc'; import { createDocumentProxy } from './document'; import { createSpreadsheetProxy } from './spreadsheet'; import { createPresentationProxy } from './presentation'; import { createLiteDocProxy } from './ltdoc'; import { createDatabaseTableProxy } from './dbtable'; import { createPdfProxy } from './pdf'; import { FileType, assertFileType } from '../shared'; function isDocumentOptions(options) { return options.fileType === FileType.Document; } function isSpreadsheetOptions(options) { return options.fileType === FileType.Spreadsheet; } function isPresentationOptions(options) { return options.fileType === FileType.Presentation; } function isLiteDocOptions(options) { return options.fileType === FileType.LiteDoc; } function isDatabaseTableOptions(options) { return options.fileType === FileType.DBTable; } function isPdfOptions(options) { return options.fileType === FileType.Pdf; } export function serveSDK(options) { var fileType = options.fileType; assertFileType(fileType); if (isDocumentOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createDocumentProxy(createEditor, createContext), }); } if (isSpreadsheetOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createSpreadsheetProxy(createEditor, createContext), }); } if (isPresentationOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createPresentationProxy(createEditor, createContext), }); } if (isLiteDocOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createLiteDocProxy(createEditor, createContext), }); } if (isDatabaseTableOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createDatabaseTableProxy(createEditor, createContext), }); } if (isPdfOptions(options)) { var createEditor = options.createEditor, createContext = options.createContext; return serve({ proxy: createPdfProxy(createEditor, createContext), }); } throw new Error("Unsupported file type: ".concat(fileType)); }