UNPKG

slightning-coco-widget

Version:

SLIGHTNING 的 CoCo 控件框架。

37 lines (36 loc) 1.64 kB
import { getDefaultAdapter } from "./adapters/adapter"; import { standardizeTypes } from "./convert/standardize-types"; export function decorate(types, widget, config, platforms) { var _a, _b, _c; for (const decorator of (_a = config === null || config === void 0 ? void 0 : config.decorators) !== null && _a !== void 0 ? _a : []) { if (typeof decorator == "object") { for (const [appliedPlatforms, platformDecorator] of Object.entries(decorator)) { if (platformDecorator == null || appliedPlatforms.split("|").every((platform) => !platforms.includes(platform))) { continue; } if (Array.isArray(platformDecorator)) { for (const decorator of platformDecorator) { [types, widget] = decorator(types, widget); } } else { [types, widget] = platformDecorator(types, widget); } } } else { [types, widget] = decorator(types, widget); } } for (const platform of platforms) { for (const decorator of (_c = (_b = config === null || config === void 0 ? void 0 : config[platform]) === null || _b === void 0 ? void 0 : _b.decorators) !== null && _c !== void 0 ? _c : []) { [types, widget] = decorator(types, widget); } } return [types, widget]; } export function exportWidget(types, widget, config) { const adapter = getDefaultAdapter(); adapter.exportWidget(standardizeTypes(types), widget, config); }