tiny-essentials 1.0.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 (302) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/.github/workflows/node.js.yml +31 -0
  3. package/LICENSE +674 -0
  4. package/README.md +67 -0
  5. package/dist/TinyEssentials.min.js +1 -0
  6. package/dist/_virtual/_commonjsHelpers.cjs +7 -0
  7. package/dist/_virtual/common.cjs +5 -0
  8. package/dist/_virtual/index.cjs +9 -0
  9. package/dist/_virtual/index2.cjs +5 -0
  10. package/dist/_virtual/trace.cjs +5 -0
  11. package/dist/legacy/crypto/decrypt.cjs +57 -0
  12. package/dist/legacy/crypto/decrypt.d.mts +18 -0
  13. package/dist/legacy/crypto/decrypt.mjs +47 -0
  14. package/dist/legacy/crypto/default.cjs +23 -0
  15. package/dist/legacy/crypto/default.d.mts +35 -0
  16. package/dist/legacy/crypto/default.mjs +19 -0
  17. package/dist/legacy/crypto/encrypt.cjs +54 -0
  18. package/dist/legacy/crypto/encrypt.d.mts +19 -0
  19. package/dist/legacy/crypto/encrypt.mjs +46 -0
  20. package/dist/legacy/crypto/index.cjs +11 -0
  21. package/dist/legacy/crypto/index.d.mts +4 -0
  22. package/dist/legacy/crypto/index.mjs +6 -0
  23. package/dist/legacy/firebase/cookieSession.cjs +121 -0
  24. package/dist/legacy/firebase/cookieSession.d.mts +56 -0
  25. package/dist/legacy/firebase/cookieSession.mjs +114 -0
  26. package/dist/legacy/firebase/database/index.cjs +11 -0
  27. package/dist/legacy/firebase/database/index.d.mts +7 -0
  28. package/dist/legacy/firebase/database/index.mjs +7 -0
  29. package/dist/legacy/firebase/database/presence.cjs +131 -0
  30. package/dist/legacy/firebase/database/presence.d.mts +9 -0
  31. package/dist/legacy/firebase/database/presence.mjs +111 -0
  32. package/dist/legacy/firebase/database/saveAsync.cjs +147 -0
  33. package/dist/legacy/firebase/database/saveAsync.d.mts +54 -0
  34. package/dist/legacy/firebase/database/saveAsync.mjs +147 -0
  35. package/dist/legacy/firebase/databaseEscape.cjs +42 -0
  36. package/dist/legacy/firebase/databaseEscape.d.mts +11 -0
  37. package/dist/legacy/firebase/databaseEscape.mjs +37 -0
  38. package/dist/legacy/firebase/databaseLogger.cjs +258 -0
  39. package/dist/legacy/firebase/databaseLogger.d.mts +7 -0
  40. package/dist/legacy/firebase/databaseLogger.mjs +234 -0
  41. package/dist/legacy/firebase/discord/api/addGuildMember.cjs +71 -0
  42. package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +38 -0
  43. package/dist/legacy/firebase/discord/api/addGuildMember.mjs +64 -0
  44. package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +47 -0
  45. package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +17 -0
  46. package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +43 -0
  47. package/dist/legacy/firebase/discord/api/getToken.cjs +67 -0
  48. package/dist/legacy/firebase/discord/api/getToken.d.mts +35 -0
  49. package/dist/legacy/firebase/discord/api/getToken.mjs +63 -0
  50. package/dist/legacy/firebase/discord/api/getUser.cjs +58 -0
  51. package/dist/legacy/firebase/discord/api/getUser.d.mts +27 -0
  52. package/dist/legacy/firebase/discord/api/getUser.mjs +54 -0
  53. package/dist/legacy/firebase/discord/api/getUserConnections.cjs +57 -0
  54. package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +26 -0
  55. package/dist/legacy/firebase/discord/api/getUserConnections.mjs +53 -0
  56. package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +56 -0
  57. package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +25 -0
  58. package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +52 -0
  59. package/dist/legacy/firebase/discord/api/index.cjs +24 -0
  60. package/dist/legacy/firebase/discord/api/index.d.mts +19 -0
  61. package/dist/legacy/firebase/discord/api/index.mjs +20 -0
  62. package/dist/legacy/firebase/discord/api/refreshToken.cjs +77 -0
  63. package/dist/legacy/firebase/discord/api/refreshToken.d.mts +45 -0
  64. package/dist/legacy/firebase/discord/api/refreshToken.mjs +73 -0
  65. package/dist/legacy/firebase/discord/api/revokeToken.cjs +61 -0
  66. package/dist/legacy/firebase/discord/api/revokeToken.d.mts +29 -0
  67. package/dist/legacy/firebase/discord/api/revokeToken.mjs +58 -0
  68. package/dist/legacy/firebase/discord/config.cjs +21 -0
  69. package/dist/legacy/firebase/discord/config.d.mts +27 -0
  70. package/dist/legacy/firebase/discord/config.mjs +17 -0
  71. package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +11 -0
  72. package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +7 -0
  73. package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +7 -0
  74. package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +110 -0
  75. package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +4 -0
  76. package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +107 -0
  77. package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +100 -0
  78. package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +4 -0
  79. package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +97 -0
  80. package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +76 -0
  81. package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +23 -0
  82. package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +67 -0
  83. package/dist/legacy/firebase/discord/get/cookie-session.cjs +32 -0
  84. package/dist/legacy/firebase/discord/get/cookie-session.d.mts +20 -0
  85. package/dist/legacy/firebase/discord/get/cookie-session.mjs +28 -0
  86. package/dist/legacy/firebase/discord/get/credentials.cjs +24 -0
  87. package/dist/legacy/firebase/discord/get/credentials.d.mts +19 -0
  88. package/dist/legacy/firebase/discord/get/credentials.mjs +20 -0
  89. package/dist/legacy/firebase/discord/get/errorValidator.cjs +60 -0
  90. package/dist/legacy/firebase/discord/get/errorValidator.d.mts +28 -0
  91. package/dist/legacy/firebase/discord/get/errorValidator.mjs +55 -0
  92. package/dist/legacy/firebase/discord/get/index.cjs +17 -0
  93. package/dist/legacy/firebase/discord/get/index.d.mts +13 -0
  94. package/dist/legacy/firebase/discord/get/index.mjs +13 -0
  95. package/dist/legacy/firebase/discord/get/randomAvatar.cjs +37 -0
  96. package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +22 -0
  97. package/dist/legacy/firebase/discord/get/randomAvatar.mjs +30 -0
  98. package/dist/legacy/firebase/discord/http/index.cjs +15 -0
  99. package/dist/legacy/firebase/discord/http/index.d.mts +11 -0
  100. package/dist/legacy/firebase/discord/http/index.mjs +11 -0
  101. package/dist/legacy/firebase/discord/http/login.cjs +127 -0
  102. package/dist/legacy/firebase/discord/http/login.d.mts +21 -0
  103. package/dist/legacy/firebase/discord/http/login.mjs +123 -0
  104. package/dist/legacy/firebase/discord/http/logout.cjs +155 -0
  105. package/dist/legacy/firebase/discord/http/logout.d.mts +22 -0
  106. package/dist/legacy/firebase/discord/http/logout.mjs +143 -0
  107. package/dist/legacy/firebase/discord/http/redirect.cjs +188 -0
  108. package/dist/legacy/firebase/discord/http/redirect.d.mts +24 -0
  109. package/dist/legacy/firebase/discord/http/redirect.mjs +178 -0
  110. package/dist/legacy/firebase/discord/http/refreshToken.cjs +133 -0
  111. package/dist/legacy/firebase/discord/http/refreshToken.d.mts +24 -0
  112. package/dist/legacy/firebase/discord/http/refreshToken.mjs +121 -0
  113. package/dist/legacy/firebase/discord/index.cjs +19 -0
  114. package/dist/legacy/firebase/discord/index.d.mts +15 -0
  115. package/dist/legacy/firebase/discord/index.mjs +15 -0
  116. package/dist/legacy/firebase/discord/template/cookie-session.cjs +1430 -0
  117. package/dist/legacy/firebase/discord/template/cookie-session.d.mts +22 -0
  118. package/dist/legacy/firebase/discord/template/cookie-session.mjs +1159 -0
  119. package/dist/legacy/firebase/domainRedirect.cjs +35 -0
  120. package/dist/legacy/firebase/domainRedirect.d.mts +12 -0
  121. package/dist/legacy/firebase/domainRedirect.mjs +27 -0
  122. package/dist/legacy/firebase/escape.cjs +75 -0
  123. package/dist/legacy/firebase/escape.d.mts +17 -0
  124. package/dist/legacy/firebase/escape.mjs +58 -0
  125. package/dist/legacy/firebase/getDBAsync.cjs +33 -0
  126. package/dist/legacy/firebase/getDBAsync.d.mts +10 -0
  127. package/dist/legacy/firebase/getDBAsync.mjs +26 -0
  128. package/dist/legacy/firebase/getDBData.cjs +21 -0
  129. package/dist/legacy/firebase/getDBData.d.mts +1 -0
  130. package/dist/legacy/firebase/getDBData.mjs +17 -0
  131. package/dist/legacy/firebase/getDBValue.cjs +17 -0
  132. package/dist/legacy/firebase/getDBValue.d.mts +9 -0
  133. package/dist/legacy/firebase/getDBValue.mjs +14 -0
  134. package/dist/legacy/firebase/index.cjs +261 -0
  135. package/dist/legacy/firebase/index.d.mts +51 -0
  136. package/dist/legacy/firebase/index.mjs +234 -0
  137. package/dist/legacy/firebase/isEmulator.cjs +14 -0
  138. package/dist/legacy/firebase/isEmulator.d.mts +8 -0
  139. package/dist/legacy/firebase/isEmulator.mjs +10 -0
  140. package/dist/legacy/firebase/logger.cjs +137 -0
  141. package/dist/legacy/firebase/logger.d.mts +7 -0
  142. package/dist/legacy/firebase/logger.mjs +125 -0
  143. package/dist/legacy/firebase/mySQL.cjs +26 -0
  144. package/dist/legacy/firebase/mySQL.d.mts +10 -0
  145. package/dist/legacy/firebase/mySQL.mjs +22 -0
  146. package/dist/legacy/firebase/mysqlConnector/create.cjs +119 -0
  147. package/dist/legacy/firebase/mysqlConnector/create.d.mts +36 -0
  148. package/dist/legacy/firebase/mysqlConnector/create.mjs +109 -0
  149. package/dist/legacy/firebase/mysqlConnector/index.cjs +23 -0
  150. package/dist/legacy/firebase/mysqlConnector/index.d.mts +11 -0
  151. package/dist/legacy/firebase/mysqlConnector/index.mjs +16 -0
  152. package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +75 -0
  153. package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +31 -0
  154. package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +63 -0
  155. package/dist/legacy/firebase/mysqlConnector/pagination.cjs +91 -0
  156. package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +33 -0
  157. package/dist/legacy/firebase/mysqlConnector/pagination.mjs +87 -0
  158. package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +28 -0
  159. package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +12 -0
  160. package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +23 -0
  161. package/dist/legacy/firebase/transactionDBAsync.cjs +33 -0
  162. package/dist/legacy/firebase/transactionDBAsync.d.mts +11 -0
  163. package/dist/legacy/firebase/transactionDBAsync.mjs +27 -0
  164. package/dist/legacy/get/countObj.cjs +24 -0
  165. package/dist/legacy/get/countObj.d.mts +11 -0
  166. package/dist/legacy/get/countObj.mjs +21 -0
  167. package/dist/legacy/get/decimalColor.cjs +60 -0
  168. package/dist/legacy/get/decimalColor.d.mts +12 -0
  169. package/dist/legacy/get/decimalColor.mjs +54 -0
  170. package/dist/legacy/get/objType.cjs +43 -0
  171. package/dist/legacy/get/objType.d.mts +19 -0
  172. package/dist/legacy/get/objType.mjs +40 -0
  173. package/dist/legacy/get/pagination.cjs +100 -0
  174. package/dist/legacy/get/pagination.d.mts +25 -0
  175. package/dist/legacy/get/pagination.mjs +91 -0
  176. package/dist/legacy/get/queryUrlByName.cjs +31 -0
  177. package/dist/legacy/get/queryUrlByName.d.mts +20 -0
  178. package/dist/legacy/get/queryUrlByName.mjs +28 -0
  179. package/dist/legacy/get/queryUrlJSON.cjs +54 -0
  180. package/dist/legacy/get/queryUrlJSON.d.mts +23 -0
  181. package/dist/legacy/get/queryUrlJSON.mjs +57 -0
  182. package/dist/legacy/get/super_string_filter.cjs +97 -0
  183. package/dist/legacy/get/super_string_filter.d.mts +25 -0
  184. package/dist/legacy/get/super_string_filter.mjs +83 -0
  185. package/dist/legacy/get/versionCheck.cjs +49 -0
  186. package/dist/legacy/get/versionCheck.d.mts +17 -0
  187. package/dist/legacy/get/versionCheck.mjs +38 -0
  188. package/dist/legacy/http/HTTP-1.0.cjs +151 -0
  189. package/dist/legacy/http/HTTP-1.0.d.mts +8 -0
  190. package/dist/legacy/http/HTTP-1.0.mjs +136 -0
  191. package/dist/legacy/http/auth.cjs +70 -0
  192. package/dist/legacy/http/auth.d.mts +41 -0
  193. package/dist/legacy/http/auth.mjs +63 -0
  194. package/dist/legacy/http/check_domain.cjs +84 -0
  195. package/dist/legacy/http/check_domain.d.mts +10 -0
  196. package/dist/legacy/http/check_domain.mjs +82 -0
  197. package/dist/legacy/http/csrfTokenAnalyze.cjs +46 -0
  198. package/dist/legacy/http/csrfTokenAnalyze.d.mts +21 -0
  199. package/dist/legacy/http/csrfTokenAnalyze.mjs +40 -0
  200. package/dist/legacy/http/domainValidator.cjs +98 -0
  201. package/dist/legacy/http/domainValidator.d.mts +30 -0
  202. package/dist/legacy/http/domainValidator.mjs +82 -0
  203. package/dist/legacy/http/errorsCallback.cjs +55 -0
  204. package/dist/legacy/http/errorsCallback.d.mts +29 -0
  205. package/dist/legacy/http/errorsCallback.mjs +48 -0
  206. package/dist/legacy/http/fetch/json.cjs +48 -0
  207. package/dist/legacy/http/fetch/json.d.mts +22 -0
  208. package/dist/legacy/http/fetch/json.mjs +41 -0
  209. package/dist/legacy/http/fetch/text.cjs +47 -0
  210. package/dist/legacy/http/fetch/text.d.mts +21 -0
  211. package/dist/legacy/http/fetch/text.mjs +40 -0
  212. package/dist/legacy/http/fileCache.cjs +79 -0
  213. package/dist/legacy/http/fileCache.d.mts +35 -0
  214. package/dist/legacy/http/fileCache.mjs +70 -0
  215. package/dist/legacy/http/getDomainURL.cjs +59 -0
  216. package/dist/legacy/http/getDomainURL.d.mts +18 -0
  217. package/dist/legacy/http/getDomainURL.mjs +54 -0
  218. package/dist/legacy/http/userIP.cjs +59 -0
  219. package/dist/legacy/http/userIP.d.mts +21 -0
  220. package/dist/legacy/http/userIP.mjs +48 -0
  221. package/dist/legacy/index.cjs +122 -0
  222. package/dist/legacy/index.d.mts +89 -0
  223. package/dist/legacy/index.mjs +92 -0
  224. package/dist/legacy/libs/arraySortPositions.cjs +30 -0
  225. package/dist/legacy/libs/arraySortPositions.d.mts +16 -0
  226. package/dist/legacy/libs/arraySortPositions.mjs +27 -0
  227. package/dist/legacy/libs/capitalize.cjs +21 -0
  228. package/dist/legacy/libs/capitalize.d.mts +13 -0
  229. package/dist/legacy/libs/capitalize.mjs +17 -0
  230. package/dist/legacy/libs/convertBytes.cjs +64 -0
  231. package/dist/legacy/libs/convertBytes.d.mts +17 -0
  232. package/dist/legacy/libs/convertBytes.mjs +55 -0
  233. package/dist/legacy/libs/custom_module_loader.cjs +82 -0
  234. package/dist/legacy/libs/custom_module_loader.d.mts +5 -0
  235. package/dist/legacy/libs/custom_module_loader.mjs +79 -0
  236. package/dist/legacy/libs/dice.cjs +35 -0
  237. package/dist/legacy/libs/dice.d.mts +5 -0
  238. package/dist/legacy/libs/dice.mjs +31 -0
  239. package/dist/legacy/libs/markdown.cjs +85 -0
  240. package/dist/legacy/libs/markdown.d.mts +75 -0
  241. package/dist/legacy/libs/markdown.mjs +78 -0
  242. package/dist/legacy/libs/percentage.cjs +22 -0
  243. package/dist/legacy/libs/percentage.d.mts +4 -0
  244. package/dist/legacy/libs/percentage.mjs +19 -0
  245. package/dist/legacy/libs/regex/getLetter.cjs +22 -0
  246. package/dist/legacy/libs/regex/getLetter.d.mts +12 -0
  247. package/dist/legacy/libs/regex/getLetter.mjs +19 -0
  248. package/dist/legacy/libs/replaceAsync.cjs +32 -0
  249. package/dist/legacy/libs/replaceAsync.d.mts +15 -0
  250. package/dist/legacy/libs/replaceAsync.mjs +25 -0
  251. package/dist/legacy/libs/rule3.cjs +58 -0
  252. package/dist/legacy/libs/rule3.d.mts +5 -0
  253. package/dist/legacy/libs/rule3.mjs +54 -0
  254. package/dist/legacy/libs/userLevel.cjs +134 -0
  255. package/dist/legacy/libs/userLevel.d.mts +69 -0
  256. package/dist/legacy/libs/userLevel.mjs +123 -0
  257. package/dist/legacy/momentjs/getAge.cjs +28 -0
  258. package/dist/legacy/momentjs/getAge.d.mts +8 -0
  259. package/dist/legacy/momentjs/getAge.mjs +22 -0
  260. package/dist/legacy/momentjs/index.cjs +9 -0
  261. package/dist/legacy/momentjs/index.d.mts +3 -0
  262. package/dist/legacy/momentjs/index.mjs +3 -0
  263. package/dist/legacy/momentjs/timeDuration.cjs +29 -0
  264. package/dist/legacy/momentjs/timeDuration.d.mts +9 -0
  265. package/dist/legacy/momentjs/timeDuration.mjs +23 -0
  266. package/dist/legacy/socket.io/antiFlood/index.cjs +9 -0
  267. package/dist/legacy/socket.io/antiFlood/index.d.mts +3 -0
  268. package/dist/legacy/socket.io/antiFlood/index.mjs +3 -0
  269. package/dist/legacy/socket.io/antiFlood/install.cjs +32 -0
  270. package/dist/legacy/socket.io/antiFlood/install.d.mts +14 -0
  271. package/dist/legacy/socket.io/antiFlood/install.mjs +27 -0
  272. package/dist/legacy/socket.io/antiFlood/verify.cjs +87 -0
  273. package/dist/legacy/socket.io/antiFlood/verify.d.mts +15 -0
  274. package/dist/legacy/socket.io/antiFlood/verify.mjs +73 -0
  275. package/dist/legacy/socket.io/cookie-session.cjs +25 -0
  276. package/dist/legacy/socket.io/cookie-session.d.mts +9 -0
  277. package/dist/legacy/socket.io/cookie-session.mjs +20 -0
  278. package/dist/legacy/socket.io/discord.cjs +61 -0
  279. package/dist/legacy/socket.io/discord.d.mts +10 -0
  280. package/dist/legacy/socket.io/discord.mjs +52 -0
  281. package/dist/legacy/socket.io/index.cjs +13 -0
  282. package/dist/legacy/socket.io/index.d.mts +9 -0
  283. package/dist/legacy/socket.io/index.mjs +9 -0
  284. package/dist/v1/basics/array.cjs +31 -0
  285. package/dist/v1/basics/array.d.mts +10 -0
  286. package/dist/v1/basics/array.mjs +22 -0
  287. package/dist/v1/basics/clock.cjs +187 -0
  288. package/dist/v1/basics/clock.d.mts +37 -0
  289. package/dist/v1/basics/clock.mjs +152 -0
  290. package/dist/v1/basics/objFilter.cjs +55 -0
  291. package/dist/v1/basics/objFilter.d.mts +27 -0
  292. package/dist/v1/basics/objFilter.mjs +52 -0
  293. package/dist/v1/basics/simpleMath.cjs +88 -0
  294. package/dist/v1/basics/simpleMath.d.mts +54 -0
  295. package/dist/v1/basics/simpleMath.mjs +75 -0
  296. package/dist/v1/basics/text.cjs +34 -0
  297. package/dist/v1/basics/text.d.mts +20 -0
  298. package/dist/v1/basics/text.mjs +25 -0
  299. package/dist/v1/index.cjs +26 -0
  300. package/dist/v1/index.d.mts +15 -0
  301. package/dist/v1/index.mjs +8 -0
  302. package/package.json +72 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Checks the type of a given object or returns its type as a string.
