can-define.js
function(prop, get, defaultValueFn) {

		return function() {
			var map = this,
				defaultValue = defaultValueFn && defaultValueFn.call(this),
				observable, computeObj;

			if(get.length === 0) {
				observable = new Observation(get, map);
			} else if(get.length === 1) {
				observable = new SettableObservable(get, map, defaultValue);
			} else {
				observable = new AsyncObservable(get, map, defaultValue);
			}

			computeObj = make.computeObj(map, prop, observable);

			//!steal-remove-start
			if(process.env.NODE_ENV !== 'production') {
				Object.defineProperty(computeObj.handler, "name", {
					value: canReflect.getName(get).replace('getter', 'event emitter')
				});
			}
			//!steal-remove-end

			return computeObj;
		};
	}
function(prop, get, defaultValueFn) {

		return function() {
			var map = this,
				defaultValue = defaultValueFn && defaultValueFn.call(this),
				observable, computeObj;

			if(get.length === 0) {
				observable = new Observation(get, map);
			} else if(get.length === 1) {
				observable = new SettableObservable(get, map, defaultValue);
			} else {
				observable = new AsyncObservable(get, map, defaultValue);
			}

			computeObj = make.computeObj(map, prop, observable);

			//!steal-remove-start
			if(process.env.NODE_ENV !== 'production') {
				Object.defineProperty(computeObj.handler, "name", {
					value: canReflect.getName(get).replace('getter', 'event emitter')
				});
			}
			//!steal-remove-end

			return computeObj;
		};
	}
function ( prop , get , defaultValueFn ) { return function ( ) { var map = this , defaultValue = defaultValueFn && defaultValueFn . call ( this ) , observable , computeObj ; if ( get . length === 0 ) { observable = new Observation ( get , map ) ; } else if ( get . length === 1 ) { observable = new SettableObservable ( get , map , defaultValue ) ; } else { observable = new AsyncObservable ( get , map , defaultValue ) ; } computeObj = make . computeObj ( map , prop , observable ) ; //!steal-remove-start if ( process . env . NODE_ENV !== 'production' ) { Object . defineProperty ( computeObj . handler , "name" , { value : canReflect . getName ( get ) . replace ( 'getter' , 'event emitter' ) } ) ; } //!steal-remove-end return computeObj ; } ; }
Returns a function that creates the `_computed` prop.
Returns a function that creates the _computed prop .