@utilix-tech/sdk 0.59.0 → 0.61.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.
@@ -24,6 +24,7 @@
24
24
  * - x-content-type-options-builder: buildXContentTypeOptionsHeader, parseXContentTypeOptionsHeader, assessContentTypeRisk
25
25
  * - accept-language-parser: parseAcceptLanguage, buildAcceptLanguage
26
26
  * - prefer-header: buildPreferHeader, parsePreferHeader
27
+ * - retry-after-builder: buildRetryAfterHeader, parseRetryAfterHeader
27
28
  */
28
29
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
29
30
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -812,6 +813,40 @@ declare function buildPreferHeader(preferences: {
812
813
  declare function parsePreferHeader(raw: string): PreferResult | {
813
814
  error: string;
814
815
  };
816
+ interface RetryAfterSecondsResult {
817
+ header: string;
818
+ headerValue: string;
819
+ type: 'seconds';
820
+ seconds: number;
821
+ }
822
+ interface RetryAfterDateResult {
823
+ header: string;
824
+ headerValue: string;
825
+ type: 'http-date';
826
+ httpDate: string;
827
+ iso: string;
828
+ }
829
+ type RetryAfterResult = RetryAfterSecondsResult | RetryAfterDateResult;
830
+ /**
831
+ * Build a `Retry-After` response header value from either a non-negative
832
+ * delay in seconds or a target date/time, per RFC 9110 §10.2.3. A date is
833
+ * formatted as an HTTP-date (IMF-fixdate, e.g. "Wed, 21 Oct 2026 07:28:00
834
+ * GMT"), the only date format the header allows.
835
+ */
836
+ declare function buildRetryAfterHeader(input: {
837
+ seconds?: number;
838
+ date?: string;
839
+ }): RetryAfterResult | {
840
+ error: string;
841
+ };
842
+ /**
843
+ * Parse an existing `Retry-After` header value (with or without a leading
844
+ * `Retry-After:` label) into either its delay-in-seconds form or its
845
+ * HTTP-date form, per RFC 9110 §10.2.3.
846
+ */
847
+ declare function parseRetryAfterHeader(raw: string): RetryAfterResult | {
848
+ error: string;
849
+ };
815
850
 
816
851
  type network_AcceptLanguageEntry = AcceptLanguageEntry;
817
852
  type network_AcceptLanguageResult = AcceptLanguageResult;
@@ -874,6 +909,9 @@ type network_ReceivedHop = ReceivedHop;
874
909
  type network_ReferrerPolicyEntry = ReferrerPolicyEntry;
875
910
  type network_ReferrerPolicyResult = ReferrerPolicyResult;
876
911
  type network_ReferrerPolicyValue = ReferrerPolicyValue;
912
+ type network_RetryAfterDateResult = RetryAfterDateResult;
913
+ type network_RetryAfterResult = RetryAfterResult;
914
+ type network_RetryAfterSecondsResult = RetryAfterSecondsResult;
877
915
  type network_RobotsGroup = RobotsGroup;
878
916
  type network_RobotsIssue = RobotsIssue;
879
917
  type network_RobotsRule = RobotsRule;
@@ -909,6 +947,7 @@ declare const network_buildPermissionsPolicy: typeof buildPermissionsPolicy;
909
947
  declare const network_buildPreferHeader: typeof buildPreferHeader;
910
948
  declare const network_buildRangeHeader: typeof buildRangeHeader;
911
949
  declare const network_buildReferrerPolicy: typeof buildReferrerPolicy;
950
+ declare const network_buildRetryAfterHeader: typeof buildRetryAfterHeader;
912
951
  declare const network_buildVaryHeader: typeof buildVaryHeader;
913
952
  declare const network_buildXContentTypeOptionsHeader: typeof buildXContentTypeOptionsHeader;
914
953
  declare const network_checkSetCookieHeader: typeof checkSetCookieHeader;
@@ -936,6 +975,7 @@ declare const network_parseHar: typeof parseHar;
936
975
  declare const network_parseIpv6Address: typeof parseIpv6Address;
937
976
  declare const network_parsePermissionsPolicy: typeof parsePermissionsPolicy;
938
977
  declare const network_parsePreferHeader: typeof parsePreferHeader;
978
+ declare const network_parseRetryAfterHeader: typeof parseRetryAfterHeader;
939
979
  declare const network_parseUserAgent: typeof parseUserAgent;
940
980
  declare const network_parseVaryHeader: typeof parseVaryHeader;
941
981
  declare const network_parseXContentTypeOptionsHeader: typeof parseXContentTypeOptionsHeader;
@@ -951,7 +991,7 @@ declare const network_validateManifest: typeof validateManifest;
951
991
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
952
992
  declare const network_validateSitemap: typeof validateSitemap;
953
993
  declare namespace network {
954
- export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, 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_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, 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_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, 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_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
994
+ export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, 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_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, 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_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, 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_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
955
995
  }
956
996
 
957
- export { type PreferResult as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HttpHeader as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type Ipv6ParseResult as J, type LinkHeaderEntry as K, LINK_REL_VALUES as L, type LinkHeaderEntryInput as M, type LinkHeaderResult as N, type LinkRel as O, type ManifestIconInfo as P, type ManifestIssue as Q, type ManifestValidationResult as R, PERMISSIONS_POLICY_FEATURES as S, type ParsedClientHint as T, type ParsedDnsResult as U, type ParsedGeoResult as V, type PermissionsPolicyDirective as W, type PermissionsPolicyFeatureInput as X, type PermissionsPolicyResult as Y, type PreferParameter as Z, type PreferPreference as _, type AcceptLanguageResult as a, parseContentRangeHeader as a$, REFERRER_POLICY_VALUES as a0, type RangeEntry as a1, type RangeEntryInput as a2, type RangeHeaderResult as a3, type ReceivedHop as a4, type ReferrerPolicyEntry as a5, type ReferrerPolicyResult as a6, type ReferrerPolicyValue as a7, type RobotsGroup as a8, type RobotsIssue as a9, buildGeoUrl as aA, buildLinkHeader as aB, buildMapUrl as aC, buildPermissionsPolicy as aD, buildPreferHeader as aE, buildRangeHeader as aF, buildReferrerPolicy as aG, buildVaryHeader as aH, buildXContentTypeOptionsHeader as aI, checkSetCookieHeader as aJ, countryCodeToFlag as aK, formatCoordinates as aL, formatTtl as aM, getByCategory as aN, getHeader as aO, getHeadersByCategory as aP, getStatusByCategory as aQ, getStatusCode as aR, isClientError as aS, isServerError as aT, isSuccess as aU, isValidIp as aV, isValidIpv4 as aW, isValidIpv6 as aX, parseAcceptLanguage as aY, parseClientHintHeaders as aZ, parseContentDisposition as a_, type RobotsRule as aa, type RobotsValidationResult as ab, STATUS_CODES as ac, type SameSiteValue as ad, type SitemapIndexEntry as ae, type SitemapIssue as af, type SitemapSplitFile as ag, type SitemapUrlEntry as ah, type SitemapValidationResult as ai, type SplitSitemapOptions as aj, type SplitSitemapResult as ak, type StatusCode as al, type UaDeviceType as am, type UserAgentInfo as an, type VaryHeaderEntry as ao, type VaryHeaderResult as ap, type XContentTypeOptionsHeader as aq, type XContentTypeOptionsParseResult as ar, X_CONTENT_TYPE_OPTIONS_HEADER as as, analyzeEmailHeaders as at, assessContentTypeRisk as au, buildAcceptLanguage as av, buildCacheControl as aw, buildClientHints as ax, buildContentDisposition as ay, buildDnsQueryUrl as az, type AuthResultEntry as b, parseDnsResponse as b0, parseGeoResponse as b1, parseHar as b2, parseIpv6Address as b3, parsePermissionsPolicy as b4, parsePreferHeader as b5, parseUserAgent as b6, parseVaryHeader as b7, parseXContentTypeOptionsHeader as b8, searchHeaders as b9, searchStatusCodes as ba, splitSitemap as bb, statusCodeToText as bc, typeNumberToLabel as bd, validateDomain as be, validateHeaderName as bf, validateHeaderValue as bg, validateManifest as bh, validateRobotsTxt as bi, validateSitemap as bj, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type ContentDispositionBuildOptions as j, type ContentDispositionBuildResult as k, type ContentDispositionParseResult as l, type ContentRangeResult as m, network as n, type ContentTypeRiskResult as o, type ContentTypeSniffRisk as p, type CookieAttributes as q, type CookieCheckResult as r, type DnsRecord as s, type DnsRecordType as t, type DnsResponse as u, type EmailHeaderField as v, type HarEntry as w, type HarParseResult as x, type HarSummary as y, type HeaderCategory as z };
997
+ export { type PreferResult as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HttpHeader as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type Ipv6ParseResult as J, type LinkHeaderEntry as K, LINK_REL_VALUES as L, type LinkHeaderEntryInput as M, type LinkHeaderResult as N, type LinkRel as O, type ManifestIconInfo as P, type ManifestIssue as Q, type ManifestValidationResult as R, PERMISSIONS_POLICY_FEATURES as S, type ParsedClientHint as T, type ParsedDnsResult as U, type ParsedGeoResult as V, type PermissionsPolicyDirective as W, type PermissionsPolicyFeatureInput as X, type PermissionsPolicyResult as Y, type PreferParameter as Z, type PreferPreference as _, type AcceptLanguageResult as a, isValidIpv6 as a$, REFERRER_POLICY_VALUES as a0, type RangeEntry as a1, type RangeEntryInput as a2, type RangeHeaderResult as a3, type ReceivedHop as a4, type ReferrerPolicyEntry as a5, type ReferrerPolicyResult as a6, type ReferrerPolicyValue as a7, type RetryAfterDateResult as a8, type RetryAfterResult as a9, buildClientHints as aA, buildContentDisposition as aB, buildDnsQueryUrl as aC, buildGeoUrl as aD, buildLinkHeader as aE, buildMapUrl as aF, buildPermissionsPolicy as aG, buildPreferHeader as aH, buildRangeHeader as aI, buildReferrerPolicy as aJ, buildRetryAfterHeader as aK, buildVaryHeader as aL, buildXContentTypeOptionsHeader as aM, checkSetCookieHeader as aN, countryCodeToFlag as aO, formatCoordinates as aP, formatTtl as aQ, getByCategory as aR, getHeader as aS, getHeadersByCategory as aT, getStatusByCategory as aU, getStatusCode as aV, isClientError as aW, isServerError as aX, isSuccess as aY, isValidIp as aZ, isValidIpv4 as a_, type RetryAfterSecondsResult as aa, type RobotsGroup as ab, type RobotsIssue as ac, type RobotsRule as ad, type RobotsValidationResult as ae, STATUS_CODES as af, type SameSiteValue as ag, type SitemapIndexEntry as ah, type SitemapIssue as ai, type SitemapSplitFile as aj, type SitemapUrlEntry as ak, type SitemapValidationResult as al, type SplitSitemapOptions as am, type SplitSitemapResult as an, type StatusCode as ao, type UaDeviceType as ap, type UserAgentInfo as aq, type VaryHeaderEntry as ar, type VaryHeaderResult as as, type XContentTypeOptionsHeader as at, type XContentTypeOptionsParseResult as au, X_CONTENT_TYPE_OPTIONS_HEADER as av, analyzeEmailHeaders as aw, assessContentTypeRisk as ax, buildAcceptLanguage as ay, buildCacheControl as az, type AuthResultEntry as b, parseAcceptLanguage as b0, parseClientHintHeaders as b1, parseContentDisposition as b2, parseContentRangeHeader as b3, parseDnsResponse as b4, parseGeoResponse as b5, parseHar as b6, parseIpv6Address as b7, parsePermissionsPolicy as b8, parsePreferHeader as b9, parseRetryAfterHeader as ba, parseUserAgent as bb, parseVaryHeader as bc, parseXContentTypeOptionsHeader as bd, searchHeaders as be, searchStatusCodes as bf, splitSitemap as bg, statusCodeToText as bh, typeNumberToLabel as bi, validateDomain as bj, validateHeaderName as bk, validateHeaderValue as bl, validateManifest as bm, validateRobotsTxt as bn, validateSitemap as bo, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type ContentDispositionBuildOptions as j, type ContentDispositionBuildResult as k, type ContentDispositionParseResult as l, type ContentRangeResult as m, network as n, type ContentTypeRiskResult as o, type ContentTypeSniffRisk as p, type CookieAttributes as q, type CookieCheckResult as r, type DnsRecord as s, type DnsRecordType as t, type DnsResponse as u, type EmailHeaderField as v, type HarEntry as w, type HarParseResult as x, type HarSummary as y, type HeaderCategory as z };
@@ -2919,6 +2919,38 @@ function parsePreferHeader(raw) {
2919
2919
  const headerValue = formatPreferPreferences(preferences);
2920
2920
  return { header: `Prefer: ${headerValue}`, headerValue, preferences };
2921
2921
  }
2922
+ function buildRetryAfterHeader(input) {
2923
+ const { seconds, date } = input;
2924
+ const hasSeconds = seconds !== void 0;
2925
+ const hasDate = date !== void 0 && date !== "";
2926
+ if (hasSeconds && hasDate) return { error: "Provide either seconds or date, not both" };
2927
+ if (!hasSeconds && !hasDate) return { error: "seconds or date is required" };
2928
+ if (hasSeconds) {
2929
+ if (typeof seconds !== "number" || !Number.isFinite(seconds) || !Number.isInteger(seconds) || seconds < 0) {
2930
+ return { error: "seconds must be a non-negative integer" };
2931
+ }
2932
+ return { header: `Retry-After: ${seconds}`, headerValue: String(seconds), type: "seconds", seconds };
2933
+ }
2934
+ const parsed = new Date(date);
2935
+ if (Number.isNaN(parsed.getTime())) return { error: "date must be a valid date/time string" };
2936
+ const httpDate = parsed.toUTCString();
2937
+ return { header: `Retry-After: ${httpDate}`, headerValue: httpDate, type: "http-date", httpDate, iso: parsed.toISOString() };
2938
+ }
2939
+ function parseRetryAfterHeader(raw) {
2940
+ if (!raw || raw.trim() === "") return { error: "Input is empty" };
2941
+ const value = raw.trim().replace(/^retry-after:\s*/i, "").trim();
2942
+ if (value === "") return { error: "Input is empty" };
2943
+ if (/^\d+$/.test(value)) {
2944
+ const seconds = parseInt(value, 10);
2945
+ return { header: `Retry-After: ${seconds}`, headerValue: String(seconds), type: "seconds", seconds };
2946
+ }
2947
+ const parsed = new Date(value);
2948
+ if (Number.isNaN(parsed.getTime())) {
2949
+ return { error: "Value is neither a non-negative integer (seconds) nor a valid HTTP-date" };
2950
+ }
2951
+ const httpDate = parsed.toUTCString();
2952
+ return { header: `Retry-After: ${httpDate}`, headerValue: httpDate, type: "http-date", httpDate, iso: parsed.toISOString() };
2953
+ }
2922
2954
 
2923
2955
  exports.CLIENT_HINTS = CLIENT_HINTS;
2924
2956
  exports.DNS_RECORD_TYPES = DNS_RECORD_TYPES;
@@ -2942,6 +2974,7 @@ exports.buildPermissionsPolicy = buildPermissionsPolicy;
2942
2974
  exports.buildPreferHeader = buildPreferHeader;
2943
2975
  exports.buildRangeHeader = buildRangeHeader;
2944
2976
  exports.buildReferrerPolicy = buildReferrerPolicy;
2977
+ exports.buildRetryAfterHeader = buildRetryAfterHeader;
2945
2978
  exports.buildVaryHeader = buildVaryHeader;
2946
2979
  exports.buildXContentTypeOptionsHeader = buildXContentTypeOptionsHeader;
2947
2980
  exports.checkSetCookieHeader = checkSetCookieHeader;
@@ -2969,6 +3002,7 @@ exports.parseHar = parseHar;
2969
3002
  exports.parseIpv6Address = parseIpv6Address;
2970
3003
  exports.parsePermissionsPolicy = parsePermissionsPolicy;
2971
3004
  exports.parsePreferHeader = parsePreferHeader;
3005
+ exports.parseRetryAfterHeader = parseRetryAfterHeader;
2972
3006
  exports.parseUserAgent = parseUserAgent;
2973
3007
  exports.parseVaryHeader = parseVaryHeader;
2974
3008
  exports.parseXContentTypeOptionsHeader = parseXContentTypeOptionsHeader;
@@ -1 +1 @@
1
- export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RobotsGroup, a9 as RobotsIssue, aa as RobotsRule, ab as RobotsValidationResult, ac as STATUS_CODES, ad as SameSiteValue, ae as SitemapIndexEntry, af as SitemapIssue, ag as SitemapSplitFile, ah as SitemapUrlEntry, ai as SitemapValidationResult, aj as SplitSitemapOptions, ak as SplitSitemapResult, al as StatusCode, am as UaDeviceType, an as UserAgentInfo, ao as VaryHeaderEntry, ap as VaryHeaderResult, aq as XContentTypeOptionsHeader, ar as XContentTypeOptionsParseResult, as as X_CONTENT_TYPE_OPTIONS_HEADER, at as analyzeEmailHeaders, au as assessContentTypeRisk, av as buildAcceptLanguage, aw as buildCacheControl, ax as buildClientHints, ay as buildContentDisposition, az as buildDnsQueryUrl, aA as buildGeoUrl, aB as buildLinkHeader, aC as buildMapUrl, aD as buildPermissionsPolicy, aE as buildPreferHeader, aF as buildRangeHeader, aG as buildReferrerPolicy, aH as buildVaryHeader, aI as buildXContentTypeOptionsHeader, aJ as checkSetCookieHeader, aK as countryCodeToFlag, aL as formatCoordinates, aM as formatTtl, aN as getByCategory, aO as getHeader, aP as getHeadersByCategory, aQ as getStatusByCategory, aR as getStatusCode, aS as isClientError, aT as isServerError, aU as isSuccess, aV as isValidIp, aW as isValidIpv4, aX as isValidIpv6, aY as parseAcceptLanguage, aZ as parseClientHintHeaders, a_ as parseContentDisposition, a$ as parseContentRangeHeader, b0 as parseDnsResponse, b1 as parseGeoResponse, b2 as parseHar, b3 as parseIpv6Address, b4 as parsePermissionsPolicy, b5 as parsePreferHeader, b6 as parseUserAgent, b7 as parseVaryHeader, b8 as parseXContentTypeOptionsHeader, b9 as searchHeaders, ba as searchStatusCodes, bb as splitSitemap, bc as statusCodeToText, bd as typeNumberToLabel, be as validateDomain, bf as validateHeaderName, bg as validateHeaderValue, bh as validateManifest, bi as validateRobotsTxt, bj as validateSitemap } from '../network-fDfM1_L6.cjs';
1
+ export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RetryAfterDateResult, a9 as RetryAfterResult, aa as RetryAfterSecondsResult, ab as RobotsGroup, ac as RobotsIssue, ad as RobotsRule, ae as RobotsValidationResult, af as STATUS_CODES, ag as SameSiteValue, ah as SitemapIndexEntry, ai as SitemapIssue, aj as SitemapSplitFile, ak as SitemapUrlEntry, al as SitemapValidationResult, am as SplitSitemapOptions, an as SplitSitemapResult, ao as StatusCode, ap as UaDeviceType, aq as UserAgentInfo, ar as VaryHeaderEntry, as as VaryHeaderResult, at as XContentTypeOptionsHeader, au as XContentTypeOptionsParseResult, av as X_CONTENT_TYPE_OPTIONS_HEADER, aw as analyzeEmailHeaders, ax as assessContentTypeRisk, ay as buildAcceptLanguage, az as buildCacheControl, aA as buildClientHints, aB as buildContentDisposition, aC as buildDnsQueryUrl, aD as buildGeoUrl, aE as buildLinkHeader, aF as buildMapUrl, aG as buildPermissionsPolicy, aH as buildPreferHeader, aI as buildRangeHeader, aJ as buildReferrerPolicy, aK as buildRetryAfterHeader, aL as buildVaryHeader, aM as buildXContentTypeOptionsHeader, aN as checkSetCookieHeader, aO as countryCodeToFlag, aP as formatCoordinates, aQ as formatTtl, aR as getByCategory, aS as getHeader, aT as getHeadersByCategory, aU as getStatusByCategory, aV as getStatusCode, aW as isClientError, aX as isServerError, aY as isSuccess, aZ as isValidIp, a_ as isValidIpv4, a$ as isValidIpv6, b0 as parseAcceptLanguage, b1 as parseClientHintHeaders, b2 as parseContentDisposition, b3 as parseContentRangeHeader, b4 as parseDnsResponse, b5 as parseGeoResponse, b6 as parseHar, b7 as parseIpv6Address, b8 as parsePermissionsPolicy, b9 as parsePreferHeader, ba as parseRetryAfterHeader, bb as parseUserAgent, bc as parseVaryHeader, bd as parseXContentTypeOptionsHeader, be as searchHeaders, bf as searchStatusCodes, bg as splitSitemap, bh as statusCodeToText, bi as typeNumberToLabel, bj as validateDomain, bk as validateHeaderName, bl as validateHeaderValue, bm as validateManifest, bn as validateRobotsTxt, bo as validateSitemap } from '../network-CXt69chQ.cjs';
@@ -1 +1 @@
1
- export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RobotsGroup, a9 as RobotsIssue, aa as RobotsRule, ab as RobotsValidationResult, ac as STATUS_CODES, ad as SameSiteValue, ae as SitemapIndexEntry, af as SitemapIssue, ag as SitemapSplitFile, ah as SitemapUrlEntry, ai as SitemapValidationResult, aj as SplitSitemapOptions, ak as SplitSitemapResult, al as StatusCode, am as UaDeviceType, an as UserAgentInfo, ao as VaryHeaderEntry, ap as VaryHeaderResult, aq as XContentTypeOptionsHeader, ar as XContentTypeOptionsParseResult, as as X_CONTENT_TYPE_OPTIONS_HEADER, at as analyzeEmailHeaders, au as assessContentTypeRisk, av as buildAcceptLanguage, aw as buildCacheControl, ax as buildClientHints, ay as buildContentDisposition, az as buildDnsQueryUrl, aA as buildGeoUrl, aB as buildLinkHeader, aC as buildMapUrl, aD as buildPermissionsPolicy, aE as buildPreferHeader, aF as buildRangeHeader, aG as buildReferrerPolicy, aH as buildVaryHeader, aI as buildXContentTypeOptionsHeader, aJ as checkSetCookieHeader, aK as countryCodeToFlag, aL as formatCoordinates, aM as formatTtl, aN as getByCategory, aO as getHeader, aP as getHeadersByCategory, aQ as getStatusByCategory, aR as getStatusCode, aS as isClientError, aT as isServerError, aU as isSuccess, aV as isValidIp, aW as isValidIpv4, aX as isValidIpv6, aY as parseAcceptLanguage, aZ as parseClientHintHeaders, a_ as parseContentDisposition, a$ as parseContentRangeHeader, b0 as parseDnsResponse, b1 as parseGeoResponse, b2 as parseHar, b3 as parseIpv6Address, b4 as parsePermissionsPolicy, b5 as parsePreferHeader, b6 as parseUserAgent, b7 as parseVaryHeader, b8 as parseXContentTypeOptionsHeader, b9 as searchHeaders, ba as searchStatusCodes, bb as splitSitemap, bc as statusCodeToText, bd as typeNumberToLabel, be as validateDomain, bf as validateHeaderName, bg as validateHeaderValue, bh as validateManifest, bi as validateRobotsTxt, bj as validateSitemap } from '../network-fDfM1_L6.js';
1
+ export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RetryAfterDateResult, a9 as RetryAfterResult, aa as RetryAfterSecondsResult, ab as RobotsGroup, ac as RobotsIssue, ad as RobotsRule, ae as RobotsValidationResult, af as STATUS_CODES, ag as SameSiteValue, ah as SitemapIndexEntry, ai as SitemapIssue, aj as SitemapSplitFile, ak as SitemapUrlEntry, al as SitemapValidationResult, am as SplitSitemapOptions, an as SplitSitemapResult, ao as StatusCode, ap as UaDeviceType, aq as UserAgentInfo, ar as VaryHeaderEntry, as as VaryHeaderResult, at as XContentTypeOptionsHeader, au as XContentTypeOptionsParseResult, av as X_CONTENT_TYPE_OPTIONS_HEADER, aw as analyzeEmailHeaders, ax as assessContentTypeRisk, ay as buildAcceptLanguage, az as buildCacheControl, aA as buildClientHints, aB as buildContentDisposition, aC as buildDnsQueryUrl, aD as buildGeoUrl, aE as buildLinkHeader, aF as buildMapUrl, aG as buildPermissionsPolicy, aH as buildPreferHeader, aI as buildRangeHeader, aJ as buildReferrerPolicy, aK as buildRetryAfterHeader, aL as buildVaryHeader, aM as buildXContentTypeOptionsHeader, aN as checkSetCookieHeader, aO as countryCodeToFlag, aP as formatCoordinates, aQ as formatTtl, aR as getByCategory, aS as getHeader, aT as getHeadersByCategory, aU as getStatusByCategory, aV as getStatusCode, aW as isClientError, aX as isServerError, aY as isSuccess, aZ as isValidIp, a_ as isValidIpv4, a$ as isValidIpv6, b0 as parseAcceptLanguage, b1 as parseClientHintHeaders, b2 as parseContentDisposition, b3 as parseContentRangeHeader, b4 as parseDnsResponse, b5 as parseGeoResponse, b6 as parseHar, b7 as parseIpv6Address, b8 as parsePermissionsPolicy, b9 as parsePreferHeader, ba as parseRetryAfterHeader, bb as parseUserAgent, bc as parseVaryHeader, bd as parseXContentTypeOptionsHeader, be as searchHeaders, bf as searchStatusCodes, bg as splitSitemap, bh as statusCodeToText, bi as typeNumberToLabel, bj as validateDomain, bk as validateHeaderName, bl as validateHeaderValue, bm as validateManifest, bn as validateRobotsTxt, bo as validateSitemap } from '../network-CXt69chQ.js';
@@ -1,2 +1,2 @@
1
- export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildRangeHeader, buildReferrerPolicy, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parsePreferHeader, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-3QU46YFP.js';
1
+ export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parsePreferHeader, parseRetryAfterHeader, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-2WT347WO.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -1051,6 +1051,39 @@ function calculateLoan(principal, annualRatePercent, termMonths) {
1051
1051
  schedule
1052
1052
  };
