UNPKG

@roderickhsiao/react-i13n

Version:

[Experiment] React I13n provides a performant and scalable solution to application instrumentation.

45 lines (35 loc) 1.43 kB
"use strict"; 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;