UNPKG

thebe-core

Version:

Typescript based core functionality for Thebe

33 lines 1.69 kB
import { Config } from './config'; import { shortId } from './utils'; export function makeBinderOptions(opts) { return Object.assign({ repo: 'executablebooks/thebe-binder-base', ref: 'HEAD', binderUrl: 'https://mybinder.org', repoProvider: 'github' }, opts); } export function makeSavedSessionOptions(opts) { return Object.assign({ enabled: true, maxAge: 86400, storagePrefix: 'thebe-binder' }, opts); } export function makeKernelOptions(opts) { var _a, _b; return { path: (_a = opts.path) !== null && _a !== void 0 ? _a : '/', kernelName: (_b = opts.kernelName) !== null && _b !== void 0 ? _b : 'python', }; } export function makeServerSettings(settings) { var _a, _b; const baseUrl = (_a = settings.baseUrl) !== null && _a !== void 0 ? _a : 'http://localhost:8888'; const wsUrl = (_b = settings.wsUrl) !== null && _b !== void 0 ? _b : baseUrl.replace(/^http/, 'ws'); return Object.assign(Object.assign({ token: shortId(), appendToken: true }, settings), { wsUrl, baseUrl }); } export function makeMathjaxOptions(opts) { return Object.assign({ mathjaxUrl: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js', mathjaxConfig: 'TeX-AMS_CHTML-full,Safe' }, opts); } export function makeConfiguration(options, events) { return new Config(options, { events }); } export function ensureCoreOptions(options, events) { const config = new Config(options, { events }); return Object.assign(Object.assign({}, config.base), { binderOptions: config.binder, savedSessionOptions: config.savedSessions, kernelOptions: config.kernels, serverSettings: config.serverSettings }); } //# sourceMappingURL=options.js.map