3
+ *
4
+ * @param {*} obj - The object to check or identify.
5
+ * @param {string} [type] - Optional. If provided, checks whether the object matches this type (e.g., "object", "array", "string").
6
+ * @returns {boolean|string|null} - Returns `true` if the type matches, `false` if not,
7
+ * the type string if no type is provided, or `null` if the object is `undefined`.
8
+ *
9
+ * @example
10
+ * objType([], 'array'); // true
11
+ * objType({}, 'object'); // true
12
+ * objType('hello'); // "string"
13
+ * objType(undefined); // null
14
+ */
15
+ export function objType(obj: any, type?: string): boolean | string | null;
16
+ /**
17
+ * Counts the number of elements in an array or the number of properties in an object.
18
+ *
19
+ * @param {*} obj - The array or object to count.
20
+ * @returns {number} - The count of items (array elements or object keys), or `0` if the input is neither an array nor an object.
21
+ *
22
+ * @example
23
+ * countObj([1, 2, 3]); // 3
24
+ * countObj({ a: 1, b: 2 }); // 2
25
+ * countObj('not an object'); // 0
26
+ */
27
+ export function countObj(obj: any): number;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Checks the type of a given object or returns its type as a string.
3
+ *
4
+ * @param {*} obj - The object to check or identify.
5
+ * @param {string} [type] - Optional. If provided, checks whether the object matches this type (e.g., "object", "array", "string").
6
+ * @returns {boolean|string|null} - Returns `true` if the type matches, `false` if not,
7
+ * the type string if no type is provided, or `null` if the object is `undefined`.
8
+ *
9
+ * @example
10
+ * objType([], 'array'); // true
11
+ * objType({}, 'object'); // true
12
+ * objType('hello'); // "string"
13
+ * objType(undefined); // null
14
+ */
15
+ export function objType(obj, type) {
16
+ // Is Defined
17
+ if (typeof obj !== 'undefined') {
18
+ // Get Obj Type
19
+ const result = Object.prototype.toString.call(obj).toLowerCase();
20
+ // Check Obj Type
21
+ if (typeof type === 'string') {
22
+ if (result === `[object ${type}]`)
23
+ return true;
24
+ return false;
25
+ }
26
+ // Send Result
27
+ return result.substring(8, result.length - 1);
28
+ }
29
+ // Nope
30
+ return null;
31
+ }
32
+ /**
33
+ * Counts the number of elements in an array or the number of properties in an object.
34
+ *
35
+ * @param {*} obj - The array or object to count.
36
+ * @returns {number} - The count of items (array elements or object keys), or `0` if the input is neither an array nor an object.
37
+ *
38
+ * @example
39
+ * countObj([1, 2, 3]); // 3
40
+ * countObj({ a: 1, b: 2 }); // 2
41
+ * countObj('not an object'); // 0
42
+ */
43
+ export function countObj(obj) {
44
+ // Is Array
45
+ if (Array.isArray(obj))
46
+ return obj.length;
47
+ // Object
48
+ if (objType(obj, 'object'))
49
+ return Object.keys(obj).length;
50
+ // Nothing
51
+ return 0;
52
+ }
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Executes a Rule of Three calculation.
5
+ *
6
+ * @param {number} val1 - The first reference value (numerator in direct proportion, denominator in inverse).
7
+ * @param {number} val2 - The second reference value (denominator in direct proportion, numerator in inverse).
8
+ * @param {number} val3 - The third value (numerator in direct proportion, denominator in inverse).
9
+ * @param {boolean} inverse - Whether the calculation should use inverse proportion (true for inverse, false for direct).
10
+ * @returns {number} The result of the Rule of Three operation.
11
+ *
12
+ * Rule of Three Formula (Direct Proportion):
13
+ * val1 / val2 = val3 / result
14
+ *
15
+ * For Inverse Proportion:
16
+ * val1 / val3 = val2 / result
17
+ *
18
+ * Visual Representation:
19
+ *
20
+ * For Direct Proportion:
21
+ * val1 val2
22
+ * ----- = ------
23
+ * val3 result
24
+ *
25
+ * For Inverse Proportion:
26
+ * val1 val2
27
+ * ----- = ------
28
+ * val3 result
29
+ *
30
+ * @example
31
+ * // Direct proportion:
32
+ * ruleOfThree.execute(2, 6, 3, false); // → 9
33
+ *
34
+ * @example
35
+ * // Inverse proportion:
36
+ * ruleOfThree.execute(2, 6, 3, true); // → 4
37
+ */
38
+ function ruleOfThree(val1, val2, val3, inverse) {
39
+ return inverse ? Number(val1 * val2) / val3 : Number(val3 * val2) / val1;
40
+ }
41
+
42
+ /**
43
+ * Calculates a percentage of a given base value.
44
+ * @param {number} price - The base value.
45
+ * @param {number} percentage - The percentage to apply.
46
+ * @returns {number} The result of the percentage calculation.
47
+ *
48
+ * @example
49
+ * getSimplePerc(200, 15); // 30
50
+ */
51
+ function getSimplePerc(price, percentage) {
52
+ return price * (percentage / 100);
53
+ }
54
+
55
+ /**
56
+ * Calculates the age based on the given date.
57
+ *
58
+ * @param {number|string|Date} timeData - The birth date (can be a timestamp, ISO string, or Date object).
59
+ * @param {Date|null} [now=null] - The Date object representing the current date. Defaults to the current date and time if not provided.
60
+ * @returns {number|null} The age in years, or null if `timeData` is not provided or invalid.
61
+ */
62
+ function getAge(timeData = 0, now = null) {
63
+ if (typeof timeData !== 'undefined' && timeData !== null && timeData !== 0) {
64
+ const birthDate = new Date(timeData);
65
+ if (isNaN(birthDate)) return null;
66
+
67
+ const currentDate = now instanceof Date ? now : new Date();
68
+
69
+ let age = currentDate.getFullYear() - birthDate.getFullYear();
70
+
71
+ const currentMonth = currentDate.getMonth();
72
+ const birthMonth = birthDate.getMonth();
73
+
74
+ const currentDay = currentDate.getDate();
75
+ const birthDay = birthDate.getDate();
76
+
77
+ // Adjust if birthday hasn't occurred yet this year
78
+ if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) age--;
79
+
80
+ return Math.abs(age);
81
+ }
82
+
83
+ return null;
84
+ }
85
+
86
+ exports.getAge = getAge;
87
+ exports.getSimplePerc = getSimplePerc;
88
+ exports.ruleOfThree = ruleOfThree;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Executes a Rule of Three calculation.
3
+ *
4
+ * @param {number} val1 - The first reference value (numerator in direct proportion, denominator in inverse).
5
+ * @param {number} val2 - The second reference value (denominator in direct proportion, numerator in inverse).
6
+ * @param {number} val3 - The third value (numerator in direct proportion, denominator in inverse).
7
+ * @param {boolean} inverse - Whether the calculation should use inverse proportion (true for inverse, false for direct).
8
+ * @returns {number} The result of the Rule of Three operation.
9
+ *
10
+ * Rule of Three Formula (Direct Proportion):
11
+ * val1 / val2 = val3 / result
12
+ *
13
+ * For Inverse Proportion:
14
+ * val1 / val3 = val2 / result
15
+ *
16
+ * Visual Representation:
17
+ *
18
+ * For Direct Proportion:
19
+ * val1 val2
20
+ * ----- = ------
21
+ * val3 result
22
+ *
23
+ * For Inverse Proportion:
24
+ * val1 val2
25
+ * ----- = ------
26
+ * val3 result
27
+ *
28
+ * @example
29
+ * // Direct proportion:
30
+ * ruleOfThree.execute(2, 6, 3, false); // → 9
31
+ *
32
+ * @example
33
+ * // Inverse proportion:
34
+ * ruleOfThree.execute(2, 6, 3, true); // → 4
35
+ */
36
+ export function ruleOfThree(val1: number, val2: number, val3: number, inverse: boolean): number;
37
+ /**
38
+ * Calculates a percentage of a given base value.
39
+ * @param {number} price - The base value.
40
+ * @param {number} percentage - The percentage to apply.
41
+ * @returns {number} The result of the percentage calculation.
42
+ *
43
+ * @example
44
+ * getSimplePerc(200, 15); // 30
45
+ */
46
+ export function getSimplePerc(price: number, percentage: number): number;
47
+ /**
48
+ * Calculates the age based on the given date.
49
+ *
50
+ * @param {number|string|Date} timeData - The birth date (can be a timestamp, ISO string, or Date object).
51
+ * @param {Date|null} [now=null] - The Date object representing the current date. Defaults to the current date and time if not provided.
52
+ * @returns {number|null} The age in years, or null if `timeData` is not provided or invalid.
53
+ */
54
+ export function getAge(timeData?: number | string | Date, now?: Date | null): number | null;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Executes a Rule of Three calculation.
3
+ *
4
+ * @param {number} val1 - The first reference value (numerator in direct proportion, denominator in inverse).
5
+ * @param {number} val2 - The second reference value (denominator in direct proportion, numerator in inverse).
6
+ * @param {number} val3 - The third value (numerator in direct proportion, denominator in inverse).
7
+ * @param {boolean} inverse - Whether the calculation should use inverse proportion (true for inverse, false for direct).
8
+ * @returns {number} The result of the Rule of Three operation.
9
+ *
10
+ * Rule of Three Formula (Direct Proportion):
11
+ * val1 / val2 = val3 / result
12
+ *
13
+ * For Inverse Proportion:
14
+ * val1 / val3 = val2 / result
15
+ *
16
+ * Visual Representation:
17
+ *
18
+ * For Direct Proportion:
19
+ * val1 val2
20
+ * ----- = ------
21
+ * val3 result
22
+ *
23
+ * For Inverse Proportion:
24
+ * val1 val2
25
+ * ----- = ------
26
+ * val3 result
27
+ *
28
+ * @example
29
+ * // Direct proportion:
30
+ * ruleOfThree.execute(2, 6, 3, false); // → 9
31
+ *
32
+ * @example
33
+ * // Inverse proportion:
34
+ * ruleOfThree.execute(2, 6, 3, true); // → 4
35
+ */
36
+ export function ruleOfThree(val1, val2, val3, inverse) {
37
+ return inverse ? Number(val1 * val2) / val3 : Number(val3 * val2) / val1;
38
+ }
39
+ /**
40
+ * Calculates a percentage of a given base value.
41
+ * @param {number} price - The base value.
42
+ * @param {number} percentage - The percentage to apply.
43
+ * @returns {number} The result of the percentage calculation.
44
+ *
45
+ * @example
46
+ * getSimplePerc(200, 15); // 30
47
+ */
48
+ export function getSimplePerc(price, percentage) {
49
+ return price * (percentage / 100);
50
+ }
51
+ /**
52
+ * Calculates the age based on the given date.
53
+ *
54
+ * @param {number|string|Date} timeData - The birth date (can be a timestamp, ISO string, or Date object).
55
+ * @param {Date|null} [now=null] - The Date object representing the current date. Defaults to the current date and time if not provided.
56
+ * @returns {number|null} The age in years, or null if `timeData` is not provided or invalid.
57
+ */
58
+ export function getAge(timeData = 0, now = null) {
59
+ if (typeof timeData !== 'undefined' && timeData !== null && timeData !== 0) {
60
+ const birthDate = new Date(timeData);
61
+ if (isNaN(birthDate))
62
+ return null;
63
+ const currentDate = now instanceof Date ? now : new Date();
64
+ let age = currentDate.getFullYear() - birthDate.getFullYear();
65
+ const currentMonth = currentDate.getMonth();
66
+ const birthMonth = birthDate.getMonth();
67
+ const currentDay = currentDate.getDate();
68
+ const birthDay = birthDate.getDate();
69
+ // Adjust if birthday hasn't occurred yet this year
70
+ if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay))
71
+ age--;
72
+ return Math.abs(age);
73
+ }
74
+ return null;
75
+ }
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Converts a string to title case where the first letter of each word is capitalized.
5
+ * All other letters are converted to lowercase.
6
+ *
7
+ * Example: "hello world" -> "Hello World"
8
+ *
9
+ * @param {string} str - The string to be converted to title case.
10
+ * @returns {string} The string converted to title case.
11
+ */
12
+ function toTitleCase(str) {
13
+ return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
14
+ }
15
+
16
+ /**
17
+ * Converts a string to title case where the first letter of each word is capitalized,
18
+ * but the first letter of the entire string is left lowercase.
19
+ *
20
+ * Example: "hello world" -> "hello World"
21
+ *
22
+ * @param {string} str - The string to be converted to title case with the first letter in lowercase.
23
+ * @returns {string} The string converted to title case with the first letter in lowercase.
24
+ */
25
+ function toTitleCaseLowerFirst(str) {
26
+ const titleCased = str.replace(
27
+ /\w\S*/g,
28
+ (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(),
29
+ );
30
+ return titleCased.charAt(0).toLowerCase() + titleCased.slice(1);
31
+ }
32
+
33
+ exports.toTitleCase = toTitleCase;
34
+ exports.toTitleCaseLowerFirst = toTitleCaseLowerFirst;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Converts a string to title case where the first letter of each word is capitalized.
3
+ * All other letters are converted to lowercase.
4
+ *
5
+ * Example: "hello world" -> "Hello World"
6
+ *
7
+ * @param {string} str - The string to be converted to title case.
8
+ * @returns {string} The string converted to title case.
9
+ */
10
+ export function toTitleCase(str: string): string;
11
+ /**
12
+ * Converts a string to title case where the first letter of each word is capitalized,
13
+ * but the first letter of the entire string is left lowercase.
14
+ *
15
+ * Example: "hello world" -> "hello World"
16
+ *
17
+ * @param {string} str - The string to be converted to title case with the first letter in lowercase.
18
+ * @returns {string} The string converted to title case with the first letter in lowercase.
19
+ */
20
+ export function toTitleCaseLowerFirst(str: string): string;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Converts a string to title case where the first letter of each word is capitalized.
3
+ * All other letters are converted to lowercase.
4
+ *
5
+ * Example: "hello world" -> "Hello World"
6
+ *
7
+ * @param {string} str - The string to be converted to title case.
8
+ * @returns {string} The string converted to title case.
9
+ */
10
+ export function toTitleCase(str) {
11
+ return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
12
+ }
13
+ /**
14
+ * Converts a string to title case where the first letter of each word is capitalized,
15
+ * but the first letter of the entire string is left lowercase.
16
+ *
17
+ * Example: "hello world" -> "hello World"
18
+ *
19
+ * @param {string} str - The string to be converted to title case with the first letter in lowercase.
20
+ * @returns {string} The string converted to title case with the first letter in lowercase.
21
+ */
22
+ export function toTitleCaseLowerFirst(str) {
23
+ const titleCased = str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
24
+ return titleCased.charAt(0).toLowerCase() + titleCased.slice(1);
25
+ }
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var replaceAsync = require('../legacy/libs/replaceAsync.cjs');
4
+ var userLevel = require('../legacy/libs/userLevel.cjs');
5
+ var array = require('./basics/array.cjs');
6
+ var clock = require('./basics/clock.cjs');
7
+ var objFilter = require('./basics/objFilter.cjs');
8
+ var simpleMath = require('./basics/simpleMath.cjs');
9
+ var text = require('./basics/text.cjs');
10
+
11
+
12
+
13
+ exports.asyncReplace = replaceAsync;
14
+ exports.TinyLevelUp = userLevel;
15
+ exports.shuffleArray = array.shuffleArray;
16
+ exports.formatCustomTimer = clock.formatCustomTimer;
17
+ exports.formatDayTimer = clock.formatDayTimer;
18
+ exports.formatTimer = clock.formatTimer;
19
+ exports.getTimeDuration = clock.getTimeDuration;
20
+ exports.countObj = objFilter.countObj;
21
+ exports.objType = objFilter.objType;
22
+ exports.getAge = simpleMath.getAge;
23
+ exports.getSimplePerc = simpleMath.getSimplePerc;
24
+ exports.ruleOfThree = simpleMath.ruleOfThree;
25
+ exports.toTitleCase = text.toTitleCase;
26
+ exports.toTitleCaseLowerFirst = text.toTitleCaseLowerFirst;
@@ -0,0 +1,15 @@
1
+ import TinyLevelUp from '../legacy/libs/userLevel.mjs';
2
+ import { countObj } from './basics/objFilter.mjs';
3
+ import { objType } from './basics/objFilter.mjs';
4
+ import { ruleOfThree } from './basics/simpleMath.mjs';
5
+ import { getSimplePerc } from './basics/simpleMath.mjs';
6
+ import asyncReplace from '../legacy/libs/replaceAsync.mjs';
7
+ import { getAge } from './basics/simpleMath.mjs';
8
+ import { formatCustomTimer } from './basics/clock.mjs';
9
+ import { formatDayTimer } from './basics/clock.mjs';
10
+ import { formatTimer } from './basics/clock.mjs';
11
+ import { getTimeDuration } from './basics/clock.mjs';
12
+ import { shuffleArray } from './basics/array.mjs';
13
+ import { toTitleCase } from './basics/text.mjs';
14
+ import { toTitleCaseLowerFirst } from './basics/text.mjs';
15
+ export { TinyLevelUp, countObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst };
@@ -0,0 +1,8 @@
1
+ import asyncReplace from '../legacy/libs/replaceAsync.mjs';
2
+ import TinyLevelUp from '../legacy/libs/userLevel.mjs';
3
+ import { shuffleArray } from './basics/array.mjs';
4
+ import { formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, } from './basics/clock.mjs';
5
+ import { countObj, objType } from './basics/objFilter.mjs';
6
+ import { getAge, getSimplePerc, ruleOfThree } from './basics/simpleMath.mjs';
7
+ import { toTitleCase, toTitleCaseLowerFirst } from './basics/text.mjs';
8
+ export { TinyLevelUp, countObj, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst, };
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "tiny-essentials",
3
+ "version": "1.0.0",
4
+ "description": "Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.",
5
+ "scripts": {
6
+ "test": "npm run test:mjs && npm run test:cjs && npm run test:js",
7
+ "test:js": "npx babel-node test/index.js",
8
+ "test:mjs": "node test/index.mjs",
9
+ "test:cjs": "node test/index.cjs",
10
+ "fix:prettier": "prettier --write ./src/* && prettier --write ./test/*",
11
+ "auto-build": "npm run build",
12
+ "build": "tsc -p tsconfig.json && rollup -c",
13
+ "build-clean": "npm run clean && npm run build",
14
+ "build-dist": "npm run build",
15
+ "build-browserify": "npx browserify build/browserify.js -p esmify > dist/TinyAiApi.web.js",
16
+ "clean": "rm -rf dist",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "main": "./dist/v1/index.cjs",
20
+ "module": "./dist/v1/index.mjs",
21
+ "types": "./dist/v1/index.d.mts",
22
+ "ethereum": "jasmindreasond.x",
23
+ "exports": {
24
+ ".": {
25
+ "require": "./dist/v1/index.cjs",
26
+ "import": "./dist/v1/index.mjs"
27
+ }
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/JasminDreasond/Tiny-Essentials.git"
32
+ },
33
+ "keywords": [],
34
+ "author": "Yasmin Seidel (Jasmin Dreasond)",
35
+ "license": "GPL-3.0-only",
36
+ "bugs": {
37
+ "url": "https://github.com/JasminDreasond/Tiny-Essentials/issues"
38
+ },
39
+ "homepage": "https://github.com/JasminDreasond/Tiny-Essentials#readme",
40
+ "devDependencies": {
41
+ "@babel/cli": "^7.27.0",
42
+ "@babel/core": "^7.26.10",
43
+ "@babel/node": "^7.26.0",
44
+ "@babel/preset-env": "^7.26.9",
45
+ "@rollup/plugin-commonjs": "^28.0.3",
46
+ "@rollup/plugin-json": "^6.1.0",
47
+ "@rollup/plugin-node-resolve": "^16.0.1",
48
+ "@rollup/plugin-terser": "^0.4.4",
49
+ "@rollup/plugin-typescript": "^12.1.2",
50
+ "babel-preset-es2015": "^6.24.1",
51
+ "byte-length": "^1.0.2",
52
+ "clone": "^2.1.2",
53
+ "compare-versions": "^6.1.1",
54
+ "firebase-functions": "^6.3.2",
55
+ "latest-version": "^9.0.0",
56
+ "lodash": "^4.17.21",
57
+ "md5": "^2.3.0",
58
+ "moment": "^2.30.1",
59
+ "moment-timezone": "^0.5.48",
60
+ "mysql": "^2.18.1",
61
+ "node-fetch": "2.7.0",
62
+ "object-hash": "^3.0.0",
63
+ "prettier": "3.5.3",
64
+ "rollup": "^4.40.0",
65
+ "rollup-preserve-directives": "^1.1.3",
66
+ "tinycolor2": "^1.6.0",
67
+ "tslib": "^2.8.1",
68
+ "type-fest": "^4.40.0",
69
+ "typescript": "^5.8.3",
70
+ "util": "^0.12.5"
71
+ }
72
+ }