@20syldev/api 5.5.0 → 5.7.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.
- package/.prettierignore +5 -0
- package/README.md +204 -80
- package/dist/app.d.ts +2 -0
- package/dist/config/env.d.ts +21 -0
- package/dist/config/env.js +10 -2
- package/dist/config/env.js.map +1 -1
- package/dist/config/plans.d.ts +26 -0
- package/dist/config/versions.d.ts +18 -0
- package/dist/config/versions.js +6 -0
- package/dist/config/versions.js.map +1 -1
- package/dist/constants.d.ts +39 -0
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/middleware/cors.d.ts +2 -0
- package/dist/middleware/cors.js +2 -1
- package/dist/middleware/cors.js.map +1 -1
- package/dist/middleware/error.d.ts +4 -0
- package/dist/middleware/json.d.ts +2 -0
- package/dist/middleware/logger.d.ts +26 -0
- package/dist/middleware/logger.js +34 -1
- package/dist/middleware/logger.js.map +1 -1
- package/dist/middleware/ratelimit.d.ts +2 -0
- package/dist/middleware/version.d.ts +3 -0
- package/dist/middleware/version.js +2 -2
- package/dist/middleware/version.js.map +1 -1
- package/dist/modules/v3/algorithms.d.ts +82 -0
- package/dist/modules/v3/captcha.d.ts +8 -0
- package/dist/modules/v3/chat.d.ts +9 -0
- package/dist/modules/v3/chat.js +3 -3
- package/dist/modules/v3/chat.js.map +1 -1
- package/dist/modules/v3/color.d.ts +6 -0
- package/dist/modules/v3/convert.d.ts +10 -0
- package/dist/modules/v3/domain.d.ts +6 -0
- package/dist/modules/v3/hash.d.ts +8 -0
- package/dist/modules/v3/hyperplanning.d.ts +9 -0
- package/dist/modules/v3/levenshtein.d.ts +9 -0
- package/dist/modules/v3/personal.d.ts +6 -0
- package/dist/modules/v3/qrcode.d.ts +8 -0
- package/dist/modules/v3/tic_tac_toe.d.ts +9 -0
- package/dist/modules/v3/tic_tac_toe.js +3 -3
- package/dist/modules/v3/tic_tac_toe.js.map +1 -1
- package/dist/modules/v3/time.d.ts +12 -0
- package/dist/modules/v3/token.d.ts +9 -0
- package/dist/modules/v3/username.d.ts +6 -0
- package/dist/modules/v3/utils.d.ts +50 -0
- package/dist/modules/v3.d.ts +15 -0
- package/dist/modules/v4/address.d.ts +20 -0
- package/dist/modules/v4/agent.d.ts +30 -0
- package/dist/modules/v4/algorithms.d.ts +90 -0
- package/dist/modules/v4/avatar.d.ts +23 -0
- package/dist/modules/v4/barcode.d.ts +27 -0
- package/dist/modules/v4/captcha.d.ts +22 -0
- package/dist/modules/v4/chat.d.ts +21 -0
- package/dist/modules/v4/chat.js +3 -3
- package/dist/modules/v4/chat.js.map +1 -1
- package/dist/modules/v4/color.d.ts +16 -0
- package/dist/modules/v4/convert.d.ts +15 -0
- package/dist/modules/v4/credit.d.ts +22 -0
- package/dist/modules/v4/cron.d.ts +17 -0
- package/dist/modules/v4/dice.d.ts +16 -0
- package/dist/modules/v4/domain.d.ts +6 -0
- package/dist/modules/v4/encode.d.ts +81 -0
- package/dist/modules/v4/geo.d.ts +30 -0
- package/dist/modules/v4/hash.d.ts +15 -0
- package/dist/modules/v4/hyperplanning.d.ts +19 -0
- package/dist/modules/v4/ip.d.ts +19 -0
- package/dist/modules/v4/levenshtein.d.ts +13 -0
- package/dist/modules/v4/palette.d.ts +19 -0
- package/dist/modules/v4/password.d.ts +25 -0
- package/dist/modules/v4/personal.d.ts +6 -0
- package/dist/modules/v4/placeholder.d.ts +30 -0
- package/dist/modules/v4/qrcode.d.ts +25 -0
- package/dist/modules/v4/regex.d.ts +23 -0
- package/dist/modules/v4/statistics.d.ts +20 -0
- package/dist/modules/v4/text.d.ts +43 -0
- package/dist/modules/v4/tic_tac_toe.d.ts +19 -0
- package/dist/modules/v4/tic_tac_toe.js +3 -3
- package/dist/modules/v4/tic_tac_toe.js.map +1 -1
- package/dist/modules/v4/time.d.ts +15 -0
- package/dist/modules/v4/token.d.ts +9 -0
- package/dist/modules/v4/username.d.ts +6 -0
- package/dist/modules/v4/validate.d.ts +34 -0
- package/dist/modules/v4.d.ts +32 -0
- package/dist/modules/v5/address.d.ts +5 -0
- package/dist/modules/v5/algorithms.d.ts +9 -0
- package/dist/modules/v5/asymmetric.d.ts +26 -0
- package/dist/modules/v5/barcode.d.ts +27 -0
- package/dist/modules/v5/case.d.ts +10 -0
- package/dist/modules/v5/chart.d.ts +53 -0
- package/dist/modules/v5/chat.d.ts +21 -0
- package/dist/modules/v5/chat.js +3 -3
- package/dist/modules/v5/chat.js.map +1 -1
- package/dist/modules/v5/csv.d.ts +29 -0
- package/dist/modules/v5/csv.js +143 -0
- package/dist/modules/v5/csv.js.map +1 -0
- package/dist/modules/v5/evaluate.d.ts +14 -0
- package/dist/modules/v5/jwt.d.ts +11 -0
- package/dist/modules/v5/matrix.d.ts +77 -0
- package/dist/modules/v5/otp.d.ts +30 -0
- package/dist/modules/v5/symmetric.d.ts +15 -0
- package/dist/modules/v5/text.d.ts +5 -0
- package/dist/modules/v5/tic_tac_toe.d.ts +19 -0
- package/dist/modules/v5/tic_tac_toe.js +3 -3
- package/dist/modules/v5/tic_tac_toe.js.map +1 -1
- package/dist/modules/v5/url.d.ts +18 -0
- package/dist/modules/v5/url.js +51 -0
- package/dist/modules/v5/url.js.map +1 -0
- package/dist/modules/v5.d.ts +17 -0
- package/dist/modules/v5.js +2 -0
- package/dist/modules/v5.js.map +1 -1
- package/dist/routes/delete.d.ts +2 -0
- package/dist/routes/delete.js +2 -2
- package/dist/routes/delete.js.map +1 -1
- package/dist/routes/get.d.ts +2 -0
- package/dist/routes/get.js +104 -82
- package/dist/routes/get.js.map +1 -1
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.js +8 -4
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/patch.d.ts +2 -0
- package/dist/routes/patch.js +1 -1
- package/dist/routes/patch.js.map +1 -1
- package/dist/routes/post.d.ts +2 -0
- package/dist/routes/post.js +54 -29
- package/dist/routes/post.js.map +1 -1
- package/dist/storage/index.d.ts +4 -0
- package/dist/types/storage.d.ts +49 -0
- package/dist/utils/colors.d.ts +44 -0
- package/dist/utils/helpers.d.ts +55 -0
- package/dist/utils/response.d.ts +9 -0
- package/dist/utils/response.js +2 -4
- package/dist/utils/response.js.map +1 -1
- package/package.json +17 -16
- package/robots.txt +74 -0
- package/src/favicon.ico +0 -0
- package/dist/middleware/connection.js +0 -23
- package/dist/middleware/connection.js.map +0 -1
- package/dist/modules/v4/colors.js +0 -54
- package/dist/modules/v4/colors.js.map +0 -1
- package/dist/modules/v4/utils.js +0 -26
- package/dist/modules/v4/utils.js.map +0 -1
- package/dist/modules/v5/diff.js +0 -52
- package/dist/modules/v5/diff.js.map +0 -1
- package/dist/modules/v5/read.js +0 -39
- package/dist/modules/v5/read.js.map +0 -1
- package/dist/utils/version.js +0 -3
- package/dist/utils/version.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NextFunction, Request, Response } from 'express';
|
|
2
|
+
export declare const logger: import("@20syldev/logger.ts").Logger;
|
|
3
|
+
/**
|
|
4
|
+
* Replaces a secret carried in the path with a placeholder.
|
|
5
|
+
*
|
|
6
|
+
* @param path - Request path, without its query string
|
|
7
|
+
* @returns The path, with a trailing credential segment masked
|
|
8
|
+
*/
|
|
9
|
+
export declare function redactPath(path: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Strips query string values from a URL, keeping the path and parameter names.
|
|
12
|
+
*
|
|
13
|
+
* GET endpoints carry user input in the query string — text passed to /encode,
|
|
14
|
+
* card numbers and IBANs passed to /validate, URLs passed to /qrcode — and the
|
|
15
|
+
* log buffer is readable over /logs. Names alone keep the trace useful for
|
|
16
|
+
* debugging without retaining anybody's payload.
|
|
17
|
+
*
|
|
18
|
+
* Names are kept percent-encoded on purpose. Decoding them would let a caller
|
|
19
|
+
* write raw newlines and ANSI escapes into the operator's terminal and into the
|
|
20
|
+
* /logs buffer, and would expose the theme's {placeholder} syntax.
|
|
21
|
+
*
|
|
22
|
+
* @param originalUrl - Request URL, with or without a query string
|
|
23
|
+
* @returns The path, followed by the parameter names when the URL had any
|
|
24
|
+
*/
|
|
25
|
+
export declare function redactQuery(originalUrl: string): string;
|
|
26
|
+
export declare function loggerMiddleware(req: Request, res: Response, next: NextFunction): void;
|
|
@@ -5,6 +5,39 @@ export const logger = createLogger({
|
|
|
5
5
|
console: true,
|
|
6
6
|
theme: 'colored',
|
|
7
7
|
});
|
|
8
|
+
const SECRET_PATH = /^(\/v\d+\/(?:chat|tic-tac-toe))\/[^/]+/;
|
|
9
|
+
/**
|
|
10
|
+
* Replaces a secret carried in the path with a placeholder.
|
|
11
|
+
*
|
|
12
|
+
* @param path - Request path, without its query string
|
|
13
|
+
* @returns The path, with a trailing credential segment masked
|
|
14
|
+
*/
|
|
15
|
+
export function redactPath(path) {
|
|
16
|
+
return path.replace(SECRET_PATH, '$1/[redacted]');
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Strips query string values from a URL, keeping the path and parameter names.
|
|
20
|
+
*
|
|
21
|
+
* GET endpoints carry user input in the query string — text passed to /encode,
|
|
22
|
+
* card numbers and IBANs passed to /validate, URLs passed to /qrcode — and the
|
|
23
|
+
* log buffer is readable over /logs. Names alone keep the trace useful for
|
|
24
|
+
* debugging without retaining anybody's payload.
|
|
25
|
+
*
|
|
26
|
+
* Names are kept percent-encoded on purpose. Decoding them would let a caller
|
|
27
|
+
* write raw newlines and ANSI escapes into the operator's terminal and into the
|
|
28
|
+
* /logs buffer, and would expose the theme's {placeholder} syntax.
|
|
29
|
+
*
|
|
30
|
+
* @param originalUrl - Request URL, with or without a query string
|
|
31
|
+
* @returns The path, followed by the parameter names when the URL had any
|
|
32
|
+
*/
|
|
33
|
+
export function redactQuery(originalUrl) {
|
|
34
|
+
const [path = '', ...rest] = originalUrl.split('?');
|
|
35
|
+
const query = rest.join('?');
|
|
36
|
+
if (!query)
|
|
37
|
+
return redactPath(path);
|
|
38
|
+
const names = [...new Set(query.split('&').map((pair) => pair.split('=')[0] ?? ''))].filter(Boolean);
|
|
39
|
+
return names.length ? `${redactPath(path)}?${names.join('&')}` : redactPath(path);
|
|
40
|
+
}
|
|
8
41
|
export function loggerMiddleware(req, res, next) {
|
|
9
42
|
if (req.method === 'HEAD') {
|
|
10
43
|
next();
|
|
@@ -19,7 +52,7 @@ export function loggerMiddleware(req, res, next) {
|
|
|
19
52
|
res.on('finish', () => {
|
|
20
53
|
const status = res.statusCode === 304 ? 200 : res.statusCode;
|
|
21
54
|
const duration = `${Date.now() - startTime}ms`;
|
|
22
|
-
logger.log({ method: req.method, url: req.originalUrl, status, duration, platform });
|
|
55
|
+
logger.log({ method: req.method, url: redactQuery(req.originalUrl), status, duration, platform });
|
|
23
56
|
});
|
|
24
57
|
next();
|
|
25
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC/B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC;QAE/C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/middleware/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC/B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,wCAAwC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC3C,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrG,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC;QAE/C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IACH,IAAI,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -6,12 +6,12 @@ export function versionCheckMiddleware(req, res, next) {
|
|
|
6
6
|
req.version = version;
|
|
7
7
|
req.latest = latest;
|
|
8
8
|
if (!versions[version]) {
|
|
9
|
-
error(res, 404, `Invalid API version (${version})
|
|
9
|
+
error(res, 404, `Invalid API version (${version}).`);
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
req.module = versions[version].modules;
|
|
13
13
|
if (!req.module) {
|
|
14
|
-
error(res, 404, `Module not found for version ${version}
|
|
14
|
+
error(res, 404, `Module not found for version ${version}.`);
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/middleware/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAG,CAAC;IAE5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/middleware/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAG,CAAC;IAE5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,OAAO,IAAI,CAAC,CAAC;QACrD,OAAO;IACX,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAE,CAAC,OAAO,CAAC;IAExC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gCAAgC,OAAO,GAAG,CAAC,CAAC;QAC5D,OAAO;IACX,CAAC;IAED,IAAI,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAkB,CAAC;IAE/C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,QAAQ,uBAAuB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5E,OAAO;IACX,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if two strings are anagrams of each other
|
|
3
|
+
*
|
|
4
|
+
* @param {string} value - First string to compare
|
|
5
|
+
* @param {string} value2 - Second string to compare
|
|
6
|
+
* @returns {boolean} - True if strings are anagrams, false otherwise
|
|
7
|
+
* @throws {Error} - If inputs are invalid
|
|
8
|
+
*/
|
|
9
|
+
export function anagram(value: string, value2: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Sort an array using bubble sort algorithm
|
|
12
|
+
*
|
|
13
|
+
* @param {string} value - Comma-separated list of numbers
|
|
14
|
+
* @returns {number[]} - Sorted array of numbers
|
|
15
|
+
* @throws {Error} - If input is invalid
|
|
16
|
+
*/
|
|
17
|
+
export function bubblesort(value: string): number[];
|
|
18
|
+
/**
|
|
19
|
+
* Calculate the factorial of a number
|
|
20
|
+
*
|
|
21
|
+
* @param {number} value - Number to calculate factorial for
|
|
22
|
+
* @returns {number} - Factorial result
|
|
23
|
+
* @throws {Error} - If input is invalid or out of range
|
|
24
|
+
*/
|
|
25
|
+
export function factorial(value: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* Generate a Fibonacci sequence up to the specified length
|
|
28
|
+
*
|
|
29
|
+
* @param {number} value - Length of Fibonacci sequence to generate
|
|
30
|
+
* @returns {number[]} - Array of Fibonacci numbers
|
|
31
|
+
* @throws {Error} - If input is invalid or out of range
|
|
32
|
+
*/
|
|
33
|
+
export function fibonacci(value: number): number[];
|
|
34
|
+
/**
|
|
35
|
+
* Calculate the greatest common divisor (GCD) of two numbers
|
|
36
|
+
*
|
|
37
|
+
* @param {number} value - First number
|
|
38
|
+
* @param {number} value2 - Second number
|
|
39
|
+
* @returns {number} - Greatest common divisor
|
|
40
|
+
* @throws {Error} - If inputs are invalid or out of range
|
|
41
|
+
*/
|
|
42
|
+
export function gcd(value: number, value2: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a number is prime
|
|
45
|
+
*
|
|
46
|
+
* @param {number} value - Number to check
|
|
47
|
+
* @returns {boolean} - True if the number is prime, false otherwise
|
|
48
|
+
* @throws {Error} - If input is invalid or out of range
|
|
49
|
+
*/
|
|
50
|
+
export function isprime(value: number): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a string is a palindrome
|
|
53
|
+
*
|
|
54
|
+
* @param {string} value - String to check
|
|
55
|
+
* @returns {boolean} - True if the string is a palindrome, false otherwise
|
|
56
|
+
* @throws {Error} - If input is invalid
|
|
57
|
+
*/
|
|
58
|
+
export function palindrome(value: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Find all prime factors of a number
|
|
61
|
+
*
|
|
62
|
+
* @param {number} value - Number to factorize
|
|
63
|
+
* @returns {number[]} - Array of prime factors
|
|
64
|
+
* @throws {Error} - If input is invalid or out of range
|
|
65
|
+
*/
|
|
66
|
+
export function primefactors(value: number): number[];
|
|
67
|
+
/**
|
|
68
|
+
* Generate a list of all prime numbers up to the specified limit
|
|
69
|
+
*
|
|
70
|
+
* @param {number} value - Upper limit to check for primes
|
|
71
|
+
* @returns {number[]} - Array of prime numbers
|
|
72
|
+
* @throws {Error} - If input is invalid or out of range
|
|
73
|
+
*/
|
|
74
|
+
export function primelist(value: number): number[];
|
|
75
|
+
/**
|
|
76
|
+
* Reverse a string
|
|
77
|
+
*
|
|
78
|
+
* @param {string} value - String to reverse
|
|
79
|
+
* @returns {string} - Reversed string
|
|
80
|
+
* @throws {Error} - If input is invalid
|
|
81
|
+
*/
|
|
82
|
+
export function reverse(value: string): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a captcha image from the provided text
|
|
3
|
+
*
|
|
4
|
+
* @param {string} text - Text to render in the captcha image
|
|
5
|
+
* @returns {Buffer} - PNG image buffer of the rendered captcha
|
|
6
|
+
* @throws {Error} - If text is not provided
|
|
7
|
+
*/
|
|
8
|
+
export default function captcha(text: string): Buffer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages a chat system with public and private messages
|
|
3
|
+
*
|
|
4
|
+
* @param {string} action - The action to perform ('message' or 'private')
|
|
5
|
+
* @param {Object} params - The parameters for the action
|
|
6
|
+
* @returns {Object} - The result of the action
|
|
7
|
+
* @throws {Error} - If parameters are invalid
|
|
8
|
+
*/
|
|
9
|
+
export default function chat(action: string, params?: Object): Object;
|
package/dist/modules/v3/chat.js
CHANGED
|
@@ -64,11 +64,11 @@ function sendMessage(params, messages, privateChats, sessions, u, now) {
|
|
|
64
64
|
privateChats[token].push(msg);
|
|
65
65
|
setTimeout(() => {
|
|
66
66
|
delete privateChats[token];
|
|
67
|
-
}, 3600000);
|
|
67
|
+
}, 3600000).unref();
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
messages.push(msg);
|
|
71
|
-
setTimeout(() => messages.splice(messages.indexOf(msg), 1), 3600000);
|
|
71
|
+
setTimeout(() => messages.splice(messages.indexOf(msg), 1), 3600000).unref();
|
|
72
72
|
}
|
|
73
73
|
// Update session
|
|
74
74
|
sessions[u] = sessions[u] || { user: session, last: now };
|
|
@@ -76,7 +76,7 @@ function sendMessage(params, messages, privateChats, sessions, u, now) {
|
|
|
76
76
|
setTimeout(() => {
|
|
77
77
|
if (now - sessions[u].last >= 3600000)
|
|
78
78
|
delete sessions[u];
|
|
79
|
-
}, 3600000);
|
|
79
|
+
}, 3600000).unref();
|
|
80
80
|
return { message: 'Message sent successfully' };
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/modules/v3/chat.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE;IAC5C,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,qBAAqB;IACrB,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;IACxB,OAAO,CAAC,YAAY,KAAK,EAAE,CAAC;IAC5B,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;IACxB,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC;IAE1B,mCAAmC;IACnC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEjE,yCAAyC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAEnE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,gBAAgB;IAChB,cAAc,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAEnC,2BAA2B;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG;IACjE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE3C,sCAAsC;IACtC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEnE,qBAAqB;IACrB,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC1D,CAAC;IAEF,wDAAwD;IACxD,IAAI,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,UAAU,CAAC,GAAG,EAAE;YACZ,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/modules/v3/chat.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts values between different temperature units
|
|
3
|
+
*
|
|
4
|
+
* @param {number|string} value - The value to convert
|
|
5
|
+
* @param {string} from - The source unit (celsius, fahrenheit, or kelvin)
|
|
6
|
+
* @param {string} to - The target unit (celsius, fahrenheit, or kelvin)
|
|
7
|
+
* @returns {Object} - Object containing the conversion details
|
|
8
|
+
* @throws {Error} - If conversion parameters are invalid
|
|
9
|
+
*/
|
|
10
|
+
export default function convert(value: number | string, from: string, to: string): Object;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a hash of text using the specified algorithm
|
|
3
|
+
*
|
|
4
|
+
* @param {string} text - The text to hash
|
|
5
|
+
* @param {string} method - The hash algorithm to use
|
|
6
|
+
* @returns {Object} Object containing the method and resulting hash
|
|
7
|
+
*/
|
|
8
|
+
export default function hash(text: string, method: string): Object;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse an ICS calendar file and extract event information
|
|
3
|
+
*
|
|
4
|
+
* @param {string} url - URL to the ICS file
|
|
5
|
+
* @param {string} [detail] - Detail level of returned information ('full', 'list', or undefined)
|
|
6
|
+
* @returns {Promise<Array>} Array of calendar events
|
|
7
|
+
* @throws {Error} If the ICS file is invalid or inaccessible
|
|
8
|
+
*/
|
|
9
|
+
export default function hyperplanning(url: string, detail?: string): Promise<any[]>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the Levenshtein distance between two strings.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} str1 - The first string
|
|
5
|
+
* @param {string} str2 - The second string
|
|
6
|
+
* @returns {object} - Object containing the strings and their Levenshtein distance
|
|
7
|
+
* @throws {Error} - If inputs are invalid
|
|
8
|
+
*/
|
|
9
|
+
export default function levenshtein(str1: string, str2: string): object;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a QR code for the provided URL.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} url - The URL to encode in the QR code
|
|
5
|
+
* @returns {Promise<string>} - Base64 encoded QR code image
|
|
6
|
+
* @throws {Error} - If URL is invalid or QR code generation fails
|
|
7
|
+
*/
|
|
8
|
+
export default function qrcode(url: string): Promise<string>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages a Tic-Tac-Toe game session
|
|
3
|
+
*
|
|
4
|
+
* @param {string} action - The action to perform ('play', 'fetch', or 'list')
|
|
5
|
+
* @param {Object} params - The parameters for the action
|
|
6
|
+
* @returns {Object} - The result of the action
|
|
7
|
+
* @throws {Error} - If parameters are invalid
|
|
8
|
+
*/
|
|
9
|
+
export default function tic_tac_toe(action: string, params?: Object): Object;
|
|
@@ -88,21 +88,21 @@ function playMove(params, games, sessions, u, now) {
|
|
|
88
88
|
// Check game result
|
|
89
89
|
const result = checkGame(moves);
|
|
90
90
|
if (result.winner || result.tie) {
|
|
91
|
-
setTimeout(() => delete games[game], 600000);
|
|
91
|
+
setTimeout(() => delete games[game], 600000).unref();
|
|
92
92
|
return {
|
|
93
93
|
message: `Move sent successfully. ${result.winner ? result.winner + ' wins. ' + result.loser + ' loses.' : "It's a tie."}`,
|
|
94
94
|
...result,
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
// Set cleanup timeout
|
|
98
|
-
setTimeout(() => delete games[game], 3600000);
|
|
98
|
+
setTimeout(() => delete games[game], 3600000).unref();
|
|
99
99
|
// Update session
|
|
100
100
|
sessions[u] = sessions[u] || { user: session, last: now };
|
|
101
101
|
sessions[u].last = now;
|
|
102
102
|
setTimeout(() => {
|
|
103
103
|
if (now - sessions[u].last >= 3600000)
|
|
104
104
|
delete sessions[u];
|
|
105
|
-
}, 3600000);
|
|
105
|
+
}, 3600000).unref();
|
|
106
106
|
return { message: 'Move sent successfully' };
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tic_tac_toe.js","sourceRoot":"","sources":["../../../src/modules/v3/tic_tac_toe.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tic_tac_toe.js","sourceRoot":"","sources":["../../../src/modules/v3/tic_tac_toe.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate time information based on specified parameters.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} type - The type of time information ('live' or 'random')
|
|
5
|
+
* @param {string} start - Start date for random generation (ISO format)
|
|
6
|
+
* @param {string} end - End date for random generation (ISO format)
|
|
7
|
+
* @param {string} format - Specific time format to return
|
|
8
|
+
* @param {string} timezone - Timezone to use
|
|
9
|
+
* @returns {object} - Time information in various formats
|
|
10
|
+
* @throws {Error} - If inputs are invalid
|
|
11
|
+
*/
|
|
12
|
+
export default function time(type: string | undefined, start: string, end: string, format: string, timezone: string): object;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a random token of specified length and type.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} len - Length of the token
|
|
5
|
+
* @param {string} type - Type of token to generate
|
|
6
|
+
* @returns {string} - The generated token
|
|
7
|
+
* @throws {Error} - If inputs are invalid
|
|
8
|
+
*/
|
|
9
|
+
export default function token(len: number, type?: string): string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility functions for the API modules
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Return a random element from an array.
|
|
6
|
+
*
|
|
7
|
+
* @param {Array} arr - The array to choose from.
|
|
8
|
+
* @returns {*} - A random element from the array.
|
|
9
|
+
*/
|
|
10
|
+
export function random(arr: any[]): any;
|
|
11
|
+
/**
|
|
12
|
+
* Return a random number between min and max (inclusive).
|
|
13
|
+
*
|
|
14
|
+
* @param {number} min - The minimum number.
|
|
15
|
+
* @param {number} max - The maximum number.
|
|
16
|
+
* @returns {number} - A random number between min and max.
|
|
17
|
+
*/
|
|
18
|
+
export function randomNumber(min: number, max: number): number;
|
|
19
|
+
/**
|
|
20
|
+
* Generate a random IP address.
|
|
21
|
+
*
|
|
22
|
+
* @returns {string} - A random IP address in the format "X.X.X.X".
|
|
23
|
+
*/
|
|
24
|
+
export function genIP(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format a JavaScript Date object to ISO format without timezone.
|
|
27
|
+
*
|
|
28
|
+
* @param {Date} date - Date object to format
|
|
29
|
+
* @returns {string} - Formatted date string
|
|
30
|
+
*/
|
|
31
|
+
export function formatDate(date: Date): string;
|
|
32
|
+
/**
|
|
33
|
+
* Parse a space-separated env variable into an array, or return null.
|
|
34
|
+
*
|
|
35
|
+
* @param {string} key - The environment variable name.
|
|
36
|
+
* @returns {string[]|null} - The parsed array or null.
|
|
37
|
+
*/
|
|
38
|
+
export function envList(key: string): string[] | null;
|
|
39
|
+
/**
|
|
40
|
+
* Manage rate limiting for users
|
|
41
|
+
*
|
|
42
|
+
* @param {Object} rateLimits - Rate limits object
|
|
43
|
+
* @param {string} userId - User ID
|
|
44
|
+
* @param {number} timestamp - Current timestamp
|
|
45
|
+
* @param {number} window - Time window in milliseconds
|
|
46
|
+
* @param {number} limit - Maximum requests in window
|
|
47
|
+
* @returns {boolean} - True if rate limit is exceeded
|
|
48
|
+
* @throws {Error} - If rate limit is exceeded
|
|
49
|
+
*/
|
|
50
|
+
export function checkRateLimit(rateLimits: Object, userId: string, timestamp: number, window?: number, limit?: number): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * as algorithms from "./v3/algorithms.js";
|
|
2
|
+
export { default as captcha } from "./v3/captcha.js";
|
|
3
|
+
export { default as chat } from "./v3/chat.js";
|
|
4
|
+
export { default as color } from "./v3/color.js";
|
|
5
|
+
export { default as convert } from "./v3/convert.js";
|
|
6
|
+
export { default as domain } from "./v3/domain.js";
|
|
7
|
+
export { default as hash } from "./v3/hash.js";
|
|
8
|
+
export { default as hyperplanning } from "./v3/hyperplanning.js";
|
|
9
|
+
export { default as levenshtein } from "./v3/levenshtein.js";
|
|
10
|
+
export { default as personal } from "./v3/personal.js";
|
|
11
|
+
export { default as qrcode } from "./v3/qrcode.js";
|
|
12
|
+
export { default as tic_tac_toe } from "./v3/tic_tac_toe.js";
|
|
13
|
+
export { default as time } from "./v3/time.js";
|
|
14
|
+
export { default as token } from "./v3/token.js";
|
|
15
|
+
export { default as username } from "./v3/username.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface Address {
|
|
2
|
+
street: string;
|
|
3
|
+
city: string;
|
|
4
|
+
zip: string;
|
|
5
|
+
state: string;
|
|
6
|
+
country: string;
|
|
7
|
+
countryCode: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AddressResult {
|
|
10
|
+
addresses: Address[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generates one or more fictional postal addresses for a given country.
|
|
14
|
+
*
|
|
15
|
+
* @param countryCode - Country code: "fr", "us", "uk", "de", or "es" (random if omitted)
|
|
16
|
+
* @param count - Number of addresses to generate (1–10)
|
|
17
|
+
* @returns Array of addresses with street, city, zip, state, country, and countryCode
|
|
18
|
+
* @throws Error if the country code is invalid or count is out of range
|
|
19
|
+
*/
|
|
20
|
+
export default function address(countryCode?: string, count?: number): AddressResult;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface UserAgentResult {
|
|
2
|
+
raw: string;
|
|
3
|
+
browser: {
|
|
4
|
+
name: string;
|
|
5
|
+
version: string;
|
|
6
|
+
major: string;
|
|
7
|
+
};
|
|
8
|
+
os: {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
};
|
|
12
|
+
device: {
|
|
13
|
+
type: 'mobile' | 'tablet' | 'desktop';
|
|
14
|
+
vendor: string;
|
|
15
|
+
};
|
|
16
|
+
engine: {
|
|
17
|
+
name: string;
|
|
18
|
+
version: string;
|
|
19
|
+
};
|
|
20
|
+
bot: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parses a User-Agent string and extracts browser, OS, device, engine
|
|
24
|
+
* and bot information.
|
|
25
|
+
*
|
|
26
|
+
* @param ua - The User-Agent string to parse
|
|
27
|
+
* @returns Structured breakdown of the User-Agent
|
|
28
|
+
* @throws Error if the User-Agent string is missing or too long
|
|
29
|
+
*/
|
|
30
|
+
export default function agent(ua: string): UserAgentResult;
|