1053
1053
  }
1054
+ function calculateExtraPaymentPayoff(principal, annualRatePercent, termMonths, extraMonthlyPayment) {
1055
+ const baseline = calculateLoan(principal, annualRatePercent, termMonths);
1056
+ if ("error" in baseline) return baseline;
1057
+ if (!Number.isFinite(extraMonthlyPayment) || extraMonthlyPayment < 0) {
1058
+ return { error: "Extra monthly payment must be zero or a positive number" };
1059
+ }
1060
+ const monthlyRate = annualRatePercent / 100 / 12;
1061
+ const payment = round2(baseline.monthlyPayment) + round2(extraMonthlyPayment);
1062
+ let balance = round2(principal);
1063
+ let totalInterestPaid = 0;
1064
+ let payoffMonths = termMonths;
1065
+ for (let month = 1; month <= termMonths; month++) {
1066
+ const interest = monthlyRate === 0 ? 0 : round2(balance * monthlyRate);
1067
+ let principalPortion = payment - interest;
1068
+ if (principalPortion > balance) principalPortion = balance;
1069
+ totalInterestPaid += interest;
1070
+ balance = round2(balance - principalPortion);
1071
+ if (balance <= 0) {
1072
+ payoffMonths = month;
1073
+ break;
1074
+ }
1075
+ }
1076
+ return {
1077
+ monthlyPayment: round2(baseline.monthlyPayment),
1078
+ extraMonthlyPayment: round2(extraMonthlyPayment),
1079
+ baselinePayoffMonths: termMonths,
1080
+ baselineTotalInterest: baseline.totalInterest,
1081
+ newPayoffMonths: payoffMonths,
1082
+ newTotalInterest: round2(totalInterestPaid),
1083
+ monthsSaved: termMonths - payoffMonths,
1084
+ interestSaved: round2(baseline.totalInterest - totalInterestPaid)
1085
+ };
1086
+ }
1054
1087
  var BARCODE_FORMAT_BY_LENGTH = { 8: "EAN-8", 12: "UPC-A", 13: "EAN-13" };
