UNPKG

@nodegui/vue-nodegui

Version:

library to render native desktop applications using vue js

48 lines 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.compilerOptions = void 0; const compiler_core_1 = require("@vue/compiler-core"); const nativeWidget_1 = require("./widgets/nativeWidget"); const V_MODEL_TEXT = Symbol('vModelText'); const V_MODEL_SLIDER = Symbol('vModelSlider'); const V_MODEL_SPINBOX = Symbol('vModelSpinBox'); const V_MODEL_COMBOBOX = Symbol('vModelComboBox'); compiler_core_1.registerRuntimeHelpers({ [V_MODEL_TEXT]: 'vModelText', [V_MODEL_SLIDER]: 'vModelSlider', [V_MODEL_SPINBOX]: 'vModelSpinBox', [V_MODEL_COMBOBOX]: 'vModelComboBox', }); exports.compilerOptions = { isNativeTag: nativeWidget_1.isNativeWidget, directiveTransforms: { model: (dir, node, context) => { const baseResult = compiler_core_1.transformModel(dir, node, context); const { tag } = node; let directiveToUse; switch (tag) { case 'vn-line-edit': directiveToUse = V_MODEL_TEXT; break; case 'vn-slider': case 'vn-dial': directiveToUse = V_MODEL_SLIDER; break; case 'vn-spinbox': directiveToUse = V_MODEL_SPINBOX; break; case 'vn-combobox': directiveToUse = V_MODEL_COMBOBOX; break; default: throw new Error(`cannot use v-model on tag: ${tag}`); } baseResult.needRuntime = context.helper(directiveToUse); // console.log('dir', dir); // console.log('node', node); // console.log('context', context); return baseResult; }, }, }; //# sourceMappingURL=vueLoader.js.map