{"version":3,"sources":["jsdelivr-header.js","/npm/blest-react@1.2.4/dist/index.js"],"names":[],"mappings":"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","file":"/npm/blest-react@1.2.4/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/blest-react@1.2.4/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useLazyRequest = exports.useRequest = exports.useBlest = exports.useBlestLazyRequest = exports.useBlestRequest = exports.BlestProvider = exports.EventEmitter = void 0;\nvar react_1 = require(\"react\");\nvar isEqual_1 = __importDefault(require(\"lodash/isEqual\"));\nvar idGenerator = function (length) {\n    if (length === void 0) { length = 8; }\n    var max = Math.pow(16, length) - 1;\n    var randomNumber = Math.floor(Math.random() * (max + 1));\n    var id = randomNumber.toString(16).padStart(length, '0');\n    return id;\n};\nvar EventEmitter = /** @class */ (function () {\n    function EventEmitter() {\n        this.runByEvent = {};\n    }\n    EventEmitter.prototype.add = function (event, cb, once) {\n        if (once === void 0) { once = false; }\n        if (!this.runByEvent[event])\n            this.runByEvent[event] = [];\n        var node = {\n            id: idGenerator(),\n            event: event,\n            cb: cb,\n            once: once\n        };\n        this.runByEvent[event].push(node);\n    };\n    EventEmitter.prototype.remove = function (node) {\n        this.runByEvent[node.event] = this.runByEvent[node.event].filter(function (n) { return n.id !== node.id; });\n    };\n    EventEmitter.prototype.on = function (event, cb, once) {\n        var _this = this;\n        if (once === void 0) { once = false; }\n        if (typeof cb != 'function')\n            throw TypeError(\"Callback parameter has to be a function.\");\n        var node = this.add(event, cb, once);\n        return function () { return _this.remove(node); };\n    };\n    EventEmitter.prototype.once = function (event, cb) {\n        return this.on(event, cb, true);\n    };\n    EventEmitter.prototype.emit = function (event) {\n        var data = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            data[_i - 1] = arguments[_i];\n        }\n        var nodes = this.runByEvent[event];\n        for (var i = 0; i < nodes.length; i++) {\n            var node = nodes[i];\n            node.cb.apply(node, data);\n            if (node.once) {\n                this.remove(node);\n            }\n        }\n    };\n    return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\nvar BlestContext = (0, react_1.createContext)({ client: null });\nvar BlestProvider = function (_a) {\n    var children = _a.children, url = _a.url, _b = _a.options, options = _b === void 0 ? {} : _b;\n    var safeOptions = useDeepMemo(options || {});\n    var _c = (0, react_1.useState)(null), client = _c[0], setClient = _c[1];\n    (0, react_1.useEffect)(function () {\n        setClient(new HttpClient(url, safeOptions));\n    }, []);\n    (0, react_1.useEffect)(function () {\n        client === null || client === void 0 ? void 0 : client.setOptions(safeOptions);\n    }, [safeOptions]);\n    (0, react_1.useEffect)(function () {\n        client === null || client === void 0 ? void 0 : client.setUrl(url);\n    }, [url]);\n    return client ? (0, react_1.createElement)(BlestContext.Provider, { value: { client: client } }, children) : (0, react_1.createElement)(react_1.Fragment);\n};\nexports.BlestProvider = BlestProvider;\nvar HttpClient = /** @class */ (function () {\n    function HttpClient(url, options) {\n        var _this = this;\n        this.url = '';\n        this.httpHeaders = {};\n        this.maxBatchSize = 25;\n        this.bufferDelay = 10;\n        this.queue = [];\n        this.timeout = null;\n        this.emitter = new EventEmitter();\n        this.idGenerator = idGenerator;\n        this.doHttpRequest = function (queue, isRetry) {\n            if (isRetry === void 0) { isRetry = false; }\n            httpPostRequest(_this.url, queue, _this.httpHeaders)\n                .then(function (data) { return __awaiter(_this, void 0, void 0, function () {\n                var _this = this;\n                return __generator(this, function (_a) {\n                    data.forEach(function (r) {\n                        _this.emitter.emit(r[0], r[2], r[3]);\n                    });\n                    return [2 /*return*/];\n                });\n            }); })\n                .catch(function (error) { return __awaiter(_this, void 0, void 0, function () {\n                var skipEmit;\n                var _this = this;\n                return __generator(this, function (_a) {\n                    switch (_a.label) {\n                        case 0:\n                            skipEmit = false;\n                            if (!(!isRetry && this.errorHandler)) return [3 /*break*/, 2];\n                            return [4 /*yield*/, Promise.resolve(this.errorHandler(error, function () {\n                                    skipEmit = true;\n                                    _this.retry(queue);\n                                })).catch(console.error)];\n                        case 1:\n                            _a.sent();\n                            _a.label = 2;\n                        case 2:\n                            if (!skipEmit) {\n                                queue.forEach(function (q) {\n                                    _this.emitter.emit(q[0], null, error);\n                                });\n                            }\n                            return [2 /*return*/];\n                    }\n                });\n            }); });\n        };\n        this.url = url;\n        this.setOptions(options);\n    }\n    HttpClient.prototype.setOptions = function (options) {\n        if (!options) {\n            return false;\n        }\n        else if (typeof options !== 'object') {\n            throw new Error('Options should be an object');\n        }\n        else {\n            if (options.maxBatchSize) {\n                if (typeof options.maxBatchSize !== 'number' || Math.round(options.maxBatchSize) !== options.maxBatchSize) {\n                    throw new Error('\"maxBatchSize\" option should be an integer');\n                }\n                else if (options.maxBatchSize < 1) {\n                    throw new Error('\"maxBatchSize\" option should be greater than or equal to one');\n                }\n                this.maxBatchSize = options.maxBatchSize;\n            }\n            if (options.bufferDelay) {\n                if (typeof options.bufferDelay !== 'number' || Math.round(options.bufferDelay) !== options.bufferDelay) {\n                    throw new Error('\"bufferDelay\" option should be an integer');\n                }\n                else if (options.bufferDelay < 0) {\n                    throw new Error('\"bufferDelay\" option should be greater than or equal to zero');\n                }\n                this.bufferDelay = options.bufferDelay;\n            }\n            if (options.httpHeaders) {\n                if (typeof options.httpHeaders !== 'object' || Array.isArray(options.httpHeaders)) {\n                    throw new Error('\"httpHeaders\" option should be an object');\n                }\n                this.httpHeaders = options.httpHeaders;\n            }\n            if (options.idGenerator) {\n                if (typeof options.idGenerator !== 'function') {\n                    throw new Error('\"idGenerator\" option should be a function');\n                }\n                this.idGenerator = options.idGenerator;\n            }\n            if (options.errorHandler) {\n                if (typeof options.errorHandler !== 'function') {\n                    throw new Error('\"errorHandler\" option should be a function');\n                }\n                this.errorHandler = options.errorHandler;\n            }\n        }\n        return false;\n    };\n    HttpClient.prototype.setUrl = function (url) {\n        if (url && typeof url === 'string') {\n            this.url = url;\n        }\n    };\n    HttpClient.prototype.process = function () {\n        if (this.timeout) {\n            clearTimeout(this.timeout);\n            this.timeout = null;\n        }\n        if (!this.queue.length) {\n            return;\n        }\n        var copyQueue = this.queue.map(function (q) { return __spreadArray([], q, true); });\n        this.queue = [];\n        var batchCount = Math.ceil(copyQueue.length / this.maxBatchSize);\n        for (var i = 0; i < batchCount; i++) {\n            var myQueue = copyQueue.slice(i * this.maxBatchSize, (i + 1) * this.maxBatchSize);\n            this.doHttpRequest(myQueue);\n        }\n    };\n    HttpClient.prototype.set = function (option, value) {\n        var _a;\n        if (typeof option !== 'string')\n            throw new Error('Option name must be a string');\n        this.setOptions((_a = {}, _a[option] = value, _a));\n    };\n    HttpClient.prototype.retry = function (queue) {\n        this.doHttpRequest(queue, true);\n    };\n    HttpClient.prototype.request = function (route, body, headers) {\n        var _this = this;\n        return new Promise(function (resolve, reject) {\n            if (!route) {\n                return reject(new Error('Route is required'));\n            }\n            else if (body && typeof body !== 'object') {\n                return reject(new Error('Body should be an object'));\n            }\n            else if (headers && typeof headers !== 'object') {\n                return reject(new Error('Headers should be an object'));\n            }\n            var id = _this.idGenerator();\n            _this.emitter.once(id, function (result, error) {\n                if (error) {\n                    reject(error);\n                }\n                else {\n                    resolve(result);\n                }\n            });\n            _this.queue.push([id, route, body || null, headers || null]);\n            if (!_this.timeout) {\n                _this.timeout = setTimeout(function () { _this.process(); }, _this.bufferDelay);\n            }\n        });\n    };\n    return HttpClient;\n}());\n;\nvar httpPostRequest = function (url_1, data_1) {\n    var args_1 = [];\n    for (var _i = 2; _i < arguments.length; _i++) {\n        args_1[_i - 2] = arguments[_i];\n    }\n    return __awaiter(void 0, __spreadArray([url_1, data_1], args_1, true), void 0, function (url, data, httpHeaders) {\n        var requestData, options, response;\n        if (httpHeaders === void 0) { httpHeaders = {}; }\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    requestData = JSON.stringify(data);\n                    options = {\n                        method: 'POST',\n                        body: requestData,\n                        mode: 'cors',\n                        headers: __assign(__assign({}, httpHeaders), { 'Accept': 'application/json', 'Content-Type': 'application/json' })\n                    };\n                    return [4 /*yield*/, fetch(url, options)];\n                case 1:\n                    response = _a.sent();\n                    if (!response.ok)\n                        throw new Error(\"HTTP POST request failed with status code \".concat(response.status));\n                    return [4 /*yield*/, response.json()];\n                case 2: return [2 /*return*/, _a.sent()];\n            }\n        });\n    });\n};\nvar makeBlestHeaders = function (options) {\n    var headers = {};\n    if (!options)\n        return headers;\n    if (options.select && Array.isArray(options.select)) {\n        headers._s = options.select;\n    }\n    return headers;\n};\nvar useBlestRequest = function (route, body, options) {\n    var safeBody = useDeepMemo(body);\n    var safeOptions = useDeepMemo(options);\n    var client = (0, react_1.useContext)(BlestContext).client;\n    var _a = (0, react_1.useState)(!(options === null || options === void 0 ? void 0 : options.skip)), loading = _a[0], setLoading = _a[1];\n    var _b = (0, react_1.useState)(null), error = _b[0], setError = _b[1];\n    var _c = (0, react_1.useState)(null), data = _c[0], setData = _c[1];\n    var lastRequest = (0, react_1.useRef)('');\n    var request = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {\n        var headers, result, error_1;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (!client)\n                        throw new Error('Missing BLEST client in context');\n                    setLoading(true);\n                    _a.label = 1;\n                case 1:\n                    _a.trys.push([1, 3, , 4]);\n                    headers = makeBlestHeaders(safeOptions);\n                    return [4 /*yield*/, client.request(route, safeBody, headers)];\n                case 2:\n                    result = _a.sent();\n                    setError(null);\n                    setData(result);\n                    setLoading(false);\n                    return [2 /*return*/, result];\n                case 3:\n                    error_1 = _a.sent();\n                    setData(null);\n                    setError(error_1);\n                    setLoading(false);\n                    throw error_1;\n                case 4: return [2 /*return*/];\n            }\n        });\n    }); }, [client, route, safeBody, safeOptions]);\n    (0, react_1.useEffect)(function () {\n        if (safeOptions === null || safeOptions === void 0 ? void 0 : safeOptions.skip)\n            return;\n        var requestHash = route + JSON.stringify(safeBody);\n        if (!lastRequest.current || lastRequest.current !== requestHash) {\n            lastRequest.current = requestHash;\n            request().catch(console.error);\n        }\n    }, [client, route, safeBody, safeOptions]);\n    return {\n        loading: loading,\n        error: error,\n        data: data,\n        refresh: request\n    };\n};\nexports.useBlestRequest = useBlestRequest;\nvar useBlestLazyRequest = function (route, options) {\n    var safeOptions = useDeepMemo(options);\n    var client = (0, react_1.useContext)(BlestContext).client;\n    var _a = (0, react_1.useState)(false), loading = _a[0], setLoading = _a[1];\n    var _b = (0, react_1.useState)(null), error = _b[0], setError = _b[1];\n    var _c = (0, react_1.useState)(null), data = _c[0], setData = _c[1];\n    var request = (0, react_1.useCallback)(function (body) { return __awaiter(void 0, void 0, void 0, function () {\n        var headers, result, error_2;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (!client)\n                        throw new Error('Missing BLEST client in context');\n                    setLoading(true);\n                    _a.label = 1;\n                case 1:\n                    _a.trys.push([1, 3, , 4]);\n                    headers = makeBlestHeaders(safeOptions);\n                    return [4 /*yield*/, client.request(route, body, headers)];\n                case 2:\n                    result = _a.sent();\n                    setError(null);\n                    setData(result);\n                    setLoading(false);\n                    return [2 /*return*/, result];\n                case 3:\n                    error_2 = _a.sent();\n                    setData(null);\n                    setError(error_2);\n                    setLoading(false);\n                    throw error_2;\n                case 4: return [2 /*return*/];\n            }\n        });\n    }); }, [client, route, safeOptions]);\n    return [request, { loading: loading, error: error, data: data }];\n};\nexports.useBlestLazyRequest = useBlestLazyRequest;\nvar useBlest = function () {\n    var client = (0, react_1.useContext)(BlestContext).client;\n    return { request: client === null || client === void 0 ? void 0 : client.request };\n};\nexports.useBlest = useBlest;\nexports.useRequest = exports.useBlestRequest;\nexports.useLazyRequest = exports.useBlestLazyRequest;\nvar useDeepMemo = function (value) {\n    var _a = (0, react_1.useState)(), safeValue = _a[0], setSafeValue = _a[1];\n    if (!(0, isEqual_1.default)(value, safeValue)) {\n        setSafeValue(value);\n    }\n    return safeValue;\n};\n"]}