1055
1088
  function computeBarcodeCheckDigit(dataDigits) {
1056
1089
  let sum = 0;
@@ -2211,6 +2244,41 @@ function calculateBlendedLoanRate(loans) {
2211
2244
  totalAnnualInterest: round22(totalMonthlyInterest * 12)
2212
2245
  };
2213
2246
  }
2247
+ function calculateFreelancerRate(input) {
2248
+ const { targetAnnualIncome, billableHoursPerWeek, weeksPerYear } = input;
2249
+ const annualOverheadCosts = input.annualOverheadCosts ?? 0;
2250
+ const profitMarginPercent = input.profitMarginPercent ?? 0;
2251
+ if (!Number.isFinite(targetAnnualIncome) || targetAnnualIncome < 0) {
2252
+ return { error: "targetAnnualIncome must be a finite, non-negative number" };
2253
+ }
2254
+ if (!Number.isFinite(billableHoursPerWeek) || billableHoursPerWeek <= 0 || billableHoursPerWeek > 168) {
2255
+ return { error: "billableHoursPerWeek must be a finite number greater than zero and at most 168" };
2256
+ }
2257
+ if (!Number.isFinite(weeksPerYear) || weeksPerYear <= 0 || weeksPerYear > 52) {
2258
+ return { error: "weeksPerYear must be a finite number greater than zero and at most 52" };
2259
+ }
2260
+ if (!Number.isFinite(annualOverheadCosts) || annualOverheadCosts < 0) {
2261
+ return { error: "annualOverheadCosts must be a finite, non-negative number" };
2262
+ }
2263
+ if (!Number.isFinite(profitMarginPercent) || profitMarginPercent < 0) {
2264
+ return { error: "profitMarginPercent must be a finite, non-negative number" };
2265
+ }
2266
+ const round22 = (n) => Math.round(n * 100) / 100;
2267
+ const annualBillableHours = billableHoursPerWeek * weeksPerYear;
2268
+ const baseRevenueNeeded = targetAnnualIncome + annualOverheadCosts;
2269
+ const requiredAnnualRevenue = baseRevenueNeeded * (1 + profitMarginPercent / 100);
2270
+ const hourlyRate = requiredAnnualRevenue / annualBillableHours;
2271
+ return {
2272
+ targetAnnualIncome: round22(targetAnnualIncome),
2273
+ annualOverheadCosts: round22(annualOverheadCosts),
2274
+ profitMarginPercent: round22(profitMarginPercent),
2275
+ annualBillableHours: round22(annualBillableHours),
2276
+ requiredAnnualRevenue: round22(requiredAnnualRevenue),
2277
+ hourlyRate: round22(hourlyRate),
2278
+ dailyRate: round22(hourlyRate * 8),
2279
+ monthlyRevenueTarget: round22(requiredAnnualRevenue / 12)
2280
+ };
2281
+ }
2214
2282
 
