@officesdk/web
Version:
Web JS SDK for the Office SDK
68 lines (67 loc) • 2.55 kB
JavaScript
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));
}