@vue-widget/hooks
Version:
hooks from react to vue
37 lines (36 loc) • 914 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createContext = createContext;
var _vue = require("vue");
function createProvider(uid, defaultValue) {
return (0, _vue.defineComponent)({
props: {
value: {
type: Object,
"default": function _default() {
return (0, _vue.ref)(defaultValue);
}
}
},
setup: function setup(props, _a) {
var slots = _a.slots;
(0, _vue.provide)(uid, (0, _vue.computed)(function () {
return (0, _vue.unref)(props.value);
}));
return function () {
var _a;
return (_a = slots["default"]) === null || _a === void 0 ? void 0 : _a.call(slots);
};
}
});
}
function createContext(defaultValue) {
var uid = Symbol("context");
return {
uid: uid,
defaultValue: defaultValue,
Provider: createProvider(uid, defaultValue)
};
}