Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1x 1x 1x 1x 1x 1x 1x | import { createDecorator } from './Component'
import { Doraemon } from '../Doraemon'
import { PropOptions } from '../types/options'
type Constructor = {
new (...args: any[]): any;
}
/**
* decorator of a prop
*
* @param options the options for the prop
* @return PropertyDecorator | void
*/
export function Prop (options?: (PropOptions | Constructor[] | Constructor)): PropertyDecorator {
return function (target: Doraemon, key: string) {
createDecorator((componentOptions, k) => {
;(componentOptions.props || ((componentOptions.props = {}) as any))[
k
] = options
})(target, key)
}
}
|