# src/decorators/shadowBound.js

    import shadowPropertyHelper from "./shadowPropertyHelper";

    /*
    	A Property decorator for marking methods and properties (get/set) as being part of the shadow with
    	the methods *bound* to the property. Use this decorator version when you Property method is not
    	dependent on using the state at the time the shadow reference may have been saved to a veriable
    	or you method is requires a majority of accesses to the Property subclass instance variables
    	instead of the shadow state.

    	Example:

    		@shadowBound
    		logout() {
    			// delete is a method in the Property subclass and not dependent on the current state
    			this.delete(_user);
    		}

    */
    export default function shadowBound(target, name, descriptor) {
    	shadowPropertyHelper(target, name, descriptor, true);
    }