@planecloud/utils 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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/date/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const formatCurrency: (amount: number, currency?: string, locale?: string) => string;
2
+ export declare const formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;
3
+ export declare const formatPercent: (value: number, decimals?: number) => string;
4
+ export declare const formatDecimal: (value: number, decimals?: number) => string;
5
+ export declare const formatThousands: (value: number) => string;
6
+ export declare const formatBytes: (bytes: number, decimals?: number) => string;
7
+ export declare const formatBits: (bits: number, decimals?: number) => string;
8
+ export declare const formatDuration: (seconds: number) => string;
9
+ export declare const formatUptime: (startDate: Date, endDate?: Date) => string;
10
+ export declare const formatRelativeTime: (date: Date, baseDate?: Date) => string;
11
+ export declare const formatTimeRemaining: (targetDate: Date, currentDate?: Date) => string;
12
+ export declare const formatList: (items: string[], conjunction?: string) => string;
13
+ export declare const formatOrdinal: (num: number) => string;
14
+ export declare const formatRoman: (num: number) => string;
15
+ export declare const formatInitials: (name: string) => string;
16
+ export declare const formatAbbreviation: (text: string, maxLength?: number) => string;
17
+ export declare const formatMask: (value: string, mask: string) => string;
18
+ export declare const formatCreditCard: (cardNumber: string) => string;
19
+ export declare const formatPhoneNumber: (phoneNumber: string, format?: string) => string;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,WAAU,MAAc,EACxB,SAAQ,MAAgB,KACvB,MAKF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,UAAS,IAAI,CAAC,mBAAwB,KACrC,MAEF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,KAAG,MAEnE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,KAAG,MAEnE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAE/C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,KAAG,MAUjE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,WAAU,MAAU,KAAG,MAU/D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAehD,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,WAAW,IAAI,EACf,UAAS,IAAiB,KACzB,MAIF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,IAAI,EACV,WAAU,IAAiB,KAC1B,MAmBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,IAAI,EAChB,cAAa,IAAiB,KAC7B,MAMF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,EAAE,EACf,cAAa,MAAc,KAC1B,MAMF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAI3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MA4BzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAM7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,YAAW,MAAW,KACrB,MAYF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MA4CxD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG,MAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,MAAM,EACnB,SAAQ,MAAyB,KAChC,MAGF,CAAC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatPhoneNumber = exports.formatCreditCard = exports.formatMask = exports.formatAbbreviation = exports.formatInitials = exports.formatRoman = exports.formatOrdinal = exports.formatList = exports.formatTimeRemaining = exports.formatRelativeTime = exports.formatUptime = exports.formatDuration = exports.formatBits = exports.formatBytes = exports.formatThousands = exports.formatDecimal = exports.formatPercent = exports.formatNumber = exports.formatCurrency = void 0;
4
+ // Format utilities
5
+ const formatCurrency = (amount, currency = "USD", locale = "en-US") => {
6
+ return new Intl.NumberFormat(locale, {
7
+ style: "currency",
8
+ currency,
9
+ }).format(amount);
10
+ };
11
+ exports.formatCurrency = formatCurrency;
12
+ const formatNumber = (value, options = {}) => {
13
+ return new Intl.NumberFormat("en-US", options).format(value);
14
+ };
15
+ exports.formatNumber = formatNumber;
16
+ const formatPercent = (value, decimals = 2) => {
17
+ return `${(value * 100).toFixed(decimals)}%`;
18
+ };
19
+ exports.formatPercent = formatPercent;
20
+ const formatDecimal = (value, decimals = 2) => {
21
+ return value.toFixed(decimals);
22
+ };
23
+ exports.formatDecimal = formatDecimal;
24
+ const formatThousands = (value) => {
25
+ return new Intl.NumberFormat("en-US").format(value);
26
+ };
27
+ exports.formatThousands = formatThousands;
28
+ const formatBytes = (bytes, decimals = 2) => {
29
+ if (bytes === 0)
30
+ return "0 Bytes";
31
+ const k = 1024;
32
+ const dm = decimals < 0 ? 0 : decimals;
33
+ const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
34
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
35
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
36
+ };
37
+ exports.formatBytes = formatBytes;
38
+ const formatBits = (bits, decimals = 2) => {
39
+ if (bits === 0)
40
+ return "0 bps";
41
+ const k = 1000;
42
+ const dm = decimals < 0 ? 0 : decimals;
43
+ const sizes = ["bps", "Kbps", "Mbps", "Gbps", "Tbps"];
44
+ const i = Math.floor(Math.log(bits) / Math.log(k));
45
+ return parseFloat((bits / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
46
+ };
47
+ exports.formatBits = formatBits;
48
+ const formatDuration = (seconds) => {
49
+ const days = Math.floor(seconds / 86400);
50
+ const hours = Math.floor((seconds % 86400) / 3600);
51
+ const minutes = Math.floor((seconds % 3600) / 60);
52
+ const remainingSeconds = seconds % 60;
53
+ const parts = [];
54
+ if (days > 0)
55
+ parts.push(`${days}d`);
56
+ if (hours > 0)
57
+ parts.push(`${hours}h`);
58
+ if (minutes > 0)
59
+ parts.push(`${minutes}m`);
60
+ if (remainingSeconds > 0 || parts.length === 0)
61
+ parts.push(`${remainingSeconds}s`);
62
+ return parts.join(" ");
63
+ };
64
+ exports.formatDuration = formatDuration;
65
+ const formatUptime = (startDate, endDate = new Date()) => {
66
+ const diffMs = endDate.getTime() - startDate.getTime();
67
+ const diffSeconds = Math.floor(diffMs / 1000);
68
+ return (0, exports.formatDuration)(diffSeconds);
69
+ };
70
+ exports.formatUptime = formatUptime;
71
+ const formatRelativeTime = (date, baseDate = new Date()) => {
72
+ const diffMs = baseDate.getTime() - date.getTime();
73
+ const diffSeconds = Math.floor(diffMs / 1000);
74
+ const diffMinutes = Math.floor(diffSeconds / 60);
75
+ const diffHours = Math.floor(diffMinutes / 60);
76
+ const diffDays = Math.floor(diffHours / 24);
77
+ const diffWeeks = Math.floor(diffDays / 7);
78
+ const diffMonths = Math.floor(diffDays / 30);
79
+ const diffYears = Math.floor(diffDays / 365);
80
+ if (diffSeconds < 60)
81
+ return "just now";
82
+ if (diffMinutes < 60)
83
+ return `${diffMinutes} minute${diffMinutes > 1 ? "s" : ""} ago`;
84
+ if (diffHours < 24)
85
+ return `${diffHours} hour${diffHours > 1 ? "s" : ""} ago`;
86
+ if (diffDays < 7)
87
+ return `${diffDays} day${diffDays > 1 ? "s" : ""} ago`;
88
+ if (diffWeeks < 4)
89
+ return `${diffWeeks} week${diffWeeks > 1 ? "s" : ""} ago`;
90
+ if (diffMonths < 12)
91
+ return `${diffMonths} month${diffMonths > 1 ? "s" : ""} ago`;
92
+ return `${diffYears} year${diffYears > 1 ? "s" : ""} ago`;
93
+ };
94
+ exports.formatRelativeTime = formatRelativeTime;
95
+ const formatTimeRemaining = (targetDate, currentDate = new Date()) => {
96
+ const diffMs = targetDate.getTime() - currentDate.getTime();
97
+ if (diffMs < 0)
98
+ return "expired";
99
+ const diffSeconds = Math.floor(diffMs / 1000);
100
+ return (0, exports.formatDuration)(diffSeconds);
101
+ };
102
+ exports.formatTimeRemaining = formatTimeRemaining;
103
+ const formatList = (items, conjunction = "and") => {
104
+ if (items.length === 0)
105
+ return "";
106
+ if (items.length === 1)
107
+ return items[0];
108
+ if (items.length === 2)
109
+ return `${items[0]} ${conjunction} ${items[1]}`;
110
+ return `${items.slice(0, -1).join(", ")}, ${conjunction} ${items[items.length - 1]}`;
111
+ };
112
+ exports.formatList = formatList;
113
+ const formatOrdinal = (num) => {
114
+ const suffixes = ["th", "st", "nd", "rd"];
115
+ const value = num % 100;
116
+ return num + (suffixes[(value - 20) % 10] || suffixes[value] || suffixes[0]);
117
+ };
118
+ exports.formatOrdinal = formatOrdinal;
119
+ const formatRoman = (num) => {
120
+ const romanNumerals = [
121
+ { value: 1000, numeral: "M" },
122
+ { value: 900, numeral: "CM" },
123
+ { value: 500, numeral: "D" },
124
+ { value: 400, numeral: "CD" },
125
+ { value: 100, numeral: "C" },
126
+ { value: 90, numeral: "XC" },
127
+ { value: 50, numeral: "L" },
128
+ { value: 40, numeral: "XL" },
129
+ { value: 10, numeral: "X" },
130
+ { value: 9, numeral: "IX" },
131
+ { value: 5, numeral: "V" },
132
+ { value: 4, numeral: "IV" },
133
+ { value: 1, numeral: "I" },
134
+ ];
135
+ let result = "";
136
+ let remaining = num;
137
+ for (const { value, numeral } of romanNumerals) {
138
+ while (remaining >= value) {
139
+ result += numeral;
140
+ remaining -= value;
141
+ }
142
+ }
143
+ return result;
144
+ };
145
+ exports.formatRoman = formatRoman;
146
+ const formatInitials = (name) => {
147
+ return name
148
+ .split(" ")
149
+ .map((word) => word.charAt(0).toUpperCase())
150
+ .join("")
151
+ .slice(0, 2);
152
+ };
153
+ exports.formatInitials = formatInitials;
154
+ const formatAbbreviation = (text, maxLength = 10) => {
155
+ if (text.length <= maxLength)
156
+ return text;
157
+ const words = text.split(" ");
158
+ if (words.length === 1)
159
+ return text.slice(0, maxLength - 3) + "...";
160
+ const abbreviation = words
161
+ .map((word) => word.charAt(0).toUpperCase())
162
+ .join("");
163
+ return abbreviation.length > maxLength
164
+ ? abbreviation.slice(0, maxLength)
165
+ : abbreviation;
166
+ };
167
+ exports.formatAbbreviation = formatAbbreviation;
168
+ const formatMask = (value, mask) => {
169
+ let result = "";
170
+ let valueIndex = 0;
171
+ for (let i = 0; i < mask.length; i++) {
172
+ const maskChar = mask[i];
173
+ if (maskChar === "9") {
174
+ // Numeric placeholder
175
+ while (valueIndex < value.length && !/\d/.test(value[valueIndex])) {
176
+ valueIndex++;
177
+ }
178
+ if (valueIndex < value.length && /\d/.test(value[valueIndex])) {
179
+ result += value[valueIndex];
180
+ valueIndex++;
181
+ }
182
+ }
183
+ else if (maskChar === "a") {
184
+ // Alphabetic placeholder
185
+ while (valueIndex < value.length && !/[a-zA-Z]/.test(value[valueIndex])) {
186
+ valueIndex++;
187
+ }
188
+ if (valueIndex < value.length && /[a-zA-Z]/.test(value[valueIndex])) {
189
+ result += value[valueIndex];
190
+ valueIndex++;
191
+ }
192
+ }
193
+ else if (maskChar === "*") {
194
+ // Alphanumeric placeholder
195
+ while (valueIndex < value.length &&
196
+ !/[a-zA-Z0-9]/.test(value[valueIndex])) {
197
+ valueIndex++;
198
+ }
199
+ if (valueIndex < value.length && /[a-zA-Z0-9]/.test(value[valueIndex])) {
200
+ result += value[valueIndex];
201
+ valueIndex++;
202
+ }
203
+ }
204
+ else {
205
+ // Literal character
206
+ result += maskChar;
207
+ }
208
+ }
209
+ return result;
210
+ };
211
+ exports.formatMask = formatMask;
212
+ const formatCreditCard = (cardNumber) => {
213
+ const cleaned = cardNumber.replace(/\D/g, "");
214
+ const groups = cleaned.match(/(\d{1,4})/g);
215
+ return groups ? groups.join(" ") : cleaned;
216
+ };
217
+ exports.formatCreditCard = formatCreditCard;
218
+ const formatPhoneNumber = (phoneNumber, format = "(XXX) XXX-XXXX") => {
219
+ const cleaned = phoneNumber.replace(/\D/g, "");
220
+ return (0, exports.formatMask)(cleaned, format);
221
+ };
222
+ exports.formatPhoneNumber = formatPhoneNumber;
223
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./crypto";
2
+ export { slugify, capitalize, camelCase, pascalCase, kebabCase, snakeCase, truncate, stripHtml, escapeHtml, unescapeHtml, maskEmail, maskPhone, pluralize, formatFileSize, isEmail, isUrl, isUuid, extractDomain, } from "./string";
3
+ export * from "./date";
4
+ export * from "./format";
5
+ export * from "./network";
6
+ export * from "./validation";
7
+ export { generateId, generateShortId, generatePassword, generateToken, generateApiKey, hashApiKey, generateSessionToken, generateRefreshToken, generateRateLimitKey, generateVerificationCode, generateContentSecurityPolicy, simpleEncrypt, simpleDecrypt, } from "./auth";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,OAAO,EACP,KAAK,EACL,MAAM,EACN,aAAa,GACd,MAAM,UAAU,CAAC;AAGlB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,aAAa,EACb,aAAa,GACd,MAAM,QAAQ,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.simpleDecrypt = exports.simpleEncrypt = exports.generateContentSecurityPolicy = exports.generateVerificationCode = exports.generateRateLimitKey = exports.generateRefreshToken = exports.generateSessionToken = exports.hashApiKey = exports.generateApiKey = exports.generateToken = exports.generatePassword = exports.generateShortId = exports.generateId = exports.extractDomain = exports.isUuid = exports.isUrl = exports.isEmail = exports.formatFileSize = exports.pluralize = exports.maskPhone = exports.maskEmail = exports.unescapeHtml = exports.escapeHtml = exports.stripHtml = exports.truncate = exports.snakeCase = exports.kebabCase = exports.pascalCase = exports.camelCase = exports.capitalize = exports.slugify = void 0;
18
+ // Core utilities except auth to avoid conflicts
19
+ __exportStar(require("./crypto"), exports);
20
+ // String utilities (basic functions, no conflicts)
21
+ var string_1 = require("./string");
22
+ Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return string_1.slugify; } });
23
+ Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return string_1.capitalize; } });
24
+ Object.defineProperty(exports, "camelCase", { enumerable: true, get: function () { return string_1.camelCase; } });
25
+ Object.defineProperty(exports, "pascalCase", { enumerable: true, get: function () { return string_1.pascalCase; } });
26
+ Object.defineProperty(exports, "kebabCase", { enumerable: true, get: function () { return string_1.kebabCase; } });
27
+ Object.defineProperty(exports, "snakeCase", { enumerable: true, get: function () { return string_1.snakeCase; } });
28
+ Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return string_1.truncate; } });
29
+ Object.defineProperty(exports, "stripHtml", { enumerable: true, get: function () { return string_1.stripHtml; } });
30
+ Object.defineProperty(exports, "escapeHtml", { enumerable: true, get: function () { return string_1.escapeHtml; } });
31
+ Object.defineProperty(exports, "unescapeHtml", { enumerable: true, get: function () { return string_1.unescapeHtml; } });
32
+ Object.defineProperty(exports, "maskEmail", { enumerable: true, get: function () { return string_1.maskEmail; } });
33
+ Object.defineProperty(exports, "maskPhone", { enumerable: true, get: function () { return string_1.maskPhone; } });
34
+ Object.defineProperty(exports, "pluralize", { enumerable: true, get: function () { return string_1.pluralize; } });
35
+ Object.defineProperty(exports, "formatFileSize", { enumerable: true, get: function () { return string_1.formatFileSize; } });
36
+ Object.defineProperty(exports, "isEmail", { enumerable: true, get: function () { return string_1.isEmail; } });
37
+ Object.defineProperty(exports, "isUrl", { enumerable: true, get: function () { return string_1.isUrl; } });
38
+ Object.defineProperty(exports, "isUuid", { enumerable: true, get: function () { return string_1.isUuid; } });
39
+ Object.defineProperty(exports, "extractDomain", { enumerable: true, get: function () { return string_1.extractDomain; } });
40
+ // Date utilities
41
+ __exportStar(require("./date"), exports);
42
+ // Format utilities
43
+ __exportStar(require("./format"), exports);
44
+ // Network utilities
45
+ __exportStar(require("./network"), exports);
46
+ // Validation utilities
47
+ __exportStar(require("./validation"), exports);
48
+ // Re-export auth with specific functions to avoid conflicts
49
+ var auth_1 = require("./auth");
50
+ Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return auth_1.generateId; } });
51
+ Object.defineProperty(exports, "generateShortId", { enumerable: true, get: function () { return auth_1.generateShortId; } });
52
+ Object.defineProperty(exports, "generatePassword", { enumerable: true, get: function () { return auth_1.generatePassword; } });
53
+ Object.defineProperty(exports, "generateToken", { enumerable: true, get: function () { return auth_1.generateToken; } });
54
+ Object.defineProperty(exports, "generateApiKey", { enumerable: true, get: function () { return auth_1.generateApiKey; } });
55
+ Object.defineProperty(exports, "hashApiKey", { enumerable: true, get: function () { return auth_1.hashApiKey; } });
56
+ Object.defineProperty(exports, "generateSessionToken", { enumerable: true, get: function () { return auth_1.generateSessionToken; } });
57
+ Object.defineProperty(exports, "generateRefreshToken", { enumerable: true, get: function () { return auth_1.generateRefreshToken; } });
58
+ Object.defineProperty(exports, "generateRateLimitKey", { enumerable: true, get: function () { return auth_1.generateRateLimitKey; } });
59
+ Object.defineProperty(exports, "generateVerificationCode", { enumerable: true, get: function () { return auth_1.generateVerificationCode; } });
60
+ Object.defineProperty(exports, "generateContentSecurityPolicy", { enumerable: true, get: function () { return auth_1.generateContentSecurityPolicy; } });
61
+ Object.defineProperty(exports, "simpleEncrypt", { enumerable: true, get: function () { return auth_1.simpleEncrypt; } });
62
+ Object.defineProperty(exports, "simpleDecrypt", { enumerable: true, get: function () { return auth_1.simpleDecrypt; } });
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,2CAAyB;AAEzB,mDAAmD;AACnD,mCAmBkB;AAlBhB,iGAAA,OAAO,OAAA;AACP,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,kGAAA,QAAQ,OAAA;AACR,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,wGAAA,cAAc,OAAA;AACd,iGAAA,OAAO,OAAA;AACP,+FAAA,KAAK,OAAA;AACL,gGAAA,MAAM,OAAA;AACN,uGAAA,aAAa,OAAA;AAGf,iBAAiB;AACjB,yCAAuB;AAEvB,mBAAmB;AACnB,2CAAyB;AAEzB,oBAAoB;AACpB,4CAA0B;AAE1B,uBAAuB;AACvB,+CAA6B;AAE7B,4DAA4D;AAC5D,+BAcgB;AAbd,kGAAA,UAAU,OAAA;AACV,uGAAA,eAAe,OAAA;AACf,wGAAA,gBAAgB,OAAA;AAChB,qGAAA,aAAa,OAAA;AACb,sGAAA,cAAc,OAAA;AACd,kGAAA,UAAU,OAAA;AACV,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,gHAAA,wBAAwB,OAAA;AACxB,qHAAA,6BAA6B,OAAA;AAC7B,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA"}
@@ -0,0 +1,24 @@
1
+ export declare const isValidIP: (ip: string) => boolean;
2
+ export declare const isValidPort: (port: number) => boolean;
3
+ export declare const isValidCIDR: (cidr: string) => boolean;
4
+ export declare const isValidDomain: (domain: string) => boolean;
5
+ export declare const isValidEmail: (email: string) => boolean;
6
+ export declare const isUrlValid: (url: string) => boolean;
7
+ export declare const extractUrlDomain: (url: string) => string | null;
8
+ export declare const extractSubdomain: (url: string, domain: string) => string | null;
9
+ export declare const extractPath: (url: string) => string | null;
10
+ export declare const extractQueryParams: (url: string) => Record<string, string> | null;
11
+ export declare const buildURL: (base: string, path?: string, params?: Record<string, any>) => string;
12
+ export declare const sanitizeURL: (url: string) => string;
13
+ export declare const isLocalhost: (url: string) => boolean;
14
+ export declare const isPrivateIP: (ip: string) => boolean;
15
+ export declare const getIPVersion: (ip: string) => 4 | 6 | null;
16
+ export declare const normalizeIP: (ip: string) => string;
17
+ export declare const cidrToRange: (cidr: string) => {
18
+ start: string;
19
+ end: string;
20
+ } | null;
21
+ export declare const calculateSubnetSize: (cidr: string) => number | null;
22
+ export declare const getDefaultPort: (protocol: string) => number | null;
23
+ export declare const portToString: (port: number, protocol?: string) => string;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,OAKtC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAE1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAI1C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,OAI9C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAG5C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,EACX,QAAQ,MAAM,KACb,MAAM,GAAG,IAUX,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,KAAK,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAa3B,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC3B,MAkBF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAoBzC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,OAOzC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,OAUxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,KAAG,CAAC,GAAG,CAAC,GAAG,IAQjD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,MAexC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,KACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAYnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAW3D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,IAsB1D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,KAAG,MAK9D,CAAC"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.portToString = exports.getDefaultPort = exports.calculateSubnetSize = exports.cidrToRange = exports.normalizeIP = exports.getIPVersion = exports.isPrivateIP = exports.isLocalhost = exports.sanitizeURL = exports.buildURL = exports.extractQueryParams = exports.extractPath = exports.extractSubdomain = exports.extractUrlDomain = exports.isUrlValid = exports.isValidEmail = exports.isValidDomain = exports.isValidCIDR = exports.isValidPort = exports.isValidIP = void 0;
4
+ // Network utilities
5
+ const isValidIP = (ip) => {
6
+ const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
7
+ const ipv6Regex = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
8
+ return ipv4Regex.test(ip) || ipv6Regex.test(ip);
9
+ };
10
+ exports.isValidIP = isValidIP;
11
+ const isValidPort = (port) => {
12
+ return Number.isInteger(port) && port >= 1 && port <= 65535;
13
+ };
14
+ exports.isValidPort = isValidPort;
15
+ const isValidCIDR = (cidr) => {
16
+ const cidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(?:[0-9]|[1-2][0-9]|3[0-2])$/;
17
+ return cidrRegex.test(cidr);
18
+ };
19
+ exports.isValidCIDR = isValidCIDR;
20
+ const isValidDomain = (domain) => {
21
+ const domainRegex = /^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/;
22
+ return domainRegex.test(domain) && domain.length <= 253;
23
+ };
24
+ exports.isValidDomain = isValidDomain;
25
+ const isValidEmail = (email) => {
26
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
27
+ return emailRegex.test(email);
28
+ };
29
+ exports.isValidEmail = isValidEmail;
30
+ const isUrlValid = (url) => {
31
+ try {
32
+ new URL(url);
33
+ return true;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ };
39
+ exports.isUrlValid = isUrlValid;
40
+ const extractUrlDomain = (url) => {
41
+ try {
42
+ const urlObj = new URL(url);
43
+ return urlObj.hostname;
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ };
49
+ exports.extractUrlDomain = extractUrlDomain;
50
+ const extractSubdomain = (url, domain) => {
51
+ const hostname = (0, exports.extractUrlDomain)(url);
52
+ if (!hostname)
53
+ return null;
54
+ if (hostname.endsWith(domain)) {
55
+ const subdomain = hostname.slice(0, -domain.length);
56
+ return subdomain.endsWith(".") ? subdomain.slice(0, -1) : subdomain || null;
57
+ }
58
+ return null;
59
+ };
60
+ exports.extractSubdomain = extractSubdomain;
61
+ const extractPath = (url) => {
62
+ try {
63
+ const urlObj = new URL(url);
64
+ return urlObj.pathname;
65
+ }
66
+ catch {
67
+ return null;
68
+ }
69
+ };
70
+ exports.extractPath = extractPath;
71
+ const extractQueryParams = (url) => {
72
+ try {
73
+ const urlObj = new URL(url);
74
+ const params = {};
75
+ urlObj.searchParams.forEach((value, key) => {
76
+ params[key] = value;
77
+ });
78
+ return params;
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ };
84
+ exports.extractQueryParams = extractQueryParams;
85
+ const buildURL = (base, path, params) => {
86
+ try {
87
+ const url = new URL(path ? `${base.replace(/\/$/, "")}/${path.replace(/^\//, "")}` : base);
88
+ if (params) {
89
+ Object.entries(params).forEach(([key, value]) => {
90
+ if (value !== undefined && value !== null) {
91
+ url.searchParams.set(key, String(value));
92
+ }
93
+ });
94
+ }
95
+ return url.toString();
96
+ }
97
+ catch {
98
+ return base;
99
+ }
100
+ };
101
+ exports.buildURL = buildURL;
102
+ const sanitizeURL = (url) => {
103
+ try {
104
+ const urlObj = new URL(url);
105
+ return urlObj.toString();
106
+ }
107
+ catch {
108
+ // Try to fix common URL issues
109
+ let fixedURL = url.trim();
110
+ // Add protocol if missing
111
+ if (!/^https?:\/\//i.test(fixedURL)) {
112
+ fixedURL = `https://${fixedURL}`;
113
+ }
114
+ try {
115
+ new URL(fixedURL);
116
+ return fixedURL;
117
+ }
118
+ catch {
119
+ return "";
120
+ }
121
+ }
122
+ };
123
+ exports.sanitizeURL = sanitizeURL;
124
+ const isLocalhost = (url) => {
125
+ const domain = (0, exports.extractUrlDomain)(url);
126
+ if (!domain)
127
+ return false;
128
+ const localhostPatterns = ["localhost", "127.0.0.1", "::1", "0.0.0.0"];
129
+ return localhostPatterns.some((pattern) => domain.includes(pattern));
130
+ };
131
+ exports.isLocalhost = isLocalhost;
132
+ const isPrivateIP = (ip) => {
133
+ const privateRanges = [
134
+ /^10\./,
135
+ /^172\.(1[6-9]|2[0-9]|3[0-1])\./,
136
+ /^192\.168\./,
137
+ /^fc00:/,
138
+ /^fe80:/,
139
+ ];
140
+ return privateRanges.some((range) => range.test(ip));
141
+ };
142
+ exports.isPrivateIP = isPrivateIP;
143
+ const getIPVersion = (ip) => {
144
+ const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
145
+ const ipv6Regex = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
146
+ if (ipv4Regex.test(ip))
147
+ return 4;
148
+ if (ipv6Regex.test(ip))
149
+ return 6;
150
+ return null;
151
+ };
152
+ exports.getIPVersion = getIPVersion;
153
+ const normalizeIP = (ip) => {
154
+ try {
155
+ const version = (0, exports.getIPVersion)(ip);
156
+ if (version === 6) {
157
+ // Compress IPv6 address
158
+ return ip
159
+ .split(":")
160
+ .map((part) => part.padStart(4, "0"))
161
+ .join(":")
162
+ .toLowerCase();
163
+ }
164
+ return ip;
165
+ }
166
+ catch {
167
+ return ip;
168
+ }
169
+ };
170
+ exports.normalizeIP = normalizeIP;
171
+ const cidrToRange = (cidr) => {
172
+ if (!(0, exports.isValidCIDR)(cidr))
173
+ return null;
174
+ const [ip, prefixLength] = cidr.split("/");
175
+ const prefix = parseInt(prefixLength, 10);
176
+ // This is a simplified implementation
177
+ // In production, you'd want to use a proper IP manipulation library
178
+ return {
179
+ start: ip,
180
+ end: ip,
181
+ };
182
+ };
183
+ exports.cidrToRange = cidrToRange;
184
+ const calculateSubnetSize = (cidr) => {
185
+ if (!(0, exports.isValidCIDR)(cidr))
186
+ return null;
187
+ const [, prefixLength] = cidr.split("/");
188
+ const prefix = parseInt(prefixLength, 10);
189
+ if ((0, exports.getIPVersion)(cidr.split("/")[0]) === 4) {
190
+ return Math.pow(2, 32 - prefix);
191
+ }
192
+ else {
193
+ return Math.pow(2, 128 - prefix);
194
+ }
195
+ };
196
+ exports.calculateSubnetSize = calculateSubnetSize;
197
+ const getDefaultPort = (protocol) => {
198
+ const defaultPorts = {
199
+ http: 80,
200
+ https: 443,
201
+ ftp: 21,
202
+ ssh: 22,
203
+ telnet: 23,
204
+ smtp: 25,
205
+ pop3: 110,
206
+ imap: 143,
207
+ ldap: 389,
208
+ ldaps: 636,
209
+ mysql: 3306,
210
+ postgresql: 5432,
211
+ redis: 6379,
212
+ mongodb: 27017,
213
+ elasticsearch: 9200,
214
+ rabbitmq: 5672,
215
+ kafka: 9092,
216
+ };
217
+ return defaultPorts[protocol.toLowerCase()] || null;
218
+ };
219
+ exports.getDefaultPort = getDefaultPort;
220
+ const portToString = (port, protocol) => {
221
+ if (protocol) {
222
+ return `${protocol.toLowerCase()}://${port}`;
223
+ }
224
+ return port.toString();
225
+ };
226
+ exports.portToString = portToString;
227
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}