This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

View File

@ -0,0 +1,99 @@
"use strict";
exports.__esModule = true;
exports.default = void 0;
var _ExecutionEnvironment = require("fbjs/lib/ExecutionEnvironment");
var _invariant = _interopRequireDefault(require("fbjs/lib/invariant"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Copyright (c) Nicolas Gallagher.
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
*/
var win = _ExecutionEnvironment.canUseDOM ? window : {
devicePixelRatio: undefined,
innerHeight: undefined,
innerWidth: undefined,
screen: {
height: undefined,
width: undefined
}
};
var dimensions = {};
var listeners = {};
var Dimensions =
/*#__PURE__*/
function () {
function Dimensions() {}
Dimensions.get = function get(dimension) {
(0, _invariant.default)(dimensions[dimension], "No dimension set for key " + dimension);
return dimensions[dimension];
};
Dimensions.set = function set(initialDimensions) {
if (initialDimensions) {
if (_ExecutionEnvironment.canUseDOM) {
(0, _invariant.default)(false, 'Dimensions cannot be set in the browser');
} else {
dimensions.screen = initialDimensions.screen;
dimensions.window = initialDimensions.window;
}
}
};
Dimensions._update = function _update() {
dimensions.window = {
fontScale: 1,
height: win.innerHeight,
scale: win.devicePixelRatio || 1,
width: win.innerWidth
};
dimensions.screen = {
fontScale: 1,
height: win.screen.height,
scale: win.devicePixelRatio || 1,
width: win.screen.width
};
if (Array.isArray(listeners['change'])) {
listeners['change'].forEach(function (handler) {
return handler(dimensions);
});
}
};
Dimensions.addEventListener = function addEventListener(type, handler) {
listeners[type] = listeners[type] || [];
listeners[type].push(handler);
};
Dimensions.removeEventListener = function removeEventListener(type, handler) {
if (Array.isArray(listeners[type])) {
listeners[type] = listeners[type].filter(function (_handler) {
return _handler !== handler;
});
}
};
return Dimensions;
}();
exports.default = Dimensions;
Dimensions._update();
if (_ExecutionEnvironment.canUseDOM) {
window.addEventListener('resize', Dimensions._update, false);
}
module.exports = exports.default;