@unicom-cloud/utils 0.1.36 → 0.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/assert/index.js +14 -20
  2. package/assert.js +1 -1
  3. package/canvas-roundrect-polyfill/LICENSE +21 -0
  4. package/canvas-roundrect-polyfill/index.js +210 -0
  5. package/canvasRoundrectPolyfill.js +2 -0
  6. package/case-name/index.js +1 -1
  7. package/caseName.js +1 -1
  8. package/class-name/index.js +1 -1
  9. package/className.js +1 -1
  10. package/clipboard-copy/index.js +1 -1
  11. package/clipboardCopy.js +1 -1
  12. package/constant/address.js +1 -1
  13. package/constant/chineseCharacters.js +1 -1
  14. package/constant/constellations.js +1 -1
  15. package/constant/domain.js +1 -1
  16. package/constant/identity.js +1 -1
  17. package/constant/index.js +1 -1
  18. package/constant/isMobile.js +1 -1
  19. package/constant/keyboardCode.js +1 -1
  20. package/constant/licensePlate.js +1 -1
  21. package/constant/name.js +1 -1
  22. package/constant/platform.js +1 -1
  23. package/constant/protocol.js +1 -1
  24. package/constant/string.js +1 -1
  25. package/constant/ui.js +13 -12
  26. package/constant.js +1 -1
  27. package/content-disposition/index.js +1 -1
  28. package/contentDisposition.js +1 -1
  29. package/cookie/index.js +1 -1
  30. package/cookie/src/api.js +1 -1
  31. package/cookie/src/assign.js +1 -1
  32. package/cookie/src/converter.js +1 -1
  33. package/cookie.js +1 -1
  34. package/date/convertTime.js +1 -1
  35. package/date/convertToDuration.js +1 -1
  36. package/date/index.js +1 -1
  37. package/date.js +1 -1
  38. package/decimal/decimal.js +1 -1
  39. package/decimal/index.js +1 -1
  40. package/decimal.js +1 -1
  41. package/dom-helpers/activeElement.js +1 -1
  42. package/dom-helpers/addClass.js +1 -1
  43. package/dom-helpers/addEventListener.js +1 -1
  44. package/dom-helpers/animate.js +1 -1
  45. package/dom-helpers/animationFrame.js +1 -1
  46. package/dom-helpers/attribute.js +1 -1
  47. package/dom-helpers/camelize.js +1 -1
  48. package/dom-helpers/camelizeStyle.js +1 -1
  49. package/dom-helpers/canUseDOM.js +1 -1
  50. package/dom-helpers/childElements.js +1 -1
  51. package/dom-helpers/childNodes.js +1 -1
  52. package/dom-helpers/clear.js +1 -1
  53. package/dom-helpers/closest.js +1 -1
  54. package/dom-helpers/collectElements.js +1 -1
  55. package/dom-helpers/collectSiblings.js +1 -1
  56. package/dom-helpers/contains.js +1 -1
  57. package/dom-helpers/css.js +1 -1
  58. package/dom-helpers/filterEventHandler.js +1 -1
  59. package/dom-helpers/getComputedStyle.js +1 -1
  60. package/dom-helpers/getElementCoordinates.js +1 -1
  61. package/dom-helpers/getScrollAccessor.js +1 -1
  62. package/dom-helpers/hasClass.js +1 -1
  63. package/dom-helpers/height.js +1 -1
  64. package/dom-helpers/hyphenate.js +1 -1
  65. package/dom-helpers/hyphenateStyle.js +1 -1
  66. package/dom-helpers/index.js +1 -1
  67. package/dom-helpers/insertAfter.js +1 -1
  68. package/dom-helpers/isDocument.js +1 -1
  69. package/dom-helpers/isInput.js +1 -1
  70. package/dom-helpers/isTransform.js +1 -1
  71. package/dom-helpers/isVisible.js +1 -1
  72. package/dom-helpers/isWindow.js +1 -1
  73. package/dom-helpers/listen.js +1 -1
  74. package/dom-helpers/matches.js +1 -1
  75. package/dom-helpers/nextUntil.js +1 -1
  76. package/dom-helpers/offset.js +1 -1
  77. package/dom-helpers/offsetParent.js +1 -1
  78. package/dom-helpers/ownerDocument.js +1 -1
  79. package/dom-helpers/ownerWindow.js +1 -1
  80. package/dom-helpers/parents.js +1 -1
  81. package/dom-helpers/position.js +1 -1
  82. package/dom-helpers/prepend.js +1 -1
  83. package/dom-helpers/querySelectorAll.js +1 -1
  84. package/dom-helpers/reflow.js +1 -1
  85. package/dom-helpers/remove.js +1 -1
  86. package/dom-helpers/removeClass.js +1 -1
  87. package/dom-helpers/removeEventListener.js +1 -1
  88. package/dom-helpers/scrollLeft.js +1 -1
  89. package/dom-helpers/scrollParent.js +1 -1
  90. package/dom-helpers/scrollTo.js +1 -1
  91. package/dom-helpers/scrollTop.js +1 -1
  92. package/dom-helpers/scrollbarSize.js +1 -1
  93. package/dom-helpers/siblings.js +1 -1
  94. package/dom-helpers/text.js +1 -1
  95. package/dom-helpers/toggleClass.js +1 -1
  96. package/dom-helpers/transitionEnd.js +1 -1
  97. package/dom-helpers/triggerEvent.js +1 -1
  98. package/dom-helpers/types.js +1 -1
  99. package/dom-helpers/width.js +1 -1
  100. package/domHelpers.js +1 -1
  101. package/emitter/index.js +1 -1
  102. package/emitter/src/index.js +53 -40
  103. package/emitter.js +1 -1
  104. package/emoji/emoji.js +1 -1
  105. package/emoji/emojis.js +1 -1
  106. package/emoji/index.js +1 -1
  107. package/emoji.js +1 -1
  108. package/escape/index.js +1 -1
  109. package/escape.js +1 -1
  110. package/file/fileRead.js +2 -2
  111. package/file/fileToDataURL.js +2 -2
  112. package/file/index.js +7 -7
  113. package/file/saveAs.js +59 -34
  114. package/file.js +7 -7
  115. package/function/index.js +1 -1
  116. package/function.js +1 -1
  117. package/idb/LICENSE +6 -0
  118. package/idb/async-iterators.js +35 -0
  119. package/idb/database-extras.js +28 -0
  120. package/idb/entry.js +38 -0
  121. package/idb/index-.js +103 -0
  122. package/idb/index.js +9 -101
  123. package/idb/util.js +5 -0
  124. package/idb/wrap-idb-value.js +89 -0
  125. package/idb.js +9 -3
  126. package/index.js +1 -1
  127. package/invariant/index.js +1 -1
  128. package/invariant.js +1 -1
  129. package/is/index.js +146 -142
  130. package/is/lib/isAscii.js +1 -1
  131. package/is/lib/isBase64.js +1 -1
  132. package/is/lib/isChinese.js +1 -1
  133. package/is/lib/isDataURI.js +1 -1
  134. package/is/lib/isEmail.js +1 -1
  135. package/is/lib/isFQDN.js +1 -1
  136. package/is/lib/isFullWidth.js +1 -1
  137. package/is/lib/isHSL.js +1 -1
  138. package/is/lib/isHalfWidth.js +1 -1
  139. package/is/lib/isHash.js +1 -1
  140. package/is/lib/isHexColor.js +1 -1
  141. package/is/lib/isIMEI.js +1 -1
  142. package/is/lib/isIP.js +1 -1
  143. package/is/lib/isIPRange.js +1 -1
  144. package/is/lib/isIdentityCard.js +1 -1
  145. package/is/lib/isJWT.js +1 -1
  146. package/is/lib/isMACAddress.js +1 -1
  147. package/is/lib/isMD5.js +1 -1
  148. package/is/lib/isMimeType.js +1 -1
  149. package/is/lib/isMobilePhone.js +1 -1
  150. package/is/lib/isPort.js +1 -1
  151. package/is/lib/isRgbColor.js +1 -1
  152. package/is/lib/isSemVer.js +1 -1
  153. package/is/lib/isSlug.js +1 -1
  154. package/is/lib/isStrongPassword.js +1 -1
  155. package/is/lib/isURL.js +1 -1
  156. package/is/lib/isUUID.js +1 -1
  157. package/is/lib/isVariableWidth.js +1 -1
  158. package/is.js +44 -43
  159. package/lunar/index.js +1 -1
  160. package/lunar/lib/Holiday.js +1 -1
  161. package/lunar/lib/HolidayUtil.js +1 -1
  162. package/lunar/lib/I18n.js +1 -1
  163. package/lunar/lib/JieQi.js +1 -1
  164. package/lunar/lib/Lunar.js +1 -1
  165. package/lunar/lib/LunarMonth.js +1 -1
  166. package/lunar/lib/LunarTime.js +1 -1
  167. package/lunar/lib/LunarUtil.js +1 -1
  168. package/lunar/lib/LunarYear.js +1 -1
  169. package/lunar/lib/ShouXingUtil.js +1 -1
  170. package/lunar/lib/Solar.js +1 -1
  171. package/lunar/lib/SolarHalfYear.js +1 -1
  172. package/lunar/lib/SolarMonth.js +1 -1
  173. package/lunar/lib/SolarSeason.js +1 -1
  174. package/lunar/lib/SolarUtil.js +1 -1
  175. package/lunar/lib/SolarWeek.js +1 -1
  176. package/lunar/lib/SolarYear.js +1 -1
  177. package/lunar/lib/index.js +1 -1
  178. package/lunar.js +1 -1
  179. package/math/index.js +1 -1
  180. package/math.js +1 -1
  181. package/md5/index.js +1 -1
  182. package/md5.js +1 -1
  183. package/mock/MockWebSocket.js +1 -1
  184. package/mock/MockXMLHttpRequest.js +1 -1
  185. package/mock/index.js +1 -1
  186. package/mock.js +1 -1
  187. package/normalize-wheel/ExecutionEnvironment.js +1 -1
  188. package/normalize-wheel/UserAgent_DEPRECATED.js +1 -1
  189. package/normalize-wheel/index.js +1 -1
  190. package/normalize-wheel/isEventSupported.js +1 -1
  191. package/normalizeWheel.js +1 -1
  192. package/number-to-chinese/index.js +1 -1
  193. package/numberToChinese.js +1 -1
  194. package/nzh/cn.js +2 -2
  195. package/nzh/hk.js +2 -2
  196. package/nzh/index.js +1 -1
  197. package/nzh/nzh.js +2 -2
  198. package/nzh/src/autoGet.js +1 -1
  199. package/nzh/src/index.js +1 -1
  200. package/nzh/src/langs/cn_b.js +1 -1
  201. package/nzh/src/langs/cn_s.js +1 -1
  202. package/nzh/src/langs/hk_b.js +1 -1
  203. package/nzh/src/langs/hk_s.js +1 -1
  204. package/nzh/src/utils.js +1 -1
  205. package/nzh.js +1 -1
  206. package/object/index.js +1 -1
  207. package/object.js +1 -1
  208. package/package.json +1 -1
  209. package/pinyin/index.js +1 -1
  210. package/pinyin/simplified.js +1 -1
  211. package/pinyin/src/core.js +1 -1
  212. package/pinyin/src/simplified.js +1 -1
  213. package/pinyin/src/simplified_dict.js +1 -2
  214. package/pinyin/src/traditional.js +1 -1
  215. package/pinyin/src/traditional_dict.js +1 -2
  216. package/pinyin/traditional.js +1 -1
  217. package/pinyin.js +1 -1
  218. package/promise-pool/LICENSE +19 -0
  219. package/promise-pool/index.js +116 -0
  220. package/promisePool.js +5 -0
  221. package/query-string/base.js +1 -1
  222. package/query-string/index.js +1 -1
  223. package/query-string/splitOnFirst.js +1 -1
  224. package/queryString.js +1 -1
  225. package/random/address.js +1 -1
  226. package/random/constellation.js +1 -1
  227. package/random/image.js +1 -1
  228. package/random/index.js +1 -1
  229. package/random/licensePlate.js +1 -1
  230. package/random/name.js +1 -1
  231. package/random/number.js +1 -1
  232. package/random/text.js +1 -1
  233. package/random/time.js +1 -1
  234. package/random/web.js +1 -1
  235. package/random.js +1 -1
  236. package/sanitize-url/LICENSE +21 -0
  237. package/sanitize-url/index.js +23 -0
  238. package/sanitizeUrl.js +5 -0
  239. package/screenfull/index.js +1 -1
  240. package/screenfull.js +1 -1
  241. package/sleep/index.js +1 -1
  242. package/sleep.js +1 -1
  243. package/snapdom/index.js +1 -1
  244. package/snapdom/src/api/preCache.js +1 -1
  245. package/snapdom/src/api/snapdom.js +21 -22
  246. package/snapdom/src/core/cache.js +1 -1
  247. package/snapdom/src/core/capture.js +13 -13
  248. package/snapdom/src/core/clone.js +1 -1
  249. package/snapdom/src/core/context.js +1 -1
  250. package/snapdom/src/core/plugins.js +1 -1
  251. package/snapdom/src/core/prepare.js +1 -1
  252. package/snapdom/src/exporters/download.js +10 -12
  253. package/snapdom/src/exporters/toBlob.js +6 -12
  254. package/snapdom/src/exporters/toCanvas.js +1 -1
  255. package/snapdom/src/exporters/toImg.js +1 -1
  256. package/snapdom/src/modules/CSSVar.js +1 -1
  257. package/snapdom/src/modules/background.js +1 -1
  258. package/snapdom/src/modules/changeCSS.js +1 -1
  259. package/snapdom/src/modules/counter.js +1 -1
  260. package/snapdom/src/modules/fonts.js +1 -1
  261. package/snapdom/src/modules/iconFonts.js +1 -1
  262. package/snapdom/src/modules/images.js +1 -1
  263. package/snapdom/src/modules/lineClamp.js +1 -1
  264. package/snapdom/src/modules/pseudo.js +1 -1
  265. package/snapdom/src/modules/rasterize.js +1 -1
  266. package/snapdom/src/modules/snapFetch.js +1 -1
  267. package/snapdom/src/modules/styles.js +1 -1
  268. package/snapdom/src/modules/svgDefs.js +1 -1
  269. package/snapdom/src/utils/browser.js +1 -1
  270. package/snapdom/src/utils/capture.helpers.js +1 -1
  271. package/snapdom/src/utils/clone.helpers.js +1 -1
  272. package/snapdom/src/utils/css.js +1 -1
  273. package/snapdom/src/utils/helpers.js +1 -1
  274. package/snapdom/src/utils/image.js +1 -1
  275. package/snapdom/src/utils/prepare.helpers.js +1 -1
  276. package/snapdom/src/utils/transforms.helpers.js +1 -1
  277. package/snapdom.js +1 -1
  278. package/string/chars.js +1 -1
  279. package/string/index.js +2 -1
  280. package/string.js +6 -5
  281. package/tinycolor/index.js +1 -1
  282. package/tinycolor/src/conversion.js +1 -1
  283. package/tinycolor/src/css-color-names.js +1 -1
  284. package/tinycolor/src/format-input.js +5 -5
  285. package/tinycolor/src/from-ratio.js +1 -1
  286. package/tinycolor/src/index.js +1 -1
  287. package/tinycolor/src/random.js +1 -1
  288. package/tinycolor/src/readability.js +1 -1
  289. package/tinycolor/src/to-ms-filter.js +1 -1
  290. package/tinycolor/src/utils.js +1 -1
  291. package/tinycolor.js +1 -1
  292. package/tree/index.js +1 -1
  293. package/tree/search/index.js +1 -1
  294. package/tree.js +1 -1
  295. package/tween/index.js +1 -1
  296. package/tween/src/easing.js +1 -1
  297. package/tween/src/tween.js +1 -1
  298. package/tween.js +1 -1
  299. package/types/canvas-roundrect-polyfill/index.d.ts +0 -0
  300. package/types/constant/ui.d.ts +1 -0
  301. package/types/emitter/src/index.d.ts +18 -16
  302. package/types/file/fileRead.d.ts +6 -6
  303. package/types/file/fileToDataURL.d.ts +1 -1
  304. package/types/file/saveAs.d.ts +6 -1
  305. package/types/idb/async-iterators.d.ts +1 -0
  306. package/types/idb/database-extras.d.ts +1 -0
  307. package/types/idb/entry.d.ts +634 -0
  308. package/types/idb/index-.d.ts +21 -0
  309. package/types/idb/index.d.ts +3 -21
  310. package/types/idb/util.d.ts +3 -0
  311. package/types/idb/wrap-idb-value.d.ts +34 -0
  312. package/types/is/index.d.ts +1 -0
  313. package/types/lodash/_cloneBuffer.d.ts +1 -1
  314. package/types/lodash/_freeGlobal.d.ts +1 -1
  315. package/types/sanitize-url/index.d.ts +2 -0
  316. package/types/string/index.d.ts +2 -0
  317. package/types/xlsx/crc32.d.ts +12 -0
  318. package/ui-color/compareColorByRange.js +1 -1
  319. package/ui-color/index.js +1 -1
  320. package/uiColor.js +1 -1
  321. package/url-toolkit/index.js +1 -1
  322. package/url-toolkit/src/url-toolkit.js +1 -1
  323. package/urlToolkit.js +1 -1
  324. package/validate/index.js +11 -11
  325. package/validate/src/index.js +1 -1
  326. package/validate/src/locale/en-US.js +1 -1
  327. package/validate/src/locale/index.js +1 -1
  328. package/validate/src/locale/zh-CN.js +1 -1
  329. package/validate/src/rules/array.js +1 -1
  330. package/validate/src/rules/base.js +1 -1
  331. package/validate/src/rules/boolean.js +1 -1
  332. package/validate/src/rules/custom.js +1 -1
  333. package/validate/src/rules/number.js +1 -1
  334. package/validate/src/rules/object.js +1 -1
  335. package/validate/src/rules/string.js +1 -1
  336. package/validate/src/rules/type.js +1 -1
  337. package/validate.js +11 -11
  338. package/version/index.js +1 -1
  339. package/version.js +1 -1
  340. package/xlsx/crc32.js +48 -0
  341. package/xlsx/index.d.ts +3 -0
  342. package/xlsx/index.js +1 -1
  343. package/xlsx/xlsx.js +5436 -5479
  344. package/xlsx.js +1 -1
  345. package/types/pinyin/es/main.d.ts +0 -4
  346. package/types/pinyin/es/traditional.d.ts +0 -4
package/file/saveAs.js CHANGED
@@ -1,52 +1,77 @@
1
- /* 2026-01-04 16:21:26 */
2
- import l from "../assert/index.js";
3
- import { isBlob as s, isFile as c } from "../is/index.js";
4
- import { fileToDataURL as f } from "./fileToDataURL.js";
5
- import m from "lodash/isPlainObject.js";
6
- import i from "lodash/isString.js";
7
- async function w(r, t) {
1
+ /* 2026-02-26 14:42:29 */
2
+ import d from "../assert/index.js";
3
+ import { isBlob as l, isFile as m } from "../is/index.js";
4
+ import u from "./fileToDataURL.js";
5
+ import b from "lodash/isPlainObject.js";
6
+ import f from "lodash/isString.js";
7
+ import h from "lodash/isError.js";
8
+ async function p(r, a) {
9
+ const o = await fetch(r);
8
10
  try {
9
- const e = await fetch(r);
10
- if (!e.ok)
11
- throw new Error(`HTTP ${e.status}`);
12
- const o = await e.blob();
13
- p(o, t);
14
- } catch {
15
- console.error("无法下载文件");
11
+ if (o.ok) {
12
+ const t = o.body.getReader(), n = [];
13
+ for (; ; ) {
14
+ const { done: c, value: w } = await t.read();
15
+ if (c)
16
+ break;
17
+ n.push(w);
18
+ }
19
+ const i = new Blob(n);
20
+ return g(i, a);
21
+ } else
22
+ throw new Error(`下载失败 HTTP ${o.status}`);
23
+ } catch (e) {
24
+ throw console.error(e), e;
16
25
  }
17
26
  }
18
- async function d(r) {
19
- return (await fetch(r, {
27
+ async function y(r) {
28
+ return !!(await fetch(r, {
20
29
  method: "HEAD",
21
30
  mode: "cors"
31
+ }).then((o) => o).catch((o) => o).finally(() => {
22
32
  })).ok;
23
33
  }
24
- async function p(r, t) {
25
- let e = {};
26
- m(r) ? e = { ...r } : e = { url: r, name: t };
27
- const o = e.url;
28
- l(
34
+ function s(r) {
35
+ return new Promise((a, o) => {
36
+ a(r.dispatchEvent(new MouseEvent("click")));
37
+ });
38
+ }
39
+ async function g(r, a) {
40
+ const o = {};
41
+ b(r) ? Object.assign(o, r) : Object.assign(o, { url: r, name: a });
42
+ const e = o.url;
43
+ d(
29
44
  {
30
- value: o,
45
+ value: e,
31
46
  type: "String 或者 Blob",
32
- callback(a) {
33
- return i(o) || s(a);
47
+ callback(n) {
48
+ return f(e) || l(n);
34
49
  }
35
50
  },
36
51
  "saveAs"
37
52
  );
38
- const n = document.createElement("a");
39
- if (n.rel = "noopener noreferrer", i(o))
40
- n.href = o, n.origin === window.location.origin || (await d(o) ? await w(o, e.name) : n.target = "_blank");
41
- else if (s(o) && (n.href = await f(o), !e.name)) {
42
- if (c(o)) {
43
- const a = o;
44
- e.name = a.name;
53
+ const t = document.createElement("a");
54
+ if (t.rel = "noopener", f(e)) {
55
+ const n = o.name || e;
56
+ if (t.download = n, t.href = e, t.origin === window.location.origin)
57
+ await s(t);
58
+ else {
59
+ if (await y(e))
60
+ return await p(e, n);
61
+ t.target = "_blank", await s(t);
62
+ }
63
+ }
64
+ if (l(e)) {
65
+ const n = await u(e);
66
+ if (h(n))
67
+ throw n;
68
+ {
69
+ let i = o.name;
70
+ m(e) && (i ||= e.name), i ||= "download", t.download = i, t.href = n, await s(t);
45
71
  }
46
72
  }
47
- i(n.href) && (e.name ||= "download", n.download = e.name, n.dispatchEvent(new MouseEvent("click")));
48
73
  }
49
74
  export {
50
- p as default,
51
- p as saveAs
75
+ g as default,
76
+ g as saveAs
52
77
  };
package/file.js CHANGED
@@ -1,9 +1,9 @@
1
- /* 2026-01-04 16:21:26 */
2
- import { fileRead as r } from "./file/fileRead.js";
3
- import { fileToDataURL as a } from "./file/fileToDataURL.js";
4
- import { saveAs as m } from "./file/saveAs.js";
1
+ /* 2026-02-26 14:42:29 */
2
+ import { default as f } from "./file/fileRead.js";
3
+ import { default as t } from "./file/fileToDataURL.js";
4
+ import { default as l } from "./file/saveAs.js";
5
5
  export {
6
- r as fileRead,
7
- a as fileToDataURL,
8
- m as saveAs
6
+ f as fileRead,
7
+ t as fileToDataURL,
8
+ l as saveAs
9
9
  };
package/function/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /* 2026-01-04 16:21:26 */
1
+ /* 2026-02-26 14:42:29 */
2
2
  import "lodash/isArguments.js";
3
3
  import "lodash/isArray.js";
4
4
  import "lodash/isArrayBuffer.js";
package/function.js CHANGED
@@ -1,4 +1,4 @@
1
- /* 2026-01-04 16:21:26 */
1
+ /* 2026-02-26 14:42:29 */
2
2
  import "lodash/isArguments.js";
3
3
  import "lodash/isArray.js";
4
4
  import "lodash/isArrayBuffer.js";
package/idb/LICENSE ADDED
@@ -0,0 +1,6 @@
1
+ ISC License (ISC)
2
+ Copyright (c) 2016, Jake Archibald <jaffathecake@gmail.com>
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
5
+
6
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,35 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ import { instanceOfAny as o } from "./util.js";
3
+ import { replaceTraps as u, reverseTransformCache as f, unwrap as d } from "./wrap-idb-value.js";
4
+ const I = ["continue", "continuePrimaryKey", "advance"], s = {}, i = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), h = {
5
+ get(r, e) {
6
+ if (!I.includes(e)) return r[e];
7
+ let t = s[e];
8
+ return t || (t = s[e] = function(...n) {
9
+ i.set(
10
+ this,
11
+ c.get(this)[e](...n)
12
+ );
13
+ }), t;
14
+ }
15
+ };
16
+ async function* y(...r) {
17
+ let e = this;
18
+ if (e instanceof IDBCursor || (e = await e.openCursor(...r)), !e) return;
19
+ e = e;
20
+ const t = new Proxy(e, h);
21
+ for (c.set(t, e), f.set(t, d(e)); e; )
22
+ yield t, e = await (i.get(t) || e.continue()), i.delete(t);
23
+ }
24
+ function a(r, e) {
25
+ return e === Symbol.asyncIterator && o(r, [IDBIndex, IDBObjectStore, IDBCursor]) || e === "iterate" && o(r, [IDBIndex, IDBObjectStore]);
26
+ }
27
+ u((r) => ({
28
+ ...r,
29
+ get(e, t, n) {
30
+ return a(e, t) ? y : r.get(e, t, n);
31
+ },
32
+ has(e, t) {
33
+ return a(e, t) || r.has(e, t);
34
+ }
35
+ }));
@@ -0,0 +1,28 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ import { replaceTraps as f } from "./wrap-idb-value.js";
3
+ const h = ["get", "getKey", "getAll", "getAllKeys", "count"], g = ["put", "add", "delete", "clear"], a = /* @__PURE__ */ new Map();
4
+ function u(n, e) {
5
+ if (!(n instanceof IDBDatabase && !(e in n) && typeof e == "string"))
6
+ return;
7
+ if (a.get(e)) return a.get(e);
8
+ const t = e.replace(/FromIndex$/, ""), s = e !== t, c = g.includes(t);
9
+ if (
10
+ // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
11
+ !(t in (s ? IDBIndex : IDBObjectStore).prototype) || !(c || h.includes(t))
12
+ )
13
+ return;
14
+ const o = async function(l, ...d) {
15
+ const r = this.transaction(l, c ? "readwrite" : "readonly");
16
+ let i = r.store;
17
+ return s && (i = i.index(d.shift())), (await Promise.all([
18
+ i[t](...d),
19
+ c && r.done
20
+ ]))[0];
21
+ };
22
+ return a.set(e, o), o;
23
+ }
24
+ f((n) => ({
25
+ ...n,
26
+ get: (e, t, s) => u(e, t) || n.get(e, t, s),
27
+ has: (e, t) => !!u(e, t) || n.has(e, t)
28
+ }));
package/idb/entry.js ADDED
@@ -0,0 +1,38 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ import { wrap as s } from "./wrap-idb-value.js";
3
+ import { unwrap as D } from "./wrap-idb-value.js";
4
+ function p(t, i, { blocked: n, upgrade: e, blocking: u, terminated: c } = {}) {
5
+ const r = indexedDB.open(t, i), f = s(r);
6
+ return e && (r.onupgradeneeded = (o) => {
7
+ e(
8
+ s(r.result),
9
+ o.oldVersion,
10
+ o.newVersion,
11
+ s(r.transaction),
12
+ o
13
+ );
14
+ }), n && (r.onblocked = (o) => n(
15
+ // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405
16
+ o.oldVersion,
17
+ o.newVersion,
18
+ o
19
+ )), f.then((o) => {
20
+ c && (o.onclose = () => c()), u && (o.onversionchange = (d) => u(d.oldVersion, d.newVersion, d));
21
+ }).catch(() => {
22
+ }), f;
23
+ }
24
+ function l(t, { blocked: i } = {}) {
25
+ const n = indexedDB.deleteDatabase(t);
26
+ return i && (n.onblocked = (e) => i(
27
+ // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405
28
+ e.oldVersion,
29
+ e
30
+ )), s(n).then(() => {
31
+ });
32
+ }
33
+ export {
34
+ l as deleteDB,
35
+ p as openDB,
36
+ D as unwrap,
37
+ s as wrap
38
+ };
package/idb/index-.js ADDED
@@ -0,0 +1,103 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ function o(n) {
3
+ return new Promise((t, e) => {
4
+ (n instanceof IDBOpenDBRequest || n instanceof IDBRequest) && (n.onsuccess = (r) => {
5
+ t(n.result);
6
+ }, n.onerror = (r) => {
7
+ e(n.error);
8
+ }), n instanceof IDBTransaction && (n.oncomplete = (r) => {
9
+ t(n);
10
+ }, n.onabort = n.onerror = (r) => {
11
+ e(n.error);
12
+ });
13
+ });
14
+ }
15
+ const a = "readonly", i = "readwrite";
16
+ class d {
17
+ constructor(t = "App", e = "app") {
18
+ this.indexedDBName = t, this.objectStoreName = e;
19
+ const r = indexedDB.open(
20
+ this.indexedDBName,
21
+ 1
22
+ );
23
+ r.onupgradeneeded = (c) => {
24
+ const b = c.target.result.createObjectStore(
25
+ this.objectStoreName,
26
+ { keyPath: null }
27
+ );
28
+ o(b.transaction).then((u) => {
29
+ }).catch((u) => {
30
+ console.error(u);
31
+ }).finally(() => {
32
+ });
33
+ }, this.idbOpenDBRequestPromise = o(r);
34
+ }
35
+ static deleteDatabase(t) {
36
+ indexedDB.deleteDatabase(t);
37
+ }
38
+ deleteObjectStore(t) {
39
+ this.idbOpenDBRequestPromise.then((e) => {
40
+ e.deleteObjectStore(t), e.onclose = () => {
41
+ };
42
+ }).catch((e) => {
43
+ console.error(e);
44
+ }).finally(() => {
45
+ });
46
+ }
47
+ getObjectStore(t, e) {
48
+ return this.idbOpenDBRequestPromise.then((r) => {
49
+ const s = r.transaction(
50
+ [this.objectStoreName],
51
+ t
52
+ ).objectStore(
53
+ this.objectStoreName
54
+ );
55
+ return e(s);
56
+ }).catch((r) => {
57
+ console.error(r);
58
+ }).finally(() => {
59
+ });
60
+ }
61
+ add(t, e) {
62
+ return this.getObjectStore(i, (r) => (r.add(e, t), o(r.transaction)));
63
+ }
64
+ get(t) {
65
+ return this.getObjectStore(a, (e) => o(e.get(t)));
66
+ }
67
+ getAll(t, e) {
68
+ return this.getObjectStore(a, (r) => o(r.getAll(t, e)));
69
+ }
70
+ getKey(t) {
71
+ return this.getObjectStore(a, (e) => o(e.getKey(t)));
72
+ }
73
+ getAllKeys(t, e) {
74
+ return this.getObjectStore(a, (r) => o(r.getAllKeys(t, e)));
75
+ }
76
+ getMany(t) {
77
+ return this.getObjectStore(a, (e) => Promise.all(
78
+ t.map((r, c, s) => o(e.get(r)))
79
+ ));
80
+ }
81
+ put(t, e) {
82
+ return this.getObjectStore(i, (r) => (r.put(e, t), o(r.transaction)));
83
+ }
84
+ putMany(t) {
85
+ return this.getObjectStore(i, (e) => (t.forEach(([r, c], s, l) => {
86
+ e.put(r, c);
87
+ }), o(e.transaction)));
88
+ }
89
+ delete(t) {
90
+ return this.getObjectStore(i, (e) => (e.delete(t), o(e.transaction)));
91
+ }
92
+ deleteMany(t) {
93
+ return this.getObjectStore(i, (e) => (t.forEach((r, c, s) => {
94
+ e.delete(r);
95
+ }), o(e.transaction)));
96
+ }
97
+ clear() {
98
+ return this.getObjectStore(i, (t) => (t.clear(), o(t.transaction)));
99
+ }
100
+ }
101
+ export {
102
+ d as default
103
+ };
package/idb/index.js CHANGED
@@ -1,103 +1,11 @@
1
- /* 2026-01-04 16:21:26 */
2
- function o(n) {
3
- return new Promise((t, e) => {
4
- (n instanceof IDBOpenDBRequest || n instanceof IDBRequest) && (n.onsuccess = (r) => {
5
- t(n.result);
6
- }, n.onerror = (r) => {
7
- e(n.error);
8
- }), n instanceof IDBTransaction && (n.oncomplete = (r) => {
9
- t(n);
10
- }, n.onabort = n.onerror = (r) => {
11
- e(n.error);
12
- });
13
- });
14
- }
15
- const a = "readonly", i = "readwrite";
16
- class d {
17
- constructor(t = "App", e = "app") {
18
- this.indexedDBName = t, this.objectStoreName = e;
19
- const r = indexedDB.open(
20
- this.indexedDBName,
21
- 1
22
- );
23
- r.onupgradeneeded = (c) => {
24
- const b = c.target.result.createObjectStore(
25
- this.objectStoreName,
26
- { keyPath: null }
27
- );
28
- o(b.transaction).then((u) => {
29
- }).catch((u) => {
30
- console.error(u);
31
- }).finally(() => {
32
- });
33
- }, this.idbOpenDBRequestPromise = o(r);
34
- }
35
- static deleteDatabase(t) {
36
- indexedDB.deleteDatabase(t);
37
- }
38
- deleteObjectStore(t) {
39
- this.idbOpenDBRequestPromise.then((e) => {
40
- e.deleteObjectStore(t), e.onclose = () => {
41
- };
42
- }).catch((e) => {
43
- console.error(e);
44
- }).finally(() => {
45
- });
46
- }
47
- getObjectStore(t, e) {
48
- return this.idbOpenDBRequestPromise.then((r) => {
49
- const s = r.transaction(
50
- [this.objectStoreName],
51
- t
52
- ).objectStore(
53
- this.objectStoreName
54
- );
55
- return e(s);
56
- }).catch((r) => {
57
- console.error(r);
58
- }).finally(() => {
59
- });
60
- }
61
- add(t, e) {
62
- return this.getObjectStore(i, (r) => (r.add(e, t), o(r.transaction)));
63
- }
64
- get(t) {
65
- return this.getObjectStore(a, (e) => o(e.get(t)));
66
- }
67
- getAll(t, e) {
68
- return this.getObjectStore(a, (r) => o(r.getAll(t, e)));
69
- }
70
- getKey(t) {
71
- return this.getObjectStore(a, (e) => o(e.getKey(t)));
72
- }
73
- getAllKeys(t, e) {
74
- return this.getObjectStore(a, (r) => o(r.getAllKeys(t, e)));
75
- }
76
- getMany(t) {
77
- return this.getObjectStore(a, (e) => Promise.all(
78
- t.map((r, c, s) => o(e.get(r)))
79
- ));
80
- }
81
- put(t, e) {
82
- return this.getObjectStore(i, (r) => (r.put(e, t), o(r.transaction)));
83
- }
84
- putMany(t) {
85
- return this.getObjectStore(i, (e) => (t.forEach(([r, c], s, l) => {
86
- e.put(r, c);
87
- }), o(e.transaction)));
88
- }
89
- delete(t) {
90
- return this.getObjectStore(i, (e) => (e.delete(t), o(e.transaction)));
91
- }
92
- deleteMany(t) {
93
- return this.getObjectStore(i, (e) => (t.forEach((r, c, s) => {
94
- e.delete(r);
95
- }), o(e.transaction)));
96
- }
97
- clear() {
98
- return this.getObjectStore(i, (t) => (t.clear(), o(t.transaction)));
99
- }
100
- }
1
+ /* 2026-02-26 14:42:29 */
2
+ import { deleteDB as t, openDB as m } from "./entry.js";
3
+ import "./async-iterators.js";
4
+ import "./database-extras.js";
5
+ import { unwrap as f, wrap as i } from "./wrap-idb-value.js";
101
6
  export {
102
- d as default
7
+ t as deleteDB,
8
+ m as openDB,
9
+ f as unwrap,
10
+ i as wrap
103
11
  };
package/idb/util.js ADDED
@@ -0,0 +1,5 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ const s = (n, e) => e.some((o) => n instanceof o);
3
+ export {
4
+ s as instanceOfAny
5
+ };
@@ -0,0 +1,89 @@
1
+ /* 2026-02-26 14:42:29 */
2
+ import { instanceOfAny as D } from "./util.js";
3
+ let p, m;
4
+ function b() {
5
+ return p || (p = [
6
+ IDBDatabase,
7
+ IDBObjectStore,
8
+ IDBIndex,
9
+ IDBCursor,
10
+ IDBTransaction
11
+ ]);
12
+ }
13
+ function I() {
14
+ return m || (m = [
15
+ IDBCursor.prototype.advance,
16
+ IDBCursor.prototype.continue,
17
+ IDBCursor.prototype.continuePrimaryKey
18
+ ]);
19
+ }
20
+ const u = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), d = /* @__PURE__ */ new WeakMap();
21
+ function E(e) {
22
+ const r = new Promise((n, c) => {
23
+ const o = () => {
24
+ e.removeEventListener("success", s), e.removeEventListener("error", t);
25
+ }, s = () => {
26
+ n(i(e.result)), o();
27
+ }, t = () => {
28
+ c(e.error), o();
29
+ };
30
+ e.addEventListener("success", s), e.addEventListener("error", t);
31
+ });
32
+ return d.set(r, e), r;
33
+ }
34
+ function h(e) {
35
+ if (u.has(e)) return;
36
+ const r = new Promise((n, c) => {
37
+ const o = () => {
38
+ e.removeEventListener("complete", s), e.removeEventListener("error", t), e.removeEventListener("abort", t);
39
+ }, s = () => {
40
+ n(), o();
41
+ }, t = () => {
42
+ c(e.error || new DOMException("AbortError", "AbortError")), o();
43
+ };
44
+ e.addEventListener("complete", s), e.addEventListener("error", t), e.addEventListener("abort", t);
45
+ });
46
+ u.set(e, r);
47
+ }
48
+ let f = {
49
+ get(e, r, n) {
50
+ if (e instanceof IDBTransaction) {
51
+ if (r === "done") return u.get(e);
52
+ if (r === "store")
53
+ return n.objectStoreNames[1] ? void 0 : n.objectStore(n.objectStoreNames[0]);
54
+ }
55
+ return i(e[r]);
56
+ },
57
+ set(e, r, n) {
58
+ return e[r] = n, !0;
59
+ },
60
+ has(e, r) {
61
+ return e instanceof IDBTransaction && (r === "done" || r === "store") ? !0 : r in e;
62
+ }
63
+ };
64
+ function T(e) {
65
+ f = e(f);
66
+ }
67
+ function B(e) {
68
+ return I().includes(e) ? function(...r) {
69
+ return e.apply(y(this), r), i(this.request);
70
+ } : function(...r) {
71
+ return i(e.apply(y(this), r));
72
+ };
73
+ }
74
+ function w(e) {
75
+ return typeof e == "function" ? B(e) : (e instanceof IDBTransaction && h(e), D(e, b()) ? new Proxy(e, f) : e);
76
+ }
77
+ function i(e) {
78
+ if (e instanceof IDBRequest) return E(e);
79
+ if (a.has(e)) return a.get(e);
80
+ const r = w(e);
81
+ return r !== e && (a.set(e, r), d.set(r, e)), r;
82
+ }
83
+ const y = (e) => d.get(e);
84
+ export {
85
+ T as replaceTraps,
86
+ d as reverseTransformCache,
87
+ y as unwrap,
88
+ i as wrap
89
+ };
package/idb.js CHANGED
@@ -1,5 +1,11 @@
1
- /* 2026-01-04 16:21:26 */
2
- import { default as o } from "./idb/index.js";
1
+ /* 2026-02-26 14:42:29 */
2
+ import { deleteDB as t, openDB as m } from "./idb/entry.js";
3
+ import "./idb/async-iterators.js";
4
+ import "./idb/database-extras.js";
5
+ import { unwrap as f, wrap as i } from "./idb/wrap-idb-value.js";
3
6
  export {
4
- o as default
7
+ t as deleteDB,
8
+ m as openDB,
9
+ f as unwrap,
10
+ i as wrap
5
11
  };
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /* 2026-01-04 16:21:26 */
1
+ /* 2026-02-26 14:42:29 */
2
2
  import { VERSION as e } from "./version/index.js";
3
3
  export {
4
4
  e as version
@@ -1,4 +1,4 @@
1
- /* 2026-01-04 16:21:26 */
1
+ /* 2026-02-26 14:42:29 */
2
2
  function t(n, r, ...i) {
3
3
  if (process.env.NODE_ENV !== "production" && r === void 0)
4
4
  throw new Error("invariant requires an error message argument");
package/invariant.js CHANGED
@@ -1,4 +1,4 @@
1
- /* 2026-01-04 16:21:26 */
1
+ /* 2026-02-26 14:42:29 */
2
2
  import { default as o } from "./invariant/index.js";
3
3
  export {
4
4
  o as default