thebe-core
Version:
Typescript based core functionality for Thebe
33 lines • 1.69 kB
JavaScript
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