UNPKG

@haensl/services

Version:

Assorted JavaScript services.

220 lines (212 loc) 6.4 kB
// https://github.com/haensl/services#readme v1.5.3 Copyright 2025 HP Dietz <h.p.dietz@gmail.com> var className = function className(states, basename) { var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '--'; return "".concat(basename, " ").concat(Object.keys(states).filter(state => states[state]).map(state => "".concat(basename).concat(separator).concat(state)).join(' ')).trim(); }; var setInputValue = (input, value) => { Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set.call(input, value); input.dispatchEvent(new Event('input', { bubbles: true })); }; var _component = { className, setInputValue }; function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } /** * Attaches HTTP Response meta data to an error. * * @param error Error: The error to attach metainformation to. * @param response Response: HTTP response data to extrapolate. * * @return The updated Error object. */ var attachResponseToError = /*#__PURE__*/function () { var _ref = _asyncToGenerator(function* (response, error) { if (response) { error.response = _objectSpread2({ headers: {}, status: response.status, statusText: response.statusText, body: typeof response.text === 'function' ? yield response.text() : undefined }, error.response); try { for (var entry of response.headers.entries()) { error.response.headers[entry[0]] = entry[1]; } } catch (error) { error.response.headers = JSON.parse(JSON.stringify(response.headers)); } } return error; }); return function attachResponseToError(_x, _x2) { return _ref.apply(this, arguments); }; }(); var _error = { attachResponseToError }; var rand = function rand() { var { min = 0, max = 1 } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return Math.random() * (max - min) + min; }; var randInt = _ref => { var { min, max } = _ref; return Math.floor(Math.random() * (max + 1 - min) + min); }; var _numbers = { rand, randInt }; var hasWindow = (() => { try { return typeof window === 'object' && window !== null; } catch (_unused) { return false; } })(); var hasDocument = (() => { try { return typeof document === 'object' && document !== null; } catch (_unused2) { return false; } })(); var hasDocumentElement = hasDocument && typeof document.documentElement === 'object' && document.documentElement !== null; var hasSessionStorage = hasWindow && typeof window.sessionStorage === 'object' && window.sessionStorage !== null && typeof window.sessionStorage.setItem === 'function' && typeof window.sessionStorage.getItem === 'function'; var hasLocalStorage = hasWindow && typeof window.localStorage === 'object' && window.localStorage !== null && typeof window.localStorage.setItem === 'function' && typeof window.localStorage.getItem === 'function'; var scrollPosition = () => { if (hasWindow && typeof window.scrollX === 'number' && !Number.isNaN(window.scrollX)) { return { x: window.scrollX, y: window.scrollY }; } else if (hasDocumentElement && typeof document.documentElement.scrollLeft === 'number' && !Number.isNaN(document.documentElement.scrollLeft)) { return { x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop }; } return null; }; var _platform = { hasDocument, hasDocumentElement, hasLocalStorage, hasSessionStorage, hasWindow, scrollPosition }; var debounce = function debounce(fun, waitMs, immediate) { var timeout; return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var context = this; var later = () => { timeout = null; if (!immediate) { fun.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, waitMs); if (callNow) { fun.apply(context, args); } }; }; var _throttle = { debounce }; var component = _component; var error = _error; var numbers = _numbers; var platform = _platform; var throttle = _throttle; var index = { component, error, numbers, platform, throttle }; export { component, index as default, error, numbers, platform, throttle }; //# sourceMappingURL=services.esm.js.map