UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

50 lines 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMonaco = exports.EStatus = void 0; var tslib_1 = require("tslib"); var react_1 = require("react"); var loader_1 = tslib_1.__importDefault(require("@monaco-editor/loader")); var CDN_PATH_TO_MONACO_EDITOR = "https://cdn.jsdelivr.net/npm/monaco-editor@0.32.1/min/vs"; var EStatus; (function (EStatus) { EStatus[EStatus["LOADING"] = 0] = "LOADING"; EStatus[EStatus["LOADED"] = 1] = "LOADED"; EStatus[EStatus["ERROR"] = 2] = "ERROR"; })(EStatus || (exports.EStatus = EStatus = {})); var useMonaco = function () { var _a = (0, react_1.useState)(undefined), monaco = _a[0], setMonaco = _a[1]; var _b = (0, react_1.useState)(EStatus.LOADING), status = _b[0], setStatus = _b[1]; var _c = (0, react_1.useState)(undefined), error = _c[0], setError = _c[1]; (0, react_1.useEffect)(function () { (function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var monacoObj, error_1; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); loader_1.default.config({ paths: { vs: CDN_PATH_TO_MONACO_EDITOR } }); return [4 /*yield*/, loader_1.default.init()]; case 1: monacoObj = _a.sent(); setStatus(EStatus.LOADED); setMonaco(monacoObj); return [3 /*break*/, 3]; case 2: error_1 = _a.sent(); setStatus(EStatus.ERROR); setMonaco(undefined); setError(error_1); return [3 /*break*/, 3]; case 3: return [2 /*return*/]; } }); }); })().then(function () { }).catch(function () { }); }, []); return { monaco: monaco, status: status, error: error, }; }; exports.useMonaco = useMonaco; //# sourceMappingURL=useMonaco.js.map