2215
2283
  exports.BASE_LABELS = BASE_LABELS;
2216
2284
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -2242,6 +2310,8 @@ exports.calculateDebtToIncomeRatio = calculateDebtToIncomeRatio;
2242
2310
  exports.calculateDepreciationSchedule = calculateDepreciationSchedule;
2243
2311
  exports.calculateDiscount = calculateDiscount;
2244
2312
  exports.calculateEmi = calculateEmi;
2313
+ exports.calculateExtraPaymentPayoff = calculateExtraPaymentPayoff;
2314
+ exports.calculateFreelancerRate = calculateFreelancerRate;
2245
2315
  exports.calculateGpa = calculateGpa;
2246
2316
  exports.calculateLoan = calculateLoan;
2247
2317
  exports.calculateMarginMarkup = calculateMarginMarkup;
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtToIncomeRatioResult, O as DepreciationMethod, P as DepreciationResult, Q as DepreciationYear, R as Dimensions, S as DiscountField, T as DiscountInput, U as DiscountResult, V as DtiTier, W as EmiResult, X as EmiTenureUnit, Y as EmiYearlyBreakdownRow, Z as FilePermissions, _ as FormatOptions, $ as GPA_GRADE_POINTS, a0 as GpaCourse, a1 as GpaCourseResult, a2 as GpaResult, a3 as IbanValidationResult, a4 as IpConversion, a5 as IsbnFormat, a6 as IsbnResult, a7 as LoanBalanceInput, a8 as LoanBalanceResult, a9 as LoanResult, aa as MarginMarkupField, ab as MarginMarkupInput, ac as MarginMarkupResult, ad as MovingAveragePoint, ae as MovingAverageResult, af as NotationStyle, ag as NumberBase, ah as PaybackPeriodInput, ai as PaybackPeriodResult, aj as PercentChangeDirection, ak as PercentageChangeResult, al as Permission, am as PxConvertResult, an as RoiInput, ao as RoiResult, ap as RuleOf72Direction, aq as RuleOf72Result, ar as SavingsGoalInput, as as SavingsGoalMode, at as SavingsGoalResult, au as SemverVersion, av as SimpleInterestResult, aw as SubnetInfo, ax as SuccessiveDiscountResult, ay as SuccessiveDiscountStep, az as TaxDirection, aA as TaxResult, aB as TimeValueDirection, aC as TimeValueResult, aD as TipSplitResult, aE as USD_DENOMINATIONS, aF as UnitPriceItem, aG as UnitPriceResult, aH as UtilizationTier, aI as VideoBitrateInput, aJ as VideoBitrateMode, aK as VideoBitrateResult, aL as ViewportConvertResult, aM as applySuccessiveDiscounts, aN as autoFormat, aO as bumpVersion, aP as calcAspectRatio, aQ as calcSubnet, aR as calculateBlendedLoanRate, aS as calculateBreakEven, aT as calculateCashBreakdown, aU as calculateCashRounding, aV as calculateCdMaturity, aW as calculateChange, aX as calculateCompoundInterest, aY as calculateCreditUtilization, aZ as calculateDebtToIncomeRatio, a_ as calculateDepreciationSchedule, a$ as calculateDiscount, b0 as calculateEmi, b1 as calculateGpa, b2 as calculateLoan, b3 as calculateMarginMarkup, b4 as calculateMovingAverages, b5 as calculatePaybackPeriod, b6 as calculatePercentageChange, b7 as calculateRoi, b8 as calculateRuleOf72, b9 as calculateSavingsGoal, ba as calculateSimpleInterest, bb as calculateTax, bc as calculateTimeValue, bd as calculateTipSplit, be as calculateVideoBitrate, bf as compareSemver, bg as compareUnitPrices, bh as convert, bi as convertAprApy, bj as convertBytes, bk as convertIp, bl as coverBox, bm as decimalToIp, bn as decimalToIpCidr, bo as describePermissions, bp as fitIntoBox, bq as formatNumber, br as formatValue, bs as formatVwValue, bt as formatWithSeparator, bu as gcd, bv as ipFromBinary, bw as ipFromDecimal, bx as ipFromHex, by as ipToBinary, bz as ipToDecimal, bA as ipToDecimalCidr, bB as ipToHex, bC as ipToOctal, bD as isValid, bE as isValidCidr, bF as isValidIp, bG as isValidIpv4, bH as marginToMarkup, bI as markupToMargin, bJ as octalToPermissions, bK as parseFileSize, bL as parseInput, bM as parseNumberString, bN as parseSemver, bO as permissionsToChmod, bP as permissionsToOctal, bQ as permissionsToSymbolic, bR as ptToPx, bS as pxToAll, bT as pxToViewport, bU as remToPx, bV as satisfiesRange, bW as scaleByHeight, bX as scaleByWidth, bY as sortVersions, bZ as splitSubnet, b_ as symbolicToPermissions, b$ as validateBarcode, c0 as validateCardNumber, c1 as validateIban, c2 as validateIsbn, c3 as viewportToPx } from '../units-BM9GkUZW.cjs';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtToIncomeRatioResult, O as DepreciationMethod, P as DepreciationResult, Q as DepreciationYear, R as Dimensions, S as DiscountField, T as DiscountInput, U as DiscountResult, V as DtiTier, W as EmiResult, X as EmiTenureUnit, Y as EmiYearlyBreakdownRow, Z as ExtraPaymentPayoffResult, _ as FilePermissions, $ as FormatOptions, a0 as FreelancerRateInput, a1 as FreelancerRateResult, a2 as GPA_GRADE_POINTS, a3 as GpaCourse, a4 as GpaCourseResult, a5 as GpaResult, a6 as IbanValidationResult, a7 as IpConversion, a8 as IsbnFormat, a9 as IsbnResult, aa as LoanBalanceInput, ab as LoanBalanceResult, ac as LoanResult, ad as MarginMarkupField, ae as MarginMarkupInput, af as MarginMarkupResult, ag as MovingAveragePoint, ah as MovingAverageResult, ai as NotationStyle, aj as NumberBase, ak as PaybackPeriodInput, al as PaybackPeriodResult, am as PercentChangeDirection, an as PercentageChangeResult, ao as Permission, ap as PxConvertResult, aq as RoiInput, ar as RoiResult, as as RuleOf72Direction, at as RuleOf72Result, au as SavingsGoalInput, av as SavingsGoalMode, aw as SavingsGoalResult, ax as SemverVersion, ay as SimpleInterestResult, az as SubnetInfo, aA as SuccessiveDiscountResult, aB as SuccessiveDiscountStep, aC as TaxDirection, aD as TaxResult, aE as TimeValueDirection, aF as TimeValueResult, aG as TipSplitResult, aH as USD_DENOMINATIONS, aI as UnitPriceItem, aJ as UnitPriceResult, aK as UtilizationTier, aL as VideoBitrateInput, aM as VideoBitrateMode, aN as VideoBitrateResult, aO as ViewportConvertResult, aP as applySuccessiveDiscounts, aQ as autoFormat, aR as bumpVersion, aS as calcAspectRatio, aT as calcSubnet, aU as calculateBlendedLoanRate, aV as calculateBreakEven, aW as calculateCashBreakdown, aX as calculateCashRounding, aY as calculateCdMaturity, aZ as calculateChange, a_ as calculateCompoundInterest, a$ as calculateCreditUtilization, b0 as calculateDebtToIncomeRatio, b1 as calculateDepreciationSchedule, b2 as calculateDiscount, b3 as calculateEmi, b4 as calculateExtraPaymentPayoff, b5 as calculateFreelancerRate, b6 as calculateGpa, b7 as calculateLoan, b8 as calculateMarginMarkup, b9 as calculateMovingAverages, ba as calculatePaybackPeriod, bb as calculatePercentageChange, bc as calculateRoi, bd as calculateRuleOf72, be as calculateSavingsGoal, bf as calculateSimpleInterest, bg as calculateTax, bh as calculateTimeValue, bi as calculateTipSplit, bj as calculateVideoBitrate, bk as compareSemver, bl as compareUnitPrices, bm as convert, bn as convertAprApy, bo as convertBytes, bp as convertIp, bq as coverBox, br as decimalToIp, bs as decimalToIpCidr, bt as describePermissions, bu as fitIntoBox, bv as formatNumber, bw as formatValue, bx as formatVwValue, by as formatWithSeparator, bz as gcd, bA as ipFromBinary, bB as ipFromDecimal, bC as ipFromHex, bD as ipToBinary, bE as ipToDecimal, bF as ipToDecimalCidr, bG as ipToHex, bH as ipToOctal, bI as isValid, bJ as isValidCidr, bK as isValidIp, bL as isValidIpv4, bM as marginToMarkup, bN as markupToMargin, bO as octalToPermissions, bP as parseFileSize, bQ as parseInput, bR as parseNumberString, bS as parseSemver, bT as permissionsToChmod, bU as permissionsToOctal, bV as permissionsToSymbolic, bW as ptToPx, bX as pxToAll, bY as pxToViewport, bZ as remToPx, b_ as satisfiesRange, b$ as scaleByHeight, c0 as scaleByWidth, c1 as sortVersions, c2 as splitSubnet, c3 as symbolicToPermissions, c4 as validateBarcode, c5 as validateCardNumber, c6 as validateIban, c7 as validateIsbn, c8 as viewportToPx } from '../units-izyUpUAb.cjs';
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtToIncomeRatioResult, O as DepreciationMethod, P as DepreciationResult, Q as DepreciationYear, R as Dimensions, S as DiscountField, T as DiscountInput, U as DiscountResult, V as DtiTier, W as EmiResult, X as EmiTenureUnit, Y as EmiYearlyBreakdownRow, Z as FilePermissions, _ as FormatOptions, $ as GPA_GRADE_POINTS, a0 as GpaCourse, a1 as GpaCourseResult, a2 as GpaResult, a3 as IbanValidationResult, a4 as IpConversion, a5 as IsbnFormat, a6 as IsbnResult, a7 as LoanBalanceInput, a8 as LoanBalanceResult, a9 as LoanResult, aa as MarginMarkupField, ab as MarginMarkupInput, ac as MarginMarkupResult, ad as MovingAveragePoint, ae as MovingAverageResult, af as NotationStyle, ag as NumberBase, ah as PaybackPeriodInput, ai as PaybackPeriodResult, aj as PercentChangeDirection, ak as PercentageChangeResult, al as Permission, am as PxConvertResult, an as RoiInput, ao as RoiResult, ap as RuleOf72Direction, aq as RuleOf72Result, ar as SavingsGoalInput, as as SavingsGoalMode, at as SavingsGoalResult, au as SemverVersion, av as SimpleInterestResult, aw as SubnetInfo, ax as SuccessiveDiscountResult, ay as SuccessiveDiscountStep, az as TaxDirection, aA as TaxResult, aB as TimeValueDirection, aC as TimeValueResult, aD as TipSplitResult, aE as USD_DENOMINATIONS, aF as UnitPriceItem, aG as UnitPriceResult, aH as UtilizationTier, aI as VideoBitrateInput, aJ as VideoBitrateMode, aK as VideoBitrateResult, aL as ViewportConvertResult, aM as applySuccessiveDiscounts, aN as autoFormat, aO as bumpVersion, aP as calcAspectRatio, aQ as calcSubnet, aR as calculateBlendedLoanRate, aS as calculateBreakEven, aT as calculateCashBreakdown, aU as calculateCashRounding, aV as calculateCdMaturity, aW as calculateChange, aX as calculateCompoundInterest, aY as calculateCreditUtilization, aZ as calculateDebtToIncomeRatio, a_ as calculateDepreciationSchedule, a$ as calculateDiscount, b0 as calculateEmi, b1 as calculateGpa, b2 as calculateLoan, b3 as calculateMarginMarkup, b4 as calculateMovingAverages, b5 as calculatePaybackPeriod, b6 as calculatePercentageChange, b7 as calculateRoi, b8 as calculateRuleOf72, b9 as calculateSavingsGoal, ba as calculateSimpleInterest, bb as calculateTax, bc as calculateTimeValue, bd as calculateTipSplit, be as calculateVideoBitrate, bf as compareSemver, bg as compareUnitPrices, bh as convert, bi as convertAprApy, bj as convertBytes, bk as convertIp, bl as coverBox, bm as decimalToIp, bn as decimalToIpCidr, bo as describePermissions, bp as fitIntoBox, bq as formatNumber, br as formatValue, bs as formatVwValue, bt as formatWithSeparator, bu as gcd, bv as ipFromBinary, bw as ipFromDecimal, bx as ipFromHex, by as ipToBinary, bz as ipToDecimal, bA as ipToDecimalCidr, bB as ipToHex, bC as ipToOctal, bD as isValid, bE as isValidCidr, bF as isValidIp, bG as isValidIpv4, bH as marginToMarkup, bI as markupToMargin, bJ as octalToPermissions, bK as parseFileSize, bL as parseInput, bM as parseNumberString, bN as parseSemver, bO as permissionsToChmod, bP as permissionsToOctal, bQ as permissionsToSymbolic, bR as ptToPx, bS as pxToAll, bT as pxToViewport, bU as remToPx, bV as satisfiesRange, bW as scaleByHeight, bX as scaleByWidth, bY as sortVersions, bZ as splitSubnet, b_ as symbolicToPermissions, b$ as validateBarcode, c0 as validateCardNumber, c1 as validateIban, c2 as validateIsbn, c3 as viewportToPx } from '../units-BM9GkUZW.js';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtToIncomeRatioResult, O as DepreciationMethod, P as DepreciationResult, Q as DepreciationYear, R as Dimensions, S as DiscountField, T as DiscountInput, U as DiscountResult, V as DtiTier, W as EmiResult, X as EmiTenureUnit, Y as EmiYearlyBreakdownRow, Z as ExtraPaymentPayoffResult, _ as FilePermissions, $ as FormatOptions, a0 as FreelancerRateInput, a1 as FreelancerRateResult, a2 as GPA_GRADE_POINTS, a3 as GpaCourse, a4 as GpaCourseResult, a5 as GpaResult, a6 as IbanValidationResult, a7 as IpConversion, a8 as IsbnFormat, a9 as IsbnResult, aa as LoanBalanceInput, ab as LoanBalanceResult, ac as LoanResult, ad as MarginMarkupField, ae as MarginMarkupInput, af as MarginMarkupResult, ag as MovingAveragePoint, ah as MovingAverageResult, ai as NotationStyle, aj as NumberBase, ak as PaybackPeriodInput, al as PaybackPeriodResult, am as PercentChangeDirection, an as PercentageChangeResult, ao as Permission, ap as PxConvertResult, aq as RoiInput, ar as RoiResult, as as RuleOf72Direction, at as RuleOf72Result, au as SavingsGoalInput, av as SavingsGoalMode, aw as SavingsGoalResult, ax as SemverVersion, ay as SimpleInterestResult, az as SubnetInfo, aA as SuccessiveDiscountResult, aB as SuccessiveDiscountStep, aC as TaxDirection, aD as TaxResult, aE as TimeValueDirection, aF as TimeValueResult, aG as TipSplitResult, aH as USD_DENOMINATIONS, aI as UnitPriceItem, aJ as UnitPriceResult, aK as UtilizationTier, aL as VideoBitrateInput, aM as VideoBitrateMode, aN as VideoBitrateResult, aO as ViewportConvertResult, aP as applySuccessiveDiscounts, aQ as autoFormat, aR as bumpVersion, aS as calcAspectRatio, aT as calcSubnet, aU as calculateBlendedLoanRate, aV as calculateBreakEven, aW as calculateCashBreakdown, aX as calculateCashRounding, aY as calculateCdMaturity, aZ as calculateChange, a_ as calculateCompoundInterest, a$ as calculateCreditUtilization, b0 as calculateDebtToIncomeRatio, b1 as calculateDepreciationSchedule, b2 as calculateDiscount, b3 as calculateEmi, b4 as calculateExtraPaymentPayoff, b5 as calculateFreelancerRate, b6 as calculateGpa, b7 as calculateLoan, b8 as calculateMarginMarkup, b9 as calculateMovingAverages, ba as calculatePaybackPeriod, bb as calculatePercentageChange, bc as calculateRoi, bd as calculateRuleOf72, be as calculateSavingsGoal, bf as calculateSimpleInterest, bg as calculateTax, bh as calculateTimeValue, bi as calculateTipSplit, bj as calculateVideoBitrate, bk as compareSemver, bl as compareUnitPrices, bm as convert, bn as convertAprApy, bo as convertBytes, bp as convertIp, bq as coverBox, br as decimalToIp, bs as decimalToIpCidr, bt as describePermissions, bu as fitIntoBox, bv as formatNumber, bw as formatValue, bx as formatVwValue, by as formatWithSeparator, bz as gcd, bA as ipFromBinary, bB as ipFromDecimal, bC as ipFromHex, bD as ipToBinary, bE as ipToDecimal, bF as ipToDecimalCidr, bG as ipToHex, bH as ipToOctal, bI as isValid, bJ as isValidCidr, bK as isValidIp, bL as isValidIpv4, bM as marginToMarkup, bN as markupToMargin, bO as octalToPermissions, bP as parseFileSize, bQ as parseInput, bR as parseNumberString, bS as parseSemver, bT as permissionsToChmod, bU as permissionsToOctal, bV as permissionsToSymbolic, bW as ptToPx, bX as pxToAll, bY as pxToViewport, bZ as remToPx, b_ as satisfiesRange, b$ as scaleByHeight, c0 as scaleByWidth, c1 as sortVersions, c2 as splitSubnet, c3 as symbolicToPermissions, c4 as validateBarcode, c5 as validateCardNumber, c6 as validateIban, c7 as validateIsbn, c8 as viewportToPx } from '../units-izyUpUAb.js';
@@ -1,2 +1,2 @@
1
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateGpa, calculateLoan, calculateMarginMarkup, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx } from '../chunk-MRIGQRTU.js';
1
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateMarginMarkup, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx } from '../chunk-43WFN3CW.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -37,6 +37,8 @@
37
37
  * - cd-maturity-calculator : calculateCdMaturity
