UNPKG

vue-function-api-sd

Version:

Provide logic composition capabilities for Vue.

2 lines (1 loc) 12.7 kB
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var Vue=_interopDefault(require("vue")),toString=function(e){return Object.prototype.toString.call(e)};function isNative(e){return"function"==typeof e&&/native code/.test(e.toString())}var hasSymbol="undefined"!=typeof Symbol&&isNative(Symbol)&&"undefined"!=typeof Reflect&&isNative(Reflect.ownKeys),noopFn=function(e){return e},sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy(e,t,n){var r=n.get,o=n.set;sharedPropertyDefinition.get=r||noopFn,sharedPropertyDefinition.set=o||noopFn,Object.defineProperty(e,t,sharedPropertyDefinition)}function def(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,t){return hasOwnProperty.call(e,t)}function assert(e,t){if(!e)throw new Error("[vue-function-api] "+t)}function isArray(e){return Array.isArray(e)}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){return"[object Object]"===toString(e)}function isFunction(e){return"function"==typeof e}function warn(e,t){Vue.util.warn(e,t)}function logError(e,t,n){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}var currentVue=null,currentVM=null;function getCurrentVue(){return currentVue}function setCurrentVue(e){currentVue=e}function getCurrentVM(){return currentVM}function setCurrentVM(e){currentVM=e}var AbstractWrapper=function(){function e(){}return e.prototype.setVmProperty=function(e,t){var n=this;def(this,"_vm",e),def(this,"_propName",t);var r=e.$options.props;t in e||r&&hasOwn(r,t)||proxy(e,t,{get:function(){return n.value},set:function(e){n.value=e}})},e}(),extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,u=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=u.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}return a}var ValueWrapper=function(e){function t(t){var n=e.call(this)||this;return def(n,"_internal",t),n}return __extends(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this._internal.$$state},set:function(e){this._internal.$$state=e},enumerable:!0,configurable:!0}),t.prototype.exposeToDevtool=function(){},t}(AbstractWrapper),ComputedWrapper=function(e){function t(t){var n=e.call(this)||this;return def(n,"_internal",t),n}return __extends(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this._internal.read()},set:function(e){this._internal.write&&this._internal.write(e)},enumerable:!0,configurable:!0}),t.prototype.exposeToDevtool=function(){},t}(AbstractWrapper);function isWrapper(e){return e instanceof AbstractWrapper}function mergeData(e,t){if(!t)return e;for(var n,r,o,u=hasSymbol?Reflect.ownKeys(t):Object.keys(t),a=0;a<u.length;a++)"__ob__"!==(n=u[a])&&(r=e[n],o=t[n],hasOwn(e,n)?r!==o&&isPlainObject(r)&&!isWrapper(r)&&isPlainObject(o)&&!isWrapper(r)&&mergeData(r,o):e[n]=o);return e}function install(e,t){currentVue&&currentVue===e||(e.config.optionMergeStrategies.setup=function(e,t){return function(n,r){return mergeData("function"==typeof t&&t(n,r)||{},"function"==typeof e&&e(n,r)||{})}},setCurrentVue(e),t(e))}function ensureCurrentVMInFn(e){return getCurrentVM()}function createComponentInstance(e,t){void 0===t&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function isComponentInstance(e){return currentVue&&e instanceof currentVue}function createSymbol(e){return hasSymbol?Symbol.for(e):e}var fallbackCreateElement,WatcherPreFlushQueueKey=createSymbol("vfa.key.preFlushQueue"),WatcherPostFlushQueueKey=createSymbol("vfa.key.postFlushQueue"),AccessControIdentifierlKey=createSymbol("vfa.key.accessControIdentifier"),ObservableIdentifierKey=createSymbol("vfa.key.observableIdentifier"),AccessControlIdentifier={},ObservableIdentifier={};function setupAccessControl(e){if(isObject(e)&&!Array.isArray(e)&&!isWrapper(e)&&!isComponentInstance(e)&&(!hasOwn(e,AccessControIdentifierlKey)||e[AccessControIdentifierlKey]!==AccessControlIdentifier)){Object.isExtensible(e)&&def(e,AccessControIdentifierlKey,AccessControlIdentifier);for(var t=Object.keys(e),n=0;n<t.length;n++)defineAccessControl(e,t[n])}}function isObservable(e){return hasOwn(e,ObservableIdentifierKey)&&e[ObservableIdentifierKey]===ObservableIdentifier}function defineAccessControl(e,t,n){if("__ob__"!==t){var r,o,u=Object.getOwnPropertyDescriptor(e,t);if(u){if(!1===u.configurable)return;r=u.get,o=u.set,r&&!o||2!==arguments.length||(n=e[t])}setupAccessControl(n),Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=r?r.call(e):n;return isWrapper(t)?t.value:t},set:function(t){if(!r||o){var u=r?r.call(e):n;isWrapper(u)?isWrapper(t)?n=t:u.value=t:o?o.call(e,t):isWrapper(t)&&(n=t),setupAccessControl(t)}}})}}function observable(e){if(!isObject(e)||isObservable(e))return e;var t,n=getCurrentVue();n.observable?t=n.observable(e):t=createComponentInstance(n,{data:{$$state:e}})._data.$$state;return Object.isExtensible(t)&&def(t,ObservableIdentifierKey,ObservableIdentifier),setupAccessControl(t),t}function isValidArrayIndex(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function set(e,t,n){var r=getCurrentVue().util,o=(r.warn,r.defineReactive);if(isArray(e)&&isValidArrayIndex(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var u=e.__ob__;return e._isVue||u&&u.vmCount?n:u?(o(u.value,t,n),defineAccessControl(e,t,n),u.dep.notify(),n):(e[t]=n,n)}function state(e){return observable(e)}function value(e){return new ValueWrapper(state({$$state:e}))}function mixin(e){e.mixin({beforeCreate:function(){var e=this,t=e.$options,n=t.setup;if(!n)return;if("function"!=typeof n)return;var r=t.data;t.data=function(){return function(e,t){void 0===t&&(t={});var n,r=e.$options.setup,o=function(e){var t={};return["root","parent","refs",["slots","scopedSlots"],"attrs"].forEach(function(n){var r,o,u;Array.isArray(n)?(r=__read(n,2),o=r[0],u=r[1]):o=u=n,u="$"+u,proxy(t,o,{get:function(){return e[u]},set:function(){warn("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(n){var r="$"+n;proxy(t,n,{get:function(){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e[r].apply(e,t)}}})}),t}(e),u=getCurrentVM();setCurrentVM(e);try{n=r(t,o)}catch(t){logError(t,e,"setup()")}finally{setCurrentVM(u)}if(!n)return;if(isFunction(n))return void(e.$options.render=function(){return n(e.$props,o)});if(isPlainObject(n))Object.keys(n).forEach(function(t){var r=n[t];isWrapper(r)||(r=value(r)),r.setVmProperty(e,t)})}(e,e.$props),"function"==typeof r?r.call(e,e):r||{}}}})}var createElement=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return currentVM?currentVM.$createElement.apply(null,e):(fallbackCreateElement||(fallbackCreateElement=createComponentInstance(getCurrentVue()).$createElement),fallbackCreateElement.apply(null,e))};function createComponent(e){return e}var genName=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function createLifeCycle(e){return function(t){var n=ensureCurrentVMInFn(genName(e));injectHookOption(getCurrentVue(),n,e,t)}}function createLifeCycles(e,t){return function(n){var r=getCurrentVue(),o=ensureCurrentVMInFn(t);e.forEach(function(e){return injectHookOption(r,o,e,n)})}}function injectHookOption(e,t,n,r){var o=t.$options,u=e.config.optionMergeStrategies[n];o[n]=u(o[n],r)}var fallbackVM,onCreated=createLifeCycle("created"),onBeforeMount=createLifeCycle("beforeMount"),onMounted=createLifeCycle("mounted"),onBeforeUpdate=createLifeCycle("beforeUpdate"),onUpdated=createLifeCycle("updated"),onActivated=createLifeCycle("activated"),onDeactivated=createLifeCycle("deactivated"),onBeforeDestroy=createLifeCycle("beforeDestroy"),onDestroyed=createLifeCycle("destroyed"),onErrorCaptured=createLifeCycle("errorCaptured"),onUnmounted=createLifeCycles(["destroyed","deactivated"],genName("unmounted")),INIT_VALUE={};function flushPreQueue(){flushQueue(this,WatcherPreFlushQueueKey)}function flushPostQueue(){flushQueue(this,WatcherPostFlushQueueKey)}function hasWatchEnv(e){return void 0!==e[WatcherPreFlushQueueKey]}function installWatchEnv(e){e[WatcherPreFlushQueueKey]=[],e[WatcherPostFlushQueueKey]=[],e.$on("hook:beforeUpdate",flushPreQueue),e.$on("hook:updated",flushPostQueue)}function flushQueue(e,t){for(var n=e[t],r=0;r<n.length;r++)n[r]();n.length=0}function scheduleFlush(e,t,n){if(e===fallbackVM)t();else{var r=function(){e.$nextTick(function(){e[WatcherPreFlushQueueKey].length&&flushQueue(e,WatcherPreFlushQueueKey),e[WatcherPostFlushQueueKey].length&&flushQueue(e,WatcherPostFlushQueueKey)})};switch(n){case"pre":r(),e[WatcherPreFlushQueueKey].push(t);break;case"post":r(),e[WatcherPostFlushQueueKey].push(t);break;default:assert(!1,'flush must be one of ["post", "pre", "sync"], but got '+n)}}}function createSingleSourceWatcher(e,t,n,r){var o;o=isWrapper(t)?function(){return t.value}:t;var u=function(e,t){u=i,r.lazy?i(e,t):n(e,t)},a=r.flush,i="sync"===a?function(e,t){return n(e,t)}:function(t,r){scheduleFlush(e,function(){n(t,r)},a)};return e.$watch(o,function(e,t){u(e,t)},{immediate:!r.lazy,deep:r.deep,sync:"sync"===a})}function createMuiltSourceWatcher(e,t,n,r){var o=[],u=function(){n.apply(e,o.reduce(function(e,t){var n=t.value=t.value===INIT_VALUE?t.getter():t.value,r=t.oldValue===INIT_VALUE?n:t.oldValue;return t.oldValue=n,e[0].push(n),e[1].push(r),e},[[],[]]))},a=!r.lazy&&t.length,i=function(){!1!==a?0==--a&&(a=!1,i=f,u()):(i=f,f())},c=!1,s=r.flush,f="sync"===s?u:function(){c||(c=!0,e.$nextTick(function(){scheduleFlush(e,function(){c=!1,u()},s)}))};return t.forEach(function(t){var n,u={getter:n=isWrapper(t)?function(){return t.value}:t,value:INIT_VALUE,oldValue:INIT_VALUE};o.push(u),u.watcherStopHandle=e.$watch(n,function(e,t){u.value=e,u.oldValue===INIT_VALUE&&(u.oldValue=t),i()},{immediate:!r.lazy,deep:r.deep,sync:!0})}),function(){return o.forEach(function(e){return e.watcherStopHandle()})}}function watch(e,t,n){void 0===n&&(n={});var r=__assign({lazy:!1,deep:!1,flush:"post"},n),o=getCurrentVM();return o?hasWatchEnv(o)||installWatchEnv(o):(fallbackVM||(fallbackVM=createComponentInstance(getCurrentVue())),o=fallbackVM),isArray(e)?createMuiltSourceWatcher(o,e,t,r):createSingleSourceWatcher(o,e,t,r)}function computed(e,t){var n=createComponentInstance(getCurrentVue(),{computed:{$$state:{get:e,set:t}}});return new ComputedWrapper(__assign({read:function(){return n.$$state}},t&&{write:function(e){n.$$state=e}}))}var UNRESOLVED_INJECT={};function resolveInject(e,t){for(var n=t;n;){if(n._provided&&hasOwn(n._provided,e))return n._provided[e];n=n.$parent}return UNRESOLVED_INJECT}function provide(e,t){var n=ensureCurrentVMInFn("provide");n._provided||(n._provided={}),isObject(e)?Object.assign(n._provided,e):n._provided[e]=t}function inject(e){if(e){var t=ensureCurrentVMInFn("inject"),n=resolveInject(e,t);return n!==UNRESOLVED_INJECT?isWrapper(n)?n:new ComputedWrapper({read:function(){return n},write:function(){warn("The injectd value can't be re-assigned",t)}}):void 0}}var _install=function(e){return install(e,mixin)},plugin={install:_install};currentVue&&"undefined"!=typeof window&&window.Vue&&_install(window.Vue),exports.computed=computed,exports.createComponent=createComponent,exports.createElement=createElement,exports.inject=inject,exports.onActivated=onActivated,exports.onBeforeDestroy=onBeforeDestroy,exports.onBeforeMount=onBeforeMount,exports.onBeforeUpdate=onBeforeUpdate,exports.onCreated=onCreated,exports.onDeactivated=onDeactivated,exports.onDestroyed=onDestroyed,exports.onErrorCaptured=onErrorCaptured,exports.onMounted=onMounted,exports.onUnmounted=onUnmounted,exports.onUpdated=onUpdated,exports.plugin=plugin,exports.provide=provide,exports.set=set,exports.state=state,exports.value=value,exports.watch=watch;