1 | (function (global, factory) {
|
2 | if (typeof define === "function" && define.amd) {
|
3 | define(["exports"], factory);
|
4 | } else if (typeof exports !== "undefined") {
|
5 | factory(exports);
|
6 | } else {
|
7 | var mod = {
|
8 | exports: {}
|
9 | };
|
10 | factory(mod.exports);
|
11 | global.resize = mod.exports;
|
12 | }
|
13 | })(this, function (_exports) {
|
14 | "use strict";
|
15 |
|
16 | Object.defineProperty(_exports, "__esModule", {
|
17 | value: true
|
18 | });
|
19 | _exports.default = void 0;
|
20 | |
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | var optimizedResize =
|
29 |
|
30 | function optimizedResize() {
|
31 | var callbacks = [];
|
32 | var running = false;
|
33 |
|
34 | function runCallbacks() {
|
35 | callbacks.forEach(function (callback) {
|
36 | callback();
|
37 | });
|
38 | running = false;
|
39 | }
|
40 |
|
41 |
|
42 | function resize() {
|
43 | if (!running) {
|
44 | running = true;
|
45 | window.requestAnimationFrame(runCallbacks);
|
46 | }
|
47 | }
|
48 |
|
49 |
|
50 | function addCallback(callback) {
|
51 | if (callback) {
|
52 | var index = callbacks.indexOf(callback);
|
53 |
|
54 | if (index < 0) {
|
55 | callbacks.push(callback);
|
56 | }
|
57 | }
|
58 | }
|
59 |
|
60 | return {
|
61 |
|
62 | add: function add(callback) {
|
63 | if (!callbacks.length) {
|
64 | window.addEventListener('resize', resize);
|
65 | }
|
66 |
|
67 | addCallback(callback);
|
68 | return {
|
69 | release: function release() {
|
70 | var index = callbacks.indexOf(callback);
|
71 |
|
72 | if (index >= 0) {
|
73 | callbacks.splice(index, 1);
|
74 | }
|
75 | }
|
76 | };
|
77 | }
|
78 | };
|
79 | }();
|
80 |
|
81 | var _default = optimizedResize;
|
82 | _exports.default = _default;
|
83 | }); |
\ | No newline at end of file |