38
38
  * - depreciation-schedule-calculator : calculateDepreciationSchedule
39
39
  * - blended-loan-rate-calculator : calculateBlendedLoanRate
40
+ * - extra-payment-mortgage-calculator : calculateExtraPaymentPayoff
41
+ * - freelancer-rate-calculator : calculateFreelancerRate
40
42
  */
41
43
  interface PxConvertResult {
42
44
  px: number;
@@ -301,6 +303,24 @@ interface LoanResult {
301
303
  declare function calculateLoan(principal: number, annualRatePercent: number, termMonths: number): LoanResult | {
302
304
  error: string;
303
305
  };
306
+ interface ExtraPaymentPayoffResult {
307
+ monthlyPayment: number;
308
+ extraMonthlyPayment: number;
309
+ baselinePayoffMonths: number;
310
+ baselineTotalInterest: number;
311
+ newPayoffMonths: number;
312
+ newTotalInterest: number;
313
+ monthsSaved: number;
314
+ interestSaved: number;
315
+ }
316
+ /**
317
+ * Compute how much faster a fixed-rate loan pays off, and how much interest
318
+ * is saved, when a fixed extra amount is added to every monthly payment on
319
+ * top of the standard amortized payment.
320
+ */
321
+ declare function calculateExtraPaymentPayoff(principal: number, annualRatePercent: number, termMonths: number, extraMonthlyPayment: number): ExtraPaymentPayoffResult | {
322
+ error: string;
323
+ };
304
324
  type BarcodeFormat = "EAN-13" | "EAN-8" | "UPC-A";
305
325
  interface BarcodeValidationResult {
306
326
  valid: boolean;
@@ -1056,6 +1076,34 @@ interface BlendedLoanRateResult {
1056
1076
  declare function calculateBlendedLoanRate(loans: LoanBalanceInput[]): BlendedLoanRateResult | {
1057
1077
  error: string;
1058
1078
  };
1079
+ interface FreelancerRateInput {
1080
+ targetAnnualIncome: number;
1081
+ billableHoursPerWeek: number;
1082
+ weeksPerYear: number;
1083
+ annualOverheadCosts?: number;
1084
+ profitMarginPercent?: number;
1085
+ }
1086
+ interface FreelancerRateResult {
1087
+ targetAnnualIncome: number;
1088
+ annualOverheadCosts: number;
1089
+ profitMarginPercent: number;
1090
+ annualBillableHours: number;
1091
+ requiredAnnualRevenue: number;
1092
+ hourlyRate: number;
1093
+ dailyRate: number;
1094
+ monthlyRevenueTarget: number;
1095
+ }
1096
+ /**
1097
+ * Solve for the minimum hourly rate a freelancer must charge to hit a target
1098
+ * annual take-home income, given billable hours per week, weeks actually
1099
+ * worked per year (after vacation, holidays, and unbillable time), annual
1100
+ * business overhead, and an optional profit margin/buffer applied on top.
1101
+ * Pure arithmetic: the revenue needed (income plus overhead, marked up by
1102
+ * the margin) divided by total billable hours across the year.
1103
+ */
1104
+ declare function calculateFreelancerRate(input: FreelancerRateInput): FreelancerRateResult | {
1105
+ error: string;
1106
+ };
1059
1107
 
1060
1108
  type units_AmortizationRow = AmortizationRow;
1061
1109
  type units_AprApyDirection = AprApyDirection;
@@ -1107,8 +1155,11 @@ type units_DtiTier = DtiTier;
1107
1155
  type units_EmiResult = EmiResult;
1108
1156
  type units_EmiTenureUnit = EmiTenureUnit;
1109
1157
  type units_EmiYearlyBreakdownRow = EmiYearlyBreakdownRow;
1158
+ type units_ExtraPaymentPayoffResult = ExtraPaymentPayoffResult;
1110
1159
  type units_FilePermissions = FilePermissions;
1111
1160
  type units_FormatOptions = FormatOptions;
1161
+ type units_FreelancerRateInput = FreelancerRateInput;
1162
+ type units_FreelancerRateResult = FreelancerRateResult;
1112
1163
  declare const units_GPA_GRADE_POINTS: typeof GPA_GRADE_POINTS;
1113
1164
  type units_GpaCourse = GpaCourse;
1114
1165
  type units_GpaCourseResult = GpaCourseResult;
@@ -1175,6 +1226,8 @@ declare const units_calculateDebtToIncomeRatio: typeof calculateDebtToIncomeRati
1175
1226
  declare const units_calculateDepreciationSchedule: typeof calculateDepreciationSchedule;
1176
1227
  declare const units_calculateDiscount: typeof calculateDiscount;
1177
1228
  declare const units_calculateEmi: typeof calculateEmi;
1229
+ declare const units_calculateExtraPaymentPayoff: typeof calculateExtraPaymentPayoff;
1230
+ declare const units_calculateFreelancerRate: typeof calculateFreelancerRate;
1178
1231
  declare const units_calculateGpa: typeof calculateGpa;
1179
1232
  declare const units_calculateLoan: typeof calculateLoan;
1180
1233
  declare const units_calculateMarginMarkup: typeof calculateMarginMarkup;
@@ -1243,7 +1296,7 @@ declare const units_validateIban: typeof validateIban;
1243
1296
  declare const units_validateIsbn: typeof validateIsbn;
1244
1297
  declare const units_viewportToPx: typeof viewportToPx;
1245
1298
  declare namespace units {
1246
- export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
1299
+ export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_ExtraPaymentPayoffResult as ExtraPaymentPayoffResult, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, type units_FreelancerRateInput as FreelancerRateInput, type units_FreelancerRateResult as FreelancerRateResult, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateExtraPaymentPayoff as calculateExtraPaymentPayoff, units_calculateFreelancerRate as calculateFreelancerRate, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
1247
1300
  }
1248
1301
 
1249
- export { GPA_GRADE_POINTS as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtToIncomeRatioResult as N, type DepreciationMethod as O, type DepreciationResult as P, type DepreciationYear as Q, type Dimensions as R, type DiscountField as S, type DiscountInput as T, type DiscountResult as U, type DtiTier as V, type EmiResult as W, type EmiTenureUnit as X, type EmiYearlyBreakdownRow as Y, type FilePermissions as Z, type FormatOptions as _, type AprApyDirection as a, calculateDiscount as a$, type GpaCourse as a0, type GpaCourseResult as a1, type GpaResult as a2, type IbanValidationResult as a3, type IpConversion as a4, type IsbnFormat as a5, type IsbnResult as a6, type LoanBalanceInput as a7, type LoanBalanceResult as a8, type LoanResult as a9, type TaxResult as aA, type TimeValueDirection as aB, type TimeValueResult as aC, type TipSplitResult as aD, USD_DENOMINATIONS as aE, type UnitPriceItem as aF, type UnitPriceResult as aG, type UtilizationTier as aH, type VideoBitrateInput as aI, type VideoBitrateMode as aJ, type VideoBitrateResult as aK, type ViewportConvertResult as aL, applySuccessiveDiscounts as aM, autoFormat as aN, bumpVersion as aO, calcAspectRatio as aP, calcSubnet as aQ, calculateBlendedLoanRate as aR, calculateBreakEven as aS, calculateCashBreakdown as aT, calculateCashRounding as aU, calculateCdMaturity as aV, calculateChange as aW, calculateCompoundInterest as aX, calculateCreditUtilization as aY, calculateDebtToIncomeRatio as aZ, calculateDepreciationSchedule as a_, type MarginMarkupField as aa, type MarginMarkupInput as ab, type MarginMarkupResult as ac, type MovingAveragePoint as ad, type MovingAverageResult as ae, type NotationStyle as af, type NumberBase as ag, type PaybackPeriodInput as ah, type PaybackPeriodResult as ai, type PercentChangeDirection as aj, type PercentageChangeResult as ak, type Permission as al, type PxConvertResult as am, type RoiInput as an, type RoiResult as ao, type RuleOf72Direction as ap, type RuleOf72Result as aq, type SavingsGoalInput as ar, type SavingsGoalMode as as, type SavingsGoalResult as at, type SemverVersion as au, type SimpleInterestResult as av, type SubnetInfo as aw, type SuccessiveDiscountResult as ax, type SuccessiveDiscountStep as ay, type TaxDirection as az, type AprApyResult as b, validateBarcode as b$, calculateEmi as b0, calculateGpa as b1, calculateLoan as b2, calculateMarginMarkup as b3, calculateMovingAverages as b4, calculatePaybackPeriod as b5, calculatePercentageChange as b6, calculateRoi as b7, calculateRuleOf72 as b8, calculateSavingsGoal as b9, ipToDecimalCidr as bA, ipToHex as bB, ipToOctal as bC, isValid as bD, isValidCidr as bE, isValidIp as bF, isValidIpv4 as bG, marginToMarkup as bH, markupToMargin as bI, octalToPermissions as bJ, parseFileSize as bK, parseInput as bL, parseNumberString as bM, parseSemver as bN, permissionsToChmod as bO, permissionsToOctal as bP, permissionsToSymbolic as bQ, ptToPx as bR, pxToAll as bS, pxToViewport as bT, remToPx as bU, satisfiesRange as bV, scaleByHeight as bW, scaleByWidth as bX, sortVersions as bY, splitSubnet as bZ, symbolicToPermissions as b_, calculateSimpleInterest as ba, calculateTax as bb, calculateTimeValue as bc, calculateTipSplit as bd, calculateVideoBitrate as be, compareSemver as bf, compareUnitPrices as bg, convert as bh, convertAprApy as bi, convertBytes as bj, convertIp as bk, coverBox as bl, decimalToIp as bm, decimalToIpCidr as bn, describePermissions as bo, fitIntoBox as bp, formatNumber as bq, formatValue as br, formatVwValue as bs, formatWithSeparator as bt, gcd as bu, ipFromBinary as bv, ipFromDecimal as bw, ipFromHex as bx, ipToBinary as by, ipToDecimal as bz, type AspectRatioResult as c, validateCardNumber as c0, validateIban as c1, validateIsbn as c2, viewportToPx as c3, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };
1302
+ export { type FormatOptions as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtToIncomeRatioResult as N, type DepreciationMethod as O, type DepreciationResult as P, type DepreciationYear as Q, type Dimensions as R, type DiscountField as S, type DiscountInput as T, type DiscountResult as U, type DtiTier as V, type EmiResult as W, type EmiTenureUnit as X, type EmiYearlyBreakdownRow as Y, type ExtraPaymentPayoffResult as Z, type FilePermissions as _, type AprApyDirection as a, calculateCreditUtilization as a$, type FreelancerRateInput as a0, type FreelancerRateResult as a1, GPA_GRADE_POINTS as a2, type GpaCourse as a3, type GpaCourseResult as a4, type GpaResult as a5, type IbanValidationResult as a6, type IpConversion as a7, type IsbnFormat as a8, type IsbnResult as a9, type SuccessiveDiscountResult as aA, type SuccessiveDiscountStep as aB, type TaxDirection as aC, type TaxResult as aD, type TimeValueDirection as aE, type TimeValueResult as aF, type TipSplitResult as aG, USD_DENOMINATIONS as aH, type UnitPriceItem as aI, type UnitPriceResult as aJ, type UtilizationTier as aK, type VideoBitrateInput as aL, type VideoBitrateMode as aM, type VideoBitrateResult as aN, type ViewportConvertResult as aO, applySuccessiveDiscounts as aP, autoFormat as aQ, bumpVersion as aR, calcAspectRatio as aS, calcSubnet as aT, calculateBlendedLoanRate as aU, calculateBreakEven as aV, calculateCashBreakdown as aW, calculateCashRounding as aX, calculateCdMaturity as aY, calculateChange as aZ, calculateCompoundInterest as a_, type LoanBalanceInput as aa, type LoanBalanceResult as ab, type LoanResult as ac, type MarginMarkupField as ad, type MarginMarkupInput as ae, type MarginMarkupResult as af, type MovingAveragePoint as ag, type MovingAverageResult as ah, type NotationStyle as ai, type NumberBase as aj, type PaybackPeriodInput as ak, type PaybackPeriodResult as al, type PercentChangeDirection as am, type PercentageChangeResult as an, type Permission as ao, type PxConvertResult as ap, type RoiInput as aq, type RoiResult as ar, type RuleOf72Direction as as, type RuleOf72Result as at, type SavingsGoalInput as au, type SavingsGoalMode as av, type SavingsGoalResult as aw, type SemverVersion as ax, type SimpleInterestResult as ay, type SubnetInfo as az, type AprApyResult as b, scaleByHeight as b$, calculateDebtToIncomeRatio as b0, calculateDepreciationSchedule as b1, calculateDiscount as b2, calculateEmi as b3, calculateExtraPaymentPayoff as b4, calculateFreelancerRate as b5, calculateGpa as b6, calculateLoan as b7, calculateMarginMarkup as b8, calculateMovingAverages as b9, ipFromBinary as bA, ipFromDecimal as bB, ipFromHex as bC, ipToBinary as bD, ipToDecimal as bE, ipToDecimalCidr as bF, ipToHex as bG, ipToOctal as bH, isValid as bI, isValidCidr as bJ, isValidIp as bK, isValidIpv4 as bL, marginToMarkup as bM, markupToMargin as bN, octalToPermissions as bO, parseFileSize as bP, parseInput as bQ, parseNumberString as bR, parseSemver as bS, permissionsToChmod as bT, permissionsToOctal as bU, permissionsToSymbolic as bV, ptToPx as bW, pxToAll as bX, pxToViewport as bY, remToPx as bZ, satisfiesRange as b_, calculatePaybackPeriod as ba, calculatePercentageChange as bb, calculateRoi as bc, calculateRuleOf72 as bd, calculateSavingsGoal as be, calculateSimpleInterest as bf, calculateTax as bg, calculateTimeValue as bh, calculateTipSplit as bi, calculateVideoBitrate as bj, compareSemver as bk, compareUnitPrices as bl, convert as bm, convertAprApy as bn, convertBytes as bo, convertIp as bp, coverBox as bq, decimalToIp as br, decimalToIpCidr as bs, describePermissions as bt, fitIntoBox as bu, formatNumber as bv, formatValue as bw, formatVwValue as bx, formatWithSeparator as by, gcd as bz, type AspectRatioResult as c, scaleByWidth as c0, sortVersions as c1, splitSubnet as c2, symbolicToPermissions as c3, validateBarcode as c4, validateCardNumber as c5, validateIban as c6, validateIsbn as c7, viewportToPx as c8, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };