inferred-types 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/NetworkConstants.d.ts +29 -0
- package/dist/constants/NetworkConstants.d.ts.map +1 -0
- package/dist/constants/NetworkConstants.js +83 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/tsconfig.tsbuildinfo +1 -1
- package/dist/inferred-types/index.cjs +571 -301
- package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/dictionary/withKeys.d.ts +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/literals/index.d.ts +1 -0
- package/dist/runtime/literals/index.d.ts.map +1 -1
- package/dist/runtime/literals/index.js +1 -0
- package/dist/runtime/literals/takeNumericCharacters.d.ts +9 -0
- package/dist/runtime/literals/takeNumericCharacters.d.ts.map +1 -0
- package/dist/runtime/literals/takeNumericCharacters.js +12 -0
- package/dist/runtime/meta/index.d.ts +3 -0
- package/dist/runtime/meta/index.d.ts.map +1 -0
- package/dist/runtime/meta/index.js +2 -0
- package/dist/runtime/meta/urlMeta.d.ts +52 -0
- package/dist/runtime/meta/urlMeta.d.ts.map +1 -0
- package/dist/runtime/meta/urlMeta.js +57 -0
- package/dist/runtime/meta/youtube-meta.d.ts +31 -0
- package/dist/runtime/meta/youtube-meta.d.ts.map +1 -0
- package/dist/runtime/meta/youtube-meta.js +19 -0
- package/dist/runtime/runtime-types/parse.d.ts +1 -1
- package/dist/runtime/runtime-types/shape-helpers/getTokenData.d.ts +1 -1
- package/dist/runtime/runtime-types/shape-helpers/getTokenName.d.ts +1 -1
- package/dist/runtime/runtime-types/shape-helpers/singletons.d.ts.map +1 -1
- package/dist/runtime/runtime-types/shape-helpers/singletons.js +1 -1
- package/dist/runtime/runtime-types/shape.d.ts +1 -1
- package/dist/runtime/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/type-conversion/asChars.d.ts +8 -0
- package/dist/runtime/type-conversion/asChars.d.ts.map +1 -0
- package/dist/runtime/type-conversion/asChars.js +8 -0
- package/dist/runtime/type-conversion/index.d.ts +2 -0
- package/dist/runtime/type-conversion/index.d.ts.map +1 -1
- package/dist/runtime/type-conversion/index.js +2 -0
- package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts +14 -0
- package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts.map +1 -0
- package/dist/runtime/type-conversion/ip6GroupExpansion.js +15 -0
- package/dist/runtime/type-guards/index.d.ts +4 -0
- package/dist/runtime/type-guards/index.d.ts.map +1 -1
- package/dist/runtime/type-guards/index.js +4 -0
- package/dist/runtime/type-guards/isHexadecimal.d.ts +8 -0
- package/dist/runtime/type-guards/isHexadecimal.d.ts.map +1 -0
- package/dist/runtime/type-guards/isHexadecimal.js +13 -0
- package/dist/runtime/type-guards/isUrl.d.ts +1 -3
- package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
- package/dist/runtime/type-guards/isUrl.js +2 -3
- package/dist/runtime/type-guards/network-tg.d.ts +48 -0
- package/dist/runtime/type-guards/network-tg.d.ts.map +1 -0
- package/dist/runtime/type-guards/network-tg.js +85 -0
- package/dist/runtime/type-guards/repos.d.ts +4 -4
- package/dist/runtime/type-guards/repos.d.ts.map +1 -1
- package/dist/runtime/type-guards/youtube.d.ts +42 -0
- package/dist/runtime/type-guards/youtube.d.ts.map +1 -0
- package/dist/runtime/type-guards/youtube.js +74 -0
- package/dist/types/boolean-logic/combinators/And.d.ts +1 -1
- package/dist/types/boolean-logic/combinators/And.d.ts.map +1 -1
- package/dist/types/boolean-logic/combinators/Not.d.ts +5 -6
- package/dist/types/boolean-logic/combinators/Not.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/Extends.d.ts +2 -1
- package/dist/types/boolean-logic/operators/Extends.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsBoolean.d.ts +2 -1
- package/dist/types/boolean-logic/operators/IsBoolean.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts +9 -0
- package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts.map +1 -0
- package/dist/types/boolean-logic/operators/IsEqual.d.ts +7 -1
- package/dist/types/boolean-logic/operators/IsEqual.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsLessThan.d.ts +13 -0
- package/dist/types/boolean-logic/operators/IsLessThan.d.ts.map +1 -0
- package/dist/types/boolean-logic/operators/IsLessThan.js +1 -0
- package/dist/types/boolean-logic/operators/IsNever.d.ts +2 -1
- package/dist/types/boolean-logic/operators/IsNever.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsNumber.d.ts +2 -2
- package/dist/types/boolean-logic/operators/IsNumber.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsString.d.ts +2 -2
- package/dist/types/boolean-logic/operators/IsString.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/IsUrl.d.ts +35 -0
- package/dist/types/boolean-logic/operators/IsUrl.d.ts.map +1 -0
- package/dist/types/boolean-logic/operators/IsUrl.js +1 -0
- package/dist/types/boolean-logic/operators/Network-operators.d.ts +71 -0
- package/dist/types/boolean-logic/operators/Network-operators.d.ts.map +1 -0
- package/dist/types/boolean-logic/operators/Network-operators.js +1 -0
- package/dist/types/boolean-logic/operators/YouTube-operators.d.ts +32 -0
- package/dist/types/boolean-logic/operators/YouTube-operators.d.ts.map +1 -0
- package/dist/types/boolean-logic/operators/YouTube-operators.js +1 -0
- package/dist/types/boolean-logic/operators/index.d.ts +4 -1
- package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
- package/dist/types/boolean-logic/operators/index.js +4 -1
- package/dist/types/string-literals/RetainUntil.d.ts +33 -0
- package/dist/types/string-literals/RetainUntil.d.ts.map +1 -0
- package/dist/types/string-literals/RetainUntil.js +1 -0
- package/dist/types/string-literals/Split.d.ts +3 -3
- package/dist/types/string-literals/Split.d.ts.map +1 -1
- package/dist/types/string-literals/StripAfter.d.ts +2 -2
- package/dist/types/string-literals/StripAfter.d.ts.map +1 -1
- package/dist/types/string-literals/StripBefore.d.ts +2 -2
- package/dist/types/string-literals/StripBefore.d.ts.map +1 -1
- package/dist/types/string-literals/StripUntil.d.ts +6 -0
- package/dist/types/string-literals/StripUntil.d.ts.map +1 -0
- package/dist/types/string-literals/StripUntil.js +1 -0
- package/dist/types/string-literals/character-sets/DomainName.d.ts +17 -18
- package/dist/types/string-literals/character-sets/DomainName.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/IpAddress.d.ts +28 -4
- package/dist/types/string-literals/character-sets/IpAddress.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/Optional.d.ts +14 -0
- package/dist/types/string-literals/character-sets/Optional.d.ts.map +1 -0
- package/dist/types/string-literals/character-sets/Optional.js +1 -0
- package/dist/types/string-literals/character-sets/Repos.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/Url.d.ts +85 -37
- package/dist/types/string-literals/character-sets/Url.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/Url.js +1 -0
- package/dist/types/string-literals/character-sets/YouTube.d.ts +127 -0
- package/dist/types/string-literals/character-sets/YouTube.d.ts.map +1 -0
- package/dist/types/string-literals/character-sets/YouTube.js +1 -0
- package/dist/types/string-literals/character-sets/index.d.ts +2 -0
- package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/index.js +2 -0
- package/dist/types/string-literals/index.d.ts +2 -0
- package/dist/types/string-literals/index.d.ts.map +1 -1
- package/dist/types/string-literals/index.js +2 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/constants/Network.d.ts +0 -22
- package/dist/constants/Network.d.ts.map +0 -1
- package/dist/constants/Network.js +0 -21
- package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts +0 -9
- package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts.map +0 -1
- /package/dist/types/boolean-logic/operators/{IsHexadecimal.js → IsCssHexadecimal.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsLessThan.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsLessThan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,oBAAwB;AAE3C,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,IAExB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,GACL,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,IAAI,GACJ,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,EAC9B,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,IAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { As } from "../narrowing/As";
|
|
1
2
|
/**
|
|
2
3
|
* **IsNever**`<T>`
|
|
3
4
|
*
|
|
4
5
|
* Boolean type utility which check whether `T` is of type _never_.
|
|
5
6
|
*/
|
|
6
|
-
export type IsNever<T> = [T] extends never
|
|
7
|
+
export type IsNever<T> = As<[T] extends [never] ? true : false, boolean>;
|
|
7
8
|
//# sourceMappingURL=IsNever.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsNever.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNever.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"IsNever.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNever.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IsUnion } from "
|
|
1
|
+
import { IsUnion, WidenUnion } from "../../index";
|
|
2
2
|
/**
|
|
3
3
|
* **IsNumber**`<T>`
|
|
4
4
|
*
|
|
5
5
|
* Boolean type utility testing whether `T` is a numeric type.
|
|
6
6
|
*/
|
|
7
|
-
export type IsNumber<T> = IsUnion<T> extends true ?
|
|
7
|
+
export type IsNumber<T> = [IsUnion<T>] extends [true] ? WidenUnion<T> extends number ? true : number extends WidenUnion<T> ? boolean : false : [T] extends [number] ? true : false;
|
|
8
8
|
//# sourceMappingURL=IsNumber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsNumber.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IsNumber.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAwB;AAEtD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACnD,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,GAC1B,IAAI,GACJ,MAAM,SAAS,UAAU,CAAC,CAAC,CAAC,GAC1B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { IsUnion } from "
|
|
1
|
+
import { WidenUnion, IsUnion } from "../../index";
|
|
2
2
|
/**
|
|
3
3
|
* **IsString**
|
|
4
4
|
*
|
|
5
5
|
* Type utility which returns true/false based on whether `T` is a
|
|
6
6
|
* string (wide or narrow).
|
|
7
7
|
*/
|
|
8
|
-
export type IsString<T> = IsUnion<T> extends true ?
|
|
8
|
+
export type IsString<T> = [IsUnion<T>] extends [true] ? WidenUnion<T> extends string ? true : string extends WidenUnion<T> ? boolean : false : [T] extends [string] ? true : false;
|
|
9
9
|
//# sourceMappingURL=IsString.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsString.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IsString.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,UAAU,EAAE,OAAO,EAAE,oBAAwB;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACnD,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,GAC1B,IAAI,GACJ,MAAM,SAAS,UAAU,CAAC,CAAC,CAAC,GAC1B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { And, As, AsString, Equals, Extends, GetUrlPath, GetUrlSource, IsNever, IsString, IsStringLiteral, NetworkProtocol, NetworkProtocolPrefix, Not, Or } from "../../index";
|
|
2
|
+
export type HasUrlPath<T extends string> = And<[
|
|
3
|
+
IsString<T>,
|
|
4
|
+
Not<IsNever<GetUrlPath<T>>>,
|
|
5
|
+
Or<[
|
|
6
|
+
Extends<GetUrlPath<T>, "">,
|
|
7
|
+
Extends<GetUrlPath<T>, `/${string}`>,
|
|
8
|
+
Equals<GetUrlPath<T>, string>
|
|
9
|
+
]>
|
|
10
|
+
]>;
|
|
11
|
+
export type HasUrlSource<T> = Not<IsNever<GetUrlSource<AsString<T>>>>;
|
|
12
|
+
export type HasNetworkProtocolReference<TTest extends string, TProto extends NetworkProtocol> = Extends<TTest, `${NetworkProtocolPrefix<TProto>}${string}`>;
|
|
13
|
+
/**
|
|
14
|
+
* **IsUrl**`<TTest,[TProtocol]>`
|
|
15
|
+
*
|
|
16
|
+
* Boolean operator which tests whether the passed in `TTest`
|
|
17
|
+
* is a valid URL.
|
|
18
|
+
*
|
|
19
|
+
* **Note:** by default it will only check the `https` protocol
|
|
20
|
+
* but you can choose any set `TProtocol` with anything from `NetworkProtocol`
|
|
21
|
+
* if you like.
|
|
22
|
+
*
|
|
23
|
+
* **Note:** you can add **optional** as a part of the protocol union
|
|
24
|
+
* type and it will then accept the protocols you've selected or a URL
|
|
25
|
+
* without a protocol.
|
|
26
|
+
*/
|
|
27
|
+
export type IsUrl<TTest, TProtocol extends NetworkProtocol | "optional" = "https"> = IsString<TTest> extends true ? IsStringLiteral<TTest> extends true ? And<[
|
|
28
|
+
Or<[
|
|
29
|
+
HasNetworkProtocolReference<AsString<TTest>, As<TProtocol, NetworkProtocol>>,
|
|
30
|
+
Extends<"optional", TProtocol>
|
|
31
|
+
]>,
|
|
32
|
+
HasUrlPath<AsString<TTest>>,
|
|
33
|
+
HasUrlSource<AsString<TTest>>
|
|
34
|
+
]> : boolean : false;
|
|
35
|
+
//# sourceMappingURL=IsUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsUrl.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,EAAE,EACF,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,GAAG,EACH,EAAE,EACH,oBAAwB;AAGzB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC;IAC7C,QAAQ,CAAC,CAAC,CAAC;IACX,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,EAAE,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,2BAA2B,CACrC,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,eAAe,IAC5B,OAAO,CAAC,KAAK,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,KAAK,EACL,SAAS,SAAS,eAAe,GAAG,UAAU,GAAG,OAAO,IACtD,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,GAC9B,eAAe,CAAC,KAAK,CAAC,SAAS,IAAI,GACjC,GAAG,CAAC;IACF,EAAE,CAAC;QACD,2BAA2B,CACzB,QAAQ,CAAC,KAAK,CAAC,EACf,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAC/B;QACD,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;CAC9B,CAAC,GACF,OAAO,GACV,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AfterFirst, And, BeforeLast, First, GetUrlQueryParams, HasOtherCharacters, Ip4Address, Ip4Octet, Ip6AddressFull, Ip6AddressLoose, Ip6GroupExpansion, IsGreaterThan, IsLessThan, IsStringLiteral, Last, Length, LowerAlphaChar, NumericChar, Split } from "../../index";
|
|
2
|
+
/**
|
|
3
|
+
* **IsIp4Octet**`<T>`
|
|
4
|
+
*
|
|
5
|
+
* Checks whether `T` is a valid IPv4Octet.
|
|
6
|
+
*/
|
|
7
|
+
export type IsIp4Octet<T> = T extends number ? IsIp4Octet<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Ip4Octet ? true : false : boolean : false;
|
|
8
|
+
/**
|
|
9
|
+
* **IsHexadecimal**`<T>`
|
|
10
|
+
*
|
|
11
|
+
* Boolean operator which tests the string `T` to ensure
|
|
12
|
+
* all characters are valid hexadecimal digits/chars.
|
|
13
|
+
*/
|
|
14
|
+
export type IsHexadecimal<T> = T extends string ? IsStringLiteral<T> extends true ? HasOtherCharacters<Lowercase<T>, NumericChar | "a" | "b" | "c" | "d" | "e" | "f"> extends true ? false : true : boolean : false;
|
|
15
|
+
/**
|
|
16
|
+
* **IsIp6HexGroup**`<T>`
|
|
17
|
+
*
|
|
18
|
+
* Tests whether `T` is a valid hexadecimal group for an IP6
|
|
19
|
+
* Group. To be valid means:
|
|
20
|
+
*
|
|
21
|
+
* - each digit must be a hexadecimal digit
|
|
22
|
+
* - There will be between 1 and 4 digits
|
|
23
|
+
*/
|
|
24
|
+
export type IsIp6HexGroup<T> = T extends string ? IsStringLiteral<T> extends true ? IsLessThan<Length<T>, 5> extends true ? IsGreaterThan<Length<T>, 0> extends true ? IsHexadecimal<T> : false : false : boolean : false;
|
|
25
|
+
type DeepOctetCheck<T extends readonly string[]> = [] extends T ? true : IsIp4Octet<First<T>> extends true ? DeepOctetCheck<AfterFirst<T>> : false;
|
|
26
|
+
/**
|
|
27
|
+
* **IsIp4Address**`<T>`
|
|
28
|
+
*
|
|
29
|
+
* Validates that `T` is a _valid_ IPv4 address by:
|
|
30
|
+
*
|
|
31
|
+
* - making sure the basic `${number}.${number}.${number}.${number}`
|
|
32
|
+
* - and then that each octet is a valid number between 0 and 255
|
|
33
|
+
*/
|
|
34
|
+
export type IsIp4Address<T> = T extends string ? IsStringLiteral<T> extends true ? T extends Ip4Address ? Split<T, ".">["length"] extends 4 ? DeepOctetCheck<Split<T, ".">> : false : false : boolean : never;
|
|
35
|
+
type _EachGroup<T extends readonly string[]> = {
|
|
36
|
+
[K in keyof T]: IsIp6HexGroup<T[K]>;
|
|
37
|
+
};
|
|
38
|
+
export type IsIp6Address<T> = T extends string ? IsStringLiteral<T> extends true ? T extends Ip6AddressFull ? And<_EachGroup<Split<T, ":">>> : Ip6GroupExpansion<T> extends Ip6AddressFull ? And<_EachGroup<Split<Ip6GroupExpansion<T>, ":">>> : false : boolean : false;
|
|
39
|
+
/**
|
|
40
|
+
* **IsIpAddress**`<T>`
|
|
41
|
+
*
|
|
42
|
+
* A boolean operator which validates that `T` is either a V4 or V6 IP
|
|
43
|
+
* Address.
|
|
44
|
+
*/
|
|
45
|
+
export type IsIpAddress<T> = T extends string ? IsStringLiteral<T> extends true ? IsIp4Address<T> extends true ? true : IsIp6Address<T> extends true ? true : false : boolean : false;
|
|
46
|
+
/**
|
|
47
|
+
* **HasIpAddress**`<T>`
|
|
48
|
+
*
|
|
49
|
+
* a boolean operator which tests whether a string literal `T` has an IP address
|
|
50
|
+
* in it.
|
|
51
|
+
*/
|
|
52
|
+
export type HasIpAddress<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `${string}${infer IpAddress extends Ip4Address | Ip6AddressLoose}${string}` ? IsIp4Address<IpAddress> : false : boolean : never;
|
|
53
|
+
type _TLD<T extends string> = Length<T> extends 0 ? false : Length<T> extends 1 ? false : HasOtherCharacters<Lowercase<T>, LowerAlphaChar> extends true ? false : true;
|
|
54
|
+
type _BeforeTLD<T extends readonly string[]> = [] extends T ? true : HasOtherCharacters<Lowercase<First<T>>, LowerAlphaChar | NumericChar | "-" | "_"> extends true ? false : _BeforeTLD<AfterFirst<T>>;
|
|
55
|
+
/**
|
|
56
|
+
* **IsDomainName**`<T>`
|
|
57
|
+
*
|
|
58
|
+
* Checks whether `T` is a valid DNS domain name.
|
|
59
|
+
*/
|
|
60
|
+
export type IsDomainName<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `${string}.${string}` ? _TLD<Last<Split<T, ".">>> extends true ? _BeforeTLD<BeforeLast<Split<T, ".">>> extends true ? true : false : false : false : boolean : never;
|
|
61
|
+
/**
|
|
62
|
+
* **HasQueryParameter**`<T,P>`
|
|
63
|
+
*
|
|
64
|
+
* Checks whether the URL in `T` has a query parameter with the key of `P`.
|
|
65
|
+
*/
|
|
66
|
+
export type HasQueryParameter<T extends string, P extends string> = And<[
|
|
67
|
+
IsStringLiteral<T>,
|
|
68
|
+
IsStringLiteral<P>
|
|
69
|
+
]> extends true ? GetUrlQueryParams<T> extends `${string}${P}=${string}` ? true : false : boolean;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=Network-operators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Network-operators.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Network-operators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { YouTubeVideoUrl, YouTubeUrl, IsStringLiteral, GetUrlQueryParams, YouTubePlaylistUrl } from "../../index";
|
|
2
|
+
type VideoUrlKind = "single-video" | "video-in-playlist" | "both";
|
|
3
|
+
/**
|
|
4
|
+
* **IsYouTubeUrl**`<T>`
|
|
5
|
+
*
|
|
6
|
+
* Boolean operator which returns _true_ when the string is a
|
|
7
|
+
* possible YouTube URL.
|
|
8
|
+
*/
|
|
9
|
+
export type IsYouTubeUrl<T> = [T] extends [string] ? [IsStringLiteral<T>] extends [true] ? [T] extends [YouTubeUrl] ? true : false : boolean : false;
|
|
10
|
+
type _VideoKind<TQueryParams extends string, TKind extends VideoUrlKind> = TQueryParams extends `${string}list=${string}` ? TKind extends "single-video" ? false : true : TKind extends "video-in-playlist" ? false : true;
|
|
11
|
+
/**
|
|
12
|
+
* **IsYouTubeVideoUrl**`<TTest,[TKind]>`
|
|
13
|
+
*
|
|
14
|
+
* Boolean operator which returns _true_ when the string is a
|
|
15
|
+
* possible YouTube URL which is for playing a video.
|
|
16
|
+
*
|
|
17
|
+
* **Note:** by default any URL which plays a video is allowed but
|
|
18
|
+
* you can change `TKind` to "single-video" or "video-in-playlist"
|
|
19
|
+
* to isolate to just one of the play styles.
|
|
20
|
+
*
|
|
21
|
+
* **Related:** `IsYouTubeUrl`, `YouTubeVideoUrl`
|
|
22
|
+
*/
|
|
23
|
+
export type IsYouTubeVideoUrl<TTest, TKind extends VideoUrlKind = "both"> = [TTest] extends [string] ? [IsStringLiteral<TTest>] extends [true] ? [TTest] extends [YouTubeVideoUrl] ? _VideoKind<GetUrlQueryParams<TTest>, TKind> : false : boolean : false;
|
|
24
|
+
/**
|
|
25
|
+
* **IsYouTubeUrl**`<T>`
|
|
26
|
+
*
|
|
27
|
+
* Boolean operator which returns _true_ when the string is a
|
|
28
|
+
* possible YouTube URL.
|
|
29
|
+
*/
|
|
30
|
+
export type IsYouTubePlaylist<T> = [T] extends [string] ? [IsStringLiteral<T>] extends [true] ? [T] extends [YouTubePlaylistUrl] ? true : false : boolean : false;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=YouTube-operators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTube-operators.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/YouTube-operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAwB;AAEtH,KAAK,YAAY,GAAE,cAAc,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAChD,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACjC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GACtB,IAAI,GACJ,KAAK,GACP,OAAO,GACT,KAAK,CAAC;AAER,KAAK,UAAU,CACb,YAAY,SAAS,MAAM,EAC3B,KAAK,SAAS,YAAY,IACxB,YAAY,SAAS,GAAG,MAAM,QAAQ,MAAM,EAAE,GAChD,KAAK,SAAS,cAAc,GAC1B,KAAK,GACL,IAAI,GACN,KAAK,SAAS,mBAAmB,GAC/B,KAAK,GACL,IAAI,CAAC;AAGT;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,EACL,KAAK,SAAS,YAAY,GAAG,MAAM,IACjC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAC1B,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACrC,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,GAC/B,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAC3C,KAAK,GACP,OAAO,GACT,KAAK,CAAC;AAGR;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACrD,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACjC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAC9B,IAAI,GACJ,KAAK,GACP,OAAO,GACT,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -32,6 +32,7 @@ export * from "./IsObjectLiteral";
|
|
|
32
32
|
export * from "./IsTuple";
|
|
33
33
|
export * from "./IsNothing";
|
|
34
34
|
export * from "./IsGreaterThan";
|
|
35
|
+
export * from "./IsLessThan";
|
|
35
36
|
export * from "./IsDotPath";
|
|
36
37
|
export * from "./IsSingularNoun";
|
|
37
38
|
export * from "./IsAllLowercase";
|
|
@@ -84,7 +85,9 @@ export * from "./IsLiteralUnion";
|
|
|
84
85
|
export * from "./IsNonLiteralUnion";
|
|
85
86
|
export * from "./HasRequiredProps";
|
|
86
87
|
export * from "./IsValidDotPath";
|
|
87
|
-
export * from "./
|
|
88
|
+
export * from "./IsCssHexadecimal";
|
|
88
89
|
export * from "./IsFloat";
|
|
89
90
|
export * from "./IsInteger";
|
|
91
|
+
export * from "./IsUrl";
|
|
92
|
+
export * from "./Network-operators";
|
|
90
93
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export * from "./IsObjectLiteral.js";
|
|
|
32
32
|
export * from "./IsTuple.js";
|
|
33
33
|
export * from "./IsNothing.js";
|
|
34
34
|
export * from "./IsGreaterThan.js";
|
|
35
|
+
export * from "./IsLessThan.js";
|
|
35
36
|
export * from "./IsDotPath.js";
|
|
36
37
|
export * from "./IsSingularNoun.js";
|
|
37
38
|
export * from "./IsAllLowercase.js";
|
|
@@ -84,6 +85,8 @@ export * from "./IsLiteralUnion.js";
|
|
|
84
85
|
export * from "./IsNonLiteralUnion.js";
|
|
85
86
|
export * from "./HasRequiredProps.js";
|
|
86
87
|
export * from "./IsValidDotPath.js";
|
|
87
|
-
export * from "./
|
|
88
|
+
export * from "./IsCssHexadecimal.js";
|
|
88
89
|
export * from "./IsFloat.js";
|
|
89
90
|
export * from "./IsInteger.js";
|
|
91
|
+
export * from "./IsUrl.js";
|
|
92
|
+
export * from "./Network-operators.js";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AfterFirst, First } from "../lists";
|
|
2
|
+
import { Chars } from "./Chars";
|
|
3
|
+
type Process<TChars extends readonly string[], TOp extends "is" | "not", TComparator extends string, TResult extends string = ""> = [] extends TChars ? TResult : First<TChars> extends TComparator ? TOp extends "is" ? Process<AfterFirst<TChars>, TOp, TComparator, `${TResult}${First<TChars>}`> : TResult : TOp extends "is" ? TResult : Process<AfterFirst<TChars>, TOp, TComparator, `${TResult}${First<TChars>}`>;
|
|
4
|
+
/**
|
|
5
|
+
* **RetainUntil**`<TContent,TComparator>`
|
|
6
|
+
*
|
|
7
|
+
* Proxies the content of `TContent` character-by-character _until_
|
|
8
|
+
* a character _extends_ `TComparator`.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* // "1984"
|
|
12
|
+
* type Num = RetainUntil<"1984 is a number", WhiteSpace>;
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* **Related:** `RetainWhile`
|
|
16
|
+
*/
|
|
17
|
+
export type RetainUntil<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "not", TComparator>;
|
|
18
|
+
/**
|
|
19
|
+
* **RetainWhile**`<TContent,TComparator>`
|
|
20
|
+
*
|
|
21
|
+
* Proxies the content of `TContent` character-by-character _until_
|
|
22
|
+
* a character _does not extend_ `TComparator`.
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* // "1984"
|
|
26
|
+
* type Num = RetainWhile<"1984 is a number", NumericChar>;
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* **Related:** `RetainUntil`
|
|
30
|
+
*/
|
|
31
|
+
export type RetainWhile<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "is", TComparator>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=RetainUntil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RetainUntil.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/RetainUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,EAChC,GAAG,SAAS,IAAI,GAAG,KAAK,EACxB,WAAW,SAAS,MAAM,EAC1B,OAAO,SAAS,MAAM,GAAG,EAAE,IACzB,EAAE,SAAS,MAAM,GACnB,OAAO,GACP,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,GAC/B,GAAG,SAAS,IAAI,GACd,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAC7B,GACD,OAAO,GACT,GAAG,SAAS,IAAI,GACd,OAAO,GACP,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAC7B,CAAC;AAER;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CACrB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAC,WAAW,CAAC,CAAC;AAG/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CACrB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterFirst, BeforeLast, Chars, Filter, First,
|
|
1
|
+
import { AfterFirst, BeforeLast, Chars, Filter, First, IsUnion, IsStringLiteral, IsWideType, Last, TupleToUnion, UnionToTuple, As } from "../index";
|
|
2
2
|
type UnionPolicy = "omit" | "include";
|
|
3
3
|
type UnionSplit<TContent extends readonly string[], TSep extends string, TUnionPolicy extends UnionPolicy, TResult extends readonly string[] = []> = [] extends TContent ? TResult : UnionSplit<AfterFirst<TContent>, // advance to next character
|
|
4
4
|
TSep, TUnionPolicy, First<TContent> extends TSep ? [
|
|
@@ -13,7 +13,7 @@ type LiteralSplit<TContent extends string, TSep extends string, TUnionPolicy ext
|
|
|
13
13
|
TUnionPolicy extends "omit" ? Block : `${Block}${TSep}`
|
|
14
14
|
]> : Filter<[...TResults, TContent], "">;
|
|
15
15
|
type Process<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> = IsWideType<TContent> extends true ? string : TSep extends readonly string[] ? TupleToUnion<TSep> extends string ? Chars<TContent> extends readonly string[] ? UnionSplit<Chars<TContent>, TupleToUnion<TSep>, TUnionPolicy> : never : never : TSep extends string ? LiteralSplit<TContent, TSep, TUnionPolicy> : never;
|
|
16
|
-
type PreProcess<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> =
|
|
16
|
+
type PreProcess<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> = IsUnion<TSep> extends true ? UnionToTuple<TSep> extends readonly string[] ? Process<TContent, UnionToTuple<TSep>, TUnionPolicy> : never : Process<TContent, TSep, TUnionPolicy>;
|
|
17
17
|
/**
|
|
18
18
|
* **Split**`<TContent,TSep,[TPolicy]>`
|
|
19
19
|
*
|
|
@@ -24,6 +24,6 @@ type PreProcess<TContent extends string, TSep extends string | readonly string[]
|
|
|
24
24
|
* - typically you want to have the `TSep` _omitted_ from the result elements
|
|
25
25
|
* but you can opt to include them by changing `TPolicy` to "include"
|
|
26
26
|
*/
|
|
27
|
-
export type Split<TContent extends string, TSep extends string | readonly string[], TPolicy extends UnionPolicy = "omit"> =
|
|
27
|
+
export type Split<TContent extends string, TSep extends string | readonly string[], TPolicy extends UnionPolicy = "omit"> = IsStringLiteral<TContent> extends true ? As<PreProcess<TContent, TSep, TPolicy>, readonly string[]> : string[];
|
|
28
28
|
export {};
|
|
29
29
|
//# sourceMappingURL=Split.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Split.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Split.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,EACL,MAAM,EACN,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"Split.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Split.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IsStringLiteral
|
|
1
|
+
import { IsStringLiteral } from "../index";
|
|
2
2
|
/**
|
|
3
3
|
* **StripAfter**`<TStr, TBreak>`
|
|
4
4
|
*
|
|
@@ -11,5 +11,5 @@ import { IsStringLiteral, If } from "../index";
|
|
|
11
11
|
* type T = StripAfter<"hello world", " ">;
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export type StripAfter<TStr extends string, TBreak extends string> =
|
|
14
|
+
export type StripAfter<TStr extends string, TBreak extends string> = IsStringLiteral<TStr> extends true ? IsStringLiteral<TBreak> extends true ? TStr extends `${infer Before}${TBreak}${string}` ? Before : TStr : string : string;
|
|
15
15
|
//# sourceMappingURL=StripAfter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StripAfter.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripAfter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"StripAfter.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripAfter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,eAAe,EAAE,iBAAwB;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,eAAe,CAAC,MAAM,CAAC,SAAS,IAAI,GAClC,IAAI,SAAS,GAAG,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAC9C,MAAM,GACN,IAAI,GACN,MAAM,GACR,MAAM,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IsStringLiteral } from "../index";
|
|
2
2
|
/**
|
|
3
3
|
* **StripBefore**`<TStr, TBreak>`
|
|
4
4
|
*
|
|
@@ -11,5 +11,5 @@ import { If, IsStringLiteral } from "../index";
|
|
|
11
11
|
* type T = StripBefore<"hello world", " ">;
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export type StripBefore<TStr extends string, TBreak extends string> =
|
|
14
|
+
export type StripBefore<TStr extends string, TBreak extends string> = IsStringLiteral<TStr> extends true ? IsStringLiteral<TBreak> extends true ? TStr extends `${string}${TBreak}${infer REST}` ? `${REST}` : TStr : string : string;
|
|
15
15
|
//# sourceMappingURL=StripBefore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StripBefore.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripBefore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"StripBefore.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripBefore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAwB;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,eAAe,CAAC,MAAM,CAAC,SAAS,IAAI,GAClC,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,EAAE,GAC5C,GAAG,IAAI,EAAE,GACT,IAAI,GACN,MAAM,GACR,MAAM,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AfterFirst, First, Shift, Chars } from "../index";
|
|
2
|
+
type Process<TChars extends readonly string[], TOp extends "is" | "not", TComparator extends string, TResult extends string> = [] extends TChars ? TResult : First<TChars> extends TComparator ? TOp extends "is" ? Process<AfterFirst<TChars>, TOp, TComparator, Shift<TResult>> : TResult : TOp extends "is" ? TResult : Process<AfterFirst<TChars>, TOp, TComparator, Shift<TResult>>;
|
|
3
|
+
export type StripUntil<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "not", TComparator, TContent>;
|
|
4
|
+
export type StripWhile<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "is", TComparator, TContent>;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=StripUntil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StripUntil.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK,EAAE,iBAAwB;AAGjE,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,EAChC,GAAG,SAAS,IAAI,GAAG,KAAK,EACxB,WAAW,SAAS,MAAM,EAC1B,OAAO,SAAS,MAAM,IACpB,EAAE,SAAS,MAAM,GACnB,OAAO,GACP,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,GAC/B,GAAG,SAAS,IAAI,GACd,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,GACD,OAAO,GACT,GAAG,SAAS,IAAI,GACd,OAAO,GACP,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,CAAC;AAIR,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAKzD,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { TupleToUnion, Mutable, IsStringLiteral, IsDomainName } from "../../index";
|
|
2
|
+
import { TOP_LEVEL_DOMAINS } from "../../../constants/index";
|
|
3
|
+
/**
|
|
4
|
+
* **TLD**
|
|
5
|
+
*
|
|
6
|
+
* A union type of all of the common top-level domains along with many
|
|
7
|
+
* others which are starting to be used. This is _not_ meant to be
|
|
8
|
+
* comprehensive.
|
|
9
|
+
*/
|
|
10
|
+
export type TLD = Mutable<TupleToUnion<typeof TOP_LEVEL_DOMAINS>>;
|
|
3
11
|
/**
|
|
4
12
|
* **DnsName**
|
|
5
13
|
*
|
|
@@ -8,27 +16,18 @@ type DefaultPrefix = ["www"];
|
|
|
8
16
|
* **Related:** `DomainName`, `UrlsFrom`
|
|
9
17
|
*/
|
|
10
18
|
export type DnsName = `${string}.${string}`;
|
|
11
|
-
type _Names<TDomain extends readonly DnsName[], TPrefixes extends readonly string[], TResults extends readonly DomainName[] = []> = [] extends TDomain ? TResults : IfLength<TPrefixes, 0, _Names<AfterFirst<TDomain>, TPrefixes, [
|
|
12
|
-
...TResults,
|
|
13
|
-
First<TDomain>
|
|
14
|
-
]>, _Names<AfterFirst<TDomain>, TPrefixes, [
|
|
15
|
-
...TResults,
|
|
16
|
-
...([First<TDomain>, `${TupleToUnion<TPrefixes>}.${First<TDomain>}`])
|
|
17
|
-
]>>;
|
|
18
19
|
/**
|
|
19
20
|
* **DomainName**
|
|
20
21
|
*
|
|
21
22
|
* Designed to represents a DNS name.
|
|
22
23
|
*
|
|
23
|
-
* - Without the use of
|
|
24
|
-
*
|
|
25
|
-
* -
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* - each domain name _prefixed_ by one or more
|
|
24
|
+
* - Without the use of a generic this simply applies the same type
|
|
25
|
+
* as `DnsName`
|
|
26
|
+
* - When using the generic to _test_ the potential DNS name we can
|
|
27
|
+
* run more validations and return `never` if they do not pass.
|
|
28
|
+
* - When using the generic with a wide `T` you will get `unknown`
|
|
29
29
|
*
|
|
30
|
-
* **Related:** `
|
|
30
|
+
* **Related:** `DnsName`
|
|
31
31
|
*/
|
|
32
|
-
export type DomainName<
|
|
33
|
-
export {};
|
|
32
|
+
export type DomainName<T extends string | null = null> = T extends null ? DnsName : T extends string ? IsStringLiteral<T> extends true ? IsDomainName<T> extends true ? T & DnsName : never : unknown : never;
|
|
34
33
|
//# sourceMappingURL=DomainName.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainName.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/DomainName.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"DomainName.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/DomainName.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,eAAe,EACf,YAAY,EACb,oBAAwB;AACzB,OAAO,EAAE,iBAAiB,EAAE,iCAA6B;AAEzD;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CACvB,YAAY,CAAC,OAAO,iBAAiB,CAAC,CACvC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAC5B,CAAC,SAAS,IAAI,GAChB,OAAO,GACP,CAAC,SAAS,MAAM,GAChB,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,CAAC,GAAG,OAAO,GACX,KAAK,GACP,OAAO,GACT,KAAK,CAAC"}
|
|
@@ -1,11 +1,29 @@
|
|
|
1
|
-
import { HexadecimalChar, NumericChar, NumericCharZeroToFive, Suggest } from "../../index";
|
|
1
|
+
import { AsString, HexadecimalChar, IsStringLiteral, NumericChar, NumericCharZeroToFive, ReplaceAll, StripTrailing, Suggest, UnionToTuple } from "../../index";
|
|
2
2
|
import { IPv6 } from "../../../constants/index";
|
|
3
3
|
/**
|
|
4
4
|
* **IPv4Number**
|
|
5
5
|
*
|
|
6
6
|
* A high resolution typing for a single octet of an **IP version 4** IP address.
|
|
7
7
|
*/
|
|
8
|
-
export type
|
|
8
|
+
export type Ip4Octet = `25${NumericCharZeroToFive}` | `24${NumericChar}` | `23${NumericChar}` | `22${NumericChar}` | `21${NumericChar}` | `20${NumericChar}` | `1${NumericChar}${NumericChar}` | `${NumericChar}${NumericChar}` | `${NumericChar}`;
|
|
9
|
+
export type Ip4NetmaskSuggestion<TVlan extends readonly number[] = [1, 10]> = Suggest<[
|
|
10
|
+
`10.0.0.0/8`,
|
|
11
|
+
`192.168.0.0/16`,
|
|
12
|
+
`172.16.0.0/16`,
|
|
13
|
+
`10.10.${AsString<UnionToTuple<TVlan>>}.0/24`,
|
|
14
|
+
`192.168.${AsString<UnionToTuple<TVlan>>}.0/24`,
|
|
15
|
+
`172.16.${AsString<UnionToTuple<TVlan>>}.0/24`
|
|
16
|
+
]>;
|
|
17
|
+
export type Ip4Netmask8 = `${Ip4Octet}.0.0.0/8`;
|
|
18
|
+
export type Ip4Netmask16 = `${Ip4Octet}.${number}.0.0/16`;
|
|
19
|
+
export type Ip4Netmask24 = `${Ip4Octet}.${number}.${number}.0/24`;
|
|
20
|
+
export type Ip4Netmask32 = `${number}.${number}.${number}.${number}/32`;
|
|
21
|
+
/**
|
|
22
|
+
* **Ip4Netmask**
|
|
23
|
+
*
|
|
24
|
+
* A type which includes patterns for `/8`, `/16`, `/24`, and `/32` netmasks
|
|
25
|
+
*/
|
|
26
|
+
export type Ip4Netmask = Ip4Netmask8 | Ip4Netmask16 | Ip4Netmask24 | Ip4Netmask32;
|
|
9
27
|
/**
|
|
10
28
|
* the range of IPv6 addresses which are considered **multicast**.
|
|
11
29
|
*/
|
|
@@ -22,8 +40,14 @@ export type Ip6Group = `${HexadecimalChar}${string}`;
|
|
|
22
40
|
* A simple representation of an IPv4 address
|
|
23
41
|
*/
|
|
24
42
|
export type Ip4Address = `${number}.${number}.${number}.${number}`;
|
|
25
|
-
export type
|
|
26
|
-
export type
|
|
43
|
+
export type Ip6AddressFull = `${string}:${string}:${string}:${string}:${string}:${string}:${string}:${string}`;
|
|
44
|
+
export type Ip6AddressLoose = `${HexadecimalChar}${string}:${string}`;
|
|
45
|
+
/**
|
|
46
|
+
* **Ip6GroupExpansion**`<T>`
|
|
47
|
+
*
|
|
48
|
+
* Expands an IPv6's address by changing
|
|
49
|
+
*/
|
|
50
|
+
export type Ip6GroupExpansion<T> = T extends string ? IsStringLiteral<T> extends true ? StripTrailing<ReplaceAll<T, "::", ":0000:">, ":"> : string : never;
|
|
27
51
|
/**
|
|
28
52
|
* An IPv6 Address
|
|
29
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpAddress.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/IpAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"IpAddress.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/IpAddress.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AfterFirst, First } from "../..";
|
|
2
|
+
type Cascade<T extends readonly string[], TResult extends string = ""> = [] extends T ? TResult : Cascade<AfterFirst<T>, `${TResult}${First<T> | ""}`>;
|
|
3
|
+
/**
|
|
4
|
+
* **Optional**`<T>`
|
|
5
|
+
*
|
|
6
|
+
* String literal utility which makes the text `T` either present
|
|
7
|
+
* or just an _empty string_ (aka, "optional").
|
|
8
|
+
*
|
|
9
|
+
* - if you send in an array of strings they will build a
|
|
10
|
+
* string literal up left-to-right.
|
|
11
|
+
*/
|
|
12
|
+
export type Optional<T extends string | readonly string[]> = T extends readonly string[] ? Cascade<T> : T | "";
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=Optional.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Optional.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Optional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1C,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,MAAM,EAAE,EAC3B,OAAO,SAAS,MAAM,GAAG,EAAE,IACzB,EAAE,SAAS,CAAC,GACd,OAAO,GACP,OAAO,CACL,UAAU,CAAC,CAAC,CAAC,EACb,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7B,CAAC;AAGJ;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAClC,CAAC,SAAS,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repos.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Repos.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Repos.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Repos.ts"],"names":[],"mappings":"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"}
|