@visactor/vchart
Version:
charts lib based @visactor/VGrammar
82 lines (67 loc) • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.createStageFromApp = exports.resolveVRenderApp = exports.getVRenderAppEnvParams = exports.getVRenderAppEnv = void 0;
const shared_1 = require("@visactor/vrender/entries/shared"), common_1 = require("../typings/spec/common"), getVRenderAppEnv = mode => {
switch (mode) {
case common_1.RenderModeEnum.node:
case common_1.RenderModeEnum.worker:
return "node";
case common_1.RenderModeEnum.miniApp:
case common_1.RenderModeEnum["desktop-miniApp"]:
return "feishu";
case common_1.RenderModeEnum.wx:
return "wx";
case common_1.RenderModeEnum.tt:
return "tt";
case common_1.RenderModeEnum.harmony:
return "harmony";
case common_1.RenderModeEnum.lynx:
return "lynx";
default:
return "browser";
}
};
exports.getVRenderAppEnv = getVRenderAppEnv;
const isObjectLike = value => null != value && ("object" == typeof value || "function" == typeof value), APP_ENV_PARAM_KEYS_BY_ENV = {
lynx: [ "pixelRatio", "lynx", "runtime", "canvasFactory" ],
harmony: [ "pixelRatio", "harmony", "runtime", "canvasFactory" ]
}, getVRenderAppEnvParams = (mode, modeParams) => {
const env = (0, exports.getVRenderAppEnv)(mode), appEnvParamKeys = APP_ENV_PARAM_KEYS_BY_ENV[env];
if (!appEnvParamKeys) return modeParams;
if (null == (value = modeParams) || "object" != typeof value && "function" != typeof value) return;
var value;
const envParams = {};
return appEnvParamKeys.forEach((key => {
void 0 !== modeParams[key] && (envParams[key] = modeParams[key]);
})), Object.keys(envParams).length ? envParams : void 0;
};
exports.getVRenderAppEnvParams = getVRenderAppEnvParams;
const isIApp = value => !!value && "function" == typeof value.createStage, normalizeResolveOptions = (appOrOptions, mode) => {
return !appOrOptions || (value = appOrOptions) && "function" == typeof value.createStage ? {
app: appOrOptions,
mode: mode
} : appOrOptions;
var value;
}, acquireDefaultVRenderApp = (env, envParams) => {
const handle = (0, shared_1.acquireSharedVRenderApp)(Object.assign({
env: env
}, void 0 === envParams ? {} : {
envParams: envParams
}));
return {
app: handle.app,
releaseAppRef: () => handle.release()
};
}, resolveVRenderApp = (appOrOptions, mode) => {
const options = normalizeResolveOptions(appOrOptions, mode);
if (options.app) return {
app: options.app
};
const env = (0, exports.getVRenderAppEnv)(options.mode), envParams = (0, exports.getVRenderAppEnvParams)(options.mode, options.modeParams);
return acquireDefaultVRenderApp(env, envParams);
};
exports.resolveVRenderApp = resolveVRenderApp;
const createStageFromApp = (app, params) => app.createStage(params);
exports.createStageFromApp = createStageFromApp;
//# sourceMappingURL=stage-app.js.map