@utilix-tech/sdk 0.3.0 → 0.4.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/CHANGELOG.md +15 -0
- package/README.md +44 -32
- package/SECURITY.md +16 -0
- package/dist/{chunk-UC656APA.js → chunk-DNCOIO5N.js} +64 -1
- package/dist/{chunk-OKSWDVOM.js → chunk-GX7H6TAX.js} +1 -1
- package/dist/{chunk-W4UBLYFU.js → chunk-HFRTZE7T.js} +2 -2
- package/dist/{chunk-ROTPLW7T.js → chunk-IPR7FSX4.js} +2 -2
- package/dist/{chunk-T3JTY2M5.js → chunk-N7C52YGL.js} +1 -1
- package/dist/{chunk-XST6X3HT.js → chunk-QJE743LY.js} +10 -10
- package/dist/{chunk-3BAHSW4C.js → chunk-V5JKVDBA.js} +60 -1
- package/dist/{chunk-NSOARQCM.js → chunk-V5S6OJ4A.js} +14 -14
- package/dist/{data-rMjWNiOJ.d.cts → data-CakDxAcT.d.cts} +36 -2
- package/dist/{data-rMjWNiOJ.d.ts → data-CakDxAcT.d.ts} +36 -2
- package/dist/index.cjs +152 -30
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +8 -8
- package/dist/{network-CNtmrDeN.d.cts → network-DwyAjwJS.d.cts} +39 -2
- package/dist/{network-CNtmrDeN.d.ts → network-DwyAjwJS.d.ts} +39 -2
- package/dist/tools/api.cjs +2 -2
- package/dist/tools/api.js +1 -1
- package/dist/tools/code.cjs +14 -14
- package/dist/tools/code.js +1 -1
- package/dist/tools/data.cjs +63 -0
- package/dist/tools/data.d.cts +1 -1
- package/dist/tools/data.d.ts +1 -1
- package/dist/tools/data.js +1 -1
- package/dist/tools/encoding.cjs +2 -2
- package/dist/tools/encoding.js +1 -1
- package/dist/tools/media.cjs +1 -1
- package/dist/tools/media.js +1 -1
- package/dist/tools/misc.cjs +1 -1
- package/dist/tools/misc.js +1 -1
- package/dist/tools/network.cjs +59 -0
- package/dist/tools/network.d.cts +1 -1
- package/dist/tools/network.d.ts +1 -1
- package/dist/tools/network.js +1 -1
- package/dist/tools/units.cjs +10 -10
- package/dist/tools/units.js +1 -1
- package/package.json +18 -4
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - ip-geolocation: IP address geolocation via ip-api.com
|
|
8
8
|
* - http-status : HTTP status code lookup and search
|
|
9
9
|
* - http-headers : HTTP header reference lookup and validation
|
|
10
|
+
* - har-viewer : parseHar
|
|
10
11
|
*/
|
|
11
12
|
declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
|
|
12
13
|
type DnsRecordType = typeof DNS_RECORD_TYPES[number];
|
|
@@ -124,6 +125,38 @@ declare function validateHeaderValue(name: string, value: string): {
|
|
|
124
125
|
valid: boolean;
|
|
125
126
|
warning?: string;
|
|
126
127
|
};
|
|
128
|
+
interface HarEntry {
|
|
129
|
+
method: string;
|
|
130
|
+
url: string;
|
|
131
|
+
status: number;
|
|
132
|
+
statusText: string;
|
|
133
|
+
httpVersion: string;
|
|
134
|
+
mimeType: string;
|
|
135
|
+
size: number;
|
|
136
|
+
time: number;
|
|
137
|
+
startedDateTime: string;
|
|
138
|
+
}
|
|
139
|
+
interface HarSummary {
|
|
140
|
+
totalRequests: number;
|
|
141
|
+
totalSize: number;
|
|
142
|
+
totalTime: number;
|
|
143
|
+
avgTime: number;
|
|
144
|
+
failedRequests: number;
|
|
145
|
+
methods: Record<string, number>;
|
|
146
|
+
statusCodes: Record<string, number>;
|
|
147
|
+
}
|
|
148
|
+
interface HarParseResult {
|
|
149
|
+
version: string;
|
|
150
|
+
creator: {
|
|
151
|
+
name: string;
|
|
152
|
+
version: string;
|
|
153
|
+
};
|
|
154
|
+
entries: HarEntry[];
|
|
155
|
+
summary: HarSummary;
|
|
156
|
+
}
|
|
157
|
+
declare function parseHar(input: string): HarParseResult | {
|
|
158
|
+
error: string;
|
|
159
|
+
};
|
|
127
160
|
|
|
128
161
|
declare const network_DNS_RECORD_TYPES: typeof DNS_RECORD_TYPES;
|
|
129
162
|
type network_DnsRecord = DnsRecord;
|
|
@@ -131,6 +164,9 @@ type network_DnsRecordType = DnsRecordType;
|
|
|
131
164
|
type network_DnsResponse = DnsResponse;
|
|
132
165
|
type network_GeoResult = GeoResult;
|
|
133
166
|
declare const network_HTTP_HEADERS: typeof HTTP_HEADERS;
|
|
167
|
+
type network_HarEntry = HarEntry;
|
|
168
|
+
type network_HarParseResult = HarParseResult;
|
|
169
|
+
type network_HarSummary = HarSummary;
|
|
134
170
|
type network_HeaderCategory = HeaderCategory;
|
|
135
171
|
type network_HttpHeader = HttpHeader;
|
|
136
172
|
type network_ParsedDnsResult = ParsedDnsResult;
|
|
@@ -156,6 +192,7 @@ declare const network_isValidIpv4: typeof isValidIpv4;
|
|
|
156
192
|
declare const network_isValidIpv6: typeof isValidIpv6;
|
|
157
193
|
declare const network_parseDnsResponse: typeof parseDnsResponse;
|
|
158
194
|
declare const network_parseGeoResponse: typeof parseGeoResponse;
|
|
195
|
+
declare const network_parseHar: typeof parseHar;
|
|
159
196
|
declare const network_searchHeaders: typeof searchHeaders;
|
|
160
197
|
declare const network_searchStatusCodes: typeof searchStatusCodes;
|
|
161
198
|
declare const network_statusCodeToText: typeof statusCodeToText;
|
|
@@ -164,7 +201,7 @@ declare const network_validateDomain: typeof validateDomain;
|
|
|
164
201
|
declare const network_validateHeaderName: typeof validateHeaderName;
|
|
165
202
|
declare const network_validateHeaderValue: typeof validateHeaderValue;
|
|
166
203
|
declare namespace network {
|
|
167
|
-
export { network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, network_STATUS_CODES as STATUS_CODES, type network_StatusCode as StatusCode, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildMapUrl as buildMapUrl, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue };
|
|
204
|
+
export { network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, network_STATUS_CODES as STATUS_CODES, type network_StatusCode as StatusCode, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildMapUrl as buildMapUrl, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue };
|
|
168
205
|
}
|
|
169
206
|
|
|
170
|
-
export {
|
|
207
|
+
export { isValidIpv4 as A, isValidIpv6 as B, parseDnsResponse as C, DNS_RECORD_TYPES as D, parseGeoResponse as E, parseHar as F, type GeoResult as G, HTTP_HEADERS as H, searchHeaders as I, searchStatusCodes as J, statusCodeToText as K, typeNumberToLabel as L, validateDomain as M, validateHeaderName as N, validateHeaderValue as O, type ParsedDnsResult as P, STATUS_CODES as S, type DnsRecord as a, type DnsRecordType as b, type DnsResponse as c, type HarEntry as d, type HarParseResult as e, type HarSummary as f, type HeaderCategory as g, type HttpHeader as h, type ParsedGeoResult as i, type StatusCode as j, buildDnsQueryUrl as k, buildGeoUrl as l, buildMapUrl as m, network as n, countryCodeToFlag as o, formatCoordinates as p, formatTtl as q, getByCategory as r, getHeader as s, getHeadersByCategory as t, getStatusByCategory as u, getStatusCode as v, isClientError as w, isServerError as x, isSuccess as y, isValidIp as z };
|
package/dist/tools/api.cjs
CHANGED
|
@@ -410,13 +410,13 @@ function decodeJwt(token) {
|
|
|
410
410
|
try {
|
|
411
411
|
header = decodeSegment(rawHeader);
|
|
412
412
|
} catch {
|
|
413
|
-
return { ok: false, error: "Failed to decode header
|
|
413
|
+
return { ok: false, error: "Failed to decode header: not valid base64url JSON" };
|
|
414
414
|
}
|
|
415
415
|
let payload;
|
|
416
416
|
try {
|
|
417
417
|
payload = decodeSegment(rawPayload);
|
|
418
418
|
} catch {
|
|
419
|
-
return { ok: false, error: "Failed to decode payload
|
|
419
|
+
return { ok: false, error: "Failed to decode payload: not valid base64url JSON" };
|
|
420
420
|
}
|
|
421
421
|
const algorithm = typeof header.alg === "string" ? header.alg : "unknown";
|
|
422
422
|
const now = Math.floor(Date.now() / 1e3);
|
package/dist/tools/api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { COMMON_HEADERS, COMMON_PRESETS, CORS_COMMON_HEADERS, DEFAULT_CORS_CONFIG, DIRECTIVE_DESCRIPTIONS, HTTP_METHODS, SUPPORTED_LANGUAGES, addParam, base64urlDecode, base64urlEncode, buildCurl, buildCurlMultiline, buildUrl, convertToCode, decodeJwt, decodeUrlComponent, detectFormat, encodeUrlComponent, extractJsonPaths, formatJwtJson, formatResponse, generateCors, generateCspHeader, generateFullHeader, generateMetaHtml, getParam, getStats, isValidUrl, normalizeUrl, parseCspHeader, parseCurl, parseCurlCommand, parseMetaTags, parseUrl, removeParam, signJwt, validateCorsConfig, validateCspConfig, validateOgTags } from '../chunk-
|
|
1
|
+
export { COMMON_HEADERS, COMMON_PRESETS, CORS_COMMON_HEADERS, DEFAULT_CORS_CONFIG, DIRECTIVE_DESCRIPTIONS, HTTP_METHODS, SUPPORTED_LANGUAGES, addParam, base64urlDecode, base64urlEncode, buildCurl, buildCurlMultiline, buildUrl, convertToCode, decodeJwt, decodeUrlComponent, detectFormat, encodeUrlComponent, extractJsonPaths, formatJwtJson, formatResponse, generateCors, generateCspHeader, generateFullHeader, generateMetaHtml, getParam, getStats, isValidUrl, normalizeUrl, parseCspHeader, parseCurl, parseCurlCommand, parseMetaTags, parseUrl, removeParam, signJwt, validateCorsConfig, validateCspConfig, validateOgTags } from '../chunk-HFRTZE7T.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/code.cjs
CHANGED
|
@@ -87,24 +87,24 @@ var CHEATSHEET = [
|
|
|
87
87
|
{ pattern: "{n}", description: "Matches exactly n repetitions", example: "\\d{3} matches exactly 3 digits", category: "Quantifiers" },
|
|
88
88
|
{ pattern: "{n,}", description: "Matches n or more repetitions", example: "\\d{2,} matches 2 or more digits", category: "Quantifiers" },
|
|
89
89
|
{ pattern: "{n,m}", description: "Matches between n and m repetitions", example: "\\d{2,4} matches 2 to 4 digits", category: "Quantifiers" },
|
|
90
|
-
{ pattern: "*?", description: "Lazy match
|
|
90
|
+
{ pattern: "*?", description: "Lazy match: matches as few characters as possible", example: "<.*?> matches the shortest possible HTML tag", category: "Quantifiers" },
|
|
91
91
|
{ pattern: "+?", description: "Lazy version of +", example: "a+? matches as few 'a's as possible", category: "Quantifiers" },
|
|
92
|
-
{ pattern: "(abc)", description: "Capturing group
|
|
93
|
-
{ pattern: "(?:abc)", description: "Non-capturing group
|
|
92
|
+
{ pattern: "(abc)", description: "Capturing group: captures the matched substring", example: "(\\d+) captures digit sequences", category: "Groups" },
|
|
93
|
+
{ pattern: "(?:abc)", description: "Non-capturing group: groups without capturing", example: "(?:foo|bar)baz matches 'foobaz' or 'barbaz'", category: "Groups" },
|
|
94
94
|
{ pattern: "(?<name>abc)", description: "Named capturing group", example: "(?<year>\\d{4}) captures year by name", category: "Groups" },
|
|
95
|
-
{ pattern: "a|b", description: "Alternation
|
|
95
|
+
{ pattern: "a|b", description: "Alternation: matches either a or b", example: "cat|dog matches 'cat' or 'dog'", category: "Groups" },
|
|
96
96
|
{ pattern: "\\1", description: "Backreference to the first capturing group", example: "(\\w+) \\1 matches repeated words like 'the the'", category: "Groups" },
|
|
97
97
|
{ pattern: "\\k<name>", description: "Backreference to a named capturing group", example: "(?<word>\\w+) \\k<word> matches repeated named group", category: "Groups" },
|
|
98
|
-
{ pattern: "(?=abc)", description: "Positive lookahead
|
|
99
|
-
{ pattern: "(?!abc)", description: "Negative lookahead
|
|
100
|
-
{ pattern: "(?<=abc)", description: "Positive lookbehind
|
|
101
|
-
{ pattern: "(?<!abc)", description: "Negative lookbehind
|
|
102
|
-
{ pattern: "g", description: "Global flag
|
|
103
|
-
{ pattern: "i", description: "Case-insensitive flag
|
|
104
|
-
{ pattern: "m", description: "Multiline flag
|
|
105
|
-
{ pattern: "s", description: "Dotall flag
|
|
106
|
-
{ pattern: "u", description: "Unicode flag
|
|
107
|
-
{ pattern: "y", description: "Sticky flag
|
|
98
|
+
{ pattern: "(?=abc)", description: "Positive lookahead: asserts what follows matches", example: "\\d+(?= dollars) matches digits followed by ' dollars'", category: "Lookahead/Lookbehind" },
|
|
99
|
+
{ pattern: "(?!abc)", description: "Negative lookahead: asserts what follows does not match", example: "\\d+(?! dollars) matches digits not followed by ' dollars'", category: "Lookahead/Lookbehind" },
|
|
100
|
+
{ pattern: "(?<=abc)", description: "Positive lookbehind: asserts what precedes matches", example: "(?<=\\$)\\d+ matches digits preceded by '$'", category: "Lookahead/Lookbehind" },
|
|
101
|
+
{ pattern: "(?<!abc)", description: "Negative lookbehind: asserts what precedes does not match", example: "(?<!\\$)\\d+ matches digits not preceded by '$'", category: "Lookahead/Lookbehind" },
|
|
102
|
+
{ pattern: "g", description: "Global flag: finds all matches rather than stopping at the first", example: "/\\d+/g finds all numbers in a string", category: "Flags" },
|
|
103
|
+
{ pattern: "i", description: "Case-insensitive flag: ignores letter case", example: "/hello/i matches 'Hello', 'HELLO', 'hello'", category: "Flags" },
|
|
104
|
+
{ pattern: "m", description: "Multiline flag: ^ and $ match start/end of each line", example: "/^\\w+/m matches the first word of each line", category: "Flags" },
|
|
105
|
+
{ pattern: "s", description: "Dotall flag: makes . match newline characters too", example: "/a.b/s matches 'a\\nb'", category: "Flags" },
|
|
106
|
+
{ pattern: "u", description: "Unicode flag: enables full Unicode matching", example: "/\\u{1F600}/u matches a Unicode emoji", category: "Flags" },
|
|
107
|
+
{ pattern: "y", description: "Sticky flag: matches only from the lastIndex position", example: "/\\d+/y matches digits starting at the current position", category: "Flags" },
|
|
108
108
|
{ pattern: "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", description: "Matches a basic email address", example: "user@example.com", category: "Common Patterns" },
|
|
109
109
|
{ pattern: "https?://[\\w\\-]+(\\.[\\w\\-]+)+([\\w.,@?^=%&:/~+#\\-]*[\\w@?^=%&/~+#\\-])?", description: "Matches an HTTP or HTTPS URL", example: "https://www.example.com/path?query=value", category: "Common Patterns" },
|
|
110
110
|
{ pattern: "^(?:\\+1)?[-.\\s]?\\(?\\d{3}\\)?[-.\\s]?\\d{3}[-.\\s]?\\d{4}$", description: "Matches a North American phone number in various formats", example: "(555) 123-4567 or 555-123-4567", category: "Common Patterns" },
|
package/dist/tools/code.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ALL_FLAGS, CHEATSHEET, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testPattern, testRegex, validateEnvKey } from '../chunk-
|
|
1
|
+
export { ALL_FLAGS, CHEATSHEET, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testPattern, testRegex, validateEnvKey } from '../chunk-V5S6OJ4A.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/data.cjs
CHANGED
|
@@ -1064,11 +1064,70 @@ function envToExport(input) {
|
|
|
1064
1064
|
function validateEnvKey(key) {
|
|
1065
1065
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(key);
|
|
1066
1066
|
}
|
|
1067
|
+
function validateNdjson(input) {
|
|
1068
|
+
const rawLines = input.split("\n");
|
|
1069
|
+
const lines = [];
|
|
1070
|
+
let validCount = 0;
|
|
1071
|
+
rawLines.forEach((raw, idx) => {
|
|
1072
|
+
if (raw.trim() === "") return;
|
|
1073
|
+
const lineNum = idx + 1;
|
|
1074
|
+
try {
|
|
1075
|
+
JSON.parse(raw);
|
|
1076
|
+
lines.push({ line: lineNum, raw, valid: true });
|
|
1077
|
+
validCount++;
|
|
1078
|
+
} catch (e) {
|
|
1079
|
+
lines.push({
|
|
1080
|
+
line: lineNum,
|
|
1081
|
+
raw,
|
|
1082
|
+
valid: false,
|
|
1083
|
+
error: e instanceof Error ? e.message : String(e)
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
});
|
|
1087
|
+
return {
|
|
1088
|
+
valid: lines.length > 0 && validCount === lines.length,
|
|
1089
|
+
totalLines: lines.length,
|
|
1090
|
+
validLines: validCount,
|
|
1091
|
+
invalidLines: lines.length - validCount,
|
|
1092
|
+
lines
|
|
1093
|
+
};
|
|
1094
|
+
}
|
|
1095
|
+
function _firstNdjsonError(result) {
|
|
1096
|
+
const firstError = result.lines.find((l) => !l.valid);
|
|
1097
|
+
return firstError ? `Line ${firstError.line}: ${firstError.error}` : "Invalid NDJSON";
|
|
1098
|
+
}
|
|
1099
|
+
function minifyNdjson(input) {
|
|
1100
|
+
const result = validateNdjson(input);
|
|
1101
|
+
if (!result.valid) return { error: _firstNdjsonError(result) };
|
|
1102
|
+
return result.lines.map((l) => JSON.stringify(JSON.parse(l.raw))).join("\n");
|
|
1103
|
+
}
|
|
1104
|
+
function formatNdjson(input, indent = 2) {
|
|
1105
|
+
const result = validateNdjson(input);
|
|
1106
|
+
if (!result.valid) return { error: _firstNdjsonError(result) };
|
|
1107
|
+
return result.lines.map((l) => JSON.stringify(JSON.parse(l.raw), null, indent)).join("\n");
|
|
1108
|
+
}
|
|
1109
|
+
function ndjsonToJsonArray(input) {
|
|
1110
|
+
const result = validateNdjson(input);
|
|
1111
|
+
if (!result.valid) return { error: _firstNdjsonError(result) };
|
|
1112
|
+
const values = result.lines.map((l) => JSON.parse(l.raw));
|
|
1113
|
+
return JSON.stringify(values, null, 2);
|
|
1114
|
+
}
|
|
1115
|
+
function jsonArrayToNdjson(input) {
|
|
1116
|
+
let parsed;
|
|
1117
|
+
try {
|
|
1118
|
+
parsed = JSON.parse(input);
|
|
1119
|
+
} catch (e) {
|
|
1120
|
+
return { error: `Invalid JSON: ${e instanceof Error ? e.message : String(e)}` };
|
|
1121
|
+
}
|
|
1122
|
+
if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
|
|
1123
|
+
return parsed.map((item) => JSON.stringify(item)).join("\n");
|
|
1124
|
+
}
|
|
1067
1125
|
|
|
1068
1126
|
exports.csvToJson = csvToJson;
|
|
1069
1127
|
exports.detectDelimiter = detectDelimiter;
|
|
1070
1128
|
exports.envToExport = envToExport;
|
|
1071
1129
|
exports.envToJson = envToJson;
|
|
1130
|
+
exports.formatNdjson = formatNdjson;
|
|
1072
1131
|
exports.formatToml = formatToml;
|
|
1073
1132
|
exports.formatXml = formatXml;
|
|
1074
1133
|
exports.getSection = getSection;
|
|
@@ -1077,11 +1136,14 @@ exports.getTomlStats = getTomlStats;
|
|
|
1077
1136
|
exports.getXmlStats = getXmlStats;
|
|
1078
1137
|
exports.getYamlStats = getYamlStats;
|
|
1079
1138
|
exports.iniToJson = iniToJson;
|
|
1139
|
+
exports.jsonArrayToNdjson = jsonArrayToNdjson;
|
|
1080
1140
|
exports.jsonToIni = jsonToIni;
|
|
1081
1141
|
exports.jsonToToml = jsonToToml;
|
|
1082
1142
|
exports.jsonToXml = jsonToXml;
|
|
1143
|
+
exports.minifyNdjson = minifyNdjson;
|
|
1083
1144
|
exports.minifyToml = minifyToml;
|
|
1084
1145
|
exports.minifyXml = minifyXml;
|
|
1146
|
+
exports.ndjsonToJsonArray = ndjsonToJsonArray;
|
|
1085
1147
|
exports.parseCsv = parseCsv;
|
|
1086
1148
|
exports.parseEnv = parseEnv;
|
|
1087
1149
|
exports.parseIni = parseIni;
|
|
@@ -1091,6 +1153,7 @@ exports.toCsvString = toCsvString;
|
|
|
1091
1153
|
exports.tomlToJson = tomlToJson;
|
|
1092
1154
|
exports.validateEnvKey = validateEnvKey;
|
|
1093
1155
|
exports.validateIni = validateIni;
|
|
1156
|
+
exports.validateNdjson = validateNdjson;
|
|
1094
1157
|
exports.validateToml = validateToml;
|
|
1095
1158
|
exports.validateXml = validateXml;
|
|
1096
1159
|
exports.validateYaml = validateYaml;
|
package/dist/tools/data.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CsvParseResult, E as EnvEntry, a as EnvParseResult, I as IniSection, P as ParseOptions,
|
|
1
|
+
export { C as CsvParseResult, E as EnvEntry, a as EnvParseResult, I as IniSection, N as NdjsonLineResult, b as NdjsonValidateResult, P as ParseOptions, c as ParsedIni, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, e as XmlToJsonOptions, f as csvToJson, g as detectDelimiter, h as envToExport, i as envToJson, j as formatNdjson, k as formatToml, l as formatXml, m as getSection, n as getSectionNames, o as getTomlStats, p as getXmlStats, q as getYamlStats, r as iniToJson, s as jsonArrayToNdjson, t as jsonToIni, u as jsonToToml, v as jsonToXml, w as minifyNdjson, x as minifyToml, y as minifyXml, z as ndjsonToJsonArray, A as parseCsv, B as parseEnv, D as parseIni, F as parseXmlToObject, G as stringifyIni, H as toCsvString, J as tomlToJson, K as validateEnvKey, L as validateIni, M as validateNdjson, O as validateToml, Q as validateXml, R as validateYaml, S as xmlToJson } from '../data-CakDxAcT.cjs';
|
package/dist/tools/data.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CsvParseResult, E as EnvEntry, a as EnvParseResult, I as IniSection, P as ParseOptions,
|
|
1
|
+
export { C as CsvParseResult, E as EnvEntry, a as EnvParseResult, I as IniSection, N as NdjsonLineResult, b as NdjsonValidateResult, P as ParseOptions, c as ParsedIni, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, e as XmlToJsonOptions, f as csvToJson, g as detectDelimiter, h as envToExport, i as envToJson, j as formatNdjson, k as formatToml, l as formatXml, m as getSection, n as getSectionNames, o as getTomlStats, p as getXmlStats, q as getYamlStats, r as iniToJson, s as jsonArrayToNdjson, t as jsonToIni, u as jsonToToml, v as jsonToXml, w as minifyNdjson, x as minifyToml, y as minifyXml, z as ndjsonToJsonArray, A as parseCsv, B as parseEnv, D as parseIni, F as parseXmlToObject, G as stringifyIni, H as toCsvString, J as tomlToJson, K as validateEnvKey, L as validateIni, M as validateNdjson, O as validateToml, Q as validateXml, R as validateYaml, S as xmlToJson } from '../data-CakDxAcT.js';
|
package/dist/tools/data.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { csvToJson, detectDelimiter, envToExport, envToJson, formatToml, formatXml, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, iniToJson, jsonToIni, jsonToToml, jsonToXml, minifyToml, minifyXml, parseCsv, parseEnv, parseIni, parseXmlToObject, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-
|
|
1
|
+
export { csvToJson, detectDelimiter, envToExport, envToJson, formatNdjson, formatToml, formatXml, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseIni, parseXmlToObject, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-DNCOIO5N.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/encoding.cjs
CHANGED
|
@@ -28,7 +28,7 @@ function decodeBase64(input, variant = "standard") {
|
|
|
28
28
|
const output = bytes.toString("utf8");
|
|
29
29
|
return { ok: true, output, outputBytes: bytes.length };
|
|
30
30
|
} catch {
|
|
31
|
-
return { ok: false, error: "Invalid Base64
|
|
31
|
+
return { ok: false, error: "Invalid Base64: check the input and variant setting" };
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
function encodeUrl(input, mode = "component") {
|
|
@@ -47,7 +47,7 @@ function decodeUrl(input, mode = "component") {
|
|
|
47
47
|
const output = mode === "component" ? decodeURIComponent(trimmed) : decodeURI(trimmed);
|
|
48
48
|
return { ok: true, output, changed: output !== trimmed };
|
|
49
49
|
} catch {
|
|
50
|
-
return { ok: false, error: "Invalid percent-encoding
|
|
50
|
+
return { ok: false, error: "Invalid percent-encoding: check the input" };
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
function diffSegments(original, encoded) {
|
package/dist/tools/encoding.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ALPHABETS, base32Decode, base32DecodeBytes, base32Encode, base32EncodeBytes, decodeBase64, decodeHtmlEntities, decodeUrl, diffSegments, encodeBase64, encodeHtmlEntities, encodeHtmlEntitiesAll, encodeUrl, isValidBase32 } from '../chunk-
|
|
1
|
+
export { ALPHABETS, base32Decode, base32DecodeBytes, base32Encode, base32EncodeBytes, decodeBase64, decodeHtmlEntities, decodeUrl, diffSegments, encodeBase64, encodeHtmlEntities, encodeHtmlEntitiesAll, encodeUrl, isValidBase32 } from '../chunk-IPR7FSX4.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/media.cjs
CHANGED
|
@@ -124,7 +124,7 @@ function readImageInfo(bytes) {
|
|
|
124
124
|
if (bytes[0] === 255 && bytes[1] === 216) {
|
|
125
125
|
return readJpeg(bytes);
|
|
126
126
|
}
|
|
127
|
-
return { error: "Unrecognized image format
|
|
127
|
+
return { error: "Unrecognized image format. Supported formats: PNG, JPEG, GIF, WebP, BMP" };
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
exports.readImageInfo = readImageInfo;
|
package/dist/tools/media.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { readImageInfo } from '../chunk-
|
|
1
|
+
export { readImageInfo } from '../chunk-N7C52YGL.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/misc.cjs
CHANGED
|
@@ -531,7 +531,7 @@ function getConversionWarnings(from, to) {
|
|
|
531
531
|
warnings.push("Transparency will be lost if the WebP image has an alpha channel");
|
|
532
532
|
}
|
|
533
533
|
if (to === "image/jpeg") {
|
|
534
|
-
warnings.push("JPEG uses lossy compression
|
|
534
|
+
warnings.push("JPEG uses lossy compression: some quality may be reduced");
|
|
535
535
|
}
|
|
536
536
|
return warnings;
|
|
537
537
|
}
|
package/dist/tools/misc.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { COLOR_PRESETS, DATA_TYPES, DEFAULT_CONFIG, DEFAULT_QR_OPTIONS, FORMAT_EXTENSIONS, FORMAT_LABELS, analyzeString, analyzeSvg, calcResizeDimensions, calcSavings, charToCodePoint, codePointToChar, detectFormatFromDataUrl, detectFormatFromFilename, formatBytes, formatLabel, formatSvg, fromUnicodeEscape, generateData, generateMetaHtml, generateQrDataUrl, generateQrSvg, generateSingle, generateSvgFavicon, getConversionWarnings, getDefaultQuality, getDownloadFilename, getSupportedFormats, getSupportedOutputFormats, minifySvg, numberToOrdinal, numberToRoman, numberToWords, optimizeSvg, ordinalWords, parseMetaTags, romanToNumber, sanitizeSvg, svgToDataUrl, toUnicodeEscape, validateOgTags } from '../chunk-
|
|
1
|
+
export { COLOR_PRESETS, DATA_TYPES, DEFAULT_CONFIG, DEFAULT_QR_OPTIONS, FORMAT_EXTENSIONS, FORMAT_LABELS, analyzeString, analyzeSvg, calcResizeDimensions, calcSavings, charToCodePoint, codePointToChar, detectFormatFromDataUrl, detectFormatFromFilename, formatBytes, formatLabel, formatSvg, fromUnicodeEscape, generateData, generateMetaHtml, generateQrDataUrl, generateQrSvg, generateSingle, generateSvgFavicon, getConversionWarnings, getDefaultQuality, getDownloadFilename, getSupportedFormats, getSupportedOutputFormats, minifySvg, numberToOrdinal, numberToRoman, numberToWords, optimizeSvg, ordinalWords, parseMetaTags, romanToNumber, sanitizeSvg, svgToDataUrl, toUnicodeEscape, validateOgTags } from '../chunk-GX7H6TAX.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/network.cjs
CHANGED
|
@@ -1349,6 +1349,64 @@ function validateHeaderValue(name, value) {
|
|
|
1349
1349
|
}
|
|
1350
1350
|
return { valid: true };
|
|
1351
1351
|
}
|
|
1352
|
+
function parseHar(input) {
|
|
1353
|
+
if (!input || !input.trim()) {
|
|
1354
|
+
return { error: "Input is empty" };
|
|
1355
|
+
}
|
|
1356
|
+
let data;
|
|
1357
|
+
try {
|
|
1358
|
+
data = JSON.parse(input);
|
|
1359
|
+
} catch (e) {
|
|
1360
|
+
return { error: `Invalid JSON: ${e instanceof Error ? e.message : String(e)}` };
|
|
1361
|
+
}
|
|
1362
|
+
if (typeof data !== "object" || data === null || !("log" in data)) {
|
|
1363
|
+
return { error: 'Not a valid HAR file: missing "log" property' };
|
|
1364
|
+
}
|
|
1365
|
+
const log = data.log;
|
|
1366
|
+
if (typeof log !== "object" || log === null || !Array.isArray(log.entries)) {
|
|
1367
|
+
return { error: 'Not a valid HAR file: "log.entries" must be an array' };
|
|
1368
|
+
}
|
|
1369
|
+
const logObj = log;
|
|
1370
|
+
const entries = [];
|
|
1371
|
+
const methods = {};
|
|
1372
|
+
const statusCodes = {};
|
|
1373
|
+
let totalSize = 0;
|
|
1374
|
+
let totalTime = 0;
|
|
1375
|
+
let failedRequests = 0;
|
|
1376
|
+
for (const raw of logObj.entries) {
|
|
1377
|
+
if (typeof raw !== "object" || raw === null) continue;
|
|
1378
|
+
const e = raw;
|
|
1379
|
+
const request = e.request ?? {};
|
|
1380
|
+
const response = e.response ?? {};
|
|
1381
|
+
const content = response.content ?? {};
|
|
1382
|
+
const method = typeof request.method === "string" ? request.method : "GET";
|
|
1383
|
+
const url = typeof request.url === "string" ? request.url : "";
|
|
1384
|
+
const status = typeof response.status === "number" ? response.status : 0;
|
|
1385
|
+
const statusText = typeof response.statusText === "string" ? response.statusText : "";
|
|
1386
|
+
const httpVersion = typeof response.httpVersion === "string" ? response.httpVersion : "";
|
|
1387
|
+
const mimeType = typeof content.mimeType === "string" ? content.mimeType : "";
|
|
1388
|
+
const size = typeof content.size === "number" && content.size > 0 ? content.size : 0;
|
|
1389
|
+
const time = typeof e.time === "number" ? e.time : 0;
|
|
1390
|
+
const startedDateTime = typeof e.startedDateTime === "string" ? e.startedDateTime : "";
|
|
1391
|
+
entries.push({ method, url, status, statusText, httpVersion, mimeType, size, time, startedDateTime });
|
|
1392
|
+
methods[method] = (methods[method] ?? 0) + 1;
|
|
1393
|
+
if (status > 0) statusCodes[String(status)] = (statusCodes[String(status)] ?? 0) + 1;
|
|
1394
|
+
totalSize += size;
|
|
1395
|
+
totalTime += time;
|
|
1396
|
+
if (status === 0 || status >= 400) failedRequests++;
|
|
1397
|
+
}
|
|
1398
|
+
const totalRequests = entries.length;
|
|
1399
|
+
const avgTime = totalRequests > 0 ? Math.round(totalTime / totalRequests * 100) / 100 : 0;
|
|
1400
|
+
return {
|
|
1401
|
+
version: typeof logObj.version === "string" ? logObj.version : "",
|
|
1402
|
+
creator: {
|
|
1403
|
+
name: typeof logObj.creator?.name === "string" ? logObj.creator.name : "",
|
|
1404
|
+
version: typeof logObj.creator?.version === "string" ? logObj.creator.version : ""
|
|
1405
|
+
},
|
|
1406
|
+
entries,
|
|
1407
|
+
summary: { totalRequests, totalSize, totalTime, avgTime, failedRequests, methods, statusCodes }
|
|
1408
|
+
};
|
|
1409
|
+
}
|
|
1352
1410
|
|
|
1353
1411
|
exports.DNS_RECORD_TYPES = DNS_RECORD_TYPES;
|
|
1354
1412
|
exports.HTTP_HEADERS = HTTP_HEADERS;
|
|
@@ -1372,6 +1430,7 @@ exports.isValidIpv4 = isValidIpv4;
|
|
|
1372
1430
|
exports.isValidIpv6 = isValidIpv6;
|
|
1373
1431
|
exports.parseDnsResponse = parseDnsResponse;
|
|
1374
1432
|
exports.parseGeoResponse = parseGeoResponse;
|
|
1433
|
+
exports.parseHar = parseHar;
|
|
1375
1434
|
exports.searchHeaders = searchHeaders;
|
|
1376
1435
|
exports.searchStatusCodes = searchStatusCodes;
|
|
1377
1436
|
exports.statusCodeToText = statusCodeToText;
|
package/dist/tools/network.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { D as DNS_RECORD_TYPES, a as DnsRecord, b as DnsRecordType, c as DnsResponse, G as GeoResult, H as HTTP_HEADERS, d as
|
|
1
|
+
export { D as DNS_RECORD_TYPES, a as DnsRecord, b as DnsRecordType, c as DnsResponse, G as GeoResult, H as HTTP_HEADERS, d as HarEntry, e as HarParseResult, f as HarSummary, g as HeaderCategory, h as HttpHeader, P as ParsedDnsResult, i as ParsedGeoResult, S as STATUS_CODES, j as StatusCode, k as buildDnsQueryUrl, l as buildGeoUrl, m as buildMapUrl, o as countryCodeToFlag, p as formatCoordinates, q as formatTtl, r as getByCategory, s as getHeader, t as getHeadersByCategory, u as getStatusByCategory, v as getStatusCode, w as isClientError, x as isServerError, y as isSuccess, z as isValidIp, A as isValidIpv4, B as isValidIpv6, C as parseDnsResponse, E as parseGeoResponse, F as parseHar, I as searchHeaders, J as searchStatusCodes, K as statusCodeToText, L as typeNumberToLabel, M as validateDomain, N as validateHeaderName, O as validateHeaderValue } from '../network-DwyAjwJS.cjs';
|
package/dist/tools/network.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { D as DNS_RECORD_TYPES, a as DnsRecord, b as DnsRecordType, c as DnsResponse, G as GeoResult, H as HTTP_HEADERS, d as
|
|
1
|
+
export { D as DNS_RECORD_TYPES, a as DnsRecord, b as DnsRecordType, c as DnsResponse, G as GeoResult, H as HTTP_HEADERS, d as HarEntry, e as HarParseResult, f as HarSummary, g as HeaderCategory, h as HttpHeader, P as ParsedDnsResult, i as ParsedGeoResult, S as STATUS_CODES, j as StatusCode, k as buildDnsQueryUrl, l as buildGeoUrl, m as buildMapUrl, o as countryCodeToFlag, p as formatCoordinates, q as formatTtl, r as getByCategory, s as getHeader, t as getHeadersByCategory, u as getStatusByCategory, v as getStatusCode, w as isClientError, x as isServerError, y as isSuccess, z as isValidIp, A as isValidIpv4, B as isValidIpv6, C as parseDnsResponse, E as parseGeoResponse, F as parseHar, I as searchHeaders, J as searchStatusCodes, K as statusCodeToText, L as typeNumberToLabel, M as validateDomain, N as validateHeaderName, O as validateHeaderValue } from '../network-DwyAjwJS.js';
|
package/dist/tools/network.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { DNS_RECORD_TYPES, HTTP_HEADERS, STATUS_CODES, buildDnsQueryUrl, buildGeoUrl, buildMapUrl, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseDnsResponse, parseGeoResponse, searchHeaders, searchStatusCodes, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue } from '../chunk-
|
|
1
|
+
export { DNS_RECORD_TYPES, HTTP_HEADERS, STATUS_CODES, buildDnsQueryUrl, buildGeoUrl, buildMapUrl, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseDnsResponse, parseGeoResponse, parseHar, searchHeaders, searchStatusCodes, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue } from '../chunk-V5JKVDBA.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/units.cjs
CHANGED
|
@@ -21,16 +21,16 @@ function formatValue(value, unit, decimals = 4) {
|
|
|
21
21
|
return `${value.toFixed(decimals)}${unit}`;
|
|
22
22
|
}
|
|
23
23
|
var COMMON_SIZES = [
|
|
24
|
-
{ px: 8, label: "8px
|
|
25
|
-
{ px: 12, label: "12px
|
|
26
|
-
{ px: 14, label: "14px
|
|
27
|
-
{ px: 16, label: "16px
|
|
28
|
-
{ px: 18, label: "18px
|
|
29
|
-
{ px: 20, label: "20px
|
|
30
|
-
{ px: 24, label: "24px
|
|
31
|
-
{ px: 32, label: "32px
|
|
32
|
-
{ px: 48, label: "48px
|
|
33
|
-
{ px: 64, label: "64px
|
|
24
|
+
{ px: 8, label: "8px: Extra small spacing / icon size" },
|
|
25
|
+
{ px: 12, label: "12px: Small text / caption" },
|
|
26
|
+
{ px: 14, label: "14px: Body small / secondary text" },
|
|
27
|
+
{ px: 16, label: "16px: Base font size / body text" },
|
|
28
|
+
{ px: 18, label: "18px: Body large / lead text" },
|
|
29
|
+
{ px: 20, label: "20px: Subheading / large body" },
|
|
30
|
+
{ px: 24, label: "24px: H4 / section title" },
|
|
31
|
+
{ px: 32, label: "32px: H3 / card heading" },
|
|
32
|
+
{ px: 48, label: "48px: H2 / page section heading" },
|
|
33
|
+
{ px: 64, label: "64px: H1 / hero heading" }
|
|
34
34
|
];
|
|
35
35
|
function pxToViewport(px, viewportWidth = 1440, viewportHeight = 900) {
|
|
36
36
|
const vw = parseFloat((px / viewportWidth * 100).toFixed(4));
|
package/dist/tools/units.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, compareSemver, convert, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, viewportToPx } from '../chunk-
|
|
1
|
+
export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, compareSemver, convert, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, viewportToPx } from '../chunk-QJE743LY.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/package.json
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@utilix-tech/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "140+ developer utility tools for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
|
|
5
5
|
"author": "Utilix <hello@utilix.tech>",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"homepage": "https://utilix.tech",
|
|
7
|
+
"homepage": "https://www.utilix.tech/docs#node-sdk",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/utilix-tech/utilix-sdk.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/utilix-tech/utilix-sdk/issues"
|
|
14
|
+
},
|
|
8
15
|
"keywords": [
|
|
9
16
|
"developer-tools",
|
|
10
17
|
"utilities",
|
|
@@ -16,6 +23,11 @@
|
|
|
16
23
|
"network",
|
|
17
24
|
"sdk",
|
|
18
25
|
"devtools",
|
|
26
|
+
"typescript",
|
|
27
|
+
"jwt",
|
|
28
|
+
"regex",
|
|
29
|
+
"uuid",
|
|
30
|
+
"api-client",
|
|
19
31
|
"utilix"
|
|
20
32
|
],
|
|
21
33
|
"engines": {
|
|
@@ -115,7 +127,9 @@
|
|
|
115
127
|
"files": [
|
|
116
128
|
"dist",
|
|
117
129
|
"README.md",
|
|
118
|
-
"LICENSE"
|
|
130
|
+
"LICENSE",
|
|
131
|
+
"CHANGELOG.md",
|
|
132
|
+
"SECURITY.md"
|
|
119
133
|
],
|
|
120
134
|
"scripts": {
|
|
121
135
|
"build": "tsup",
|