nl_tokens: Applies a set of decorators to a property of a target object . @param decorators An array of decorators . @param target The target object . @param propertyKey ( Optional ) The property key to decorate . @param attributes ( Optional ) The property descriptor for the target key . @remarks Decorators are applied in reverse order . @example
pl_tokens: function decorate ( decorators , target , propertyKey , attributes ) { if ( ! IsUndefined ( propertyKey ) ) { if ( ! IsArray ( decorators ) ) throw new TypeError ( ) ; if ( ! IsObject ( <mask> ) ) throw new TypeError ( ) ; if ( ! IsObject ( attributes ) && ! IsUndefined ( attributes ) && ! IsNull ( attributes ) ) throw new TypeError ( ) ; if ( IsNull ( attributes ) ) attributes = undefined ; propertyKey = ToPropertyKey ( propertyKey ) ; return DecorateProperty ( decorators , target , propertyKey , attributes ) ; } else { if ( ! IsArray ( decorators ) ) throw new TypeError ( ) ; if ( ! IsConstructor ( target ) ) throw new TypeError ( ) ; return DecorateConstructor ( decorators , target ) ; } }