vue-property-decorator
Advanced tools
Comparing version 8.3.0 to 8.4.0
@@ -1,2 +0,2 @@ | ||
/** vue-property-decorator verson 8.2.2 MIT LICENSE copyright 2019 kaorun343 */ | ||
/** vue-property-decorator verson 8.4.0 MIT LICENSE copyright 2019 kaorun343 */ | ||
/// <reference types='reflect-metadata'/> | ||
@@ -47,2 +47,33 @@ 'use strict'; | ||
} | ||
function produceProvide(original) { | ||
var provide = function () { | ||
var _this = this; | ||
var rv = typeof original === 'function' ? original.call(this) : original; | ||
rv = Object.create(rv || null); | ||
// set reactive services (propagates previous services if necessary) | ||
rv[reactiveInjectKey] = this[reactiveInjectKey] || {}; | ||
for (var i in provide.managed) { | ||
rv[provide.managed[i]] = this[i]; | ||
} | ||
var _loop_1 = function (i) { | ||
rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide` | ||
Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], { | ||
enumerable: true, | ||
get: function () { return _this[i]; }, | ||
}); | ||
}; | ||
var this_1 = this; | ||
for (var i in provide.managedReactive) { | ||
_loop_1(i); | ||
} | ||
return rv; | ||
}; | ||
provide.managed = {}; | ||
provide.managedReactive = {}; | ||
return provide; | ||
} | ||
function needToProduceProvide(original) { | ||
return (typeof original !== 'function' || | ||
(!original.managed && !original.managedReactive)); | ||
} | ||
/** | ||
@@ -56,12 +87,4 @@ * decorator of a provide | ||
var provide = componentOptions.provide; | ||
if (typeof provide !== 'function' || !provide.managed) { | ||
var original_1 = componentOptions.provide; | ||
provide = componentOptions.provide = function () { | ||
var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || | ||
null); | ||
for (var i in provide.managed) | ||
rv[provide.managed[i]] = this[i]; | ||
return rv; | ||
}; | ||
provide.managed = {}; | ||
if (needToProduceProvide(provide)) { | ||
provide = componentOptions.provide = produceProvide(provide); | ||
} | ||
@@ -82,29 +105,10 @@ provide.managed[k] = key || k; | ||
componentOptions.inject = componentOptions.inject || {}; | ||
componentOptions.inject[reactiveInjectKey] = { from: reactiveInjectKey, default: {} }; | ||
} | ||
if (typeof provide !== 'function' || !provide.managedReactive) { | ||
var original_2 = componentOptions.provide; | ||
provide = componentOptions.provide = function () { | ||
var _this = this; | ||
var rv = typeof original_2 === 'function' | ||
? original_2.call(this) | ||
: original_2; | ||
rv = Object.create(rv || null); | ||
// set reactive services (propagates previous services if necessary) | ||
rv[reactiveInjectKey] = this[reactiveInjectKey] || {}; | ||
var _loop_1 = function (i) { | ||
rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide` | ||
Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], { | ||
enumerable: true, | ||
get: function () { return _this[i]; }, | ||
}); | ||
}; | ||
var this_1 = this; | ||
for (var i in provide.managedReactive) { | ||
_loop_1(i); | ||
} | ||
return rv; | ||
componentOptions.inject[reactiveInjectKey] = { | ||
from: reactiveInjectKey, | ||
default: {}, | ||
}; | ||
provide.managedReactive = {}; | ||
} | ||
if (needToProduceProvide(provide)) { | ||
provide = componentOptions.provide = produceProvide(provide); | ||
} | ||
provide.managedReactive[k] = key || k; | ||
@@ -111,0 +115,0 @@ }); |
@@ -10,3 +10,3 @@ (function (global, factory) { | ||
/** vue-property-decorator verson 8.2.2 MIT LICENSE copyright 2019 kaorun343 */ | ||
/** vue-property-decorator verson 8.4.0 MIT LICENSE copyright 2019 kaorun343 */ | ||
/** Used for keying reactive provide/inject properties */ | ||
@@ -52,2 +52,33 @@ var reactiveInjectKey = '__reactiveInject__'; | ||
} | ||
function produceProvide(original) { | ||
var provide = function () { | ||
var _this = this; | ||
var rv = typeof original === 'function' ? original.call(this) : original; | ||
rv = Object.create(rv || null); | ||
// set reactive services (propagates previous services if necessary) | ||
rv[reactiveInjectKey] = this[reactiveInjectKey] || {}; | ||
for (var i in provide.managed) { | ||
rv[provide.managed[i]] = this[i]; | ||
} | ||
var _loop_1 = function (i) { | ||
rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide` | ||
Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], { | ||
enumerable: true, | ||
get: function () { return _this[i]; }, | ||
}); | ||
}; | ||
var this_1 = this; | ||
for (var i in provide.managedReactive) { | ||
_loop_1(i); | ||
} | ||
return rv; | ||
}; | ||
provide.managed = {}; | ||
provide.managedReactive = {}; | ||
return provide; | ||
} | ||
function needToProduceProvide(original) { | ||
return (typeof original !== 'function' || | ||
(!original.managed && !original.managedReactive)); | ||
} | ||
/** | ||
@@ -61,12 +92,4 @@ * decorator of a provide | ||
var provide = componentOptions.provide; | ||
if (typeof provide !== 'function' || !provide.managed) { | ||
var original_1 = componentOptions.provide; | ||
provide = componentOptions.provide = function () { | ||
var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || | ||
null); | ||
for (var i in provide.managed) | ||
rv[provide.managed[i]] = this[i]; | ||
return rv; | ||
}; | ||
provide.managed = {}; | ||
if (needToProduceProvide(provide)) { | ||
provide = componentOptions.provide = produceProvide(provide); | ||
} | ||
@@ -87,29 +110,10 @@ provide.managed[k] = key || k; | ||
componentOptions.inject = componentOptions.inject || {}; | ||
componentOptions.inject[reactiveInjectKey] = { from: reactiveInjectKey, default: {} }; | ||
} | ||
if (typeof provide !== 'function' || !provide.managedReactive) { | ||
var original_2 = componentOptions.provide; | ||
provide = componentOptions.provide = function () { | ||
var _this = this; | ||
var rv = typeof original_2 === 'function' | ||
? original_2.call(this) | ||
: original_2; | ||
rv = Object.create(rv || null); | ||
// set reactive services (propagates previous services if necessary) | ||
rv[reactiveInjectKey] = this[reactiveInjectKey] || {}; | ||
var _loop_1 = function (i) { | ||
rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide` | ||
Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], { | ||
enumerable: true, | ||
get: function () { return _this[i]; }, | ||
}); | ||
}; | ||
var this_1 = this; | ||
for (var i in provide.managedReactive) { | ||
_loop_1(i); | ||
} | ||
return rv; | ||
componentOptions.inject[reactiveInjectKey] = { | ||
from: reactiveInjectKey, | ||
default: {}, | ||
}; | ||
provide.managedReactive = {}; | ||
} | ||
if (needToProduceProvide(provide)) { | ||
provide = componentOptions.provide = produceProvide(provide); | ||
} | ||
provide.managedReactive[k] = key || k; | ||
@@ -116,0 +120,0 @@ }); |
{ | ||
"name": "vue-property-decorator", | ||
"version": "8.3.0", | ||
"version": "8.4.0", | ||
"description": "property decorators for Vue Component", | ||
@@ -5,0 +5,0 @@ "main": "lib/vue-property-decorator.umd.js", |
@@ -77,2 +77,12 @@ # Vue Property Decorator | ||
```ts | ||
import 'reflect-metadata' | ||
import { Vue, Component, Prop } from 'vue-property-decorator' | ||
@Component | ||
export default class MyComponent extends Vue { | ||
@Prop() age!: number | ||
} | ||
``` | ||
## Each prop's default value need to be defined as same as the example code shown in above. | ||
@@ -79,0 +89,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
610
388
33983