@md-oss/common 0.1.0

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 (161) hide show
  1. package/LICENSE +5 -0
  2. package/README.md +335 -0
  3. package/dist/api/errors.cjs +2 -0
  4. package/dist/api/errors.cjs.map +1 -0
  5. package/dist/api/errors.d.cts +53 -0
  6. package/dist/api/errors.d.mts +53 -0
  7. package/dist/api/errors.mjs +2 -0
  8. package/dist/api/errors.mjs.map +1 -0
  9. package/dist/api/index.cjs +2 -0
  10. package/dist/api/index.cjs.map +1 -0
  11. package/dist/api/index.d.cts +4 -0
  12. package/dist/api/index.d.mts +4 -0
  13. package/dist/api/index.mjs +2 -0
  14. package/dist/api/index.mjs.map +1 -0
  15. package/dist/api/requests.d.cts +36 -0
  16. package/dist/api/requests.d.mts +36 -0
  17. package/dist/api/status-codes.cjs +2 -0
  18. package/dist/api/status-codes.cjs.map +1 -0
  19. package/dist/api/status-codes.d.cts +72 -0
  20. package/dist/api/status-codes.d.mts +72 -0
  21. package/dist/api/status-codes.mjs +2 -0
  22. package/dist/api/status-codes.mjs.map +1 -0
  23. package/dist/arrays-BkHBzTDO.mjs +2 -0
  24. package/dist/arrays-BkHBzTDO.mjs.map +1 -0
  25. package/dist/arrays-CElcW69H.d.cts +43 -0
  26. package/dist/arrays-CElcW69H.d.mts +43 -0
  27. package/dist/arrays-DaB1Xn47.cjs +2 -0
  28. package/dist/arrays-DaB1Xn47.cjs.map +1 -0
  29. package/dist/constants/bytes.cjs +2 -0
  30. package/dist/constants/bytes.cjs.map +1 -0
  31. package/dist/constants/bytes.d.cts +19 -0
  32. package/dist/constants/bytes.d.mts +19 -0
  33. package/dist/constants/bytes.mjs +2 -0
  34. package/dist/constants/bytes.mjs.map +1 -0
  35. package/dist/constants/discord.cjs +2 -0
  36. package/dist/constants/discord.cjs.map +1 -0
  37. package/dist/constants/discord.d.cts +25 -0
  38. package/dist/constants/discord.d.mts +25 -0
  39. package/dist/constants/discord.mjs +2 -0
  40. package/dist/constants/discord.mjs.map +1 -0
  41. package/dist/constants/index.cjs +2 -0
  42. package/dist/constants/index.cjs.map +1 -0
  43. package/dist/constants/index.d.cts +3 -0
  44. package/dist/constants/index.d.mts +3 -0
  45. package/dist/constants/index.mjs +2 -0
  46. package/dist/constants/index.mjs.map +1 -0
  47. package/dist/constants/time.cjs +2 -0
  48. package/dist/constants/time.cjs.map +1 -0
  49. package/dist/constants/time.d.cts +65 -0
  50. package/dist/constants/time.d.mts +65 -0
  51. package/dist/constants/time.mjs +2 -0
  52. package/dist/constants/time.mjs.map +1 -0
  53. package/dist/index.cjs +2 -0
  54. package/dist/index.cjs.map +1 -0
  55. package/dist/index.d.cts +17 -0
  56. package/dist/index.d.mts +17 -0
  57. package/dist/index.mjs +2 -0
  58. package/dist/index.mjs.map +1 -0
  59. package/dist/mime-types-Bjt4NvnE.d.cts +41 -0
  60. package/dist/mime-types-Bjt4NvnE.d.mts +41 -0
  61. package/dist/mime-types-BmvBrrZ7.cjs +2 -0
  62. package/dist/mime-types-BmvBrrZ7.cjs.map +1 -0
  63. package/dist/mime-types-D_K53zgk.mjs +2 -0
  64. package/dist/mime-types-D_K53zgk.mjs.map +1 -0
  65. package/dist/numbers-BmUSgeah.d.cts +46 -0
  66. package/dist/numbers-BmUSgeah.d.mts +46 -0
  67. package/dist/numbers-Bx9JTSQe.mjs +2 -0
  68. package/dist/numbers-Bx9JTSQe.mjs.map +1 -0
  69. package/dist/numbers-DuVx9Qiu.cjs +2 -0
  70. package/dist/numbers-DuVx9Qiu.cjs.map +1 -0
  71. package/dist/objects--cO_X3EV.mjs +2 -0
  72. package/dist/objects--cO_X3EV.mjs.map +1 -0
  73. package/dist/objects-CnGoVkh6.cjs +2 -0
  74. package/dist/objects-CnGoVkh6.cjs.map +1 -0
  75. package/dist/objects-cf8j7rS8.d.cts +26 -0
  76. package/dist/objects-cf8j7rS8.d.mts +26 -0
  77. package/dist/random-D1e1NTOt.cjs +2 -0
  78. package/dist/random-D1e1NTOt.cjs.map +1 -0
  79. package/dist/random-DbidGSrQ.mjs +2 -0
  80. package/dist/random-DbidGSrQ.mjs.map +1 -0
  81. package/dist/random-DpNyGGAZ.d.cts +28 -0
  82. package/dist/random-DpNyGGAZ.d.mts +28 -0
  83. package/dist/runtime-B-jA8ZxR.cjs +2 -0
  84. package/dist/runtime-B-jA8ZxR.cjs.map +1 -0
  85. package/dist/runtime-CbfL6Fgj.mjs +2 -0
  86. package/dist/runtime-CbfL6Fgj.mjs.map +1 -0
  87. package/dist/runtime-T8Kcf7Af.d.cts +28 -0
  88. package/dist/runtime-T8Kcf7Af.d.mts +28 -0
  89. package/dist/schemas.cjs +2 -0
  90. package/dist/schemas.cjs.map +1 -0
  91. package/dist/schemas.d.cts +36 -0
  92. package/dist/schemas.d.mts +36 -0
  93. package/dist/schemas.mjs +2 -0
  94. package/dist/schemas.mjs.map +1 -0
  95. package/dist/strings-B0BRwNX9.mjs +3 -0
  96. package/dist/strings-B0BRwNX9.mjs.map +1 -0
  97. package/dist/strings-DV446vv-.cjs +3 -0
  98. package/dist/strings-DV446vv-.cjs.map +1 -0
  99. package/dist/strings-DhPbrpq7.d.cts +47 -0
  100. package/dist/strings-DhPbrpq7.d.mts +47 -0
  101. package/dist/time-8KLG8kBO.d.cts +29 -0
  102. package/dist/time-D8Wfqzu6.d.mts +29 -0
  103. package/dist/time-DmJNWZeL.mjs +2 -0
  104. package/dist/time-DmJNWZeL.mjs.map +1 -0
  105. package/dist/time-yNkQSJnQ.cjs +2 -0
  106. package/dist/time-yNkQSJnQ.cjs.map +1 -0
  107. package/dist/utils/arrays.cjs +2 -0
  108. package/dist/utils/arrays.cjs.map +1 -0
  109. package/dist/utils/arrays.d.cts +1 -0
  110. package/dist/utils/arrays.d.mts +1 -0
  111. package/dist/utils/arrays.mjs +2 -0
  112. package/dist/utils/arrays.mjs.map +1 -0
  113. package/dist/utils/index.cjs +2 -0
  114. package/dist/utils/index.cjs.map +1 -0
  115. package/dist/utils/index.d.cts +9 -0
  116. package/dist/utils/index.d.mts +9 -0
  117. package/dist/utils/index.mjs +2 -0
  118. package/dist/utils/index.mjs.map +1 -0
  119. package/dist/utils/mime-types.cjs +2 -0
  120. package/dist/utils/mime-types.cjs.map +1 -0
  121. package/dist/utils/mime-types.d.cts +1 -0
  122. package/dist/utils/mime-types.d.mts +1 -0
  123. package/dist/utils/mime-types.mjs +2 -0
  124. package/dist/utils/mime-types.mjs.map +1 -0
  125. package/dist/utils/numbers.cjs +2 -0
  126. package/dist/utils/numbers.cjs.map +1 -0
  127. package/dist/utils/numbers.d.cts +1 -0
  128. package/dist/utils/numbers.d.mts +1 -0
  129. package/dist/utils/numbers.mjs +2 -0
  130. package/dist/utils/numbers.mjs.map +1 -0
  131. package/dist/utils/objects.cjs +2 -0
  132. package/dist/utils/objects.cjs.map +1 -0
  133. package/dist/utils/objects.d.cts +1 -0
  134. package/dist/utils/objects.d.mts +1 -0
  135. package/dist/utils/objects.mjs +2 -0
  136. package/dist/utils/objects.mjs.map +1 -0
  137. package/dist/utils/random.cjs +2 -0
  138. package/dist/utils/random.cjs.map +1 -0
  139. package/dist/utils/random.d.cts +1 -0
  140. package/dist/utils/random.d.mts +1 -0
  141. package/dist/utils/random.mjs +2 -0
  142. package/dist/utils/random.mjs.map +1 -0
  143. package/dist/utils/runtime.cjs +2 -0
  144. package/dist/utils/runtime.cjs.map +1 -0
  145. package/dist/utils/runtime.d.cts +1 -0
  146. package/dist/utils/runtime.d.mts +1 -0
  147. package/dist/utils/runtime.mjs +2 -0
  148. package/dist/utils/runtime.mjs.map +1 -0
  149. package/dist/utils/strings.cjs +2 -0
  150. package/dist/utils/strings.cjs.map +1 -0
  151. package/dist/utils/strings.d.cts +1 -0
  152. package/dist/utils/strings.d.mts +1 -0
  153. package/dist/utils/strings.mjs +2 -0
  154. package/dist/utils/strings.mjs.map +1 -0
  155. package/dist/utils/time.cjs +2 -0
  156. package/dist/utils/time.cjs.map +1 -0
  157. package/dist/utils/time.d.cts +2 -0
  158. package/dist/utils/time.d.mts +2 -0
  159. package/dist/utils/time.mjs +2 -0
  160. package/dist/utils/time.mjs.map +1 -0
  161. package/package.json +232 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./api/errors.cjs"),i=require("./api/status-codes.cjs"),s=require("./constants/bytes.cjs"),t=require("./constants/discord.cjs"),a=require("./constants/time.cjs"),r=require("./schemas.cjs"),u=require("./arrays-DaB1Xn47.cjs"),o=require("./mime-types-BmvBrrZ7.cjs"),m=require("./numbers-DuVx9Qiu.cjs"),n=require("./objects-CnGoVkh6.cjs"),d=require("./random-D1e1NTOt.cjs"),c=require("./runtime-B-jA8ZxR.cjs"),l=require("./strings-DV446vv-.cjs"),q=require("./time-yNkQSJnQ.cjs");require("zod/v4"),exports.APIError=e.APIError,exports.isAPIError=e.isAPIError,exports.isAPIErrorResponse=e.isAPIErrorResponse,exports.parseError=e.parseError,exports.isStatusCodeText=i.isStatusCodeText,exports.resolveStatusCode=i.resolveStatusCode,exports.statusCodes=i.statusCodes,exports.ByteMagic=s.ByteMagic,exports.DiscordMagic=t.DiscordMagic,exports.TimeMagic=a.TimeMagic,exports.isFieldRequired=r.isFieldRequired,exports.paginationQuerySchema=r.paginationQuerySchema,exports.requiredKeys=r.requiredKeys,exports.signedUrlSchema=r.signedUrlSchema,exports.zodEnumFromObjectKeys=r.zodEnumFromObjectKeys,exports.ArrayUtils=u.arrays,exports.MimeTypeUtils=o.mimeTypes,exports.NumberUtils=m.numbers,exports.ObjectUtils=n.objects,exports.RandomUtils=d.random,exports.RuntimeUtils=c.runtime,exports.StringUtils=l.strings,exports.TimeUtils=q.time;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export { APIError, APIErrorResponse, APISuccessResponse, isAPIError, isAPIErrorResponse, parseError } from './api/errors.cjs';
2
+ export { MinimalNextFunction, MinimalRequest, MinimalRequestHandler, MinimalResponse, Params, ParamsDictionary, ParamsFlatDictionary } from './api/requests.cjs';
3
+ export { StatusCode, StatusCodeText, isStatusCodeText, resolveStatusCode, statusCodes } from './api/status-codes.cjs';
4
+ export { ByteMagic } from './constants/bytes.cjs';
5
+ export { DiscordMagic } from './constants/discord.cjs';
6
+ export { TimeMagic } from './constants/time.cjs';
7
+ export { FormDataFromSchema, Pagination, SignedUrlSchema, isFieldRequired, paginationQuerySchema, requiredKeys, signedUrlSchema, zodEnumFromObjectKeys } from './schemas.cjs';
8
+ export { a as ArrayUtils } from './arrays-CElcW69H.cjs';
9
+ export { m as MimeTypeUtils } from './mime-types-Bjt4NvnE.cjs';
10
+ export { n as NumberUtils } from './numbers-BmUSgeah.cjs';
11
+ export { o as ObjectUtils } from './objects-cf8j7rS8.cjs';
12
+ export { r as RandomUtils } from './random-DpNyGGAZ.cjs';
13
+ export { r as RuntimeUtils } from './runtime-T8Kcf7Af.cjs';
14
+ export { s as StringUtils } from './strings-DhPbrpq7.cjs';
15
+ export { t as TimeUtils } from './time-8KLG8kBO.cjs';
16
+ import 'qs';
17
+ import 'zod/v4';
@@ -0,0 +1,17 @@
1
+ export { APIError, APIErrorResponse, APISuccessResponse, isAPIError, isAPIErrorResponse, parseError } from './api/errors.mjs';
2
+ export { MinimalNextFunction, MinimalRequest, MinimalRequestHandler, MinimalResponse, Params, ParamsDictionary, ParamsFlatDictionary } from './api/requests.mjs';
3
+ export { StatusCode, StatusCodeText, isStatusCodeText, resolveStatusCode, statusCodes } from './api/status-codes.mjs';
4
+ export { ByteMagic } from './constants/bytes.mjs';
5
+ export { DiscordMagic } from './constants/discord.mjs';
6
+ export { TimeMagic } from './constants/time.mjs';
7
+ export { FormDataFromSchema, Pagination, SignedUrlSchema, isFieldRequired, paginationQuerySchema, requiredKeys, signedUrlSchema, zodEnumFromObjectKeys } from './schemas.mjs';
8
+ export { a as ArrayUtils } from './arrays-CElcW69H.mjs';
9
+ export { m as MimeTypeUtils } from './mime-types-Bjt4NvnE.mjs';
10
+ export { n as NumberUtils } from './numbers-BmUSgeah.mjs';
11
+ export { o as ObjectUtils } from './objects-cf8j7rS8.mjs';
12
+ export { r as RandomUtils } from './random-DpNyGGAZ.mjs';
13
+ export { r as RuntimeUtils } from './runtime-T8Kcf7Af.mjs';
14
+ export { s as StringUtils } from './strings-DhPbrpq7.mjs';
15
+ export { t as TimeUtils } from './time-D8Wfqzu6.mjs';
16
+ import 'qs';
17
+ import 'zod/v4';
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import{APIError as t,isAPIError as s,isAPIErrorResponse as i,parseError as m}from"./api/errors.mjs";import{isStatusCodeText as p,resolveStatusCode as x,statusCodes as f}from"./api/status-codes.mjs";import{ByteMagic as d}from"./constants/bytes.mjs";import{DiscordMagic as u}from"./constants/discord.mjs";import{TimeMagic as c}from"./constants/time.mjs";import{isFieldRequired as y,paginationQuerySchema as E,requiredKeys as S,signedUrlSchema as A,zodEnumFromObjectKeys as M}from"./schemas.mjs";import{a as T}from"./arrays-BkHBzTDO.mjs";import{m as C}from"./mime-types-D_K53zgk.mjs";import{n as P}from"./numbers-Bx9JTSQe.mjs";import{o as j}from"./objects--cO_X3EV.mjs";import{r as F}from"./random-DbidGSrQ.mjs";import{r as O}from"./runtime-CbfL6Fgj.mjs";import{s as z}from"./strings-B0BRwNX9.mjs";import{t as D}from"./time-DmJNWZeL.mjs";import"zod/v4";export{t as APIError,T as ArrayUtils,d as ByteMagic,u as DiscordMagic,C as MimeTypeUtils,P as NumberUtils,j as ObjectUtils,F as RandomUtils,O as RuntimeUtils,z as StringUtils,c as TimeMagic,D as TimeUtils,s as isAPIError,i as isAPIErrorResponse,y as isFieldRequired,p as isStatusCodeText,E as paginationQuerySchema,m as parseError,S as requiredKeys,x as resolveStatusCode,A as signedUrlSchema,f as statusCodes,M as zodEnumFromObjectKeys};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ type MimeKind = 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'OTHER';
2
+ type MimeKindWithSafe = MimeKind | 'SAFE';
3
+ declare const imageMimeTypes: readonly ["image/png", "image/jpeg", "image/webp", "image/gif", "image/bmp", "image/svg+xml", "image/x-icon", "image/tiff", "image/heic", "image/avif", "image/apng", "image/jpg"];
4
+ declare const videoMimeTypes: readonly ["video/mp4", "video/webm", "video/ogg", "video/avi", "video/mpeg", "video/quicktime", "video/x-msvideo", "video/x-matroska", "video/x-flv", "video/x-ms-wmv", "video/x-mpeg", "video/x-ms-asf", "video/x-ms-wmx", "video/x-ms-wvx", "video/x-matroska", "video/x-flash-video"];
5
+ declare const audioMimeTypes: readonly ["audio/mpeg", "audio/wav", "audio/ogg", "audio/aac", "audio/flac", "audio/mp3", "audio/x-wav", "audio/x-aiff", "audio/x-m4a", "audio/x-ms-wma", "audio/x-ms-wax", "audio/x-matroska", "audio/x-flac", "audio/x-aac"];
6
+ declare const documentMimeTypes: readonly ["text/plain", "text/csv", "text/rtf", "text/markdown", "text/x-markdown", "text/x-log", "text/x-ini", "text/x-yaml", "text/xml", "application/x-yaml", "application/xml", "application/rtf", "application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.spreadsheet"];
7
+ declare const archiveMimeTypes: readonly ["application/zip", "application/x-7z-compressed", "application/x-rar-compressed", "application/x-tar", "application/gzip", "application/x-bzip2", "application/x-xz", "application/x-compress", "application/x-archive", "application/x-zip-compressed", "application/x-rar", "application/x-gzip", "application/x-bzip"];
8
+ declare const webAssetTypes: readonly ["text/html", "text/css", "text/javascript", "application/json", "application/xml", "application/x-javascript", "application/x-web-app-manifest+json", "application/x-font-woff", "application/x-font-woff2", "image/svg+xml", "image/x-icon"];
9
+ declare const safeMimeTypes: Array<(typeof imageMimeTypes)[number] | (typeof videoMimeTypes)[number] | (typeof audioMimeTypes)[number] | (typeof documentMimeTypes)[number] | (typeof archiveMimeTypes)[number] | (typeof webAssetTypes)[number]>;
10
+ declare const mimeTypeMap: Record<MimeKindWithSafe, readonly string[]>;
11
+ /**
12
+ * Returns a comma-separated accept string for input elements based on the specified kind
13
+ * @param kind The type of MIME kind to get the accept string for
14
+ */
15
+ declare const getInputAccept: (kind?: MimeKindWithSafe) => string;
16
+ declare const isAllowedMimeType: (mimeType: string, kind?: MimeKindWithSafe) => boolean;
17
+ declare const inlineContentDispositionMimeTypes: readonly ["text/plain", "text/xml", "application/json", "application/pdf"];
18
+ declare const isInlineContentDisposition: (mimeType: string) => boolean;
19
+ declare const mimeTypeResolver: (_mimeType: string) => MimeKind;
20
+
21
+ type mimeTypes_MimeKind = MimeKind;
22
+ type mimeTypes_MimeKindWithSafe = MimeKindWithSafe;
23
+ declare const mimeTypes_archiveMimeTypes: typeof archiveMimeTypes;
24
+ declare const mimeTypes_audioMimeTypes: typeof audioMimeTypes;
25
+ declare const mimeTypes_documentMimeTypes: typeof documentMimeTypes;
26
+ declare const mimeTypes_getInputAccept: typeof getInputAccept;
27
+ declare const mimeTypes_imageMimeTypes: typeof imageMimeTypes;
28
+ declare const mimeTypes_inlineContentDispositionMimeTypes: typeof inlineContentDispositionMimeTypes;
29
+ declare const mimeTypes_isAllowedMimeType: typeof isAllowedMimeType;
30
+ declare const mimeTypes_isInlineContentDisposition: typeof isInlineContentDisposition;
31
+ declare const mimeTypes_mimeTypeMap: typeof mimeTypeMap;
32
+ declare const mimeTypes_mimeTypeResolver: typeof mimeTypeResolver;
33
+ declare const mimeTypes_safeMimeTypes: typeof safeMimeTypes;
34
+ declare const mimeTypes_videoMimeTypes: typeof videoMimeTypes;
35
+ declare namespace mimeTypes {
36
+ export { mimeTypes_archiveMimeTypes as archiveMimeTypes, mimeTypes_audioMimeTypes as audioMimeTypes, mimeTypes_documentMimeTypes as documentMimeTypes, mimeTypes_getInputAccept as getInputAccept, mimeTypes_imageMimeTypes as imageMimeTypes, mimeTypes_inlineContentDispositionMimeTypes as inlineContentDispositionMimeTypes, mimeTypes_isAllowedMimeType as isAllowedMimeType, mimeTypes_isInlineContentDisposition as isInlineContentDisposition, mimeTypes_mimeTypeMap as mimeTypeMap, mimeTypes_mimeTypeResolver as mimeTypeResolver, mimeTypes_safeMimeTypes as safeMimeTypes, mimeTypes_videoMimeTypes as videoMimeTypes };
37
+ export type { mimeTypes_MimeKind as MimeKind, mimeTypes_MimeKindWithSafe as MimeKindWithSafe };
38
+ }
39
+
40
+ export { audioMimeTypes as b, archiveMimeTypes as c, documentMimeTypes as d, mimeTypeMap as e, isAllowedMimeType as f, getInputAccept as g, isInlineContentDisposition as h, imageMimeTypes as i, mimeTypeResolver as j, inlineContentDispositionMimeTypes as k, mimeTypes as m, safeMimeTypes as s, videoMimeTypes as v };
41
+ export type { MimeKind as M, MimeKindWithSafe as a };
@@ -0,0 +1,41 @@
1
+ type MimeKind = 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'OTHER';
2
+ type MimeKindWithSafe = MimeKind | 'SAFE';
3
+ declare const imageMimeTypes: readonly ["image/png", "image/jpeg", "image/webp", "image/gif", "image/bmp", "image/svg+xml", "image/x-icon", "image/tiff", "image/heic", "image/avif", "image/apng", "image/jpg"];
4
+ declare const videoMimeTypes: readonly ["video/mp4", "video/webm", "video/ogg", "video/avi", "video/mpeg", "video/quicktime", "video/x-msvideo", "video/x-matroska", "video/x-flv", "video/x-ms-wmv", "video/x-mpeg", "video/x-ms-asf", "video/x-ms-wmx", "video/x-ms-wvx", "video/x-matroska", "video/x-flash-video"];
5
+ declare const audioMimeTypes: readonly ["audio/mpeg", "audio/wav", "audio/ogg", "audio/aac", "audio/flac", "audio/mp3", "audio/x-wav", "audio/x-aiff", "audio/x-m4a", "audio/x-ms-wma", "audio/x-ms-wax", "audio/x-matroska", "audio/x-flac", "audio/x-aac"];
6
+ declare const documentMimeTypes: readonly ["text/plain", "text/csv", "text/rtf", "text/markdown", "text/x-markdown", "text/x-log", "text/x-ini", "text/x-yaml", "text/xml", "application/x-yaml", "application/xml", "application/rtf", "application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.spreadsheet"];
7
+ declare const archiveMimeTypes: readonly ["application/zip", "application/x-7z-compressed", "application/x-rar-compressed", "application/x-tar", "application/gzip", "application/x-bzip2", "application/x-xz", "application/x-compress", "application/x-archive", "application/x-zip-compressed", "application/x-rar", "application/x-gzip", "application/x-bzip"];
8
+ declare const webAssetTypes: readonly ["text/html", "text/css", "text/javascript", "application/json", "application/xml", "application/x-javascript", "application/x-web-app-manifest+json", "application/x-font-woff", "application/x-font-woff2", "image/svg+xml", "image/x-icon"];
9
+ declare const safeMimeTypes: Array<(typeof imageMimeTypes)[number] | (typeof videoMimeTypes)[number] | (typeof audioMimeTypes)[number] | (typeof documentMimeTypes)[number] | (typeof archiveMimeTypes)[number] | (typeof webAssetTypes)[number]>;
10
+ declare const mimeTypeMap: Record<MimeKindWithSafe, readonly string[]>;
11
+ /**
12
+ * Returns a comma-separated accept string for input elements based on the specified kind
13
+ * @param kind The type of MIME kind to get the accept string for
14
+ */
15
+ declare const getInputAccept: (kind?: MimeKindWithSafe) => string;
16
+ declare const isAllowedMimeType: (mimeType: string, kind?: MimeKindWithSafe) => boolean;
17
+ declare const inlineContentDispositionMimeTypes: readonly ["text/plain", "text/xml", "application/json", "application/pdf"];
18
+ declare const isInlineContentDisposition: (mimeType: string) => boolean;
19
+ declare const mimeTypeResolver: (_mimeType: string) => MimeKind;
20
+
21
+ type mimeTypes_MimeKind = MimeKind;
22
+ type mimeTypes_MimeKindWithSafe = MimeKindWithSafe;
23
+ declare const mimeTypes_archiveMimeTypes: typeof archiveMimeTypes;
24
+ declare const mimeTypes_audioMimeTypes: typeof audioMimeTypes;
25
+ declare const mimeTypes_documentMimeTypes: typeof documentMimeTypes;
26
+ declare const mimeTypes_getInputAccept: typeof getInputAccept;
27
+ declare const mimeTypes_imageMimeTypes: typeof imageMimeTypes;
28
+ declare const mimeTypes_inlineContentDispositionMimeTypes: typeof inlineContentDispositionMimeTypes;
29
+ declare const mimeTypes_isAllowedMimeType: typeof isAllowedMimeType;
30
+ declare const mimeTypes_isInlineContentDisposition: typeof isInlineContentDisposition;
31
+ declare const mimeTypes_mimeTypeMap: typeof mimeTypeMap;
32
+ declare const mimeTypes_mimeTypeResolver: typeof mimeTypeResolver;
33
+ declare const mimeTypes_safeMimeTypes: typeof safeMimeTypes;
34
+ declare const mimeTypes_videoMimeTypes: typeof videoMimeTypes;
35
+ declare namespace mimeTypes {
36
+ export { mimeTypes_archiveMimeTypes as archiveMimeTypes, mimeTypes_audioMimeTypes as audioMimeTypes, mimeTypes_documentMimeTypes as documentMimeTypes, mimeTypes_getInputAccept as getInputAccept, mimeTypes_imageMimeTypes as imageMimeTypes, mimeTypes_inlineContentDispositionMimeTypes as inlineContentDispositionMimeTypes, mimeTypes_isAllowedMimeType as isAllowedMimeType, mimeTypes_isInlineContentDisposition as isInlineContentDisposition, mimeTypes_mimeTypeMap as mimeTypeMap, mimeTypes_mimeTypeResolver as mimeTypeResolver, mimeTypes_safeMimeTypes as safeMimeTypes, mimeTypes_videoMimeTypes as videoMimeTypes };
37
+ export type { mimeTypes_MimeKind as MimeKind, mimeTypes_MimeKindWithSafe as MimeKindWithSafe };
38
+ }
39
+
40
+ export { audioMimeTypes as b, archiveMimeTypes as c, documentMimeTypes as d, mimeTypeMap as e, isAllowedMimeType as f, getInputAccept as g, isInlineContentDisposition as h, imageMimeTypes as i, mimeTypeResolver as j, inlineContentDispositionMimeTypes as k, mimeTypes as m, safeMimeTypes as s, videoMimeTypes as v };
41
+ export type { MimeKind as M, MimeKindWithSafe as a };
@@ -0,0 +1,2 @@
1
+ "use strict";var g=Object.defineProperty;var t=(e,i)=>g(e,"name",{value:i,configurable:!0});const p=["image/png","image/jpeg","image/webp","image/gif","image/bmp","image/svg+xml","image/x-icon","image/tiff","image/heic","image/avif","image/apng","image/jpg"],s=["video/mp4","video/webm","video/ogg","video/avi","video/mpeg","video/quicktime","video/x-msvideo","video/x-matroska","video/x-flv","video/x-ms-wmv","video/x-mpeg","video/x-ms-asf","video/x-ms-wmx","video/x-ms-wvx","video/x-matroska","video/x-flash-video"],n=["audio/mpeg","audio/wav","audio/ogg","audio/aac","audio/flac","audio/mp3","audio/x-wav","audio/x-aiff","audio/x-m4a","audio/x-ms-wma","audio/x-ms-wax","audio/x-matroska","audio/x-flac","audio/x-aac"],o=["text/plain","text/csv","text/rtf","text/markdown","text/x-markdown","text/x-log","text/x-ini","text/x-yaml","text/xml","application/x-yaml","application/xml","application/rtf","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet"],a=["application/zip","application/x-7z-compressed","application/x-rar-compressed","application/x-tar","application/gzip","application/x-bzip2","application/x-xz","application/x-compress","application/x-archive","application/x-zip-compressed","application/x-rar","application/x-gzip","application/x-bzip"],f=["text/html","text/css","text/javascript","application/json","application/xml","application/x-javascript","application/x-web-app-manifest+json","application/x-font-woff","application/x-font-woff2","image/svg+xml","image/x-icon"],c=[...p,...s,...n,...o,...a,...f],m={IMAGE:p,VIDEO:s,AUDIO:n,DOCUMENT:o,ARCHIVE:a,SAFE:c,OTHER:[]},d=t((e="SAFE")=>m[e].join(","),"getInputAccept"),r=t((e,i="SAFE")=>{if(!e||typeof e!="string")return!1;const u=e.toLowerCase().split(";")[0].trim();return m[i].includes(u)},"isAllowedMimeType"),l=["text/plain","text/xml","application/json","application/pdf"],x=t(e=>{const i=e.toLowerCase().split(";")[0].trim();return l.includes(i)||i.startsWith("image/")||i.startsWith("video/")||i.startsWith("audio/")},"isInlineContentDisposition"),v=t(e=>{const i=e.toLowerCase().split(";")[0].trim();return i.startsWith("image/")?"IMAGE":i.startsWith("video/")?"VIDEO":i.startsWith("audio/")?"AUDIO":o.includes(i)?"DOCUMENT":a.includes(i)?"ARCHIVE":"OTHER"},"mimeTypeResolver");var T=Object.freeze({__proto__:null,archiveMimeTypes:a,audioMimeTypes:n,documentMimeTypes:o,getInputAccept:d,imageMimeTypes:p,inlineContentDispositionMimeTypes:l,isAllowedMimeType:r,isInlineContentDisposition:x,mimeTypeMap:m,mimeTypeResolver:v,safeMimeTypes:c,videoMimeTypes:s});exports.archiveMimeTypes=a,exports.audioMimeTypes=n,exports.documentMimeTypes=o,exports.getInputAccept=d,exports.imageMimeTypes=p,exports.inlineContentDispositionMimeTypes=l,exports.isAllowedMimeType=r,exports.isInlineContentDisposition=x,exports.mimeTypeMap=m,exports.mimeTypeResolver=v,exports.mimeTypes=T,exports.safeMimeTypes=c,exports.videoMimeTypes=s;
2
+ //# sourceMappingURL=mime-types-BmvBrrZ7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime-types-BmvBrrZ7.cjs","sources":["../src/utils/mime-types.ts"],"sourcesContent":["type MimeKind = 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'OTHER';\ntype MimeKindWithSafe = MimeKind | 'SAFE';\n\nconst imageMimeTypes = [\n\t'image/png',\n\t'image/jpeg',\n\t'image/webp',\n\t'image/gif',\n\t'image/bmp',\n\t'image/svg+xml',\n\t'image/x-icon',\n\t'image/tiff',\n\t'image/heic',\n\t'image/avif',\n\t'image/apng',\n\t'image/jpg',\n] as const;\n\nconst videoMimeTypes = [\n\t'video/mp4',\n\t'video/webm',\n\t'video/ogg',\n\t'video/avi',\n\t'video/mpeg',\n\t'video/quicktime',\n\t'video/x-msvideo',\n\t'video/x-matroska',\n\t'video/x-flv',\n\t'video/x-ms-wmv',\n\t'video/x-mpeg',\n\t'video/x-ms-asf',\n\t'video/x-ms-wmx',\n\t'video/x-ms-wvx',\n\t'video/x-matroska',\n\t'video/x-flash-video',\n] as const;\n\nconst audioMimeTypes = [\n\t'audio/mpeg',\n\t'audio/wav',\n\t'audio/ogg',\n\t'audio/aac',\n\t'audio/flac',\n\t'audio/mp3',\n\t'audio/x-wav',\n\t'audio/x-aiff',\n\t'audio/x-m4a',\n\t'audio/x-ms-wma',\n\t'audio/x-ms-wax',\n\t'audio/x-matroska',\n\t'audio/x-flac',\n\t'audio/x-aac',\n] as const;\n\nconst documentMimeTypes = [\n\t'text/plain',\n\t'text/csv',\n\t'text/rtf',\n\t'text/markdown',\n\t'text/x-markdown',\n\t'text/x-log',\n\t'text/x-ini',\n\t'text/x-yaml',\n\t'text/xml',\n\t'application/x-yaml',\n\t'application/xml',\n\t'application/rtf',\n\t'application/pdf',\n\t'application/msword',\n\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t'application/vnd.ms-excel',\n\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t'application/vnd.oasis.opendocument.text',\n\t'application/vnd.oasis.opendocument.spreadsheet',\n] as const;\n\nconst archiveMimeTypes = [\n\t'application/zip',\n\t'application/x-7z-compressed',\n\t'application/x-rar-compressed',\n\t'application/x-tar',\n\t'application/gzip',\n\t'application/x-bzip2',\n\t'application/x-xz',\n\t'application/x-compress',\n\t'application/x-archive',\n\t'application/x-zip-compressed',\n\t'application/x-rar',\n\t'application/x-gzip',\n\t'application/x-bzip',\n] as const;\n\nconst webAssetTypes = [\n\t'text/html',\n\t'text/css',\n\t'text/javascript',\n\t'application/json',\n\t'application/xml',\n\t'application/x-javascript',\n\t'application/x-web-app-manifest+json',\n\t'application/x-font-woff',\n\t'application/x-font-woff2',\n\t'image/svg+xml',\n\t'image/x-icon',\n] as const;\n\nconst safeMimeTypes = [\n\t...imageMimeTypes,\n\t...videoMimeTypes,\n\t...audioMimeTypes,\n\t...documentMimeTypes,\n\t...archiveMimeTypes,\n\t...webAssetTypes,\n] as Array<\n\t| (typeof imageMimeTypes)[number]\n\t| (typeof videoMimeTypes)[number]\n\t| (typeof audioMimeTypes)[number]\n\t| (typeof documentMimeTypes)[number]\n\t| (typeof archiveMimeTypes)[number]\n\t| (typeof webAssetTypes)[number]\n>;\n\nconst mimeTypeMap: Record<MimeKindWithSafe, readonly string[]> = {\n\tIMAGE: imageMimeTypes,\n\tVIDEO: videoMimeTypes,\n\tAUDIO: audioMimeTypes,\n\tDOCUMENT: documentMimeTypes,\n\tARCHIVE: archiveMimeTypes,\n\tSAFE: safeMimeTypes,\n\tOTHER: [],\n};\n\n/**\n * Returns a comma-separated accept string for input elements based on the specified kind\n * @param kind The type of MIME kind to get the accept string for\n */\nconst getInputAccept = (kind: MimeKindWithSafe = 'SAFE'): string => {\n\treturn mimeTypeMap[kind].join(',');\n};\n\nconst isAllowedMimeType = (\n\tmimeType: string,\n\tkind: MimeKindWithSafe = 'SAFE'\n): boolean => {\n\tif (!mimeType || typeof mimeType !== 'string') {\n\t\treturn false;\n\t}\n\n\tconst lowerMimeType = mimeType.toLowerCase().split(';')[0].trim();\n\n\treturn mimeTypeMap[kind].includes(lowerMimeType);\n};\n\nconst inlineContentDispositionMimeTypes = [\n\t'text/plain',\n\t'text/xml',\n\t'application/json',\n\t'application/pdf',\n] as const;\n\nconst isInlineContentDisposition = (mimeType: string): boolean => {\n\tconst lowerMimeType = mimeType.toLowerCase().split(';')[0].trim();\n\treturn (\n\t\tinlineContentDispositionMimeTypes.includes(\n\t\t\tlowerMimeType as (typeof inlineContentDispositionMimeTypes)[number]\n\t\t) ||\n\t\tlowerMimeType.startsWith('image/') ||\n\t\tlowerMimeType.startsWith('video/') ||\n\t\tlowerMimeType.startsWith('audio/')\n\t);\n};\n\nconst mimeTypeResolver = (_mimeType: string): MimeKind => {\n\tconst mimeType = _mimeType.toLowerCase().split(';')[0].trim();\n\n\tif (mimeType.startsWith('image/')) {\n\t\treturn 'IMAGE';\n\t} else if (mimeType.startsWith('video/')) {\n\t\treturn 'VIDEO';\n\t} else if (mimeType.startsWith('audio/')) {\n\t\treturn 'AUDIO';\n\t} else if (\n\t\tdocumentMimeTypes.includes(mimeType as (typeof documentMimeTypes)[number])\n\t) {\n\t\treturn 'DOCUMENT';\n\t} else if (\n\t\tarchiveMimeTypes.includes(mimeType as (typeof archiveMimeTypes)[number])\n\t) {\n\t\treturn 'ARCHIVE';\n\t} else {\n\t\treturn 'OTHER';\n\t}\n};\n\nexport {\n\ttype MimeKind,\n\ttype MimeKindWithSafe,\n\timageMimeTypes,\n\tvideoMimeTypes,\n\taudioMimeTypes,\n\tdocumentMimeTypes,\n\tarchiveMimeTypes,\n\tsafeMimeTypes,\n\tmimeTypeMap,\n\tgetInputAccept,\n\tisAllowedMimeType,\n\tisInlineContentDisposition,\n\tmimeTypeResolver,\n\tinlineContentDispositionMimeTypes,\n};\n"],"names":["imageMimeTypes","videoMimeTypes","audioMimeTypes","documentMimeTypes","archiveMimeTypes","webAssetTypes","safeMimeTypes","mimeTypeMap","getInputAccept","__name","kind","isAllowedMimeType","mimeType","lowerMimeType","inlineContentDispositionMimeTypes","isInlineContentDisposition","mimeTypeResolver","_mimeType"],"mappings":"4FAGA,MAAMA,EAAiB,CACtB,YACA,aACA,aACA,YACA,YACA,gBACA,eACA,aACA,aACA,aACA,aACA,WACD,EAEMC,EAAiB,CACtB,YACA,aACA,YACA,YACA,aACA,kBACA,kBACA,mBACA,cACA,iBACA,eACA,iBACA,iBACA,iBACA,mBACA,qBACD,EAEMC,EAAiB,CACtB,aACA,YACA,YACA,YACA,aACA,YACA,cACA,eACA,cACA,iBACA,iBACA,mBACA,eACA,aACD,EAEMC,EAAoB,CACzB,aACA,WACA,WACA,gBACA,kBACA,aACA,aACA,cACA,WACA,qBACA,kBACA,kBACA,kBACA,qBACA,0EACA,2BACA,oEACA,0CACA,gDACD,EAEMC,EAAmB,CACxB,kBACA,8BACA,+BACA,oBACA,mBACA,sBACA,mBACA,yBACA,wBACA,+BACA,oBACA,qBACA,oBACD,EAEMC,EAAgB,CACrB,YACA,WACA,kBACA,mBACA,kBACA,2BACA,sCACA,0BACA,2BACA,gBACA,cACD,EAEMC,EAAgB,CACrB,GAAGN,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACJ,EASME,EAA2D,CAChE,MAAOP,EACP,MAAOC,EACP,MAAOC,EACP,SAAUC,EACV,QAASC,EACT,KAAME,EACN,MAAO,CAAA,CACR,EAMME,EAAiBC,EAAA,CAACC,EAAyB,SACzCH,EAAYG,CAAI,EAAE,KAAK,GAAG,EADX,kBAIjBC,EAAoBF,EAAA,CACzBG,EACAF,EAAyB,SACZ,CACb,GAAI,CAACE,GAAY,OAAOA,GAAa,SACpC,MAAO,GAGR,MAAMC,EAAgBD,EAAS,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAE3D,OAAOL,EAAYG,CAAI,EAAE,SAASG,CAAa,CAChD,EAX0B,qBAapBC,EAAoC,CACzC,aACA,WACA,mBACA,iBACD,EAEMC,EAA6BN,EAACG,GAA8B,CACjE,MAAMC,EAAgBD,EAAS,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAC3D,OACCE,EAAkC,SACjCD,CAAA,GAEDA,EAAc,WAAW,QAAQ,GACjCA,EAAc,WAAW,QAAQ,GACjCA,EAAc,WAAW,QAAQ,CAEnC,EAVmC,8BAY7BG,EAAmBP,EAACQ,GAAgC,CACzD,MAAML,EAAWK,EAAU,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAEvD,OAAIL,EAAS,WAAW,QAAQ,EACxB,QACGA,EAAS,WAAW,QAAQ,EAC/B,QACGA,EAAS,WAAW,QAAQ,EAC/B,QAEPT,EAAkB,SAASS,CAA8C,EAElE,WAEPR,EAAiB,SAASQ,CAA6C,EAEhE,UAEA,OAET,EApByB"}
@@ -0,0 +1,2 @@
1
+ var f=Object.defineProperty;var a=(e,i)=>f(e,"name",{value:i,configurable:!0});const s=["image/png","image/jpeg","image/webp","image/gif","image/bmp","image/svg+xml","image/x-icon","image/tiff","image/heic","image/avif","image/apng","image/jpg"],p=["video/mp4","video/webm","video/ogg","video/avi","video/mpeg","video/quicktime","video/x-msvideo","video/x-matroska","video/x-flv","video/x-ms-wmv","video/x-mpeg","video/x-ms-asf","video/x-ms-wmx","video/x-ms-wvx","video/x-matroska","video/x-flash-video"],n=["audio/mpeg","audio/wav","audio/ogg","audio/aac","audio/flac","audio/mp3","audio/x-wav","audio/x-aiff","audio/x-m4a","audio/x-ms-wma","audio/x-ms-wax","audio/x-matroska","audio/x-flac","audio/x-aac"],t=["text/plain","text/csv","text/rtf","text/markdown","text/x-markdown","text/x-log","text/x-ini","text/x-yaml","text/xml","application/x-yaml","application/xml","application/rtf","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet"],o=["application/zip","application/x-7z-compressed","application/x-rar-compressed","application/x-tar","application/gzip","application/x-bzip2","application/x-xz","application/x-compress","application/x-archive","application/x-zip-compressed","application/x-rar","application/x-gzip","application/x-bzip"],g=["text/html","text/css","text/javascript","application/json","application/xml","application/x-javascript","application/x-web-app-manifest+json","application/x-font-woff","application/x-font-woff2","image/svg+xml","image/x-icon"],c=[...s,...p,...n,...t,...o,...g],m={IMAGE:s,VIDEO:p,AUDIO:n,DOCUMENT:t,ARCHIVE:o,SAFE:c,OTHER:[]},d=a((e="SAFE")=>m[e].join(","),"getInputAccept"),r=a((e,i="SAFE")=>{if(!e||typeof e!="string")return!1;const u=e.toLowerCase().split(";")[0].trim();return m[i].includes(u)},"isAllowedMimeType"),l=["text/plain","text/xml","application/json","application/pdf"],x=a(e=>{const i=e.toLowerCase().split(";")[0].trim();return l.includes(i)||i.startsWith("image/")||i.startsWith("video/")||i.startsWith("audio/")},"isInlineContentDisposition"),v=a(e=>{const i=e.toLowerCase().split(";")[0].trim();return i.startsWith("image/")?"IMAGE":i.startsWith("video/")?"VIDEO":i.startsWith("audio/")?"AUDIO":t.includes(i)?"DOCUMENT":o.includes(i)?"ARCHIVE":"OTHER"},"mimeTypeResolver");var T=Object.freeze({__proto__:null,archiveMimeTypes:o,audioMimeTypes:n,documentMimeTypes:t,getInputAccept:d,imageMimeTypes:s,inlineContentDispositionMimeTypes:l,isAllowedMimeType:r,isInlineContentDisposition:x,mimeTypeMap:m,mimeTypeResolver:v,safeMimeTypes:c,videoMimeTypes:p});export{n as a,o as b,m as c,t as d,r as e,x as f,d as g,v as h,s as i,l as j,T as m,c as s,p as v};
2
+ //# sourceMappingURL=mime-types-D_K53zgk.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime-types-D_K53zgk.mjs","sources":["../src/utils/mime-types.ts"],"sourcesContent":["type MimeKind = 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'OTHER';\ntype MimeKindWithSafe = MimeKind | 'SAFE';\n\nconst imageMimeTypes = [\n\t'image/png',\n\t'image/jpeg',\n\t'image/webp',\n\t'image/gif',\n\t'image/bmp',\n\t'image/svg+xml',\n\t'image/x-icon',\n\t'image/tiff',\n\t'image/heic',\n\t'image/avif',\n\t'image/apng',\n\t'image/jpg',\n] as const;\n\nconst videoMimeTypes = [\n\t'video/mp4',\n\t'video/webm',\n\t'video/ogg',\n\t'video/avi',\n\t'video/mpeg',\n\t'video/quicktime',\n\t'video/x-msvideo',\n\t'video/x-matroska',\n\t'video/x-flv',\n\t'video/x-ms-wmv',\n\t'video/x-mpeg',\n\t'video/x-ms-asf',\n\t'video/x-ms-wmx',\n\t'video/x-ms-wvx',\n\t'video/x-matroska',\n\t'video/x-flash-video',\n] as const;\n\nconst audioMimeTypes = [\n\t'audio/mpeg',\n\t'audio/wav',\n\t'audio/ogg',\n\t'audio/aac',\n\t'audio/flac',\n\t'audio/mp3',\n\t'audio/x-wav',\n\t'audio/x-aiff',\n\t'audio/x-m4a',\n\t'audio/x-ms-wma',\n\t'audio/x-ms-wax',\n\t'audio/x-matroska',\n\t'audio/x-flac',\n\t'audio/x-aac',\n] as const;\n\nconst documentMimeTypes = [\n\t'text/plain',\n\t'text/csv',\n\t'text/rtf',\n\t'text/markdown',\n\t'text/x-markdown',\n\t'text/x-log',\n\t'text/x-ini',\n\t'text/x-yaml',\n\t'text/xml',\n\t'application/x-yaml',\n\t'application/xml',\n\t'application/rtf',\n\t'application/pdf',\n\t'application/msword',\n\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t'application/vnd.ms-excel',\n\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t'application/vnd.oasis.opendocument.text',\n\t'application/vnd.oasis.opendocument.spreadsheet',\n] as const;\n\nconst archiveMimeTypes = [\n\t'application/zip',\n\t'application/x-7z-compressed',\n\t'application/x-rar-compressed',\n\t'application/x-tar',\n\t'application/gzip',\n\t'application/x-bzip2',\n\t'application/x-xz',\n\t'application/x-compress',\n\t'application/x-archive',\n\t'application/x-zip-compressed',\n\t'application/x-rar',\n\t'application/x-gzip',\n\t'application/x-bzip',\n] as const;\n\nconst webAssetTypes = [\n\t'text/html',\n\t'text/css',\n\t'text/javascript',\n\t'application/json',\n\t'application/xml',\n\t'application/x-javascript',\n\t'application/x-web-app-manifest+json',\n\t'application/x-font-woff',\n\t'application/x-font-woff2',\n\t'image/svg+xml',\n\t'image/x-icon',\n] as const;\n\nconst safeMimeTypes = [\n\t...imageMimeTypes,\n\t...videoMimeTypes,\n\t...audioMimeTypes,\n\t...documentMimeTypes,\n\t...archiveMimeTypes,\n\t...webAssetTypes,\n] as Array<\n\t| (typeof imageMimeTypes)[number]\n\t| (typeof videoMimeTypes)[number]\n\t| (typeof audioMimeTypes)[number]\n\t| (typeof documentMimeTypes)[number]\n\t| (typeof archiveMimeTypes)[number]\n\t| (typeof webAssetTypes)[number]\n>;\n\nconst mimeTypeMap: Record<MimeKindWithSafe, readonly string[]> = {\n\tIMAGE: imageMimeTypes,\n\tVIDEO: videoMimeTypes,\n\tAUDIO: audioMimeTypes,\n\tDOCUMENT: documentMimeTypes,\n\tARCHIVE: archiveMimeTypes,\n\tSAFE: safeMimeTypes,\n\tOTHER: [],\n};\n\n/**\n * Returns a comma-separated accept string for input elements based on the specified kind\n * @param kind The type of MIME kind to get the accept string for\n */\nconst getInputAccept = (kind: MimeKindWithSafe = 'SAFE'): string => {\n\treturn mimeTypeMap[kind].join(',');\n};\n\nconst isAllowedMimeType = (\n\tmimeType: string,\n\tkind: MimeKindWithSafe = 'SAFE'\n): boolean => {\n\tif (!mimeType || typeof mimeType !== 'string') {\n\t\treturn false;\n\t}\n\n\tconst lowerMimeType = mimeType.toLowerCase().split(';')[0].trim();\n\n\treturn mimeTypeMap[kind].includes(lowerMimeType);\n};\n\nconst inlineContentDispositionMimeTypes = [\n\t'text/plain',\n\t'text/xml',\n\t'application/json',\n\t'application/pdf',\n] as const;\n\nconst isInlineContentDisposition = (mimeType: string): boolean => {\n\tconst lowerMimeType = mimeType.toLowerCase().split(';')[0].trim();\n\treturn (\n\t\tinlineContentDispositionMimeTypes.includes(\n\t\t\tlowerMimeType as (typeof inlineContentDispositionMimeTypes)[number]\n\t\t) ||\n\t\tlowerMimeType.startsWith('image/') ||\n\t\tlowerMimeType.startsWith('video/') ||\n\t\tlowerMimeType.startsWith('audio/')\n\t);\n};\n\nconst mimeTypeResolver = (_mimeType: string): MimeKind => {\n\tconst mimeType = _mimeType.toLowerCase().split(';')[0].trim();\n\n\tif (mimeType.startsWith('image/')) {\n\t\treturn 'IMAGE';\n\t} else if (mimeType.startsWith('video/')) {\n\t\treturn 'VIDEO';\n\t} else if (mimeType.startsWith('audio/')) {\n\t\treturn 'AUDIO';\n\t} else if (\n\t\tdocumentMimeTypes.includes(mimeType as (typeof documentMimeTypes)[number])\n\t) {\n\t\treturn 'DOCUMENT';\n\t} else if (\n\t\tarchiveMimeTypes.includes(mimeType as (typeof archiveMimeTypes)[number])\n\t) {\n\t\treturn 'ARCHIVE';\n\t} else {\n\t\treturn 'OTHER';\n\t}\n};\n\nexport {\n\ttype MimeKind,\n\ttype MimeKindWithSafe,\n\timageMimeTypes,\n\tvideoMimeTypes,\n\taudioMimeTypes,\n\tdocumentMimeTypes,\n\tarchiveMimeTypes,\n\tsafeMimeTypes,\n\tmimeTypeMap,\n\tgetInputAccept,\n\tisAllowedMimeType,\n\tisInlineContentDisposition,\n\tmimeTypeResolver,\n\tinlineContentDispositionMimeTypes,\n};\n"],"names":["imageMimeTypes","videoMimeTypes","audioMimeTypes","documentMimeTypes","archiveMimeTypes","webAssetTypes","safeMimeTypes","mimeTypeMap","getInputAccept","__name","kind","isAllowedMimeType","mimeType","lowerMimeType","inlineContentDispositionMimeTypes","isInlineContentDisposition","mimeTypeResolver","_mimeType"],"mappings":"+EAGA,MAAMA,EAAiB,CACtB,YACA,aACA,aACA,YACA,YACA,gBACA,eACA,aACA,aACA,aACA,aACA,WACD,EAEMC,EAAiB,CACtB,YACA,aACA,YACA,YACA,aACA,kBACA,kBACA,mBACA,cACA,iBACA,eACA,iBACA,iBACA,iBACA,mBACA,qBACD,EAEMC,EAAiB,CACtB,aACA,YACA,YACA,YACA,aACA,YACA,cACA,eACA,cACA,iBACA,iBACA,mBACA,eACA,aACD,EAEMC,EAAoB,CACzB,aACA,WACA,WACA,gBACA,kBACA,aACA,aACA,cACA,WACA,qBACA,kBACA,kBACA,kBACA,qBACA,0EACA,2BACA,oEACA,0CACA,gDACD,EAEMC,EAAmB,CACxB,kBACA,8BACA,+BACA,oBACA,mBACA,sBACA,mBACA,yBACA,wBACA,+BACA,oBACA,qBACA,oBACD,EAEMC,EAAgB,CACrB,YACA,WACA,kBACA,mBACA,kBACA,2BACA,sCACA,0BACA,2BACA,gBACA,cACD,EAEMC,EAAgB,CACrB,GAAGN,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACJ,EASME,EAA2D,CAChE,MAAOP,EACP,MAAOC,EACP,MAAOC,EACP,SAAUC,EACV,QAASC,EACT,KAAME,EACN,MAAO,CAAA,CACR,EAMME,EAAiBC,EAAA,CAACC,EAAyB,SACzCH,EAAYG,CAAI,EAAE,KAAK,GAAG,EADX,kBAIjBC,EAAoBF,EAAA,CACzBG,EACAF,EAAyB,SACZ,CACb,GAAI,CAACE,GAAY,OAAOA,GAAa,SACpC,MAAO,GAGR,MAAMC,EAAgBD,EAAS,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAE3D,OAAOL,EAAYG,CAAI,EAAE,SAASG,CAAa,CAChD,EAX0B,qBAapBC,EAAoC,CACzC,aACA,WACA,mBACA,iBACD,EAEMC,EAA6BN,EAACG,GAA8B,CACjE,MAAMC,EAAgBD,EAAS,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAC3D,OACCE,EAAkC,SACjCD,CAAA,GAEDA,EAAc,WAAW,QAAQ,GACjCA,EAAc,WAAW,QAAQ,GACjCA,EAAc,WAAW,QAAQ,CAEnC,EAVmC,8BAY7BG,EAAmBP,EAACQ,GAAgC,CACzD,MAAML,EAAWK,EAAU,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,EAAE,KAAA,EAEvD,OAAIL,EAAS,WAAW,QAAQ,EACxB,QACGA,EAAS,WAAW,QAAQ,EAC/B,QACGA,EAAS,WAAW,QAAQ,EAC/B,QAEPT,EAAkB,SAASS,CAA8C,EAElE,WAEPR,EAAiB,SAASQ,CAA6C,EAEhE,UAEA,OAET,EApByB"}
@@ -0,0 +1,46 @@
1
+ declare const isInt: (n: number) => boolean;
2
+ declare const isFloat: (n: number) => boolean;
3
+ declare const isEven: (n: number) => boolean;
4
+ declare const isOdd: (n: number) => boolean;
5
+ declare const INT32_MAX: number;
6
+ declare const INT32_MIN: number;
7
+ declare const INT64_MAX: bigint;
8
+ declare const INT64_MIN: bigint;
9
+ declare const calculateMean: (values: number[]) => number | null;
10
+ declare const calculateMedian: (values: number[]) => number | null;
11
+ declare const calculateVariance: (values: number[]) => number | null;
12
+ declare const calculateStandardDeviation: (values: number[]) => number | null;
13
+ declare const bigIntSerializationHelper: (_: string, value: unknown) => unknown;
14
+
15
+ declare const numbers_INT32_MAX: typeof INT32_MAX;
16
+ declare const numbers_INT32_MIN: typeof INT32_MIN;
17
+ declare const numbers_INT64_MAX: typeof INT64_MAX;
18
+ declare const numbers_INT64_MIN: typeof INT64_MIN;
19
+ declare const numbers_bigIntSerializationHelper: typeof bigIntSerializationHelper;
20
+ declare const numbers_calculateMean: typeof calculateMean;
21
+ declare const numbers_calculateMedian: typeof calculateMedian;
22
+ declare const numbers_calculateStandardDeviation: typeof calculateStandardDeviation;
23
+ declare const numbers_calculateVariance: typeof calculateVariance;
24
+ declare const numbers_isEven: typeof isEven;
25
+ declare const numbers_isFloat: typeof isFloat;
26
+ declare const numbers_isInt: typeof isInt;
27
+ declare const numbers_isOdd: typeof isOdd;
28
+ declare namespace numbers {
29
+ export {
30
+ numbers_INT32_MAX as INT32_MAX,
31
+ numbers_INT32_MIN as INT32_MIN,
32
+ numbers_INT64_MAX as INT64_MAX,
33
+ numbers_INT64_MIN as INT64_MIN,
34
+ numbers_bigIntSerializationHelper as bigIntSerializationHelper,
35
+ numbers_calculateMean as calculateMean,
36
+ numbers_calculateMedian as calculateMedian,
37
+ numbers_calculateStandardDeviation as calculateStandardDeviation,
38
+ numbers_calculateVariance as calculateVariance,
39
+ numbers_isEven as isEven,
40
+ numbers_isFloat as isFloat,
41
+ numbers_isInt as isInt,
42
+ numbers_isOdd as isOdd,
43
+ };
44
+ }
45
+
46
+ export { INT32_MAX as I, isFloat as a, isEven as b, isOdd as c, INT32_MIN as d, INT64_MAX as e, INT64_MIN as f, calculateMean as g, calculateMedian as h, isInt as i, calculateVariance as j, calculateStandardDeviation as k, bigIntSerializationHelper as l, numbers as n };
@@ -0,0 +1,46 @@
1
+ declare const isInt: (n: number) => boolean;
2
+ declare const isFloat: (n: number) => boolean;
3
+ declare const isEven: (n: number) => boolean;
4
+ declare const isOdd: (n: number) => boolean;
5
+ declare const INT32_MAX: number;
6
+ declare const INT32_MIN: number;
7
+ declare const INT64_MAX: bigint;
8
+ declare const INT64_MIN: bigint;
9
+ declare const calculateMean: (values: number[]) => number | null;
10
+ declare const calculateMedian: (values: number[]) => number | null;
11
+ declare const calculateVariance: (values: number[]) => number | null;
12
+ declare const calculateStandardDeviation: (values: number[]) => number | null;
13
+ declare const bigIntSerializationHelper: (_: string, value: unknown) => unknown;
14
+
15
+ declare const numbers_INT32_MAX: typeof INT32_MAX;
16
+ declare const numbers_INT32_MIN: typeof INT32_MIN;
17
+ declare const numbers_INT64_MAX: typeof INT64_MAX;
18
+ declare const numbers_INT64_MIN: typeof INT64_MIN;
19
+ declare const numbers_bigIntSerializationHelper: typeof bigIntSerializationHelper;
20
+ declare const numbers_calculateMean: typeof calculateMean;
21
+ declare const numbers_calculateMedian: typeof calculateMedian;
22
+ declare const numbers_calculateStandardDeviation: typeof calculateStandardDeviation;
23
+ declare const numbers_calculateVariance: typeof calculateVariance;
24
+ declare const numbers_isEven: typeof isEven;
25
+ declare const numbers_isFloat: typeof isFloat;
26
+ declare const numbers_isInt: typeof isInt;
27
+ declare const numbers_isOdd: typeof isOdd;
28
+ declare namespace numbers {
29
+ export {
30
+ numbers_INT32_MAX as INT32_MAX,
31
+ numbers_INT32_MIN as INT32_MIN,
32
+ numbers_INT64_MAX as INT64_MAX,
33
+ numbers_INT64_MIN as INT64_MIN,
34
+ numbers_bigIntSerializationHelper as bigIntSerializationHelper,
35
+ numbers_calculateMean as calculateMean,
36
+ numbers_calculateMedian as calculateMedian,
37
+ numbers_calculateStandardDeviation as calculateStandardDeviation,
38
+ numbers_calculateVariance as calculateVariance,
39
+ numbers_isEven as isEven,
40
+ numbers_isFloat as isFloat,
41
+ numbers_isInt as isInt,
42
+ numbers_isOdd as isOdd,
43
+ };
44
+ }
45
+
46
+ export { INT32_MAX as I, isFloat as a, isEven as b, isOdd as c, INT32_MIN as d, INT64_MAX as e, INT64_MIN as f, calculateMean as g, calculateMedian as h, isInt as i, calculateVariance as j, calculateStandardDeviation as k, bigIntSerializationHelper as l, numbers as n };
@@ -0,0 +1,2 @@
1
+ var h=Object.defineProperty;var e=(n,t)=>h(n,"name",{value:t,configurable:!0});const o=e(n=>Number.isInteger(n),"isInt"),I=e(n=>!o(n),"isFloat"),l=e(n=>n%2===0,"isEven"),g=e(n=>n%2!==0,"isOdd"),d=2**31-1,N=-2147483648,f=BigInt(2)**BigInt(63)-BigInt(1),M=-(BigInt(2)**BigInt(63)),s=e(n=>n.length===0?null:n.reduce((c,a)=>c+a,0)/n.length,"calculateMean"),_=e(n=>{if(n.length===0)return null;const t=[...n].sort((a,i)=>a-i),r=Math.floor(t.length/2);if(l(t.length)){const a=t[r],i=t[r-1];return(a+i)/2}else return t.length===1?t[0]:t[r]},"calculateMedian"),u=e(n=>{if(n.length===0)return null;const t=s(n);if(typeof t!="number")return null;const r=n.map(a=>(a-t)**2);return s(r)},"calculateVariance"),m=e(n=>{const t=u(n);return typeof t!="number"?null:Math.sqrt(t)},"calculateStandardDeviation"),b=e((n,t)=>typeof t=="bigint"?t>BigInt(Number.MAX_SAFE_INTEGER)?t.toString():Number(t):t,"bigIntSerializationHelper");var T=Object.freeze({__proto__:null,INT32_MAX:d,INT32_MIN:N,INT64_MAX:f,INT64_MIN:M,bigIntSerializationHelper:b,calculateMean:s,calculateMedian:_,calculateStandardDeviation:m,calculateVariance:u,isEven:l,isFloat:I,isInt:o,isOdd:g});export{d as I,I as a,l as b,g as c,N as d,f as e,M as f,s as g,_ as h,o as i,u as j,m as k,b as l,T as n};
2
+ //# sourceMappingURL=numbers-Bx9JTSQe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers-Bx9JTSQe.mjs","sources":["../src/utils/numbers.ts"],"sourcesContent":["const isInt = (n: number): boolean => Number.isInteger(n);\nconst isFloat = (n: number): boolean => !isInt(n);\nconst isEven = (n: number): boolean => n % 2 === 0;\nconst isOdd = (n: number): boolean => n % 2 !== 0;\n\nconst INT32_MAX: number = 2 ** 31 - 1;\nconst INT32_MIN: number = -(2 ** 31);\nconst INT64_MAX: bigint = BigInt(2) ** BigInt(63) - BigInt(1);\nconst INT64_MIN: bigint = -(BigInt(2) ** BigInt(63));\n\nconst calculateMean = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst sum = values.reduce((a, b) => a + b, 0);\n\tconst average = sum / values.length;\n\treturn average;\n};\n\nconst calculateMedian = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst sorted = [...values].sort((a, b) => a - b);\n\tconst middleIndex = Math.floor(sorted.length / 2);\n\tconst isEvenLength = isEven(sorted.length);\n\tif (isEvenLength) {\n\t\tconst a = sorted[middleIndex] as number;\n\t\tconst b = sorted[middleIndex - 1] as number;\n\t\tconst average = (a + b) / 2;\n\t\treturn average;\n\t} else {\n\t\tif (sorted.length === 1) return sorted[0] as number;\n\t\tconst median = sorted[middleIndex] as number;\n\t\treturn median;\n\t}\n};\n\nconst calculateVariance = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst mean = calculateMean(values);\n\tif (typeof mean !== 'number') return null;\n\tconst squaredDifferences = values.map((value) => (value - mean) ** 2);\n\tconst variance = calculateMean(squaredDifferences);\n\treturn variance;\n};\n\nconst calculateStandardDeviation = (values: number[]): number | null => {\n\tconst variance = calculateVariance(values);\n\tif (typeof variance !== 'number') return null;\n\treturn Math.sqrt(variance);\n};\n\nconst bigIntSerializationHelper = (_: string, value: unknown): unknown =>\n\ttypeof value === 'bigint'\n\t\t? value > BigInt(Number.MAX_SAFE_INTEGER)\n\t\t\t? value.toString() // Convert large bigints to strings\n\t\t\t: Number(value) // Convert small/safe bigints to numbers\n\t\t: value; // Return other values as is\n\nexport {\n\tisInt,\n\tisFloat,\n\tisEven,\n\tisOdd,\n\tINT32_MAX,\n\tINT32_MIN,\n\tINT64_MAX,\n\tINT64_MIN,\n\tcalculateMean,\n\tcalculateMedian,\n\tcalculateVariance,\n\tcalculateStandardDeviation,\n\tbigIntSerializationHelper,\n};\n"],"names":["isInt","__name","isFloat","isEven","isOdd","INT32_MAX","INT32_MIN","INT64_MAX","INT64_MIN","calculateMean","values","a","b","calculateMedian","sorted","middleIndex","calculateVariance","mean","squaredDifferences","value","calculateStandardDeviation","variance","bigIntSerializationHelper","_"],"mappings":"+EAAA,MAAMA,EAAQC,EAAC,GAAuB,OAAO,UAAU,CAAC,EAA1C,SACRC,EAAUD,EAAC,GAAuB,CAACD,EAAM,CAAC,EAAhC,WACVG,EAASF,EAAC,GAAuB,EAAI,IAAM,EAAlC,UACTG,EAAQH,EAAC,GAAuB,EAAI,IAAM,EAAlC,SAERI,EAAoB,GAAK,GAAK,EAC9BC,EAAoB,YACpBC,EAAoB,OAAO,CAAC,GAAK,OAAO,EAAE,EAAI,OAAO,CAAC,EACtDC,EAAoB,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,GAE5CC,EAAgBR,EAACS,GAClBA,EAAO,SAAW,EAAU,KACpBA,EAAO,OAAO,CAACC,EAAGC,IAAMD,EAAIC,EAAG,CAAC,EACtBF,EAAO,OAHR,iBAOhBG,EAAkBZ,EAACS,GAAoC,CAC5D,GAAIA,EAAO,SAAW,EAAG,OAAO,KAChC,MAAMI,EAAS,CAAC,GAAGJ,CAAM,EAAE,KAAK,CAAC,EAAGE,IAAM,EAAIA,CAAC,EACzCG,EAAc,KAAK,MAAMD,EAAO,OAAS,CAAC,EAEhD,GADqBX,EAAOW,EAAO,MAAM,EACvB,CACjB,MAAM,EAAIA,EAAOC,CAAW,EACtBH,EAAIE,EAAOC,EAAc,CAAC,EAEhC,OADiB,EAAIH,GAAK,CAE3B,KACC,QAAIE,EAAO,SAAW,EAAUA,EAAO,CAAC,EACzBA,EAAOC,CAAW,CAGnC,EAfwB,mBAiBlBC,EAAoBf,EAACS,GAAoC,CAC9D,GAAIA,EAAO,SAAW,EAAG,OAAO,KAChC,MAAMO,EAAOR,EAAcC,CAAM,EACjC,GAAI,OAAOO,GAAS,SAAU,OAAO,KACrC,MAAMC,EAAqBR,EAAO,IAAKS,IAAWA,EAAQF,IAAS,CAAC,EAEpE,OADiBR,EAAcS,CAAkB,CAElD,EAP0B,qBASpBE,EAA6BnB,EAACS,GAAoC,CACvE,MAAMW,EAAWL,EAAkBN,CAAM,EACzC,OAAI,OAAOW,GAAa,SAAiB,KAClC,KAAK,KAAKA,CAAQ,CAC1B,EAJmC,8BAM7BC,EAA4BrB,EAAA,CAACsB,EAAWJ,IAC7C,OAAOA,GAAU,SACdA,EAAQ,OAAO,OAAO,gBAAgB,EACrCA,EAAM,WACN,OAAOA,CAAK,EACbA,EAL8B"}
@@ -0,0 +1,2 @@
1
+ "use strict";var T=Object.defineProperty;var e=(n,t)=>T(n,"name",{value:t,configurable:!0});const l=e(n=>Number.isInteger(n),"isInt"),u=e(n=>!l(n),"isFloat"),o=e(n=>n%2===0,"isEven"),g=e(n=>n%2!==0,"isOdd"),d=2**31-1,N=-2147483648,M=BigInt(2)**BigInt(63)-BigInt(1),_=-(BigInt(2)**BigInt(63)),r=e(n=>n.length===0?null:n.reduce((c,a)=>c+a,0)/n.length,"calculateMean"),f=e(n=>{if(n.length===0)return null;const t=[...n].sort((a,s)=>a-s),i=Math.floor(t.length/2);if(o(t.length)){const a=t[i],s=t[i-1];return(a+s)/2}else return t.length===1?t[0]:t[i]},"calculateMedian"),I=e(n=>{if(n.length===0)return null;const t=r(n);if(typeof t!="number")return null;const i=n.map(a=>(a-t)**2);return r(i)},"calculateVariance"),m=e(n=>{const t=I(n);return typeof t!="number"?null:Math.sqrt(t)},"calculateStandardDeviation"),b=e((n,t)=>typeof t=="bigint"?t>BigInt(Number.MAX_SAFE_INTEGER)?t.toString():Number(t):t,"bigIntSerializationHelper");var h=Object.freeze({__proto__:null,INT32_MAX:d,INT32_MIN:N,INT64_MAX:M,INT64_MIN:_,bigIntSerializationHelper:b,calculateMean:r,calculateMedian:f,calculateStandardDeviation:m,calculateVariance:I,isEven:o,isFloat:u,isInt:l,isOdd:g});exports.INT32_MAX=d,exports.INT32_MIN=N,exports.INT64_MAX=M,exports.INT64_MIN=_,exports.bigIntSerializationHelper=b,exports.calculateMean=r,exports.calculateMedian=f,exports.calculateStandardDeviation=m,exports.calculateVariance=I,exports.isEven=o,exports.isFloat=u,exports.isInt=l,exports.isOdd=g,exports.numbers=h;
2
+ //# sourceMappingURL=numbers-DuVx9Qiu.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers-DuVx9Qiu.cjs","sources":["../src/utils/numbers.ts"],"sourcesContent":["const isInt = (n: number): boolean => Number.isInteger(n);\nconst isFloat = (n: number): boolean => !isInt(n);\nconst isEven = (n: number): boolean => n % 2 === 0;\nconst isOdd = (n: number): boolean => n % 2 !== 0;\n\nconst INT32_MAX: number = 2 ** 31 - 1;\nconst INT32_MIN: number = -(2 ** 31);\nconst INT64_MAX: bigint = BigInt(2) ** BigInt(63) - BigInt(1);\nconst INT64_MIN: bigint = -(BigInt(2) ** BigInt(63));\n\nconst calculateMean = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst sum = values.reduce((a, b) => a + b, 0);\n\tconst average = sum / values.length;\n\treturn average;\n};\n\nconst calculateMedian = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst sorted = [...values].sort((a, b) => a - b);\n\tconst middleIndex = Math.floor(sorted.length / 2);\n\tconst isEvenLength = isEven(sorted.length);\n\tif (isEvenLength) {\n\t\tconst a = sorted[middleIndex] as number;\n\t\tconst b = sorted[middleIndex - 1] as number;\n\t\tconst average = (a + b) / 2;\n\t\treturn average;\n\t} else {\n\t\tif (sorted.length === 1) return sorted[0] as number;\n\t\tconst median = sorted[middleIndex] as number;\n\t\treturn median;\n\t}\n};\n\nconst calculateVariance = (values: number[]): number | null => {\n\tif (values.length === 0) return null;\n\tconst mean = calculateMean(values);\n\tif (typeof mean !== 'number') return null;\n\tconst squaredDifferences = values.map((value) => (value - mean) ** 2);\n\tconst variance = calculateMean(squaredDifferences);\n\treturn variance;\n};\n\nconst calculateStandardDeviation = (values: number[]): number | null => {\n\tconst variance = calculateVariance(values);\n\tif (typeof variance !== 'number') return null;\n\treturn Math.sqrt(variance);\n};\n\nconst bigIntSerializationHelper = (_: string, value: unknown): unknown =>\n\ttypeof value === 'bigint'\n\t\t? value > BigInt(Number.MAX_SAFE_INTEGER)\n\t\t\t? value.toString() // Convert large bigints to strings\n\t\t\t: Number(value) // Convert small/safe bigints to numbers\n\t\t: value; // Return other values as is\n\nexport {\n\tisInt,\n\tisFloat,\n\tisEven,\n\tisOdd,\n\tINT32_MAX,\n\tINT32_MIN,\n\tINT64_MAX,\n\tINT64_MIN,\n\tcalculateMean,\n\tcalculateMedian,\n\tcalculateVariance,\n\tcalculateStandardDeviation,\n\tbigIntSerializationHelper,\n};\n"],"names":["isInt","__name","isFloat","isEven","isOdd","INT32_MAX","INT32_MIN","INT64_MAX","INT64_MIN","calculateMean","values","a","b","calculateMedian","sorted","middleIndex","calculateVariance","mean","squaredDifferences","value","calculateStandardDeviation","variance","bigIntSerializationHelper","_"],"mappings":"4FAAA,MAAMA,EAAQC,EAAC,GAAuB,OAAO,UAAU,CAAC,EAA1C,SACRC,EAAUD,EAAC,GAAuB,CAACD,EAAM,CAAC,EAAhC,WACVG,EAASF,EAAC,GAAuB,EAAI,IAAM,EAAlC,UACTG,EAAQH,EAAC,GAAuB,EAAI,IAAM,EAAlC,SAERI,EAAoB,GAAK,GAAK,EAC9BC,EAAoB,YACpBC,EAAoB,OAAO,CAAC,GAAK,OAAO,EAAE,EAAI,OAAO,CAAC,EACtDC,EAAoB,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,GAE5CC,EAAgBR,EAACS,GAClBA,EAAO,SAAW,EAAU,KACpBA,EAAO,OAAO,CAACC,EAAGC,IAAMD,EAAIC,EAAG,CAAC,EACtBF,EAAO,OAHR,iBAOhBG,EAAkBZ,EAACS,GAAoC,CAC5D,GAAIA,EAAO,SAAW,EAAG,OAAO,KAChC,MAAMI,EAAS,CAAC,GAAGJ,CAAM,EAAE,KAAK,CAAC,EAAGE,IAAM,EAAIA,CAAC,EACzCG,EAAc,KAAK,MAAMD,EAAO,OAAS,CAAC,EAEhD,GADqBX,EAAOW,EAAO,MAAM,EACvB,CACjB,MAAM,EAAIA,EAAOC,CAAW,EACtBH,EAAIE,EAAOC,EAAc,CAAC,EAEhC,OADiB,EAAIH,GAAK,CAE3B,KACC,QAAIE,EAAO,SAAW,EAAUA,EAAO,CAAC,EACzBA,EAAOC,CAAW,CAGnC,EAfwB,mBAiBlBC,EAAoBf,EAACS,GAAoC,CAC9D,GAAIA,EAAO,SAAW,EAAG,OAAO,KAChC,MAAMO,EAAOR,EAAcC,CAAM,EACjC,GAAI,OAAOO,GAAS,SAAU,OAAO,KACrC,MAAMC,EAAqBR,EAAO,IAAKS,IAAWA,EAAQF,IAAS,CAAC,EAEpE,OADiBR,EAAcS,CAAkB,CAElD,EAP0B,qBASpBE,EAA6BnB,EAACS,GAAoC,CACvE,MAAMW,EAAWL,EAAkBN,CAAM,EACzC,OAAI,OAAOW,GAAa,SAAiB,KAClC,KAAK,KAAKA,CAAQ,CAC1B,EAJmC,8BAM7BC,EAA4BrB,EAAA,CAACsB,EAAWJ,IAC7C,OAAOA,GAAU,SACdA,EAAQ,OAAO,OAAO,gBAAgB,EACrCA,EAAM,WACN,OAAOA,CAAK,EACbA,EAL8B"}
@@ -0,0 +1,2 @@
1
+ var p=Object.defineProperty;var o=(e,t)=>p(e,"name",{value:t,configurable:!0});const c=o(e=>typeof e=="object"&&e!==null,"isObject"),u=o(e=>c(e)&&Object.keys(e).length===0,"isEmptyObject"),i=o(e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(t=>i(t));if(e instanceof Object){const t={};for(const n in e)Object.hasOwn(e,n)&&(t[n]=i(e[n]));return t}return e},"deepClone"),f=o((...e)=>{const t={};for(const n of e)if(c(n))for(const r in n){if(!Object.hasOwn(n,r))continue;const s=n[r],a=t[r];c(s)&&c(a)?t[r]=f(a,s):t[r]=s}return t},"deepMerge"),l=o((e,t,n=".")=>{const r=t.split(n);let s=e;for(const a of r){if(!c(s))return;s=s[a]}return s},"getNestedValue");var y=Object.freeze({__proto__:null,deepClone:i,deepMerge:f,getNestedValue:l,isEmptyObject:u,isObject:c});export{u as a,f as b,i as d,l as g,c as i,y as o};
2
+ //# sourceMappingURL=objects--cO_X3EV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects--cO_X3EV.mjs","sources":["../src/utils/objects.ts"],"sourcesContent":["type GenericObject = Record<string, unknown>;\ntype ObjectChange = {\n\tpath: string[];\n\tpreviousValue: unknown;\n\tnewValue: unknown;\n};\n\nconst isObject = (item: unknown): item is GenericObject =>\n\ttypeof item === 'object' && item !== null;\n\nconst isEmptyObject = (item: unknown): item is GenericObject =>\n\tisObject(item) && Object.keys(item).length === 0;\n\nconst deepClone = <T>(obj: T): T => {\n\tif (obj === null || typeof obj !== 'object') return obj;\n\tif (obj instanceof Date) return new Date(obj.getTime()) as unknown as T;\n\tif (Array.isArray(obj)) {\n\t\treturn obj.map((item) => deepClone(item)) as unknown as T;\n\t}\n\tif (obj instanceof Object) {\n\t\tconst cloned = {} as T;\n\t\tfor (const key in obj) {\n\t\t\tif (Object.hasOwn(obj, key)) {\n\t\t\t\tcloned[key] = deepClone(obj[key]);\n\t\t\t}\n\t\t}\n\t\treturn cloned;\n\t}\n\treturn obj;\n};\n\nconst deepMerge = <T extends GenericObject>(...objects: T[]): T => {\n\tconst result = {} as T;\n\n\tfor (const obj of objects) {\n\t\tif (!isObject(obj)) continue;\n\n\t\tfor (const key in obj) {\n\t\t\tif (!Object.hasOwn(obj, key)) continue;\n\n\t\t\tconst sourceValue = obj[key];\n\t\t\tconst targetValue = result[key];\n\n\t\t\tif (isObject(sourceValue) && isObject(targetValue)) {\n\t\t\t\tresult[key] = deepMerge(targetValue, sourceValue) as T[Extract<\n\t\t\t\t\tkeyof T,\n\t\t\t\t\tstring\n\t\t\t\t>];\n\t\t\t} else {\n\t\t\t\tresult[key] = sourceValue as T[Extract<keyof T, string>];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst getNestedValue = <T = unknown>(\n\tobj: GenericObject,\n\tpath: string,\n\tdelimiter = '.'\n): T | undefined => {\n\tconst keys = path.split(delimiter);\n\tlet current: unknown = obj;\n\n\tfor (const key of keys) {\n\t\tif (!isObject(current)) return undefined;\n\t\tcurrent = current[key];\n\t}\n\n\treturn current as T;\n};\n\nexport {\n\tisObject,\n\tisEmptyObject,\n\tdeepClone,\n\tdeepMerge,\n\tgetNestedValue,\n\ttype GenericObject,\n\ttype ObjectChange,\n};\n"],"names":["isObject","__name","item","isEmptyObject","deepClone","obj","cloned","key","deepMerge","objects","result","sourceValue","targetValue","getNestedValue","path","delimiter","keys","current"],"mappings":"+EAOA,MAAMA,EAAWC,EAACC,GACjB,OAAOA,GAAS,UAAYA,IAAS,KADrB,YAGXC,EAAgBF,EAACC,GACtBF,EAASE,CAAI,GAAK,OAAO,KAAKA,CAAI,EAAE,SAAW,EAD1B,iBAGhBE,EAAYH,EAAII,GAAc,CACnC,GAAIA,IAAQ,MAAQ,OAAOA,GAAQ,SAAU,OAAOA,EACpD,GAAIA,aAAe,KAAM,OAAO,IAAI,KAAKA,EAAI,SAAS,EACtD,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOA,EAAI,IAAKH,GAASE,EAAUF,CAAI,CAAC,EAEzC,GAAIG,aAAe,OAAQ,CAC1B,MAAMC,EAAS,CAAA,EACf,UAAWC,KAAOF,EACb,OAAO,OAAOA,EAAKE,CAAG,IACzBD,EAAOC,CAAG,EAAIH,EAAUC,EAAIE,CAAG,CAAC,GAGlC,OAAOD,CACR,CACA,OAAOD,CACR,EAhBkB,aAkBZG,EAAYP,EAAA,IAA6BQ,IAAoB,CAClE,MAAMC,EAAS,CAAA,EAEf,UAAWL,KAAOI,EACjB,GAAKT,EAASK,CAAG,EAEjB,UAAWE,KAAOF,EAAK,CACtB,GAAI,CAAC,OAAO,OAAOA,EAAKE,CAAG,EAAG,SAE9B,MAAMI,EAAcN,EAAIE,CAAG,EACrBK,EAAcF,EAAOH,CAAG,EAE1BP,EAASW,CAAW,GAAKX,EAASY,CAAW,EAChDF,EAAOH,CAAG,EAAIC,EAAUI,EAAaD,CAAW,EAKhDD,EAAOH,CAAG,EAAII,CAEhB,CAGD,OAAOD,CACR,EAxBkB,aA0BZG,EAAiBZ,EAAA,CACtBI,EACAS,EACAC,EAAY,MACO,CACnB,MAAMC,EAAOF,EAAK,MAAMC,CAAS,EACjC,IAAIE,EAAmBZ,EAEvB,UAAWE,KAAOS,EAAM,CACvB,GAAI,CAAChB,EAASiB,CAAO,EAAG,OACxBA,EAAUA,EAAQV,CAAG,CACtB,CAEA,OAAOU,CACR,EAduB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var o=(e,t)=>p(e,"name",{value:t,configurable:!0});const r=o(e=>typeof e=="object"&&e!==null,"isObject"),l=o(e=>r(e)&&Object.keys(e).length===0,"isEmptyObject"),u=o(e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(t=>u(t));if(e instanceof Object){const t={};for(const n in e)Object.hasOwn(e,n)&&(t[n]=u(e[n]));return t}return e},"deepClone"),f=o((...e)=>{const t={};for(const n of e)if(r(n))for(const c in n){if(!Object.hasOwn(n,c))continue;const s=n[c],i=t[c];r(s)&&r(i)?t[c]=f(i,s):t[c]=s}return t},"deepMerge"),a=o((e,t,n=".")=>{const c=t.split(n);let s=e;for(const i of c){if(!r(s))return;s=s[i]}return s},"getNestedValue");var O=Object.freeze({__proto__:null,deepClone:u,deepMerge:f,getNestedValue:a,isEmptyObject:l,isObject:r});exports.deepClone=u,exports.deepMerge=f,exports.getNestedValue=a,exports.isEmptyObject=l,exports.isObject=r,exports.objects=O;
2
+ //# sourceMappingURL=objects-CnGoVkh6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects-CnGoVkh6.cjs","sources":["../src/utils/objects.ts"],"sourcesContent":["type GenericObject = Record<string, unknown>;\ntype ObjectChange = {\n\tpath: string[];\n\tpreviousValue: unknown;\n\tnewValue: unknown;\n};\n\nconst isObject = (item: unknown): item is GenericObject =>\n\ttypeof item === 'object' && item !== null;\n\nconst isEmptyObject = (item: unknown): item is GenericObject =>\n\tisObject(item) && Object.keys(item).length === 0;\n\nconst deepClone = <T>(obj: T): T => {\n\tif (obj === null || typeof obj !== 'object') return obj;\n\tif (obj instanceof Date) return new Date(obj.getTime()) as unknown as T;\n\tif (Array.isArray(obj)) {\n\t\treturn obj.map((item) => deepClone(item)) as unknown as T;\n\t}\n\tif (obj instanceof Object) {\n\t\tconst cloned = {} as T;\n\t\tfor (const key in obj) {\n\t\t\tif (Object.hasOwn(obj, key)) {\n\t\t\t\tcloned[key] = deepClone(obj[key]);\n\t\t\t}\n\t\t}\n\t\treturn cloned;\n\t}\n\treturn obj;\n};\n\nconst deepMerge = <T extends GenericObject>(...objects: T[]): T => {\n\tconst result = {} as T;\n\n\tfor (const obj of objects) {\n\t\tif (!isObject(obj)) continue;\n\n\t\tfor (const key in obj) {\n\t\t\tif (!Object.hasOwn(obj, key)) continue;\n\n\t\t\tconst sourceValue = obj[key];\n\t\t\tconst targetValue = result[key];\n\n\t\t\tif (isObject(sourceValue) && isObject(targetValue)) {\n\t\t\t\tresult[key] = deepMerge(targetValue, sourceValue) as T[Extract<\n\t\t\t\t\tkeyof T,\n\t\t\t\t\tstring\n\t\t\t\t>];\n\t\t\t} else {\n\t\t\t\tresult[key] = sourceValue as T[Extract<keyof T, string>];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst getNestedValue = <T = unknown>(\n\tobj: GenericObject,\n\tpath: string,\n\tdelimiter = '.'\n): T | undefined => {\n\tconst keys = path.split(delimiter);\n\tlet current: unknown = obj;\n\n\tfor (const key of keys) {\n\t\tif (!isObject(current)) return undefined;\n\t\tcurrent = current[key];\n\t}\n\n\treturn current as T;\n};\n\nexport {\n\tisObject,\n\tisEmptyObject,\n\tdeepClone,\n\tdeepMerge,\n\tgetNestedValue,\n\ttype GenericObject,\n\ttype ObjectChange,\n};\n"],"names":["isObject","__name","item","isEmptyObject","deepClone","obj","cloned","key","deepMerge","objects","result","sourceValue","targetValue","getNestedValue","path","delimiter","keys","current"],"mappings":"4FAOA,MAAMA,EAAWC,EAACC,GACjB,OAAOA,GAAS,UAAYA,IAAS,KADrB,YAGXC,EAAgBF,EAACC,GACtBF,EAASE,CAAI,GAAK,OAAO,KAAKA,CAAI,EAAE,SAAW,EAD1B,iBAGhBE,EAAYH,EAAII,GAAc,CACnC,GAAIA,IAAQ,MAAQ,OAAOA,GAAQ,SAAU,OAAOA,EACpD,GAAIA,aAAe,KAAM,OAAO,IAAI,KAAKA,EAAI,SAAS,EACtD,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOA,EAAI,IAAKH,GAASE,EAAUF,CAAI,CAAC,EAEzC,GAAIG,aAAe,OAAQ,CAC1B,MAAMC,EAAS,CAAA,EACf,UAAWC,KAAOF,EACb,OAAO,OAAOA,EAAKE,CAAG,IACzBD,EAAOC,CAAG,EAAIH,EAAUC,EAAIE,CAAG,CAAC,GAGlC,OAAOD,CACR,CACA,OAAOD,CACR,EAhBkB,aAkBZG,EAAYP,EAAA,IAA6BQ,IAAoB,CAClE,MAAMC,EAAS,CAAA,EAEf,UAAWL,KAAOI,EACjB,GAAKT,EAASK,CAAG,EAEjB,UAAWE,KAAOF,EAAK,CACtB,GAAI,CAAC,OAAO,OAAOA,EAAKE,CAAG,EAAG,SAE9B,MAAMI,EAAcN,EAAIE,CAAG,EACrBK,EAAcF,EAAOH,CAAG,EAE1BP,EAASW,CAAW,GAAKX,EAASY,CAAW,EAChDF,EAAOH,CAAG,EAAIC,EAAUI,EAAaD,CAAW,EAKhDD,EAAOH,CAAG,EAAII,CAEhB,CAGD,OAAOD,CACR,EAxBkB,aA0BZG,EAAiBZ,EAAA,CACtBI,EACAS,EACAC,EAAY,MACO,CACnB,MAAMC,EAAOF,EAAK,MAAMC,CAAS,EACjC,IAAIE,EAAmBZ,EAEvB,UAAWE,KAAOS,EAAM,CACvB,GAAI,CAAChB,EAASiB,CAAO,EAAG,OACxBA,EAAUA,EAAQV,CAAG,CACtB,CAEA,OAAOU,CACR,EAduB"}
@@ -0,0 +1,26 @@
1
+ type GenericObject = Record<string, unknown>;
2
+ type ObjectChange = {
3
+ path: string[];
4
+ previousValue: unknown;
5
+ newValue: unknown;
6
+ };
7
+ declare const isObject: (item: unknown) => item is GenericObject;
8
+ declare const isEmptyObject: (item: unknown) => item is GenericObject;
9
+ declare const deepClone: <T>(obj: T) => T;
10
+ declare const deepMerge: <T extends GenericObject>(...objects: T[]) => T;
11
+ declare const getNestedValue: <T = unknown>(obj: GenericObject, path: string, delimiter?: string) => T | undefined;
12
+
13
+ type objects_GenericObject = GenericObject;
14
+ type objects_ObjectChange = ObjectChange;
15
+ declare const objects_deepClone: typeof deepClone;
16
+ declare const objects_deepMerge: typeof deepMerge;
17
+ declare const objects_getNestedValue: typeof getNestedValue;
18
+ declare const objects_isEmptyObject: typeof isEmptyObject;
19
+ declare const objects_isObject: typeof isObject;
20
+ declare namespace objects {
21
+ export { objects_deepClone as deepClone, objects_deepMerge as deepMerge, objects_getNestedValue as getNestedValue, objects_isEmptyObject as isEmptyObject, objects_isObject as isObject };
22
+ export type { objects_GenericObject as GenericObject, objects_ObjectChange as ObjectChange };
23
+ }
24
+
25
+ export { isEmptyObject as a, deepMerge as b, deepClone as d, getNestedValue as g, isObject as i, objects as o };
26
+ export type { GenericObject as G, ObjectChange as O };
@@ -0,0 +1,26 @@
1
+ type GenericObject = Record<string, unknown>;
2
+ type ObjectChange = {
3
+ path: string[];
4
+ previousValue: unknown;
5
+ newValue: unknown;
6
+ };
7
+ declare const isObject: (item: unknown) => item is GenericObject;
8
+ declare const isEmptyObject: (item: unknown) => item is GenericObject;
9
+ declare const deepClone: <T>(obj: T) => T;
10
+ declare const deepMerge: <T extends GenericObject>(...objects: T[]) => T;
11
+ declare const getNestedValue: <T = unknown>(obj: GenericObject, path: string, delimiter?: string) => T | undefined;
12
+
13
+ type objects_GenericObject = GenericObject;
14
+ type objects_ObjectChange = ObjectChange;
15
+ declare const objects_deepClone: typeof deepClone;
16
+ declare const objects_deepMerge: typeof deepMerge;
17
+ declare const objects_getNestedValue: typeof getNestedValue;
18
+ declare const objects_isEmptyObject: typeof isEmptyObject;
19
+ declare const objects_isObject: typeof isObject;
20
+ declare namespace objects {
21
+ export { objects_deepClone as deepClone, objects_deepMerge as deepMerge, objects_getNestedValue as getNestedValue, objects_isEmptyObject as isEmptyObject, objects_isObject as isObject };
22
+ export type { objects_GenericObject as GenericObject, objects_ObjectChange as ObjectChange };
23
+ }
24
+
25
+ export { isEmptyObject as a, deepMerge as b, deepClone as d, getNestedValue as g, isObject as i, objects as o };
26
+ export type { GenericObject as G, ObjectChange as O };
@@ -0,0 +1,2 @@
1
+ "use strict";var h=Object.defineProperty;var a=(o,r)=>h(o,"name",{value:r,configurable:!0});const t=a((o,r)=>Math.floor(Math.random()*(r-o+1))+o,"randomInt"),d=a((o,r)=>Math.random()*(r-o)+o,"randomFloat"),n=a(o=>o[Math.floor(Math.random()*o.length)],"randomItem"),s=a(o=>n(Object.keys(o)),"randomKey"),l=a(o=>n(Array.isArray(o)?o:Object.values(o)),"randomValue"),c=a(()=>Math.random()<.5,"randomBoolean"),u=a((o,r)=>{const m=typeof r=="string"?r:a(e=>[e.useUppercase?"ABCDEFGHIJKLMNOPQRSTUVWXYZ":"",e.useLowercase?"abcdefghijklmnopqrstuvwxyz":"",e.useNumeric?"0123456789":""].join(""),"resolveCharactersFromOptions")(r??{});return Array.from({length:o}).map(()=>m.charAt(t(0,m.length-1))).join("")},"randomString");var y=Object.freeze({__proto__:null,randomBoolean:c,randomFloat:d,randomInt:t,randomItem:n,randomKey:s,randomString:u,randomValue:l});exports.random=y,exports.randomBoolean=c,exports.randomFloat=d,exports.randomInt=t,exports.randomItem=n,exports.randomKey=s,exports.randomString=u,exports.randomValue=l;
2
+ //# sourceMappingURL=random-D1e1NTOt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-D1e1NTOt.cjs","sources":["../src/utils/random.ts"],"sourcesContent":["const randomInt = (min: number, max: number): number =>\n\tMath.floor(Math.random() * (max - min + 1)) + min;\n\nconst randomFloat = (min: number, max: number): number =>\n\tMath.random() * (max - min) + min;\n\nconst randomItem = <T>(items: T[]): T | undefined =>\n\titems[Math.floor(Math.random() * items.length)];\n\nconst randomKey = <T>(items: Record<string, T> | T[]): string | undefined =>\n\trandomItem(Object.keys(items));\n\nconst randomValue = <T>(items: Record<string, T> | T[]): T | undefined =>\n\trandomItem(Array.isArray(items) ? items : Object.values(items));\n\nconst randomBoolean = (): boolean => Math.random() < 0.5;\n\nconst randomString = (\n\tlength: number,\n\tcharacters?: string | RandomStringOptions\n): string => {\n\tconst resolveCharactersFromOptions = (options: RandomStringOptions) => {\n\t\treturn [\n\t\t\toptions.useUppercase ? 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' : '',\n\t\t\toptions.useLowercase ? 'abcdefghijklmnopqrstuvwxyz' : '',\n\t\t\toptions.useNumeric ? '0123456789' : '',\n\t\t].join('');\n\t};\n\n\tconst resolvedCharacters =\n\t\ttypeof characters === 'string'\n\t\t\t? characters\n\t\t\t: resolveCharactersFromOptions(characters ?? {});\n\n\treturn Array.from({ length })\n\t\t.map(() =>\n\t\t\tresolvedCharacters.charAt(randomInt(0, resolvedCharacters.length - 1))\n\t\t)\n\t\t.join('');\n};\n\ntype RandomStringOptions = {\n\tuseNumeric?: boolean;\n\tuseLowercase?: boolean;\n\tuseUppercase?: boolean;\n};\n\nexport {\n\trandomInt,\n\trandomFloat,\n\trandomItem,\n\trandomKey,\n\trandomValue,\n\trandomBoolean,\n\trandomString,\n\ttype RandomStringOptions,\n};\n"],"names":["randomInt","__name","min","max","randomFloat","randomItem","items","randomKey","randomValue","randomBoolean","randomString","length","characters","resolvedCharacters","options"],"mappings":"4FAAA,MAAMA,EAAYC,EAAA,CAACC,EAAaC,IAC/B,KAAK,MAAM,KAAK,OAAA,GAAYA,EAAMD,EAAM,EAAE,EAAIA,EAD7B,aAGZE,EAAcH,EAAA,CAACC,EAAaC,IACjC,KAAK,UAAYA,EAAMD,GAAOA,EADX,eAGdG,EAAaJ,EAAIK,GACtBA,EAAM,KAAK,MAAM,KAAK,OAAA,EAAWA,EAAM,MAAM,CAAC,EAD5B,cAGbC,EAAYN,EAAIK,GACrBD,EAAW,OAAO,KAAKC,CAAK,CAAC,EADZ,aAGZE,EAAcP,EAAIK,GACvBD,EAAW,MAAM,QAAQC,CAAK,EAAIA,EAAQ,OAAO,OAAOA,CAAK,CAAC,EAD3C,eAGdG,EAAgBR,EAAA,IAAe,KAAK,SAAW,GAA/B,iBAEhBS,EAAeT,EAAA,CACpBU,EACAC,IACY,CASZ,MAAMC,EACL,OAAOD,GAAe,SACnBA,EAViCX,EAACa,GAC9B,CACNA,EAAQ,aAAe,6BAA+B,GACtDA,EAAQ,aAAe,6BAA+B,GACtDA,EAAQ,WAAa,aAAe,EAAA,EACnC,KAAK,EAAE,EAL2B,gCAWJF,GAAc,EAAE,EAEjD,OAAO,MAAM,KAAK,CAAE,OAAAD,CAAA,CAAQ,EAC1B,IAAI,IACJE,EAAmB,OAAOb,EAAU,EAAGa,EAAmB,OAAS,CAAC,CAAC,CAAA,EAErE,KAAK,EAAE,CACV,EAtBqB"}
@@ -0,0 +1,2 @@
1
+ var u=Object.defineProperty;var o=(a,r)=>u(a,"name",{value:r,configurable:!0});const t=o((a,r)=>Math.floor(Math.random()*(r-a+1))+a,"randomInt"),d=o((a,r)=>Math.random()*(r-a)+a,"randomFloat"),n=o(a=>a[Math.floor(Math.random()*a.length)],"randomItem"),m=o(a=>n(Object.keys(a)),"randomKey"),c=o(a=>n(Array.isArray(a)?a:Object.values(a)),"randomValue"),l=o(()=>Math.random()<.5,"randomBoolean"),h=o((a,r)=>{const s=typeof r=="string"?r:o(e=>[e.useUppercase?"ABCDEFGHIJKLMNOPQRSTUVWXYZ":"",e.useLowercase?"abcdefghijklmnopqrstuvwxyz":"",e.useNumeric?"0123456789":""].join(""),"resolveCharactersFromOptions")(r??{});return Array.from({length:a}).map(()=>s.charAt(t(0,s.length-1))).join("")},"randomString");var y=Object.freeze({__proto__:null,randomBoolean:l,randomFloat:d,randomInt:t,randomItem:n,randomKey:m,randomString:h,randomValue:c});export{t as a,d as b,n as c,m as d,c as e,l as f,h as g,y as r};
2
+ //# sourceMappingURL=random-DbidGSrQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-DbidGSrQ.mjs","sources":["../src/utils/random.ts"],"sourcesContent":["const randomInt = (min: number, max: number): number =>\n\tMath.floor(Math.random() * (max - min + 1)) + min;\n\nconst randomFloat = (min: number, max: number): number =>\n\tMath.random() * (max - min) + min;\n\nconst randomItem = <T>(items: T[]): T | undefined =>\n\titems[Math.floor(Math.random() * items.length)];\n\nconst randomKey = <T>(items: Record<string, T> | T[]): string | undefined =>\n\trandomItem(Object.keys(items));\n\nconst randomValue = <T>(items: Record<string, T> | T[]): T | undefined =>\n\trandomItem(Array.isArray(items) ? items : Object.values(items));\n\nconst randomBoolean = (): boolean => Math.random() < 0.5;\n\nconst randomString = (\n\tlength: number,\n\tcharacters?: string | RandomStringOptions\n): string => {\n\tconst resolveCharactersFromOptions = (options: RandomStringOptions) => {\n\t\treturn [\n\t\t\toptions.useUppercase ? 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' : '',\n\t\t\toptions.useLowercase ? 'abcdefghijklmnopqrstuvwxyz' : '',\n\t\t\toptions.useNumeric ? '0123456789' : '',\n\t\t].join('');\n\t};\n\n\tconst resolvedCharacters =\n\t\ttypeof characters === 'string'\n\t\t\t? characters\n\t\t\t: resolveCharactersFromOptions(characters ?? {});\n\n\treturn Array.from({ length })\n\t\t.map(() =>\n\t\t\tresolvedCharacters.charAt(randomInt(0, resolvedCharacters.length - 1))\n\t\t)\n\t\t.join('');\n};\n\ntype RandomStringOptions = {\n\tuseNumeric?: boolean;\n\tuseLowercase?: boolean;\n\tuseUppercase?: boolean;\n};\n\nexport {\n\trandomInt,\n\trandomFloat,\n\trandomItem,\n\trandomKey,\n\trandomValue,\n\trandomBoolean,\n\trandomString,\n\ttype RandomStringOptions,\n};\n"],"names":["randomInt","__name","min","max","randomFloat","randomItem","items","randomKey","randomValue","randomBoolean","randomString","length","characters","resolvedCharacters","options"],"mappings":"+EAAA,MAAMA,EAAYC,EAAA,CAACC,EAAaC,IAC/B,KAAK,MAAM,KAAK,OAAA,GAAYA,EAAMD,EAAM,EAAE,EAAIA,EAD7B,aAGZE,EAAcH,EAAA,CAACC,EAAaC,IACjC,KAAK,UAAYA,EAAMD,GAAOA,EADX,eAGdG,EAAaJ,EAAIK,GACtBA,EAAM,KAAK,MAAM,KAAK,OAAA,EAAWA,EAAM,MAAM,CAAC,EAD5B,cAGbC,EAAYN,EAAIK,GACrBD,EAAW,OAAO,KAAKC,CAAK,CAAC,EADZ,aAGZE,EAAcP,EAAIK,GACvBD,EAAW,MAAM,QAAQC,CAAK,EAAIA,EAAQ,OAAO,OAAOA,CAAK,CAAC,EAD3C,eAGdG,EAAgBR,EAAA,IAAe,KAAK,SAAW,GAA/B,iBAEhBS,EAAeT,EAAA,CACpBU,EACAC,IACY,CASZ,MAAMC,EACL,OAAOD,GAAe,SACnBA,EAViCX,EAACa,GAC9B,CACNA,EAAQ,aAAe,6BAA+B,GACtDA,EAAQ,aAAe,6BAA+B,GACtDA,EAAQ,WAAa,aAAe,EAAA,EACnC,KAAK,EAAE,EAL2B,gCAWJF,GAAc,EAAE,EAEjD,OAAO,MAAM,KAAK,CAAE,OAAAD,CAAA,CAAQ,EAC1B,IAAI,IACJE,EAAmB,OAAOb,EAAU,EAAGa,EAAmB,OAAS,CAAC,CAAC,CAAA,EAErE,KAAK,EAAE,CACV,EAtBqB"}
@@ -0,0 +1,28 @@
1
+ declare const randomInt: (min: number, max: number) => number;
2
+ declare const randomFloat: (min: number, max: number) => number;
3
+ declare const randomItem: <T>(items: T[]) => T | undefined;
4
+ declare const randomKey: <T>(items: Record<string, T> | T[]) => string | undefined;
5
+ declare const randomValue: <T>(items: Record<string, T> | T[]) => T | undefined;
6
+ declare const randomBoolean: () => boolean;
7
+ declare const randomString: (length: number, characters?: string | RandomStringOptions) => string;
8
+ type RandomStringOptions = {
9
+ useNumeric?: boolean;
10
+ useLowercase?: boolean;
11
+ useUppercase?: boolean;
12
+ };
13
+
14
+ type random_RandomStringOptions = RandomStringOptions;
15
+ declare const random_randomBoolean: typeof randomBoolean;
16
+ declare const random_randomFloat: typeof randomFloat;
17
+ declare const random_randomInt: typeof randomInt;
18
+ declare const random_randomItem: typeof randomItem;
19
+ declare const random_randomKey: typeof randomKey;
20
+ declare const random_randomString: typeof randomString;
21
+ declare const random_randomValue: typeof randomValue;
22
+ declare namespace random {
23
+ export { random_randomBoolean as randomBoolean, random_randomFloat as randomFloat, random_randomInt as randomInt, random_randomItem as randomItem, random_randomKey as randomKey, random_randomString as randomString, random_randomValue as randomValue };
24
+ export type { random_RandomStringOptions as RandomStringOptions };
25
+ }
26
+
27
+ export { randomInt as a, randomFloat as b, randomItem as c, randomKey as d, randomValue as e, randomBoolean as f, randomString as g, random as r };
28
+ export type { RandomStringOptions as R };
@@ -0,0 +1,28 @@
1
+ declare const randomInt: (min: number, max: number) => number;
2
+ declare const randomFloat: (min: number, max: number) => number;
3
+ declare const randomItem: <T>(items: T[]) => T | undefined;
4
+ declare const randomKey: <T>(items: Record<string, T> | T[]) => string | undefined;
5
+ declare const randomValue: <T>(items: Record<string, T> | T[]) => T | undefined;
6
+ declare const randomBoolean: () => boolean;
7
+ declare const randomString: (length: number, characters?: string | RandomStringOptions) => string;
8
+ type RandomStringOptions = {
9
+ useNumeric?: boolean;
10
+ useLowercase?: boolean;
11
+ useUppercase?: boolean;
12
+ };
13
+
14
+ type random_RandomStringOptions = RandomStringOptions;
15
+ declare const random_randomBoolean: typeof randomBoolean;
16
+ declare const random_randomFloat: typeof randomFloat;
17
+ declare const random_randomInt: typeof randomInt;
18
+ declare const random_randomItem: typeof randomItem;
19
+ declare const random_randomKey: typeof randomKey;
20
+ declare const random_randomString: typeof randomString;
21
+ declare const random_randomValue: typeof randomValue;
22
+ declare namespace random {
23
+ export { random_randomBoolean as randomBoolean, random_randomFloat as randomFloat, random_randomInt as randomInt, random_randomItem as randomItem, random_randomKey as randomKey, random_randomString as randomString, random_randomValue as randomValue };
24
+ export type { random_RandomStringOptions as RandomStringOptions };
25
+ }
26
+
27
+ export { randomInt as a, randomFloat as b, randomItem as c, randomKey as d, randomValue as e, randomBoolean as f, randomString as g, random as r };
28
+ export type { RandomStringOptions as R };
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var i=(e,t)=>p(e,"name",{value:t,configurable:!0});var u=require("./numbers-DuVx9Qiu.cjs"),S=require("./constants/time.cjs");const c=i(e=>new Promise(t=>setTimeout(t,e)),"sleep"),I=i(async(e,t=S.TimeMagic.MILLISECONDS_PER_SECOND)=>{for(;!await e();)await c(t)},"sleepUntil"),O=i(async(e,t,r=S.TimeMagic.MILLISECONDS_PER_SECOND)=>{const a=Date.now();for(;!await e()&&Date.now()-a<t;)await c(r)},"sleepUntilOrTimeout"),_=i((e,t)=>new Promise((r,a)=>{const n=setTimeout(()=>{a(new Error(`Promise timed out after ${t}ms`))},t);e.then(s=>{clearTimeout(n),r(s)},s=>{clearTimeout(n),a(s)})}),"awaitOrTimeout"),T=i((e,t,r,a)=>{if(e<0)throw new Error("Timeout value is negative");const n=e<=u.INT32_MAX;if(!n&&!t)throw new Error("Timeout value is too large, as it doesn't fit in an int32");if(n)return setTimeout(r,e);const s=i(o=>{let l,f=!1;return o>u.INT32_MAX?l=setTimeout(()=>{s(o-u.INT32_MAX)},u.INT32_MAX):(f=!0,l=setTimeout(()=>{r()},o)),e!==o&&a?.(l,f),l},"scheduleTimeout");return s(e)},"safeSetTimeout"),m=i((e,t,r)=>T(e,!0,()=>{t(),m(e,t,r)},r),"safeSetInterval"),w=i((e,t,r)=>T(e,!0,async()=>{await t(),w(e,t,r)},r),"safeSetAsyncInterval");var v=Object.freeze({__proto__:null,awaitOrTimeout:_,safeSetAsyncInterval:w,safeSetInterval:m,safeSetTimeout:T,sleep:c,sleepUntil:I,sleepUntilOrTimeout:O});exports.awaitOrTimeout=_,exports.runtime=v,exports.safeSetAsyncInterval=w,exports.safeSetInterval=m,exports.safeSetTimeout=T,exports.sleep=c,exports.sleepUntil=I,exports.sleepUntilOrTimeout=O;
2
+ //# sourceMappingURL=runtime-B-jA8ZxR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-B-jA8ZxR.cjs","sources":["../src/utils/runtime.ts"],"sourcesContent":["import { INT32_MAX } from './numbers';\nimport { TimeMagic } from './time';\n\nconst sleep = (ms: number): Promise<void> =>\n\tnew Promise((resolve) => setTimeout(resolve, ms));\n\nconst sleepUntil = async (\n\tcondition: () => boolean | Promise<boolean>,\n\tinterval: number = TimeMagic.MILLISECONDS_PER_SECOND\n): Promise<void> => {\n\twhile (!(await condition())) await sleep(interval);\n};\n\nconst sleepUntilOrTimeout = async (\n\tcondition: () => boolean | Promise<boolean>,\n\ttimeout: number,\n\tinterval: number = TimeMagic.MILLISECONDS_PER_SECOND\n): Promise<void> => {\n\tconst start = Date.now();\n\twhile (!(await condition()) && Date.now() - start < timeout)\n\t\tawait sleep(interval);\n};\n\nconst awaitOrTimeout = <T>(\n\tpromise: Promise<T>,\n\ttimeout: number\n): Promise<T> => {\n\treturn new Promise<T>((resolve, reject) => {\n\t\tconst timer = setTimeout(() => {\n\t\t\treject(new Error(`Promise timed out after ${timeout}ms`));\n\t\t}, timeout);\n\n\t\tpromise.then(\n\t\t\t(value) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tresolve(value);\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\treject(reason);\n\t\t\t}\n\t\t);\n\t});\n};\n\nconst safeSetTimeout = (\n\ttimeoutMs: number,\n\tscheduleOverflowInFuture: boolean,\n\tfn: () => void,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\tif (timeoutMs < 0) {\n\t\tthrow new Error('Timeout value is negative');\n\t}\n\n\tconst isSafe = timeoutMs <= INT32_MAX;\n\n\tif (!isSafe && !scheduleOverflowInFuture) {\n\t\tthrow new Error(\n\t\t\t\"Timeout value is too large, as it doesn't fit in an int32\"\n\t\t);\n\t}\n\n\tif (isSafe) {\n\t\treturn setTimeout(fn, timeoutMs);\n\t}\n\n\tconst scheduleTimeout = (_timeoutMs: number): NodeJS.Timeout => {\n\t\tlet timeout: NodeJS.Timeout;\n\t\tlet isTimeoutForRunFn = false;\n\n\t\tif (_timeoutMs > INT32_MAX) {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tscheduleTimeout(_timeoutMs - INT32_MAX);\n\t\t\t}, INT32_MAX);\n\t\t} else {\n\t\t\tisTimeoutForRunFn = true;\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tfn();\n\t\t\t}, _timeoutMs);\n\t\t}\n\n\t\tif (timeoutMs !== _timeoutMs) {\n\t\t\tonNewTimeout?.(timeout, isTimeoutForRunFn);\n\t\t}\n\n\t\treturn timeout;\n\t};\n\n\treturn scheduleTimeout(timeoutMs);\n};\n\nconst safeSetInterval = (\n\tintervalMs: number,\n\tfn: () => void,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\treturn safeSetTimeout(\n\t\tintervalMs,\n\t\ttrue,\n\t\t() => {\n\t\t\tfn();\n\t\t\tsafeSetInterval(intervalMs, fn, onNewTimeout);\n\t\t},\n\t\tonNewTimeout\n\t);\n};\n\nconst safeSetAsyncInterval = (\n\tintervalMs: number,\n\tfn: () => Promise<void>,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\treturn safeSetTimeout(\n\t\tintervalMs,\n\t\ttrue,\n\t\tasync () => {\n\t\t\tawait fn();\n\t\t\tsafeSetAsyncInterval(intervalMs, fn, onNewTimeout);\n\t\t},\n\t\tonNewTimeout\n\t);\n};\n\nexport {\n\tsleep,\n\tsleepUntil,\n\tsleepUntilOrTimeout,\n\tawaitOrTimeout,\n\tsafeSetTimeout,\n\tsafeSetInterval,\n\tsafeSetAsyncInterval,\n};\n"],"names":["sleep","__name","ms","resolve","sleepUntil","condition","interval","TimeMagic","sleepUntilOrTimeout","timeout","start","awaitOrTimeout","promise","reject","timer","value","reason","safeSetTimeout","timeoutMs","scheduleOverflowInFuture","fn","onNewTimeout","isSafe","INT32_MAX","scheduleTimeout","_timeoutMs","isTimeoutForRunFn","safeSetInterval","intervalMs","safeSetAsyncInterval"],"mappings":"sKAGA,MAAMA,EAAQC,EAACC,GACd,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,EADnC,SAGRE,EAAaH,EAAA,MAClBI,EACAC,EAAmBC,EAAAA,UAAU,0BACV,CACnB,KAAO,CAAE,MAAMF,EAAA,GAAc,MAAML,EAAMM,CAAQ,CAClD,EALmB,cAObE,EAAsBP,EAAA,MAC3BI,EACAI,EACAH,EAAmBC,EAAAA,UAAU,0BACV,CACnB,MAAMG,EAAQ,KAAK,IAAA,EACnB,KAAO,CAAE,MAAML,EAAA,GAAgB,KAAK,IAAA,EAAQK,EAAQD,GACnD,MAAMT,EAAMM,CAAQ,CACtB,EAR4B,uBAUtBK,EAAiBV,EAAA,CACtBW,EACAH,IAEO,IAAI,QAAW,CAACN,EAASU,IAAW,CAC1C,MAAMC,EAAQ,WAAW,IAAM,CAC9BD,EAAO,IAAI,MAAM,2BAA2BJ,CAAO,IAAI,CAAC,CACzD,EAAGA,CAAO,EAEVG,EAAQ,KACNG,GAAU,CACV,aAAaD,CAAK,EAClBX,EAAQY,CAAK,CACd,EACCC,GAAW,CACX,aAAaF,CAAK,EAClBD,EAAOG,CAAM,CACd,CAAA,CAEF,CAAC,EAnBqB,kBAsBjBC,EAAiBhB,EAAA,CACtBiB,EACAC,EACAC,EACAC,IACoB,CACpB,GAAIH,EAAY,EACf,MAAM,IAAI,MAAM,2BAA2B,EAG5C,MAAMI,EAASJ,GAAaK,EAAAA,UAE5B,GAAI,CAACD,GAAU,CAACH,EACf,MAAM,IAAI,MACT,2DAAA,EAIF,GAAIG,EACH,OAAO,WAAWF,EAAIF,CAAS,EAGhC,MAAMM,EAAkBvB,EAACwB,GAAuC,CAC/D,IAAIhB,EACAiB,EAAoB,GAExB,OAAID,EAAaF,EAAAA,UAChBd,EAAU,WAAW,IAAM,CAC1Be,EAAgBC,EAAaF,WAAS,CACvC,EAAGA,EAAAA,SAAS,GAEZG,EAAoB,GACpBjB,EAAU,WAAW,IAAM,CAC1BW,EAAA,CACD,EAAGK,CAAU,GAGVP,IAAcO,GACjBJ,IAAeZ,EAASiB,CAAiB,EAGnCjB,CACR,EApBwB,mBAsBxB,OAAOe,EAAgBN,CAAS,CACjC,EA7CuB,kBA+CjBS,EAAkB1B,EAAA,CACvB2B,EACAR,EACAC,IAEOJ,EACNW,EACA,GACA,IAAM,CACLR,EAAA,EACAO,EAAgBC,EAAYR,EAAIC,CAAY,CAC7C,EACAA,CAAA,EAZsB,mBAgBlBQ,EAAuB5B,EAAA,CAC5B2B,EACAR,EACAC,IAEOJ,EACNW,EACA,GACA,SAAY,CACX,MAAMR,EAAA,EACNS,EAAqBD,EAAYR,EAAIC,CAAY,CAClD,EACAA,CAAA,EAZ2B"}
@@ -0,0 +1,2 @@
1
+ var O=Object.defineProperty;var r=(e,t)=>O(e,"name",{value:t,configurable:!0});import{I as u}from"./numbers-Bx9JTSQe.mjs";import{TimeMagic as S}from"./constants/time.mjs";const c=r(e=>new Promise(t=>setTimeout(t,e)),"sleep"),p=r(async(e,t=S.MILLISECONDS_PER_SECOND)=>{for(;!await e();)await c(t)},"sleepUntil"),I=r(async(e,t,a=S.MILLISECONDS_PER_SECOND)=>{const s=Date.now();for(;!await e()&&Date.now()-s<t;)await c(a)},"sleepUntilOrTimeout"),E=r((e,t)=>new Promise((a,s)=>{const n=setTimeout(()=>{s(new Error(`Promise timed out after ${t}ms`))},t);e.then(i=>{clearTimeout(n),a(i)},i=>{clearTimeout(n),s(i)})}),"awaitOrTimeout"),m=r((e,t,a,s)=>{if(e<0)throw new Error("Timeout value is negative");const n=e<=u;if(!n&&!t)throw new Error("Timeout value is too large, as it doesn't fit in an int32");if(n)return setTimeout(a,e);const i=r(o=>{let l,w=!1;return o>u?l=setTimeout(()=>{i(o-u)},u):(w=!0,l=setTimeout(()=>{a()},o)),e!==o&&s?.(l,w),l},"scheduleTimeout");return i(e)},"safeSetTimeout"),T=r((e,t,a)=>m(e,!0,()=>{t(),T(e,t,a)},a),"safeSetInterval"),f=r((e,t,a)=>m(e,!0,async()=>{await t(),f(e,t,a)},a),"safeSetAsyncInterval");var h=Object.freeze({__proto__:null,awaitOrTimeout:E,safeSetAsyncInterval:f,safeSetInterval:T,safeSetTimeout:m,sleep:c,sleepUntil:p,sleepUntilOrTimeout:I});export{p as a,I as b,E as c,m as d,T as e,f,h as r,c as s};
2
+ //# sourceMappingURL=runtime-CbfL6Fgj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-CbfL6Fgj.mjs","sources":["../src/utils/runtime.ts"],"sourcesContent":["import { INT32_MAX } from './numbers';\nimport { TimeMagic } from './time';\n\nconst sleep = (ms: number): Promise<void> =>\n\tnew Promise((resolve) => setTimeout(resolve, ms));\n\nconst sleepUntil = async (\n\tcondition: () => boolean | Promise<boolean>,\n\tinterval: number = TimeMagic.MILLISECONDS_PER_SECOND\n): Promise<void> => {\n\twhile (!(await condition())) await sleep(interval);\n};\n\nconst sleepUntilOrTimeout = async (\n\tcondition: () => boolean | Promise<boolean>,\n\ttimeout: number,\n\tinterval: number = TimeMagic.MILLISECONDS_PER_SECOND\n): Promise<void> => {\n\tconst start = Date.now();\n\twhile (!(await condition()) && Date.now() - start < timeout)\n\t\tawait sleep(interval);\n};\n\nconst awaitOrTimeout = <T>(\n\tpromise: Promise<T>,\n\ttimeout: number\n): Promise<T> => {\n\treturn new Promise<T>((resolve, reject) => {\n\t\tconst timer = setTimeout(() => {\n\t\t\treject(new Error(`Promise timed out after ${timeout}ms`));\n\t\t}, timeout);\n\n\t\tpromise.then(\n\t\t\t(value) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tresolve(value);\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\treject(reason);\n\t\t\t}\n\t\t);\n\t});\n};\n\nconst safeSetTimeout = (\n\ttimeoutMs: number,\n\tscheduleOverflowInFuture: boolean,\n\tfn: () => void,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\tif (timeoutMs < 0) {\n\t\tthrow new Error('Timeout value is negative');\n\t}\n\n\tconst isSafe = timeoutMs <= INT32_MAX;\n\n\tif (!isSafe && !scheduleOverflowInFuture) {\n\t\tthrow new Error(\n\t\t\t\"Timeout value is too large, as it doesn't fit in an int32\"\n\t\t);\n\t}\n\n\tif (isSafe) {\n\t\treturn setTimeout(fn, timeoutMs);\n\t}\n\n\tconst scheduleTimeout = (_timeoutMs: number): NodeJS.Timeout => {\n\t\tlet timeout: NodeJS.Timeout;\n\t\tlet isTimeoutForRunFn = false;\n\n\t\tif (_timeoutMs > INT32_MAX) {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tscheduleTimeout(_timeoutMs - INT32_MAX);\n\t\t\t}, INT32_MAX);\n\t\t} else {\n\t\t\tisTimeoutForRunFn = true;\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tfn();\n\t\t\t}, _timeoutMs);\n\t\t}\n\n\t\tif (timeoutMs !== _timeoutMs) {\n\t\t\tonNewTimeout?.(timeout, isTimeoutForRunFn);\n\t\t}\n\n\t\treturn timeout;\n\t};\n\n\treturn scheduleTimeout(timeoutMs);\n};\n\nconst safeSetInterval = (\n\tintervalMs: number,\n\tfn: () => void,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\treturn safeSetTimeout(\n\t\tintervalMs,\n\t\ttrue,\n\t\t() => {\n\t\t\tfn();\n\t\t\tsafeSetInterval(intervalMs, fn, onNewTimeout);\n\t\t},\n\t\tonNewTimeout\n\t);\n};\n\nconst safeSetAsyncInterval = (\n\tintervalMs: number,\n\tfn: () => Promise<void>,\n\tonNewTimeout?: (timeout: NodeJS.Timeout, isTimeoutForRunFn: boolean) => void\n): NodeJS.Timeout => {\n\treturn safeSetTimeout(\n\t\tintervalMs,\n\t\ttrue,\n\t\tasync () => {\n\t\t\tawait fn();\n\t\t\tsafeSetAsyncInterval(intervalMs, fn, onNewTimeout);\n\t\t},\n\t\tonNewTimeout\n\t);\n};\n\nexport {\n\tsleep,\n\tsleepUntil,\n\tsleepUntilOrTimeout,\n\tawaitOrTimeout,\n\tsafeSetTimeout,\n\tsafeSetInterval,\n\tsafeSetAsyncInterval,\n};\n"],"names":["sleep","__name","ms","resolve","sleepUntil","condition","interval","TimeMagic","sleepUntilOrTimeout","timeout","start","awaitOrTimeout","promise","reject","timer","value","reason","safeSetTimeout","timeoutMs","scheduleOverflowInFuture","fn","onNewTimeout","isSafe","INT32_MAX","scheduleTimeout","_timeoutMs","isTimeoutForRunFn","safeSetInterval","intervalMs","safeSetAsyncInterval"],"mappings":"2KAGA,MAAMA,EAAQC,EAACC,GACd,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,EADnC,SAGRE,EAAaH,EAAA,MAClBI,EACAC,EAAmBC,EAAU,0BACV,CACnB,KAAO,CAAE,MAAMF,EAAA,GAAc,MAAML,EAAMM,CAAQ,CAClD,EALmB,cAObE,EAAsBP,EAAA,MAC3BI,EACAI,EACAH,EAAmBC,EAAU,0BACV,CACnB,MAAMG,EAAQ,KAAK,IAAA,EACnB,KAAO,CAAE,MAAML,EAAA,GAAgB,KAAK,IAAA,EAAQK,EAAQD,GACnD,MAAMT,EAAMM,CAAQ,CACtB,EAR4B,uBAUtBK,EAAiBV,EAAA,CACtBW,EACAH,IAEO,IAAI,QAAW,CAACN,EAASU,IAAW,CAC1C,MAAMC,EAAQ,WAAW,IAAM,CAC9BD,EAAO,IAAI,MAAM,2BAA2BJ,CAAO,IAAI,CAAC,CACzD,EAAGA,CAAO,EAEVG,EAAQ,KACNG,GAAU,CACV,aAAaD,CAAK,EAClBX,EAAQY,CAAK,CACd,EACCC,GAAW,CACX,aAAaF,CAAK,EAClBD,EAAOG,CAAM,CACd,CAAA,CAEF,CAAC,EAnBqB,kBAsBjBC,EAAiBhB,EAAA,CACtBiB,EACAC,EACAC,EACAC,IACoB,CACpB,GAAIH,EAAY,EACf,MAAM,IAAI,MAAM,2BAA2B,EAG5C,MAAMI,EAASJ,GAAaK,EAE5B,GAAI,CAACD,GAAU,CAACH,EACf,MAAM,IAAI,MACT,2DAAA,EAIF,GAAIG,EACH,OAAO,WAAWF,EAAIF,CAAS,EAGhC,MAAMM,EAAkBvB,EAACwB,GAAuC,CAC/D,IAAIhB,EACAiB,EAAoB,GAExB,OAAID,EAAaF,EAChBd,EAAU,WAAW,IAAM,CAC1Be,EAAgBC,EAAaF,CAAS,CACvC,EAAGA,CAAS,GAEZG,EAAoB,GACpBjB,EAAU,WAAW,IAAM,CAC1BW,EAAA,CACD,EAAGK,CAAU,GAGVP,IAAcO,GACjBJ,IAAeZ,EAASiB,CAAiB,EAGnCjB,CACR,EApBwB,mBAsBxB,OAAOe,EAAgBN,CAAS,CACjC,EA7CuB,kBA+CjBS,EAAkB1B,EAAA,CACvB2B,EACAR,EACAC,IAEOJ,EACNW,EACA,GACA,IAAM,CACLR,EAAA,EACAO,EAAgBC,EAAYR,EAAIC,CAAY,CAC7C,EACAA,CAAA,EAZsB,mBAgBlBQ,EAAuB5B,EAAA,CAC5B2B,EACAR,EACAC,IAEOJ,EACNW,EACA,GACA,SAAY,CACX,MAAMR,EAAA,EACNS,EAAqBD,EAAYR,EAAIC,CAAY,CAClD,EACAA,CAAA,EAZ2B"}