UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

59 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useUtils = void 0; var tslib_1 = require("tslib"); /* eslint-disable @typescript-eslint/explicit-function-return-type */ var React = tslib_1.__importStar(require("react")); var date_fns_1 = require("date-fns"); var useUtils = function () { var getTruncateText = React.useCallback(function (text, length) { if (text.length > length) { return text.substring(0, length) + "..."; } return text; }, []); var getShortText = React.useCallback(function (text, length) { if (text.length > length) { // const numberCharsToCut = 6; var first = text.substring(0, length / 2); var last = text.substring(text.length - length / 2, text.length); var newText = first.trim() + "..." + last.trim(); return newText; } return text; }, []); var getFileExtension = React.useCallback(function (fileName) { return fileName.split(".").pop(); }, []); var getFileSize = React.useCallback(function (size) { if (size < 1024) { return size + " bytes"; } else if (size < 1048576) { return (size / 1024).toFixed(2) + " KB"; } else if (size < 1073741824) { return (size / 1048576).toFixed(2) + " MB"; } else { return (size / 1073741824).toFixed(2) + " GB"; } }, []); var getTimeFromDate = React.useCallback(function (date) { try { if (date) { return (0, date_fns_1.format)((0, date_fns_1.parseISO)(date), "dd MMM, p"); } return ""; } catch (error) { if (DEBUG) { console.log(["getTimeFromDate"], error); } return ""; } }, []); return { getFileSize: getFileSize, getTruncateText: getTruncateText, getTimeFromDate: getTimeFromDate, getShortText: getShortText, getFileExtension: getFileExtension }; }; exports.useUtils = useUtils; //# sourceMappingURL=useUtils.js.map