1 | function Once(fn) {
|
2 | var called = false;
|
3 |
|
4 | return function() {
|
5 | if (!called) {
|
6 | called = true;
|
7 | return fn.apply(null, arguments);
|
8 | }
|
9 | else {
|
10 | return Once.ALREADY_CALLED;
|
11 | }
|
12 | }
|
13 | }
|
14 |
|
15 | Once.ALREADY_CALLED = Object.freeze({});
|
16 |
|
17 | module.exports = Once; |
\ | No newline at end of file |