UNPKG

@morlz/composition-api

Version:

Provide logic composition capabilities for Vue.

2 lines (1 loc) 10.1 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],n):n((e=e||self).vueCompositionApi={},e.Vue)}(this,function(e,n){"use strict";n=n&&n.hasOwnProperty("default")?n.default:n;var t=function(e){return Object.prototype.toString.call(e)},r="function"==typeof Symbol&&Symbol.for,o=function(e){return e},i={enumerable:!0,configurable:!0,get:o,set:o};function u(e,n,t){var r=t.get,u=t.set;i.get=r||o,i.set=u||o,Object.defineProperty(e,n,i)}function f(e,n,t,r){Object.defineProperty(e,n,{value:t,enumerable:!!r,writable:!0,configurable:!0})}var a=Object.prototype.hasOwnProperty;function c(e,n){return a.call(e,n)}function s(e){return"[object Object]"===t(e)}function l(e,t){n.util.warn(e,t)}var v=null,p=null;function d(){return v}function y(){return p}function g(e){p=e}function h(e){return y()}function b(e,n){void 0===n&&(n={});var t=e.config.silent;e.config.silent=!0;var r=new e(n);return e.config.silent=t,r}function _(e,n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.$scopedSlots[n]?e.$scopedSlots[n].apply(e,t):l("slots."+n+'() got called outside of the "render()" scope',e)}}function m(e){return r?Symbol.for(e):e}var $=m("vfa.key.preFlushQueue"),w=m("vfa.key.postFlushQueue"),O=m("vfa.key.accessControlIdentifier"),j=m("vfa.key.reactiveIdentifier"),k=m("vfa.key.nonReactiveIdentifier"),E="vfa.key.refKey",S=function(){return function(e){u(this,"value",{get:e.get,set:e.set})}}();function x(e){return Object.seal(new S(e))}function A(e){var n,t=I(((n={})[E]=e,n));return x({get:function(){return t[E]},set:function(e){return t[E]=e}})}function C(e){return e instanceof S}var P={},M={},z={};function R(e){return c(e,k)&&e[k]===z}function U(e){return c(e,j)&&e[j]===M}function B(e){var n;if(!(!s(e)||R(e)||Array.isArray(e)||C(e)||(n=e,v&&n instanceof v))&&(!c(e,O)||e[O]!==P)){Object.isExtensible(e)&&f(e,O,P);for(var t=Object.keys(e),r=0;r<t.length;r++)V(e,t[r])}}function V(e,n,t){if("__ob__"!==n){var r,o,i=Object.getOwnPropertyDescriptor(e,n);if(i){if(!1===i.configurable)return;r=i.get,o=i.set,r&&!o||2!==arguments.length||(t=e[n])}B(t),Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){var o=r?r.call(e):t;return n!==E&&C(o)?o.value:o},set:function(i){if(!r||o){var u=r?r.call(e):t;n!==E&&C(u)&&!C(i)?u.value=i:o?o.call(e,i):C(i)&&(t=i),B(i)}}})}}function F(e){var n,t=d();t.observable?n=t.observable(e):n=b(t,{data:{$$state:e}})._data.$$state;return n}function I(e){if(!s(e)||U(e)||R(e)||!Object.isExtensible(e))return e;var n=F(e);return f(n,j,M),B(n),n}function D(e,n){v&&v===e||(e.config.optionMergeStrategies.setup=function(e,n){return function(t,o){return function e(n,t){if(!t)return n;for(var o,i,u,f=r?Reflect.ownKeys(t):Object.keys(t),a=0;a<f.length;a++)"__ob__"!==(o=f[a])&&(i=n[o],u=t[o],c(n,o)?i!==u&&s(i)&&!C(i)&&s(u)&&!C(u)&&e(i,u):n[o]=u);return n}("function"==typeof n&&n(t,o)||{},"function"==typeof e&&e(t,o)||{})}},v=e,n(e))}var K=function(){return(K=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function Q(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,o,i=t.call(e),u=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return u}var T,q={set:function(e,n,t){(e.__secret_vfa_state__=e.__secret_vfa_state__||{})[n]=t},get:function(e,n){return(e.__secret_vfa_state__||{})[n]}};function G(e){var n=q.get(e,"rawBindings")||{};if(n&&Object.keys(n).length){for(var t=e.$refs,r=q.get(e,"refs")||[],o=0;o<r.length;o++){var i=n[a=r[o]];!t[a]&&i&&C(i)&&(i.value=null)}var u=Object.keys(t),f=[];for(o=0;o<u.length;o++){var a;i=n[a=u[o]];t[a]&&i&&C(i)&&(i.value=t[a],f.push(a))}q.set(e,"refs",f)}}function H(e,n){var t=e.$options._parentVnode;if(t){for(var r=q.get(e,"slots")||[],o=function(e,n){var t;if(e){if(e._normalized)return e._normalized;for(var r in t={},e)e[r]&&"$"!==r[0]&&(t[r]=!0)}else t={};for(var r in n)r in t||(t[r]=!0);return t}(t.data.scopedSlots,e.$slots),i=0;i<r.length;i++){o[f=r[i]]||delete n[f]}var u=Object.keys(o);for(i=0;i<u.length;i++){var f;n[f=u[i]]||(n[f]=_(e,f))}q.set(e,"slots",u)}}function J(e,n,t){var r=y();g(e);try{return n(e)}catch(e){if(!t)throw e;t(e)}finally{g(r)}}function L(e){e.mixin({beforeCreate:function(){var e=this,n=e.$options,t=n.setup,r=n.render;r&&(n.render=function(){for(var n=this,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return J(e,function(){return r.apply(n,t)})});if(!t)return;if("function"!=typeof t)return;var o=n.data;n.data=function(){return function(e,n){void 0===n&&(n={});var t,r=e.$options.setup,o=function(e){var n={slots:{}};return["root","parent","refs","attrs","listeners","style"].forEach(function(t){var r,o,i;Array.isArray(t)?(r=Q(t,2),o=r[0],i=r[1]):o=i=t,i="$"+i,u(n,o,{get:function(){return e[i]},set:function(){l("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(t){var r="$"+t;u(n,t,{get:function(){return function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];e[r].apply(e,n)}}})}),n}(e);if(H(e,o.slots),J(e,function(){t=r(n,o)}),!t)return;if(a=t,"function"==typeof a){var i=t;return void(e.$options.render=function(){return H(e,o.slots),J(e,function(){return i()})})}var a;if(s(t)){var v=t;q.set(e,"rawBindings",t),Object.keys(t).forEach(function(n){var t,r=v[n];C(r)||(r=U(r)?A(r):A(s(t=r)?(t.__ob__=F({}).__ob__,f(t,k,z),t):t)),function(e,n,t){var r=e.$options.props;n in e||r&&c(r,n)||u(e,n,{get:function(){return t.value},set:function(e){t.value=e}})}(e,n,r)})}}(e,e.$props),"function"==typeof o?o.call(e,e):o||{}}},mounted:function(){G(this)},updated:function(){G(this)}})}var N=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function W(e){return function(n){var t=h(N(e));X(d(),t,e,n)}}function X(e,n,t,r){var o=n.$options,i=e.config.optionMergeStrategies[t];o[t]=i(o[t],r)}var Y,Z,ee=W("beforeMount"),ne=W("mounted"),te=W("beforeUpdate"),re=W("updated"),oe=W("beforeDestroy"),ie=(Y=["destroyed","deactivated"],N("unmounted"),function(e){var n=d(),t=h();Y.forEach(function(r){return X(n,t,r,e)})}),ue=W("errorCaptured"),fe=W("activated"),ae=W("deactivated");function ce(){le(this,$)}function se(){le(this,w)}function le(e,n){for(var t=e[n],r=0;r<t.length;r++)t[r]();t.length=0}function ve(e,n,t){var r=function(){e.$nextTick(function(){e[$].length&&le(e,$),e[w].length&&le(e,w)})};switch(t){case"pre":r(),e[$].push(n);break;case"post":r(),e[w].push(n);break;default:!function(e,n){if(!e)throw new Error("[vue-composition-api] "+n)}(!1,'flush must be one of ["post", "pre", "sync"], but got '+t)}}function pe(e,n,t,r){var i,u,f=r.flush,a="sync"===f,c=function(e){i=function(){try{e()}catch(e){!function(e,n,t){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}(e)}}},s=function(){i&&(i(),i=null)},l=function(n){return a||e===Z?n:function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ve(e,function(){n.apply(void 0,function(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(Q(arguments[n]));return e}(t))},f)}};if(null===t){var v=function(e,n,t,r){var o=e._watchers.length;return e.$watch(n,t,{immediate:r.immediateInvokeCallback,deep:r.deep,lazy:r.noRun,sync:r.sync,before:r.before}),e._watchers[o]}(e,function(){return n(c)},o,{noRun:!0,deep:r.deep,sync:a,before:s});v.lazy=!1;var p=v.get.bind(v);return a?v.get():e.$nextTick(p),v.get=l(p),function(){v.teardown(),s()}}u=Array.isArray(n)?function(){return n.map(function(e){return C(e)?e.value:e()})}:C(n)?function(){return n.value}:n;var d=function(e,n){s(),t(e,n,c)},y=l(d);if(!r.lazy){var g=y,h=function(e,n){h=g,d(e,n)};y=function(e,n){h(e,n)}}var b=e.$watch(u,y,{immediate:!r.lazy,deep:r.deep,sync:a});return function(){b(),s()}}var de={};var ye=function(e){return D(e,L)},ge={install:ye};v&&"undefined"!=typeof window&&window.Vue&&ye(window.Vue),e.computed=function(e){var n,t;"function"==typeof e?n=e:(n=e.get,t=e.set);var r=b(d(),{computed:{$$state:{get:n,set:t}}});return x({get:function(){return r.$$state},set:function(e){r.$$state=e}})},e.createComponent=function(e){return e},e.createElement=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return p?p.$createElement.apply(p,e):(l("`createElement()` has been called outside of render function."),T||(T=b(d()).$createElement),T.apply(T,e))},e.default=ge,e.inject=function(e,n){if(!e)return n;var t=function(e,n){for(var t=n;t;){if(t._provided&&c(t._provided,e))return t._provided[e];t=t.$parent}return de}(e,h());return t!==de?t:void 0!==n?n:void 0},e.isRef=C,e.onActivated=fe,e.onBeforeMount=ee,e.onBeforeUnmount=oe,e.onBeforeUpdate=te,e.onDeactivated=ae,e.onErrorCaptured=ue,e.onMounted=ne,e.onUnmounted=ie,e.onUpdated=re,e.provide=function(e,n){var t=h();if(!t._provided){var r={};Object.defineProperty(t,"_provided",{get:function(){return r},set:function(e){return Object.assign(r,e)}})}t._provided[e]=n},e.reactive=I,e.ref=A,e.set=function(e,n,t){var r,o=d().util,i=(o.warn,o.defineReactive);if(r=e,Array.isArray(r)&&function(e){var n=parseFloat(String(e));return n>=0&&Math.floor(n)===n&&isFinite(e)}(n))return e.length=Math.max(e.length,n),e.splice(n,1,t),t;if(n in e&&!(n in Object.prototype))return e[n]=t,t;var u=e.__ob__;return e._isVue||u&&u.vmCount?t:u?(i(u.value,n,t),V(e,n,t),u.dep.notify(),t):(e[n]=t,t)},e.toRefs=function(e){if(!s(e))return e;var n={};return Object.keys(e).forEach(function(t){var r=e[t];C(r)||(r=x({get:function(){return e[t]},set:function(n){return e[t]=n}})),n[t]=r}),n},e.watch=function(e,n,t){var r=null;"function"==typeof n?r=n:(t=n,r=null);var o=K({lazy:!1,deep:!1,flush:"post"},t),i=y();return i?function(e){return void 0!==e[$]}(i)||function(e){e[$]=[],e[w]=[],e.$on("hook:beforeUpdate",ce),e.$on("hook:updated",se)}(i):(Z||(Z=b(d())),i=Z),pe(i,e,r,o)},Object.defineProperty(e,"__esModule",{value:!0})});