@bessemer/cornerstone 0.5.98 → 0.5.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array.d.ts +62 -1
- package/dist/array.d.ts.map +1 -1
- package/dist/array.js +24 -11
- package/dist/array.js.map +1 -1
- package/dist/aspect-ratio.d.ts +1 -1
- package/dist/aspect-ratio.d.ts.map +1 -1
- package/dist/aspect-ratio.js +4 -4
- package/dist/aspect-ratio.js.map +1 -1
- package/dist/async-value.d.ts +7 -1
- package/dist/async-value.d.ts.map +1 -1
- package/dist/async-value.js +26 -1
- package/dist/async-value.js.map +1 -1
- package/dist/cache.js +1 -1
- package/dist/cache.js.map +1 -1
- package/dist/equalitor.d.ts +1 -0
- package/dist/equalitor.d.ts.map +1 -1
- package/dist/equalitor.js +3 -0
- package/dist/equalitor.js.map +1 -1
- package/dist/error/error-cause.d.ts +35 -0
- package/dist/error/error-cause.d.ts.map +1 -0
- package/dist/error/error-cause.js +97 -0
- package/dist/error/error-cause.js.map +1 -0
- package/dist/error/error-code.d.ts +17 -0
- package/dist/error/error-code.d.ts.map +1 -0
- package/dist/error/error-code.js +32 -0
- package/dist/error/error-code.js.map +1 -0
- package/dist/error/error-event.d.ts +29 -48
- package/dist/error/error-event.d.ts.map +1 -1
- package/dist/error/error-event.js +62 -151
- package/dist/error/error-event.js.map +1 -1
- package/dist/error/error-type.d.ts +1 -0
- package/dist/error/error-type.d.ts.map +1 -1
- package/dist/error/error-type.js +4 -2
- package/dist/error/error-type.js.map +1 -1
- package/dist/function.d.ts +1 -1
- package/dist/function.d.ts.map +1 -1
- package/dist/function.js +3 -2
- package/dist/function.js.map +1 -1
- package/dist/glob.d.ts +1 -1
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +4 -4
- package/dist/glob.js.map +1 -1
- package/dist/hex-code.d.ts +1 -1
- package/dist/hex-code.d.ts.map +1 -1
- package/dist/hex-code.js +4 -4
- package/dist/hex-code.js.map +1 -1
- package/dist/index.d.ts +10 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/intl/country-code.d.ts +1 -1
- package/dist/intl/country-code.d.ts.map +1 -1
- package/dist/intl/country-code.js +4 -4
- package/dist/intl/country-code.js.map +1 -1
- package/dist/intl/country-subdivision-code.d.ts +1 -1
- package/dist/intl/country-subdivision-code.d.ts.map +1 -1
- package/dist/intl/country-subdivision-code.js +4 -4
- package/dist/intl/country-subdivision-code.js.map +1 -1
- package/dist/intl/currency-code.d.ts +1 -1
- package/dist/intl/currency-code.d.ts.map +1 -1
- package/dist/intl/currency-code.js +4 -4
- package/dist/intl/currency-code.js.map +1 -1
- package/dist/intl/language-code.d.ts +1 -1
- package/dist/intl/language-code.d.ts.map +1 -1
- package/dist/intl/language-code.js +4 -4
- package/dist/intl/language-code.js.map +1 -1
- package/dist/intl/locale.d.ts +1 -1
- package/dist/intl/locale.d.ts.map +1 -1
- package/dist/intl/locale.js +6 -6
- package/dist/intl/locale.js.map +1 -1
- package/dist/mime-type.d.ts +1 -1
- package/dist/mime-type.d.ts.map +1 -1
- package/dist/mime-type.js +4 -4
- package/dist/mime-type.js.map +1 -1
- package/dist/net/domain-name.d.ts +10 -0
- package/dist/net/domain-name.d.ts.map +1 -0
- package/dist/net/domain-name.js +30 -0
- package/dist/net/domain-name.js.map +1 -0
- package/dist/net/ipv4-address.d.ts +10 -0
- package/dist/net/ipv4-address.d.ts.map +1 -0
- package/dist/net/ipv4-address.js +30 -0
- package/dist/net/ipv4-address.js.map +1 -0
- package/dist/net/ipv6-address.d.ts +10 -0
- package/dist/net/ipv6-address.d.ts.map +1 -0
- package/dist/net/ipv6-address.js +30 -0
- package/dist/net/ipv6-address.js.map +1 -0
- package/dist/net/uri-host-name.d.ts +12 -0
- package/dist/net/uri-host-name.d.ts.map +1 -0
- package/dist/net/uri-host-name.js +44 -0
- package/dist/net/uri-host-name.js.map +1 -0
- package/dist/net/uri.d.ts +249 -0
- package/dist/net/uri.d.ts.map +1 -0
- package/dist/net/uri.js +444 -0
- package/dist/net/uri.js.map +1 -0
- package/dist/net/url.d.ts +58 -0
- package/dist/net/url.d.ts.map +1 -0
- package/dist/net/url.js +211 -0
- package/dist/net/url.js.map +1 -0
- package/dist/object/object-path.d.ts +1 -1
- package/dist/object/object-path.d.ts.map +1 -1
- package/dist/object/object-path.js +4 -4
- package/dist/object/object-path.js.map +1 -1
- package/dist/object/type-path.d.ts +1 -1
- package/dist/object/type-path.d.ts.map +1 -1
- package/dist/object/type-path.js +3 -3
- package/dist/object/type-path.js.map +1 -1
- package/dist/object.d.ts +1 -1
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +8 -6
- package/dist/object.js.map +1 -1
- package/dist/property.d.ts +2 -3
- package/dist/property.d.ts.map +1 -1
- package/dist/property.js.map +1 -1
- package/dist/resource-key.d.ts +7 -5
- package/dist/resource-key.d.ts.map +1 -1
- package/dist/resource-key.js +27 -15
- package/dist/resource-key.js.map +1 -1
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +3 -3
- package/dist/result.js.map +1 -1
- package/dist/string.d.ts +10 -21
- package/dist/string.d.ts.map +1 -1
- package/dist/string.js +54 -25
- package/dist/string.js.map +1 -1
- package/dist/tag.d.ts +2 -2
- package/dist/tag.d.ts.map +1 -1
- package/dist/tag.js +11 -12
- package/dist/tag.js.map +1 -1
- package/dist/temporal/duration.d.ts +4 -5
- package/dist/temporal/duration.d.ts.map +1 -1
- package/dist/temporal/duration.js +3 -7
- package/dist/temporal/duration.js.map +1 -1
- package/dist/temporal/instant.d.ts +4 -5
- package/dist/temporal/instant.d.ts.map +1 -1
- package/dist/temporal/instant.js +3 -7
- package/dist/temporal/instant.js.map +1 -1
- package/dist/temporal/plain-date-time.d.ts +4 -5
- package/dist/temporal/plain-date-time.d.ts.map +1 -1
- package/dist/temporal/plain-date-time.js +3 -7
- package/dist/temporal/plain-date-time.js.map +1 -1
- package/dist/temporal/plain-date.d.ts +8 -9
- package/dist/temporal/plain-date.d.ts.map +1 -1
- package/dist/temporal/plain-date.js +3 -7
- package/dist/temporal/plain-date.js.map +1 -1
- package/dist/temporal/plain-time.d.ts +6 -7
- package/dist/temporal/plain-time.d.ts.map +1 -1
- package/dist/temporal/plain-time.js +4 -8
- package/dist/temporal/plain-time.js.map +1 -1
- package/dist/temporal/time-zone-id.d.ts +1 -1
- package/dist/temporal/time-zone-id.d.ts.map +1 -1
- package/dist/temporal/time-zone-id.js +4 -4
- package/dist/temporal/time-zone-id.js.map +1 -1
- package/dist/temporal/time-zone-offset.d.ts +1 -1
- package/dist/temporal/time-zone-offset.d.ts.map +1 -1
- package/dist/temporal/time-zone-offset.js +4 -4
- package/dist/temporal/time-zone-offset.js.map +1 -1
- package/dist/temporal/zoned-date-time.d.ts +51 -0
- package/dist/temporal/zoned-date-time.d.ts.map +1 -0
- package/dist/temporal/zoned-date-time.js +106 -0
- package/dist/temporal/zoned-date-time.js.map +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/{ulid.d.ts → uuid/ulid.d.ts} +2 -2
- package/dist/uuid/ulid.d.ts.map +1 -0
- package/dist/uuid/ulid.js +29 -0
- package/dist/uuid/ulid.js.map +1 -0
- package/dist/uuid/uuid-v4.d.ts +11 -0
- package/dist/uuid/uuid-v4.d.ts.map +1 -0
- package/dist/{uuid.js → uuid/uuid-v4.js} +11 -11
- package/dist/uuid/uuid-v4.js.map +1 -0
- package/dist/uuid/uuid-v7.d.ts +18 -0
- package/dist/uuid/uuid-v7.d.ts.map +1 -0
- package/dist/uuid/uuid-v7.js +44 -0
- package/dist/uuid/uuid-v7.js.map +1 -0
- package/package.json +1 -1
- package/dist/ulid.d.ts.map +0 -1
- package/dist/ulid.js +0 -29
- package/dist/ulid.js.map +0 -1
- package/dist/uri.d.ts +0 -52
- package/dist/uri.d.ts.map +0 -1
- package/dist/uri.js +0 -222
- package/dist/uri.js.map +0 -1
- package/dist/url.d.ts +0 -26
- package/dist/url.d.ts.map +0 -1
- package/dist/url.js +0 -120
- package/dist/url.js.map +0 -1
- package/dist/uuid.d.ts +0 -11
- package/dist/uuid.d.ts.map +0 -1
- package/dist/uuid.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// src/intl/language-code.ts
|
|
2
2
|
import Zod from "zod";
|
|
3
3
|
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
-
import {
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
5
|
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
6
|
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
-
var Namespace =
|
|
7
|
+
var Namespace = createNamespace("language-code");
|
|
8
8
|
var parseString = (value) => {
|
|
9
9
|
if (!/^[a-z]{2}$/i.test(value)) {
|
|
10
10
|
return failure(invalidValue(value, { namespace: Namespace, message: `CountryCode must be exactly 2 letters.` }));
|
|
11
11
|
}
|
|
12
12
|
return success(value.toLowerCase());
|
|
13
13
|
};
|
|
14
|
-
var
|
|
14
|
+
var from = (value) => {
|
|
15
15
|
return unpackResult(parseString(value));
|
|
16
16
|
};
|
|
17
17
|
var Schema = structuredTransform(Zod.string(), parseString);
|
|
@@ -68,7 +68,7 @@ export {
|
|
|
68
68
|
Thai,
|
|
69
69
|
Turkish,
|
|
70
70
|
Vietnamese,
|
|
71
|
-
|
|
71
|
+
from,
|
|
72
72
|
parseString
|
|
73
73
|
};
|
|
74
74
|
//# sourceMappingURL=language-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/intl/language-code.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/intl/language-code.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\n// ISO 639 language codes\nexport const Namespace = createNamespace('language-code')\nexport type LanguageCode = NominalType<string, typeof Namespace>\n\nexport const parseString = (value: string): Result<LanguageCode, ErrorEvent> => {\n if (!/^[a-z]{2}$/i.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `CountryCode must be exactly 2 letters.` }))\n }\n\n return success(value.toLowerCase() as LanguageCode)\n}\n\nexport const from = (value: string): LanguageCode => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n\nexport const English = 'en' as LanguageCode\nexport const Spanish = 'es' as LanguageCode\nexport const French = 'fr' as LanguageCode\nexport const German = 'de' as LanguageCode\nexport const Italian = 'it' as LanguageCode\nexport const Portuguese = 'pt' as LanguageCode\nexport const Dutch = 'nl' as LanguageCode\nexport const Russian = 'ru' as LanguageCode\nexport const Chinese = 'zh' as LanguageCode\nexport const Japanese = 'ja' as LanguageCode\nexport const Korean = 'ko' as LanguageCode\nexport const Arabic = 'ar' as LanguageCode\nexport const Hindi = 'hi' as LanguageCode\nexport const Turkish = 'tr' as LanguageCode\nexport const Polish = 'pl' as LanguageCode\nexport const Swedish = 'sv' as LanguageCode\nexport const Norwegian = 'no' as LanguageCode\nexport const Danish = 'da' as LanguageCode\nexport const Finnish = 'fi' as LanguageCode\nexport const Greek = 'el' as LanguageCode\nexport const Hebrew = 'he' as LanguageCode\nexport const Thai = 'th' as LanguageCode\nexport const Vietnamese = 'vi' as LanguageCode\nexport const Indonesian = 'id' as LanguageCode\nexport const Malay = 'ms' as LanguageCode\n"],"mappings":";AACA,OAAO,SAAS;AAChB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAG7B,IAAM,YAAY,gBAAgB,eAAe;AAGjD,IAAM,cAAc,CAAC,UAAoD;AAC9E,MAAI,CAAC,cAAc,KAAK,KAAK,GAAG;AAC9B,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,yCAAyC,CAAC,CAAC;AAAA,EACjH;AAEA,SAAO,QAAQ,MAAM,YAAY,CAAiB;AACpD;AAEO,IAAM,OAAO,CAAC,UAAgC;AACnD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;AAE5D,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,UAAU;AAChB,IAAM,aAAa;AACnB,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,WAAW;AACjB,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,SAAS;AACf,IAAM,UAAU;AAChB,IAAM,YAAY;AAClB,IAAM,SAAS;AACf,IAAM,UAAU;AAChB,IAAM,QAAQ;AACd,IAAM,SAAS;AACf,IAAM,OAAO;AACb,IAAM,aAAa;AACnB,IAAM,aAAa;AACnB,IAAM,QAAQ;","names":[]}
|
package/dist/intl/locale.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare const Namespace: import("@bessemer/cornerstone/resource-key").Res
|
|
|
8
8
|
export type Locale = NominalType<string, typeof Namespace>;
|
|
9
9
|
export declare const fromCode: (language: LanguageCode, country?: CountryCode | null) => Locale;
|
|
10
10
|
export declare const parseString: (value: string) => Result<Locale, ErrorEvent>;
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const from: (value: string) => Locale;
|
|
12
12
|
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<Locale, string>>;
|
|
13
13
|
export declare const parse: (locale: Locale) => [LanguageCode, CountryCode | null];
|
|
14
14
|
export declare const English: Locale;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAkC,YAAY,EAAE,MAAM,0CAA0C,CAAA;AACvG,OAAO,EAAE,WAAW,EAAiC,MAAM,yCAAyC,CAAA;AAGpG,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,0EAA4B,CAAA;AAClD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE1D,eAAO,MAAM,QAAQ,GAAI,UAAU,YAAY,EAAE,UAAU,WAAW,GAAG,IAAI,KAAG,MAM/E,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAUpE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,MAEpC,CAAA;AAED,eAAO,MAAM,MAAM,8DAAiD,CAAA;AAEpE,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,KAAG,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,CAKvE,CAAA;AAED,eAAO,MAAM,OAAO,EAAW,MAAM,CAAA;AACrC,eAAO,MAAM,OAAO,EAAW,MAAM,CAAA;AACrC,eAAO,MAAM,MAAM,EAAW,MAAM,CAAA;AACpC,eAAO,MAAM,MAAM,EAAW,MAAM,CAAA;AACpC,eAAO,MAAM,OAAO,EAAW,MAAM,CAAA;AACrC,eAAO,MAAM,UAAU,EAAW,MAAM,CAAA;AACxC,eAAO,MAAM,KAAK,EAAW,MAAM,CAAA;AACnC,eAAO,MAAM,OAAO,EAAW,MAAM,CAAA;AACrC,eAAO,MAAM,OAAO,EAAW,MAAM,CAAA;AACrC,eAAO,MAAM,QAAQ,EAAW,MAAM,CAAA;AACtC,eAAO,MAAM,MAAM,EAAW,MAAM,CAAA;AAEpC,eAAO,MAAM,eAAe,EAAc,MAAM,CAAA;AAChD,eAAO,MAAM,cAAc,EAAc,MAAM,CAAA;AAC/C,eAAO,MAAM,eAAe,EAAc,MAAM,CAAA;AAChD,eAAO,MAAM,iBAAiB,EAAc,MAAM,CAAA"}
|
package/dist/intl/locale.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// src/intl/locale.ts
|
|
2
2
|
import Zod from "zod";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { from as languageCodeFromString } from "@bessemer/cornerstone/intl/language-code";
|
|
4
|
+
import { from as countryCodeFromString } from "@bessemer/cornerstone/intl/country-code";
|
|
5
5
|
import { isPresent } from "@bessemer/cornerstone/object";
|
|
6
6
|
import { Assertions } from "@bessemer/cornerstone";
|
|
7
7
|
import { failure, success } from "@bessemer/cornerstone/result";
|
|
8
|
-
import {
|
|
8
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
9
9
|
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
10
10
|
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
11
|
-
var Namespace =
|
|
11
|
+
var Namespace = createNamespace("locale");
|
|
12
12
|
var fromCode = (language, country) => {
|
|
13
13
|
if (isPresent(country)) {
|
|
14
14
|
return `${language}-${country}`;
|
|
@@ -26,7 +26,7 @@ var parseString = (value) => {
|
|
|
26
26
|
const countryCode = isPresent(parts[1]) ? countryCodeFromString(parts[1]) : null;
|
|
27
27
|
return success(fromCode(languageCode, countryCode));
|
|
28
28
|
};
|
|
29
|
-
var
|
|
29
|
+
var from = (value) => {
|
|
30
30
|
return unpackResult(parseString(value));
|
|
31
31
|
};
|
|
32
32
|
var Schema = structuredTransform(Zod.string(), parseString);
|
|
@@ -69,8 +69,8 @@ export {
|
|
|
69
69
|
Russian,
|
|
70
70
|
Schema,
|
|
71
71
|
Spanish,
|
|
72
|
+
from,
|
|
72
73
|
fromCode,
|
|
73
|
-
fromString,
|
|
74
74
|
parse,
|
|
75
75
|
parseString
|
|
76
76
|
};
|
package/dist/intl/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/intl/locale.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/intl/locale.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { from as languageCodeFromString, LanguageCode } from '@bessemer/cornerstone/intl/language-code'\nimport { CountryCode, from as countryCodeFromString } from '@bessemer/cornerstone/intl/country-code'\nimport { isPresent } from '@bessemer/cornerstone/object'\nimport { Assertions } from '@bessemer/cornerstone'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('locale')\nexport type Locale = NominalType<string, typeof Namespace>\n\nexport const fromCode = (language: LanguageCode, country?: CountryCode | null): Locale => {\n if (isPresent(country)) {\n return `${language}-${country}` as Locale\n } else {\n return `${language}` as Locale\n }\n}\n\nexport const parseString = (value: string): Result<Locale, ErrorEvent> => {\n if (!/^[a-z]{2}(-[a-z]{2})?$/i.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `Locale must be in format \"en\" or \"en-US\".` }))\n }\n\n const parts = value.split('-')\n Assertions.assertPresent(parts[0])\n const languageCode = languageCodeFromString(parts[0])\n const countryCode = isPresent(parts[1]) ? countryCodeFromString(parts[1]) : null\n return success(fromCode(languageCode, countryCode))\n}\n\nexport const from = (value: string): Locale => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n\nexport const parse = (locale: Locale): [LanguageCode, CountryCode | null] => {\n const parts = locale.split('-')\n const languageCode = parts[0] as LanguageCode\n const countryCode = isPresent(parts[1]) ? (parts[1] as CountryCode) : null\n return [languageCode, countryCode]\n}\n\nexport const English = 'en' as Locale\nexport const Spanish = 'es' as Locale\nexport const French = 'fr' as Locale\nexport const German = 'de' as Locale\nexport const Italian = 'it' as Locale\nexport const Portuguese = 'pt' as Locale\nexport const Dutch = 'nl' as Locale\nexport const Russian = 'ru' as Locale\nexport const Chinese = 'zh' as Locale\nexport const Japanese = 'ja' as Locale\nexport const Korean = 'ko' as Locale\n\nexport const AmericanEnglish = 'en-US' as Locale\nexport const BritishEnglish = 'en-GB' as Locale\nexport const CanadianEnglish = 'en-CA' as Locale\nexport const AustralianEnglish = 'en-AU' as Locale\n"],"mappings":";AACA,OAAO,SAAS;AAChB,SAAS,QAAQ,8BAA4C;AAC7D,SAAsB,QAAQ,6BAA6B;AAC3D,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,QAAQ;AAG1C,IAAM,WAAW,CAAC,UAAwB,YAAyC;AACxF,MAAI,UAAU,OAAO,GAAG;AACtB,WAAO,GAAG,QAAQ,IAAI,OAAO;AAAA,EAC/B,OAAO;AACL,WAAO,GAAG,QAAQ;AAAA,EACpB;AACF;AAEO,IAAM,cAAc,CAAC,UAA8C;AACxE,MAAI,CAAC,0BAA0B,KAAK,KAAK,GAAG;AAC1C,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,4CAA4C,CAAC,CAAC;AAAA,EACpH;AAEA,QAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,aAAW,cAAc,MAAM,CAAC,CAAC;AACjC,QAAM,eAAe,uBAAuB,MAAM,CAAC,CAAC;AACpD,QAAM,cAAc,UAAU,MAAM,CAAC,CAAC,IAAI,sBAAsB,MAAM,CAAC,CAAC,IAAI;AAC5E,SAAO,QAAQ,SAAS,cAAc,WAAW,CAAC;AACpD;AAEO,IAAM,OAAO,CAAC,UAA0B;AAC7C,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;AAE5D,IAAM,QAAQ,CAAC,WAAuD;AAC3E,QAAM,QAAQ,OAAO,MAAM,GAAG;AAC9B,QAAM,eAAe,MAAM,CAAC;AAC5B,QAAM,cAAc,UAAU,MAAM,CAAC,CAAC,IAAK,MAAM,CAAC,IAAoB;AACtE,SAAO,CAAC,cAAc,WAAW;AACnC;AAEO,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,UAAU;AAChB,IAAM,aAAa;AACnB,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,WAAW;AACjB,IAAM,SAAS;AAEf,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AACvB,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;","names":[]}
|
package/dist/mime-type.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
|
|
|
5
5
|
export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"mime-literal">;
|
|
6
6
|
export type MimeLiteral = NominalType<string, typeof Namespace>;
|
|
7
7
|
export declare const parseString: (value: string) => Result<MimeLiteral, ErrorEvent>;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const from: (value: string) => MimeLiteral;
|
|
9
9
|
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<MimeLiteral, string>>;
|
|
10
10
|
export declare const Jpeg: MimeLiteral;
|
|
11
11
|
export declare const Png: MimeLiteral;
|
package/dist/mime-type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mime-type.d.ts","sourceRoot":"","sources":["../src/mime-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"mime-type.d.ts","sourceRoot":"","sources":["../src/mime-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,gFAAkC,CAAA;AACxD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAE/D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAMzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mEAAiD,CAAA;AAGpE,eAAO,MAAM,IAAI,EAAmB,WAAW,CAAA;AAC/C,eAAO,MAAM,GAAG,EAAkB,WAAW,CAAA;AAC7C,eAAO,MAAM,GAAG,EAAkB,WAAW,CAAA;AAC7C,eAAO,MAAM,IAAI,EAAmB,WAAW,CAAA;AAC/C,eAAO,MAAM,GAAG,EAAsB,WAAW,CAAA;AACjD,eAAO,MAAM,GAAG,EAAqB,WAAW,CAAA;AAChD,eAAO,MAAM,IAAI,EAAmB,WAAW,CAAA;AAC/C,eAAO,MAAM,UAAU,eAAyC,CAAA;AAGhE,eAAO,MAAM,GAAG,EAAkB,WAAW,CAAA;AAC7C,eAAO,MAAM,IAAI,EAAmB,WAAW,CAAA;AAC/C,eAAO,MAAM,QAAQ,EAAkB,WAAW,CAAA;AAClD,eAAO,MAAM,UAAU,eAAwB,CAAA;AAG/C,eAAO,MAAM,GAAG,EAAmB,WAAW,CAAA;AAC9C,eAAO,MAAM,QAAQ,EAAkB,WAAW,CAAA;AAClD,eAAO,MAAM,GAAG,EAAkB,WAAW,CAAA;AAC7C,eAAO,MAAM,UAAU,eAAuB,CAAA;AAG9C,eAAO,MAAM,GAAG,EAAwB,WAAW,CAAA;AACnD,eAAO,MAAM,IAAI,EAAyB,WAAW,CAAA;AACrD,eAAO,MAAM,GAAG,EAAiB,WAAW,CAAA;AAC5C,eAAO,MAAM,SAAS,EAAmB,WAAW,CAAA;AACpD,eAAO,MAAM,IAAI,EAAkB,WAAW,CAAA;AAC9C,eAAO,MAAM,GAAG,EAAwB,WAAW,CAAA;AACnD,eAAO,MAAM,aAAa,eAAyC,CAAA;AAGnE,eAAO,MAAM,IAAI,EAAkB,WAAW,CAAA;AAC9C,eAAO,MAAM,KAAK,EAAmB,WAAW,CAAA;AAChD,eAAO,MAAM,GAAG,EAAiB,WAAW,CAAA;AAC5C,eAAO,MAAM,GAAG,EAAiB,WAAW,CAAA;AAC5C,eAAO,MAAM,SAAS,eAA0B,CAAA;AAGhD,eAAO,MAAM,GAAG,EAAwB,WAAW,CAAA;AACnD,eAAO,MAAM,IAAI,EAAyB,WAAW,CAAA;AACrD,eAAO,MAAM,GAAG,EAA0B,WAAW,CAAA;AACrD,eAAO,MAAM,MAAM,EAA6B,WAAW,CAAA;AAC3D,eAAO,MAAM,gBAAgB,eAA2B,CAAA;AAGxD,eAAO,MAAM,QAAQ,EAA4B,WAAW,CAAA;AAC5D,eAAO,MAAM,UAAU,EAA+B,WAAW,CAAA;AACjE,eAAO,MAAM,WAAW,EAAiC,WAAW,CAAA"}
|
package/dist/mime-type.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// src/mime-type.ts
|
|
2
2
|
import Zod from "zod";
|
|
3
3
|
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
-
import {
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
5
|
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
6
|
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
-
var Namespace =
|
|
7
|
+
var Namespace = createNamespace("mime-literal");
|
|
8
8
|
var parseString = (value) => {
|
|
9
9
|
if (!/^[\w-]+\/[\w.+-]+$/.test(value)) {
|
|
10
10
|
return failure(invalidValue(value, { namespace: Namespace, message: `Invalid MIME type format.` }));
|
|
11
11
|
}
|
|
12
12
|
return success(value);
|
|
13
13
|
};
|
|
14
|
-
var
|
|
14
|
+
var from = (value) => {
|
|
15
15
|
return unpackResult(parseString(value));
|
|
16
16
|
};
|
|
17
17
|
var Schema = structuredTransform(Zod.string(), parseString);
|
|
@@ -90,7 +90,7 @@ export {
|
|
|
90
90
|
Woff2,
|
|
91
91
|
Xml,
|
|
92
92
|
Zip,
|
|
93
|
-
|
|
93
|
+
from,
|
|
94
94
|
parseString
|
|
95
95
|
};
|
|
96
96
|
//# sourceMappingURL=mime-type.js.map
|
package/dist/mime-type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mime-type.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/mime-type.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('mime-literal')\nexport type MimeLiteral = NominalType<string, typeof Namespace>\n\nexport const parseString = (value: string): Result<MimeLiteral, ErrorEvent> => {\n if (!/^[\\w-]+\\/[\\w.+-]+$/.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `Invalid MIME type format.` }))\n }\n\n return success(value as MimeLiteral)\n}\n\nexport const from = (value: string): MimeLiteral => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n\n// Images\nexport const Jpeg = 'image/jpeg' as MimeLiteral\nexport const Png = 'image/png' as MimeLiteral\nexport const Gif = 'image/gif' as MimeLiteral\nexport const Webp = 'image/webp' as MimeLiteral\nexport const Svg = 'image/svg+xml' as MimeLiteral\nexport const Ico = 'image/x-icon' as MimeLiteral\nexport const Avif = 'image/avif' as MimeLiteral\nexport const ImageTypes = [Jpeg, Png, Gif, Webp, Svg, Ico, Avif]\n\n// Video\nexport const Mp4 = 'video/mp4' as MimeLiteral\nexport const Webm = 'video/webm' as MimeLiteral\nexport const OggVideo = 'video/ogg' as MimeLiteral\nexport const VideoTypes = [Mp4, Webm, OggVideo]\n\n// Audio\nexport const Mp3 = 'audio/mpeg' as MimeLiteral\nexport const OggAudio = 'audio/ogg' as MimeLiteral\nexport const Wav = 'audio/wav' as MimeLiteral\nexport const AudioTypes = [Mp3, OggAudio, Wav]\n\n// Documents\nexport const Pdf = 'application/pdf' as MimeLiteral\nexport const Json = 'application/json' as MimeLiteral\nexport const Csv = 'text/csv' as MimeLiteral\nexport const PlainText = 'text/plain' as MimeLiteral\nexport const Html = 'text/html' as MimeLiteral\nexport const Xml = 'application/xml' as MimeLiteral\nexport const DocumentTypes = [Pdf, Json, Csv, PlainText, Html, Xml]\n\n// Fonts\nexport const Woff = 'font/woff' as MimeLiteral\nexport const Woff2 = 'font/woff2' as MimeLiteral\nexport const Ttf = 'font/ttf' as MimeLiteral\nexport const Otf = 'font/otf' as MimeLiteral\nexport const FontTypes = [Woff, Woff2, Ttf, Otf]\n\n// Compression\nexport const Zip = 'application/zip' as MimeLiteral\nexport const Gzip = 'application/gzip' as MimeLiteral\nexport const Tar = 'application/x-tar' as MimeLiteral\nexport const Brotli = 'application/x-brotli' as MimeLiteral\nexport const CompressionTypes = [Zip, Gzip, Tar, Brotli]\n\n// Misc\nexport const FormData = 'multipart/form-data' as MimeLiteral\nexport const Javascript = 'application/javascript' as MimeLiteral\nexport const OctetStream = 'application/octet-stream' as MimeLiteral\n"],"mappings":";AACA,OAAO,SAAS;AAChB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,cAAc;AAGhD,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,CAAC,qBAAqB,KAAK,KAAK,GAAG;AACrC,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,4BAA4B,CAAC,CAAC;AAAA,EACpG;AAEA,SAAO,QAAQ,KAAoB;AACrC;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;AAG5D,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,aAAa,CAAC,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK,IAAI;AAGxD,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,WAAW;AACjB,IAAM,aAAa,CAAC,KAAK,MAAM,QAAQ;AAGvC,IAAM,MAAM;AACZ,IAAM,WAAW;AACjB,IAAM,MAAM;AACZ,IAAM,aAAa,CAAC,KAAK,UAAU,GAAG;AAGtC,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,YAAY;AAClB,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,gBAAgB,CAAC,KAAK,MAAM,KAAK,WAAW,MAAM,GAAG;AAG3D,IAAM,OAAO;AACb,IAAM,QAAQ;AACd,IAAM,MAAM;AACZ,IAAM,MAAM;AACZ,IAAM,YAAY,CAAC,MAAM,OAAO,KAAK,GAAG;AAGxC,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,SAAS;AACf,IAAM,mBAAmB,CAAC,KAAK,MAAM,KAAK,MAAM;AAGhD,IAAM,WAAW;AACjB,IAAM,aAAa;AACnB,IAAM,cAAc;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Zod from 'zod';
|
|
2
|
+
import { NominalType } from '@bessemer/cornerstone/types';
|
|
3
|
+
import { Result } from '@bessemer/cornerstone/result';
|
|
4
|
+
import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
|
|
5
|
+
export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"domain-name">;
|
|
6
|
+
export type DomainName = NominalType<string, typeof Namespace>;
|
|
7
|
+
export declare const parseString: (value: string) => Result<DomainName, ErrorEvent>;
|
|
8
|
+
export declare const from: (value: string) => DomainName;
|
|
9
|
+
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<DomainName, string>>;
|
|
10
|
+
//# sourceMappingURL=domain-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-name.d.ts","sourceRoot":"","sources":["../../src/net/domain-name.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,+EAAiC,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAK9D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,UAAU,EAAE,UAAU,CAWxE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,UAEpC,CAAA;AAED,eAAO,MAAM,MAAM,kEAAiD,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/net/domain-name.ts
|
|
2
|
+
import Zod from "zod";
|
|
3
|
+
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
|
+
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
|
+
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
+
var Namespace = createNamespace("domain-name");
|
|
8
|
+
var regex = /^[a-zA-Z0-9\u00a1-\uffff](?:[a-zA-Z0-9\u00a1-\uffff-]{0,61}[a-zA-Z0-9\u00a1-\uffff])?(?:\.[a-zA-Z0-9\u00a1-\uffff](?:[a-zA-Z0-9\u00a1-\uffff-]{0,61}[a-zA-Z0-9\u00a1-\uffff])?)*$/;
|
|
9
|
+
var parseString = (value) => {
|
|
10
|
+
if (!regex.test(value)) {
|
|
11
|
+
return failure(
|
|
12
|
+
invalidValue(value, {
|
|
13
|
+
namespace: Namespace,
|
|
14
|
+
message: `[${Namespace}]: Invalid characters for DomainName in string: [${value}]`
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
return success(value);
|
|
19
|
+
};
|
|
20
|
+
var from = (value) => {
|
|
21
|
+
return unpackResult(parseString(value));
|
|
22
|
+
};
|
|
23
|
+
var Schema = structuredTransform(Zod.string(), parseString);
|
|
24
|
+
export {
|
|
25
|
+
Namespace,
|
|
26
|
+
Schema,
|
|
27
|
+
from,
|
|
28
|
+
parseString
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=domain-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/net/domain-name.ts"],"sourcesContent":["import Zod from 'zod'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('domain-name')\nexport type DomainName = NominalType<string, typeof Namespace>\n\nconst regex =\n /^[a-zA-Z0-9\\u00a1-\\uffff](?:[a-zA-Z0-9\\u00a1-\\uffff-]{0,61}[a-zA-Z0-9\\u00a1-\\uffff])?(?:\\.[a-zA-Z0-9\\u00a1-\\uffff](?:[a-zA-Z0-9\\u00a1-\\uffff-]{0,61}[a-zA-Z0-9\\u00a1-\\uffff])?)*$/\n\nexport const parseString = (value: string): Result<DomainName, ErrorEvent> => {\n if (!regex.test(value)) {\n return failure(\n invalidValue(value, {\n namespace: Namespace,\n message: `[${Namespace}]: Invalid characters for DomainName in string: [${value}]`,\n })\n )\n }\n\n return success(value as DomainName)\n}\n\nexport const from = (value: string): DomainName => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n"],"mappings":";AAAA,OAAO,SAAS;AAEhB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,aAAa;AAGtD,IAAM,QACJ;AAEK,IAAM,cAAc,CAAC,UAAkD;AAC5E,MAAI,CAAC,MAAM,KAAK,KAAK,GAAG;AACtB,WAAO;AAAA,MACL,aAAa,OAAO;AAAA,QAClB,WAAW;AAAA,QACX,SAAS,IAAI,SAAS,oDAAoD,KAAK;AAAA,MACjF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO,QAAQ,KAAmB;AACpC;AAEO,IAAM,OAAO,CAAC,UAA8B;AACjD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Zod from 'zod';
|
|
2
|
+
import { NominalType } from '@bessemer/cornerstone/types';
|
|
3
|
+
import { Result } from '@bessemer/cornerstone/result';
|
|
4
|
+
import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
|
|
5
|
+
export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"ipv4-address">;
|
|
6
|
+
export type IpV4Address = NominalType<string, typeof Namespace>;
|
|
7
|
+
export declare const parseString: (value: string) => Result<IpV4Address, ErrorEvent>;
|
|
8
|
+
export declare const from: (value: string) => IpV4Address;
|
|
9
|
+
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<IpV4Address, string>>;
|
|
10
|
+
//# sourceMappingURL=ipv4-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv4-address.d.ts","sourceRoot":"","sources":["../../src/net/ipv4-address.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,gFAAkC,CAAA;AACxD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAI/D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAWzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mEAAiD,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/net/ipv4-address.ts
|
|
2
|
+
import Zod from "zod";
|
|
3
|
+
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
|
+
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
|
+
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
+
var Namespace = createNamespace("ipv4-address");
|
|
8
|
+
var regex = /^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/;
|
|
9
|
+
var parseString = (value) => {
|
|
10
|
+
if (!regex.test(value)) {
|
|
11
|
+
return failure(
|
|
12
|
+
invalidValue(value, {
|
|
13
|
+
namespace: Namespace,
|
|
14
|
+
message: `[${Namespace}]: Invalid characters for IpV4Address in string: [${value}]`
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
return success(value);
|
|
19
|
+
};
|
|
20
|
+
var from = (value) => {
|
|
21
|
+
return unpackResult(parseString(value));
|
|
22
|
+
};
|
|
23
|
+
var Schema = structuredTransform(Zod.string(), parseString);
|
|
24
|
+
export {
|
|
25
|
+
Namespace,
|
|
26
|
+
Schema,
|
|
27
|
+
from,
|
|
28
|
+
parseString
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ipv4-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/net/ipv4-address.ts"],"sourcesContent":["import Zod from 'zod'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('ipv4-address')\nexport type IpV4Address = NominalType<string, typeof Namespace>\n\nconst regex = /^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$/\n\nexport const parseString = (value: string): Result<IpV4Address, ErrorEvent> => {\n if (!regex.test(value)) {\n return failure(\n invalidValue(value, {\n namespace: Namespace,\n message: `[${Namespace}]: Invalid characters for IpV4Address in string: [${value}]`,\n })\n )\n }\n\n return success(value as IpV4Address)\n}\n\nexport const from = (value: string): IpV4Address => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n"],"mappings":";AAAA,OAAO,SAAS;AAEhB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,cAAc;AAGvD,IAAM,QAAQ;AAEP,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,CAAC,MAAM,KAAK,KAAK,GAAG;AACtB,WAAO;AAAA,MACL,aAAa,OAAO;AAAA,QAClB,WAAW;AAAA,QACX,SAAS,IAAI,SAAS,qDAAqD,KAAK;AAAA,MAClF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO,QAAQ,KAAoB;AACrC;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Zod from 'zod';
|
|
2
|
+
import { NominalType } from '@bessemer/cornerstone/types';
|
|
3
|
+
import { Result } from '@bessemer/cornerstone/result';
|
|
4
|
+
import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
|
|
5
|
+
export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"ipv6-address">;
|
|
6
|
+
export type IpV6Address = NominalType<string, typeof Namespace>;
|
|
7
|
+
export declare const parseString: (value: string) => Result<IpV6Address, ErrorEvent>;
|
|
8
|
+
export declare const from: (value: string) => IpV6Address;
|
|
9
|
+
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<IpV6Address, string>>;
|
|
10
|
+
//# sourceMappingURL=ipv6-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv6-address.d.ts","sourceRoot":"","sources":["../../src/net/ipv6-address.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAGhG,eAAO,MAAM,SAAS,gFAAkC,CAAA;AACxD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAK/D,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAWzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mEAAiD,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/net/ipv6-address.ts
|
|
2
|
+
import Zod from "zod";
|
|
3
|
+
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
|
+
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
|
+
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
+
var Namespace = createNamespace("ipv6-address");
|
|
8
|
+
var regex = /^(?:(?:[a-fA-F\d]{1,4}:){7}(?:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-fA-F\d]{1,4}|:)|(?:[a-fA-F\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,2}|:)|(?:[a-fA-F\d]{1,4}:){4}(?:(?::[a-fA-F\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,3}|:)|(?:[a-fA-F\d]{1,4}:){3}(?:(?::[a-fA-F\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,4}|:)|(?:[a-fA-F\d]{1,4}:){2}(?:(?::[a-fA-F\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,5}|:)|[a-fA-F\d]{1,4}:(?:(?::[a-fA-F\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,6}|:)|:(?:(?::[a-fA-F\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-fA-F\d]{1,4}){1,7}|:))(?:%[0-9a-zA-Z]+)?$/;
|
|
9
|
+
var parseString = (value) => {
|
|
10
|
+
if (!regex.test(value)) {
|
|
11
|
+
return failure(
|
|
12
|
+
invalidValue(value, {
|
|
13
|
+
namespace: Namespace,
|
|
14
|
+
message: `[${Namespace}]: Invalid characters for IpV6Address in string: [${value}]`
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
return success(value);
|
|
19
|
+
};
|
|
20
|
+
var from = (value) => {
|
|
21
|
+
return unpackResult(parseString(value));
|
|
22
|
+
};
|
|
23
|
+
var Schema = structuredTransform(Zod.string(), parseString);
|
|
24
|
+
export {
|
|
25
|
+
Namespace,
|
|
26
|
+
Schema,
|
|
27
|
+
from,
|
|
28
|
+
parseString
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ipv6-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/net/ipv6-address.ts"],"sourcesContent":["import Zod from 'zod'\nimport { NominalType } from '@bessemer/cornerstone/types'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = createNamespace('ipv6-address')\nexport type IpV6Address = NominalType<string, typeof Namespace>\n\nconst regex =\n /^(?:(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|[a-fA-F\\d]{1,4}:(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|:(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:))(?:%[0-9a-zA-Z]+)?$/\n\nexport const parseString = (value: string): Result<IpV6Address, ErrorEvent> => {\n if (!regex.test(value)) {\n return failure(\n invalidValue(value, {\n namespace: Namespace,\n message: `[${Namespace}]: Invalid characters for IpV6Address in string: [${value}]`,\n })\n )\n }\n\n return success(value as IpV6Address)\n}\n\nexport const from = (value: string): IpV6Address => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n"],"mappings":";AAAA,OAAO,SAAS;AAEhB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AAE7B,IAAM,YAAY,gBAAgB,cAAc;AAGvD,IAAM,QACJ;AAEK,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,CAAC,MAAM,KAAK,KAAK,GAAG;AACtB,WAAO;AAAA,MACL,aAAa,OAAO;AAAA,QAClB,WAAW;AAAA,QACX,SAAS,IAAI,SAAS,qDAAqD,KAAK;AAAA,MAClF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO,QAAQ,KAAoB;AACrC;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Zod from 'zod';
|
|
2
|
+
import { Result } from '@bessemer/cornerstone/result';
|
|
3
|
+
import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
|
|
4
|
+
import { DomainName } from '@bessemer/cornerstone/net/domain-name';
|
|
5
|
+
import { IpV4Address } from '@bessemer/cornerstone/net/ipv4-address';
|
|
6
|
+
import { IpV6Address } from '@bessemer/cornerstone/net/ipv6-address';
|
|
7
|
+
export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"uri-host-name">;
|
|
8
|
+
export type UriHostName = DomainName | IpV4Address | `[${IpV6Address}]`;
|
|
9
|
+
export declare const parseString: (value: string) => Result<UriHostName, ErrorEvent>;
|
|
10
|
+
export declare const from: (value: string) => UriHostName;
|
|
11
|
+
export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<UriHostName, string>>;
|
|
12
|
+
//# sourceMappingURL=uri-host-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri-host-name.d.ts","sourceRoot":"","sources":["../../src/net/uri-host-name.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAEhG,OAAO,EAAE,UAAU,EAAkC,MAAM,uCAAuC,CAAA;AAClG,OAAO,EAAE,WAAW,EAAmC,MAAM,wCAAwC,CAAA;AACrG,OAAO,EAAE,WAAW,EAAmC,MAAM,wCAAwC,CAAA;AAGrG,eAAO,MAAM,SAAS,iFAAmC,CAAA;AACzD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,WAAW,GAAG,CAAA;AAEvE,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAuBzE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,WAEpC,CAAA;AAED,eAAO,MAAM,MAAM,mEAAiD,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// src/net/uri-host-name.ts
|
|
2
|
+
import Zod from "zod";
|
|
3
|
+
import { failure, success } from "@bessemer/cornerstone/result";
|
|
4
|
+
import { createNamespace } from "@bessemer/cornerstone/resource-key";
|
|
5
|
+
import { invalidValue, unpackResult } from "@bessemer/cornerstone/error/error-event";
|
|
6
|
+
import { structuredTransform } from "@bessemer/cornerstone/zod-util";
|
|
7
|
+
import { parseString as parseDomainName } from "@bessemer/cornerstone/net/domain-name";
|
|
8
|
+
import { parseString as parseIpV4Address } from "@bessemer/cornerstone/net/ipv4-address";
|
|
9
|
+
import { parseString as parseIpV6Address } from "@bessemer/cornerstone/net/ipv6-address";
|
|
10
|
+
import * as Strings from "@bessemer/cornerstone/string";
|
|
11
|
+
var Namespace = createNamespace("uri-host-name");
|
|
12
|
+
var parseString = (value) => {
|
|
13
|
+
if (value.startsWith("[") && value.endsWith("]")) {
|
|
14
|
+
const ipV6Address = parseIpV6Address(Strings.removeEnd(Strings.removeStart(value, "["), "]"));
|
|
15
|
+
if (ipV6Address.isSuccess) {
|
|
16
|
+
return success(`[${ipV6Address.value}]`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const domainName = parseDomainName(value);
|
|
20
|
+
if (domainName.isSuccess) {
|
|
21
|
+
return domainName;
|
|
22
|
+
}
|
|
23
|
+
const ipV4Address = parseIpV4Address(value);
|
|
24
|
+
if (ipV4Address.isSuccess) {
|
|
25
|
+
return ipV4Address;
|
|
26
|
+
}
|
|
27
|
+
return failure(
|
|
28
|
+
invalidValue(value, {
|
|
29
|
+
namespace: Namespace,
|
|
30
|
+
message: `[${Namespace}]: Invalid characters for UriHostName in string: [${value}]`
|
|
31
|
+
})
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
|
+
var from = (value) => {
|
|
35
|
+
return unpackResult(parseString(value));
|
|
36
|
+
};
|
|
37
|
+
var Schema = structuredTransform(Zod.string(), parseString);
|
|
38
|
+
export {
|
|
39
|
+
Namespace,
|
|
40
|
+
Schema,
|
|
41
|
+
from,
|
|
42
|
+
parseString
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=uri-host-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/net/uri-host-name.ts"],"sourcesContent":["import Zod from 'zod'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { createNamespace } from '@bessemer/cornerstone/resource-key'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\nimport { DomainName, parseString as parseDomainName } from '@bessemer/cornerstone/net/domain-name'\nimport { IpV4Address, parseString as parseIpV4Address } from '@bessemer/cornerstone/net/ipv4-address'\nimport { IpV6Address, parseString as parseIpV6Address } from '@bessemer/cornerstone/net/ipv6-address'\nimport * as Strings from '@bessemer/cornerstone/string'\n\nexport const Namespace = createNamespace('uri-host-name')\nexport type UriHostName = DomainName | IpV4Address | `[${IpV6Address}]`\n\nexport const parseString = (value: string): Result<UriHostName, ErrorEvent> => {\n if (value.startsWith('[') && value.endsWith(']')) {\n const ipV6Address = parseIpV6Address(Strings.removeEnd(Strings.removeStart(value, '['), ']'))\n if (ipV6Address.isSuccess) {\n return success(`[${ipV6Address.value}]` as UriHostName)\n }\n }\n\n const domainName = parseDomainName(value)\n if (domainName.isSuccess) {\n return domainName\n }\n const ipV4Address = parseIpV4Address(value)\n if (ipV4Address.isSuccess) {\n return ipV4Address\n }\n\n return failure(\n invalidValue(value, {\n namespace: Namespace,\n message: `[${Namespace}]: Invalid characters for UriHostName in string: [${value}]`,\n })\n )\n}\n\nexport const from = (value: string): UriHostName => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n"],"mappings":";AAAA,OAAO,SAAS;AAChB,SAAS,SAAiB,eAAe;AACzC,SAAS,uBAAuB;AAChC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,2BAA2B;AACpC,SAAqB,eAAe,uBAAuB;AAC3D,SAAsB,eAAe,wBAAwB;AAC7D,SAAsB,eAAe,wBAAwB;AAC7D,YAAY,aAAa;AAElB,IAAM,YAAY,gBAAgB,eAAe;AAGjD,IAAM,cAAc,CAAC,UAAmD;AAC7E,MAAI,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,GAAG;AAChD,UAAM,cAAc,iBAAyB,kBAAkB,oBAAY,OAAO,GAAG,GAAG,GAAG,CAAC;AAC5F,QAAI,YAAY,WAAW;AACzB,aAAO,QAAQ,IAAI,YAAY,KAAK,GAAkB;AAAA,IACxD;AAAA,EACF;AAEA,QAAM,aAAa,gBAAgB,KAAK;AACxC,MAAI,WAAW,WAAW;AACxB,WAAO;AAAA,EACT;AACA,QAAM,cAAc,iBAAiB,KAAK;AAC1C,MAAI,YAAY,WAAW;AACzB,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,aAAa,OAAO;AAAA,MAClB,WAAW;AAAA,MACX,SAAS,IAAI,SAAS,qDAAqD,KAAK;AAAA,IAClF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,OAAO,CAAC,UAA+B;AAClD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;","names":[]}
|