mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 11:54:33 +03:00
983110d931
no issue - add eslint-plugin-ember, configure no-old-shims rule - run `eslint --fix` on `app`, `lib`, `mirage`, and `tests` to move imports to the new module imports - further cleanup of Ember globals usage - remove event-dispatcher initializer now that `canDispatchToEventManager` is deprecated
30 lines
826 B
JavaScript
30 lines
826 B
JavaScript
import {computed} from '@ember/object';
|
|
|
|
/**
|
|
* Defines a property similarly to `Ember.computed.oneway`,
|
|
* save that while a `oneway` loses its binding upon being set,
|
|
* the `BoundOneWay` will continue to listen for upstream changes.
|
|
*
|
|
* This is an ideal tool for working with values inside of {{input}}
|
|
* elements.
|
|
* @param {*} upstream
|
|
* @param {function} transform a function to transform the **upstream** value.
|
|
*/
|
|
export default function (upstream, transform) {
|
|
if (typeof transform !== 'function') {
|
|
// default to the identity function
|
|
transform = function (value) {
|
|
return value;
|
|
};
|
|
}
|
|
|
|
return computed(upstream, {
|
|
get() {
|
|
return transform(this.get(upstream));
|
|
},
|
|
set(key, value) {
|
|
return value;
|
|
}
|
|
});
|
|
}
|