@roderickhsiao/react-i13n
Version:
[Experiment] React I13n provides a performant and scalable solution to application instrumentation.
45 lines (35 loc) • 1.43 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _I13nNode = _interopRequireDefault(require("../core/I13nNode"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/**
* Copyright 2015 - Present, Yahoo Inc.
* Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
*/
var useI13nNode = function useI13nNode(_ref) {
var reactI13n = _ref.i13nInstance,
i13nModel = _ref.i13nModel,
isLeafNode = _ref.isLeafNode,
parentI13nNode = _ref.parentI13nNode;
var i13nNodeRef = (0, _react.useRef)();
var _useState = (0, _react.useState)(),
i13nNode = _useState[0],
setI13nNode = _useState[1];
var initI13nNode = function initI13nNode() {
if (reactI13n && !i13nNode) {
var _reactI13n$getI13nNod;
// check if reactI13n is initialized successfully, otherwise return
var I13nNodeClass = (_reactI13n$getI13nNod = reactI13n.getI13nNodeClass()) !== null && _reactI13n$getI13nNod !== void 0 ? _reactI13n$getI13nNod : _I13nNode["default"];
i13nNodeRef.current = new I13nNodeClass(parentI13nNode, i13nModel, isLeafNode, reactI13n.isViewportEnabled());
setI13nNode(i13nNodeRef.current);
}
};
initI13nNode();
return {
i13nNode: i13nNodeRef.current
};
};
var _default = useI13nNode;
exports["default"] = _default;