mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 21:11:13 +08:00

We want to wrap the `Ember.run.debounce` function and internally call `Ember.run` instead when running tests. This commit changes discourseDebounce to work the same way as `Ember.run.debounce`. Now that `discourseDebounce` works exactly like `Ember.run.debounce`, let's replace it and only use `DiscourseDebounce` from now on. Move debounce to discourse-common to be able to reuse it in different bundles Keep old debounce file for backwards-compatibility
16 lines
525 B
JavaScript
16 lines
525 B
JavaScript
import { debounce, run } from "@ember/runloop";
|
|
import { isTesting } from "discourse-common/config/environment";
|
|
/**
|
|
Debounce a Javascript function. This means if it's called many times in a time limit it
|
|
should only be executed once (at the end of the limit counted from the last call made).
|
|
Original function will be called with the context and arguments from the last call made.
|
|
**/
|
|
|
|
export default function () {
|
|
if (isTesting()) {
|
|
return run(...arguments);
|
|
} else {
|
|
return debounce(...arguments);
|
|
}
|
|
}
|