inferred-types 0.43.6 → 0.44.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/Network.d.ts +22 -0
- package/dist/constants/Network.d.ts.map +1 -0
- package/dist/constants/Network.js +21 -0
- package/dist/constants/RepoConstants.d.ts +31 -0
- package/dist/constants/RepoConstants.d.ts.map +1 -0
- package/dist/constants/RepoConstants.js +48 -0
- package/dist/constants/index.d.ts +2 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -1
- package/dist/constants/tsconfig.tsbuildinfo +1 -1
- package/dist/inferred-types/index.cjs +78 -14
- package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/dictionary/valuesOf.d.ts +1 -1
- package/dist/runtime/dictionary/valuesOf.d.ts.map +1 -1
- package/dist/runtime/tsconfig.tsbuildinfo +1 -1
- package/dist/runtime/type-guards/isUrl.d.ts +22 -4
- package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
- package/dist/runtime/type-guards/isUrl.js +29 -8
- package/dist/runtime/type-guards/repos.d.ts +45 -0
- package/dist/runtime/type-guards/repos.d.ts.map +1 -0
- package/dist/runtime/type-guards/repos.js +77 -0
- package/dist/types/{numeric-literals/ValueCallback.d.ts → api/api.d.ts} +1 -1
- package/dist/types/api/api.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +2 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/index.js +1 -0
- package/dist/types/boolean-logic/branching/OnPass.d.ts +29 -0
- package/dist/types/boolean-logic/branching/OnPass.d.ts.map +1 -0
- package/dist/types/boolean-logic/branching/OnPass.js +1 -0
- package/dist/types/boolean-logic/branching/index.d.ts +1 -0
- package/dist/types/boolean-logic/branching/index.d.ts.map +1 -1
- package/dist/types/boolean-logic/branching/index.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/literals/ExpandRecursively.d.ts +7 -1
- package/dist/types/literals/ExpandRecursively.d.ts.map +1 -1
- package/dist/types/literals/Shape.d.ts +1 -1
- package/dist/types/literals/Shape.d.ts.map +1 -1
- package/dist/types/numeric-literals/index.d.ts +0 -1
- package/dist/types/numeric-literals/index.d.ts.map +1 -1
- package/dist/types/numeric-literals/index.js +0 -1
- package/dist/types/string-literals/character-sets/DomainName.d.ts +12 -3
- package/dist/types/string-literals/character-sets/DomainName.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/InlineSvg.d.ts +2 -2
- package/dist/types/string-literals/character-sets/InlineSvg.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/Repos.d.ts +108 -0
- package/dist/types/string-literals/character-sets/Repos.d.ts.map +1 -0
- package/dist/types/string-literals/character-sets/Repos.js +1 -0
- package/dist/types/string-literals/character-sets/Url.d.ts +160 -6
- package/dist/types/string-literals/character-sets/Url.d.ts.map +1 -1
- 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/tsconfig.tsbuildinfo +1 -1
- package/dist/types/type-conversion/MergeObjects.d.ts.map +1 -1
- package/dist/types/type-conversion/RetainChars.d.ts +15 -0
- package/dist/types/type-conversion/RetainChars.d.ts.map +1 -0
- package/dist/types/type-conversion/RetainChars.js +1 -0
- package/dist/types/type-conversion/StripChars.d.ts +18 -0
- package/dist/types/type-conversion/StripChars.d.ts.map +1 -0
- package/dist/types/type-conversion/StripChars.js +1 -0
- package/dist/types/type-conversion/index.d.ts +2 -0
- package/dist/types/type-conversion/index.d.ts.map +1 -1
- package/dist/types/type-conversion/index.js +2 -0
- package/package.json +9 -9
- package/dist/constants/TCP_IP.d.ts +0 -11
- package/dist/constants/TCP_IP.d.ts.map +0 -1
- package/dist/constants/TCP_IP.js +0 -10
- package/dist/types/numeric-literals/ValueCallback.d.ts.map +0 -1
- /package/dist/types/{numeric-literals/ValueCallback.js → api/api.js} +0 -0
|
@@ -1,9 +1,27 @@
|
|
|
1
|
+
import { NetworkProtocol } from "../../types/string-literals";
|
|
2
|
+
import { TupleToUnion } from "../../types/type-conversion";
|
|
3
|
+
import { Keys } from "../../types/index";
|
|
1
4
|
/**
|
|
2
|
-
*
|
|
5
|
+
* **isUri**`(val, ...protocols)`
|
|
6
|
+
*
|
|
7
|
+
* Type guard to test with the passed in value is a valid URI.
|
|
8
|
+
*
|
|
9
|
+
* **Note:** by default all protocols in `NetworkProtocol` are
|
|
10
|
+
* considered valid but you can scope this down by setting which
|
|
11
|
+
* protocols you explicitly interested in.
|
|
12
|
+
*
|
|
13
|
+
* **Related:** `isUrl`
|
|
3
14
|
*/
|
|
4
|
-
export declare const
|
|
15
|
+
export declare const isUri: <T, P extends readonly NetworkProtocol[]>(val: T, ...protocols: P) => val is T & `${Keys<P>["length"] extends 0 ? NetworkProtocol : TupleToUnion<P>}://${string}`;
|
|
5
16
|
/**
|
|
6
|
-
*
|
|
17
|
+
* **isUrl**`(val,[...protocols])`
|
|
18
|
+
*
|
|
19
|
+
* Type guard to test with the passed in value is a http/https URL.
|
|
20
|
+
*
|
|
21
|
+
* **Note:** you _can_ specify precisely which network protocols you
|
|
22
|
+
* are wanting to test for but by default it is "http" and "https"
|
|
23
|
+
*
|
|
24
|
+
* **Related:** `isUri`
|
|
7
25
|
*/
|
|
8
|
-
export declare const
|
|
26
|
+
export declare const isUrl: <T, P extends readonly NetworkProtocol[]>(val: T, ...protocols: P) => val is T & `${Keys<P>["length"] extends 0 ? "http" | "https" : TupleToUnion<P>}://${string}`;
|
|
9
27
|
//# sourceMappingURL=isUrl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/isUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/isUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAO,oCAAkC;AAIjE,OAAO,EAAE,YAAY,EAAE,oCAAkC;AACzD,OAAO,EAAE,IAAI,EAAE,0BAAwB;AAEvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,iDAGX,CAAC,gBAAgB,CAAC,gGAUxB,CAAA;AAGD;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,iDAGX,CAAC,gBAAgB,CAAC,iGAUxB,CAAA"}
|
|
@@ -1,15 +1,36 @@
|
|
|
1
1
|
import { isString } from "./isString.js";
|
|
2
|
+
import { NETWORK_PROTOCOL_LOOKUP } from "../../constants/Network.js";
|
|
3
|
+
import { valuesOf } from "../dictionary/valuesOf.js";
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
5
|
+
* **isUri**`(val, ...protocols)`
|
|
6
|
+
*
|
|
7
|
+
* Type guard to test with the passed in value is a valid URI.
|
|
8
|
+
*
|
|
9
|
+
* **Note:** by default all protocols in `NetworkProtocol` are
|
|
10
|
+
* considered valid but you can scope this down by setting which
|
|
11
|
+
* protocols you explicitly interested in.
|
|
12
|
+
*
|
|
13
|
+
* **Related:** `isUrl`
|
|
4
14
|
*/
|
|
5
|
-
export const
|
|
6
|
-
|
|
15
|
+
export const isUri = (val, ...protocols) => {
|
|
16
|
+
const p = protocols.length === 0
|
|
17
|
+
? valuesOf(NETWORK_PROTOCOL_LOOKUP).flat().filter(i => i)
|
|
18
|
+
: protocols;
|
|
19
|
+
return isString(val) && p.some(i => val.startsWith(`${i}://`));
|
|
7
20
|
};
|
|
8
21
|
/**
|
|
9
|
-
*
|
|
22
|
+
* **isUrl**`(val,[...protocols])`
|
|
23
|
+
*
|
|
24
|
+
* Type guard to test with the passed in value is a http/https URL.
|
|
25
|
+
*
|
|
26
|
+
* **Note:** you _can_ specify precisely which network protocols you
|
|
27
|
+
* are wanting to test for but by default it is "http" and "https"
|
|
28
|
+
*
|
|
29
|
+
* **Related:** `isUri`
|
|
10
30
|
*/
|
|
11
|
-
export const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
31
|
+
export const isUrl = (val, ...protocols) => {
|
|
32
|
+
const p = protocols.length === 0
|
|
33
|
+
? ["http", "https"]
|
|
34
|
+
: protocols;
|
|
35
|
+
return isString(val) && p.some(i => val.startsWith(`${i}://`));
|
|
15
36
|
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **isRepoSource**`(val)`
|
|
3
|
+
*
|
|
4
|
+
* Type guard which validates whether the value passed in is a
|
|
5
|
+
* `RepoSource`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const isRepoSource: <T>(v: T) => v is T & ("github" | "bitbucket" | "gitlab" | "codecommit" | "local");
|
|
8
|
+
/**
|
|
9
|
+
* **isSemanticVersion**`(val,[allowPrefix]=false)`
|
|
10
|
+
*
|
|
11
|
+
* Type guard which validates whether the value passed in is a
|
|
12
|
+
* semantic version number.
|
|
13
|
+
*
|
|
14
|
+
* - the optional `allowPrefix` parameter allows for a lowercase "v"
|
|
15
|
+
* to be prefixed to the version so that values like `v1.0.12` and
|
|
16
|
+
* `v 1.0.12` are allowed.
|
|
17
|
+
* - by default the `allowPrefix` option is set to false
|
|
18
|
+
*/
|
|
19
|
+
export declare const isSemanticVersion: <T, P extends boolean>(v: T, allowPrefix?: P) => v is T & `${[P] extends [true] ? import("../../types/index").OptionalSpace | "v" | "v " : ""}${number}.${number}.${number}`;
|
|
20
|
+
/**
|
|
21
|
+
* **isRepoUrl**`(val)`
|
|
22
|
+
*
|
|
23
|
+
* Type guard which validates that the value passed in is a valid Repo URL
|
|
24
|
+
*/
|
|
25
|
+
export declare const isRepoUrl: <T>(val: T) => val is T & (`https://github.com/${string}` | "https://github.com" | `https://github.io/${string}` | "https://github.io" | `https://bitbucket.com/${string}` | "https://bitbucket.com" | `https://gitlab.com/${string}` | "https://gitlab.com" | `https://aws.amazon.com/codecommit/${string}`);
|
|
26
|
+
/**
|
|
27
|
+
* **isGithubUrl**`(val)`
|
|
28
|
+
*
|
|
29
|
+
* Type guard which validates that the value passed in is a valid Github URL
|
|
30
|
+
*/
|
|
31
|
+
export declare const isGithubUrl: <T>(val: T) => val is T & (`https://github.com/${string}` | "https://github.com" | `https://github.io/${string}` | "https://github.io");
|
|
32
|
+
export declare const isGithubRepoUrl: <T>(val: T) => val is T & (`https://github.com/${string}/0${string}` | `https://github.com/${string}/1${string}` | `https://github.com/${string}/2${string}` | `https://github.com/${string}/3${string}` | `https://github.com/${string}/4${string}` | `https://github.com/${string}/5${string}` | `https://github.com/${string}/6${string}` | `https://github.com/${string}/7${string}` | `https://github.com/${string}/8${string}` | `https://github.com/${string}/9${string}` | `https://github.com/${string}/x${string}` | `https://github.com/${string}/E${string}` | `https://github.com/${string}/A${string}` | `https://github.com/${string}/B${string}` | `https://github.com/${string}/C${string}` | `https://github.com/${string}/D${string}` | `https://github.com/${string}/F${string}` | `https://github.com/${string}/G${string}` | `https://github.com/${string}/H${string}` | `https://github.com/${string}/I${string}` | `https://github.com/${string}/J${string}` | `https://github.com/${string}/K${string}` | `https://github.com/${string}/L${string}` | `https://github.com/${string}/M${string}` | `https://github.com/${string}/N${string}` | `https://github.com/${string}/O${string}` | `https://github.com/${string}/P${string}` | `https://github.com/${string}/Q${string}` | `https://github.com/${string}/R${string}` | `https://github.com/${string}/S${string}` | `https://github.com/${string}/T${string}` | `https://github.com/${string}/U${string}` | `https://github.com/${string}/V${string}` | `https://github.com/${string}/W${string}` | `https://github.com/${string}/X${string}` | `https://github.com/${string}/Y${string}` | `https://github.com/${string}/Z${string}` | `https://github.com/${string}/a${string}` | `https://github.com/${string}/b${string}` | `https://github.com/${string}/c${string}` | `https://github.com/${string}/d${string}` | `https://github.com/${string}/e${string}` | `https://github.com/${string}/f${string}` | `https://github.com/${string}/g${string}` | `https://github.com/${string}/h${string}` | `https://github.com/${string}/i${string}` | `https://github.com/${string}/j${string}` | `https://github.com/${string}/k${string}` | `https://github.com/${string}/l${string}` | `https://github.com/${string}/m${string}` | `https://github.com/${string}/n${string}` | `https://github.com/${string}/o${string}` | `https://github.com/${string}/p${string}` | `https://github.com/${string}/q${string}` | `https://github.com/${string}/r${string}` | `https://github.com/${string}/s${string}` | `https://github.com/${string}/t${string}` | `https://github.com/${string}/u${string}` | `https://github.com/${string}/v${string}` | `https://github.com/${string}/w${string}` | `https://github.com/${string}/y${string}` | `https://github.com/${string}/z${string}`);
|
|
33
|
+
/**
|
|
34
|
+
* **isBitbucketUrl**`(val)`
|
|
35
|
+
*
|
|
36
|
+
* Type guard which validates that the value passed in is a valid BitBucket URL
|
|
37
|
+
*/
|
|
38
|
+
export declare const isBitbucketUrl: <T>(val: T) => val is T & (`https://bitbucket.com/${string}` | "https://bitbucket.com");
|
|
39
|
+
/**
|
|
40
|
+
* **isCodeCommitUrl**`(val)`
|
|
41
|
+
*
|
|
42
|
+
* Type guard which validates that the value passed in is a valid AWS Code Commit URL
|
|
43
|
+
*/
|
|
44
|
+
export declare const isCodeCommitUrl: <T>(val: T) => val is T & `https://aws.amazon.com/codecommit/${string}`;
|
|
45
|
+
//# sourceMappingURL=repos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/repos.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,CAAC,0EAEnC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,4BAC1B,CAAC,gBACU,CAAC,gIAcf,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,WAAY,CAAC,mSAMlC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,WAAY,CAAC,6HAMpC,CAAA;AAED,eAAO,MAAM,eAAe,WAAY,CAAC,urFAMxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,WAAY,CAAC,6EAMvC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,WAAY,CAAC,6DAMxC,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { isString } from "./isString.js";
|
|
2
|
+
import { REPO_SOURCES, REPO_SOURCE_LOOKUP } from "../../constants/index.js";
|
|
3
|
+
import { stripLeading } from "../literals/index.js";
|
|
4
|
+
import { valuesOf } from "../dictionary/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* **isRepoSource**`(val)`
|
|
7
|
+
*
|
|
8
|
+
* Type guard which validates whether the value passed in is a
|
|
9
|
+
* `RepoSource`.
|
|
10
|
+
*/
|
|
11
|
+
export const isRepoSource = (v) => {
|
|
12
|
+
return isString(v) && REPO_SOURCES.includes(v);
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* **isSemanticVersion**`(val,[allowPrefix]=false)`
|
|
16
|
+
*
|
|
17
|
+
* Type guard which validates whether the value passed in is a
|
|
18
|
+
* semantic version number.
|
|
19
|
+
*
|
|
20
|
+
* - the optional `allowPrefix` parameter allows for a lowercase "v"
|
|
21
|
+
* to be prefixed to the version so that values like `v1.0.12` and
|
|
22
|
+
* `v 1.0.12` are allowed.
|
|
23
|
+
* - by default the `allowPrefix` option is set to false
|
|
24
|
+
*/
|
|
25
|
+
export const isSemanticVersion = (v, allowPrefix = false) => {
|
|
26
|
+
return (isString(v) &&
|
|
27
|
+
v.split(".").length === 3 &&
|
|
28
|
+
!Number.isNaN(Number(v.split(".")[1])) &&
|
|
29
|
+
!Number.isNaN(Number(v.split(".")[2])) &&
|
|
30
|
+
(!Number.isNaN(Number(v.split(".")[0])) ||
|
|
31
|
+
(allowPrefix && !Number.isNaN(Number(stripLeading(v.split(".")[0], "v").trim())))));
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* **isRepoUrl**`(val)`
|
|
35
|
+
*
|
|
36
|
+
* Type guard which validates that the value passed in is a valid Repo URL
|
|
37
|
+
*/
|
|
38
|
+
export const isRepoUrl = (val) => {
|
|
39
|
+
const baseUrls = valuesOf(REPO_SOURCE_LOOKUP).flat();
|
|
40
|
+
return isString(val) && baseUrls.every(u => val === u ||
|
|
41
|
+
val.startsWith(`${u}/`));
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* **isGithubUrl**`(val)`
|
|
45
|
+
*
|
|
46
|
+
* Type guard which validates that the value passed in is a valid Github URL
|
|
47
|
+
*/
|
|
48
|
+
export const isGithubUrl = (val) => {
|
|
49
|
+
const baseUrls = REPO_SOURCE_LOOKUP["github"];
|
|
50
|
+
return isString(val) && baseUrls.every(u => val === u ||
|
|
51
|
+
val.startsWith(`${u}/`));
|
|
52
|
+
};
|
|
53
|
+
export const isGithubRepoUrl = (val) => {
|
|
54
|
+
const baseUrls = [""];
|
|
55
|
+
return isString(val) && baseUrls.every(u => val === u ||
|
|
56
|
+
val.startsWith(`${u}/`));
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* **isBitbucketUrl**`(val)`
|
|
60
|
+
*
|
|
61
|
+
* Type guard which validates that the value passed in is a valid BitBucket URL
|
|
62
|
+
*/
|
|
63
|
+
export const isBitbucketUrl = (val) => {
|
|
64
|
+
const baseUrls = REPO_SOURCE_LOOKUP["bitbucket"];
|
|
65
|
+
return isString(val) && baseUrls.every(u => val === u ||
|
|
66
|
+
val.startsWith(`${u}/`));
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* **isCodeCommitUrl**`(val)`
|
|
70
|
+
*
|
|
71
|
+
* Type guard which validates that the value passed in is a valid AWS Code Commit URL
|
|
72
|
+
*/
|
|
73
|
+
export const isCodeCommitUrl = (val) => {
|
|
74
|
+
const baseUrls = REPO_SOURCE_LOOKUP["codecommit"];
|
|
75
|
+
return isString(val) && baseUrls.every(u => val === u ||
|
|
76
|
+
val.startsWith(`${u}/`));
|
|
77
|
+
};
|
|
@@ -96,4 +96,4 @@ export type ApiReturn<T extends Dictionary | TypedFunction> = ApiEscape<T> exten
|
|
|
96
96
|
*/
|
|
97
97
|
export type HandleApiCallback<TReturn> = TReturn extends Dictionary | TypedFunction ? GetEscapeFunction<TReturn> extends TypedFunction ? ReturnType<GetEscapeFunction<TReturn>> : TReturn : TReturn;
|
|
98
98
|
export {};
|
|
99
|
-
//# sourceMappingURL=
|
|
99
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./api.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AfterFirst, As, ExpandDictionary, First, Keys, ObjectKey, IsErrorCondition, IsFalse, IsNever } from "../../index";
|
|
2
|
+
import { Constant } from "../../../constants/index";
|
|
3
|
+
export type OnPassRemap<TNever = unknown, TFalse = unknown, TError = unknown> = {
|
|
4
|
+
never: TNever;
|
|
5
|
+
false: TFalse;
|
|
6
|
+
error: TError;
|
|
7
|
+
};
|
|
8
|
+
type Merge<A extends Partial<OnPassRemap>, TKeys extends readonly (ObjectKey & keyof A)[], TConfig extends OnPassRemap = {
|
|
9
|
+
never: never;
|
|
10
|
+
false: false;
|
|
11
|
+
error: Constant<"not-set">;
|
|
12
|
+
}> = [] extends TKeys ? TConfig : Merge<A, AfterFirst<TKeys>, As<ExpandDictionary<Record<First<TKeys>, A[First<TKeys>]> & Omit<TConfig, First<TKeys>>>, OnPassRemap>>;
|
|
13
|
+
type Process<TTest, TPass, TRemap extends OnPassRemap<unknown, unknown, unknown>> = [IsNever<TTest>] extends [true] ? TRemap["never"] : [IsErrorCondition<TTest>] extends [true] ? TRemap["error"] extends Constant<"not-set"> ? TTest : TRemap["error"] : [IsFalse<TTest>] extends [true] ? TRemap["false"] : TPass;
|
|
14
|
+
/**
|
|
15
|
+
* **OnPass**`<TTest, TPass,[TRemap],[TFalse]>`
|
|
16
|
+
*
|
|
17
|
+
* Branching utility which evaluates `TTest` for being
|
|
18
|
+
* `never`, `false`, or an `ErrorCondition` and
|
|
19
|
+
* passes that through when it occurs.
|
|
20
|
+
*
|
|
21
|
+
* In all other cases, the type of `TPass` is proxied through
|
|
22
|
+
* as the type.
|
|
23
|
+
*
|
|
24
|
+
* - the `TRemap` allows you to remap error conditions
|
|
25
|
+
* as well if needed
|
|
26
|
+
*/
|
|
27
|
+
export type OnPass<TTest, TPass, TRemap extends Partial<OnPassRemap<unknown, unknown, unknown>> = OnPassRemap<never, false, Constant<"not-set">>> = Process<TTest, TPass, TRemap extends OnPassRemap<never, false, Constant<"not-set">> ? TRemap : Merge<TRemap, Keys<TRemap>>>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=OnPass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnPass.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/OnPass.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,EAAE,EACF,gBAAgB,EAChB,KAAK,EACL,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,OAAO,EACR,oBAAwB;AACzB,OAAO,EAAE,QAAQ,EAAE,iCAA4B;AAE/C,MAAM,MAAM,WAAW,CACrB,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,IACd;IACF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAA;AAED,KAAK,KAAK,CACR,CAAC,SAAS,OAAO,CAAC,WAAW,CAAC,EAC9B,KAAK,SAAS,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,EAC9C,OAAO,SAAS,WAAW,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;CAAE,IACtF,EAAE,SAAS,KAAK,GAChB,OAAO,GACP,KAAK,CACL,CAAC,EACD,UAAU,CAAC,KAAK,CAAC,EACjB,EAAE,CAAC,gBAAgB,CACjB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GACnC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC9B,EAAE,WAAW,CAAC,CAChB,CAAC;AAGJ,KAAK,OAAO,CACV,KAAK,EACL,KAAK,EACL,MAAM,SAAS,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IACnD,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAC/B,MAAM,CAAC,OAAO,CAAC,GACf,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACxC,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GACrE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAC/B,MAAM,CAAC,OAAO,CAAC,GACf,KAAK,CAAC;AAEV;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,MAAM,CAChB,KAAK,EACL,KAAK,EACL,MAAM,SAAS,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,IAG/G,OAAO,CACL,KAAK,EACL,KAAK,EACL,MAAM,SAAS,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC3D,MAAM,GACN,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAOA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { AfterFirst, AnyFunction, AsLiteralFn, AsNarrowingFn, Dictionary, First, FnProps, IsNarrowingFn, TypedFunction } from "../index";
|
|
1
|
+
import { AfterFirst, AnyFunction, AsLiteralFn, AsNarrowingFn, Decrement, Dictionary, First, FnProps, IsNarrowingFn, IsUnion, Tuple, TupleToUnion, TypedFunction, UnionToTuple } from "../index";
|
|
2
|
+
type _ExpandTuple<TLength extends number, TContent extends Tuple, TTuple extends Tuple = []> = TLength extends 0 ? Readonly<TTuple> : _ExpandTuple<Decrement<TLength>, AfterFirst<TContent>, [
|
|
3
|
+
...TTuple,
|
|
4
|
+
First<TContent>
|
|
5
|
+
]>;
|
|
2
6
|
type ExpandParameters<TFn extends TypedFunction, TParams extends readonly unknown[], TResults extends readonly unknown[] = []> = [] extends TParams ? IsNarrowingFn<TFn> extends true ? AsNarrowingFn<TResults, ReturnType<TFn>, ExpandDictionary<FnProps<TFn>>> : AsLiteralFn<TResults, ReturnType<TFn>, ExpandDictionary<FnProps<TFn>>> : ExpandParameters<TFn, AfterFirst<TParams>, [
|
|
3
7
|
...TResults,
|
|
4
8
|
First<TParams> extends Dictionary ? ExpandDictionary<First<TParams>> : First<TParams>
|
|
5
9
|
]>;
|
|
10
|
+
export type ExpandTuple<T> = T extends Tuple ? _ExpandTuple<T["length"], T> : T;
|
|
11
|
+
export type ExpandUnion<T> = IsUnion<T> extends true ? TupleToUnion<ExpandTuple<UnionToTuple<T>>> : T;
|
|
6
12
|
/**
|
|
7
13
|
* Recursively goes over an object based structure and tries to reduce
|
|
8
14
|
* it down to just a simple key/value type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandRecursively.d.ts","sourceRoot":"","sources":["../../../src/types/literals/ExpandRecursively.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"ExpandRecursively.d.ts","sourceRoot":"","sources":["../../../src/types/literals/ExpandRecursively.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAwB;AAEvM,KAAK,YAAY,CACf,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,KAAK,EACtB,MAAM,SAAS,KAAK,GAAG,EAAE,IACvB,OAAO,SAAS,CAAC,GACjB,QAAQ,CAAC,MAAM,CAAC,GAChB,YAAY,CACV,SAAS,CAAC,OAAO,CAAC,EAClB,UAAU,CAAC,QAAQ,CAAC,EACpB;IAAC,GAAG,MAAM;IAAE,KAAK,CAAC,QAAQ,CAAC;CAAC,CAC/B,CAAC;AAEJ,KAAK,gBAAgB,CACnB,GAAG,SAAS,aAAa,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,QAAQ,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACtC,EAAE,SAAS,OAAO,GACpB,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,GAC7B,aAAa,CAAC,QAAQ,EAAC,UAAU,CAAC,GAAG,CAAC,EAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GACtE,WAAW,CAAC,QAAQ,EAAC,UAAU,CAAC,GAAG,CAAC,EAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GACtE,gBAAgB,CACd,GAAG,EACH,UAAU,CAAC,OAAO,CAAC,EACnB;IACE,GAAG,QAAQ;IACX,KAAK,CAAC,OAAO,CAAC,SAAS,UAAU,GAC7B,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAChC,KAAK,CAAC,OAAO,CAAC;CACnB,CACF,CAAC;AAEJ,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAC1C,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,GAC3B,CAAC,CAAC;AAEJ,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAClD,YAAY,CACV,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC7B,GACD,CAAC,CACF;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,GACnD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,GACtC,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACxB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,CAAC,CAAC,CAAC,CAAC,GACN,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1B,GACD,CAAC,CAAC;AAEN;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,GAClD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,GACtC,CAAC,CAAC,CAAC,CAAC,GACJ,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1B,GACD,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ type Narrow = Exclude<Narrowable, symbol>;
|
|
|
9
9
|
* are produced as the runtime representation of a type by utilities
|
|
10
10
|
* like the `ShapeApi` and the `shape()` runtime function.
|
|
11
11
|
*/
|
|
12
|
-
export type Shape = `<<${
|
|
12
|
+
export type Shape<T extends TypeTokenKind = TypeTokenKind> = `<<${T}${string}>>`;
|
|
13
13
|
/**
|
|
14
14
|
* **ShapeAddOrDone**`<TTuple, TMakeUnion>`
|
|
15
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../src/types/literals/Shape.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,EAAE,EACF,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,EACP,KAAK,EACL,YAAY,EACZ,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,GAAG,EACH,QAAQ,EACR,EAAE,EACF,SAAS,EACT,aAAa,EACd,iBAAwB;AACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,KAAK,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAG1C;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../src/types/literals/Shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/numeric-literals/index.ts"],"names":[],"mappings":"AAAC,cAAc,OAAO,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/numeric-literals/index.ts"],"names":[],"mappings":"AAAC,cAAc,OAAO,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { IfLength, AfterFirst, AsArray, First, TupleToUnion, IsEqual } from "../../index";
|
|
2
2
|
type DefaultPrefix = ["www"];
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* **DnsName**
|
|
5
|
+
*
|
|
6
|
+
* A simple representation of a DNS name.
|
|
7
|
+
*
|
|
8
|
+
* **Related:** `DomainName`, `UrlsFrom`
|
|
9
|
+
*/
|
|
10
|
+
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, [
|
|
5
12
|
...TResults,
|
|
6
13
|
First<TDomain>
|
|
7
14
|
]>, _Names<AfterFirst<TDomain>, TPrefixes, [
|
|
@@ -19,7 +26,9 @@ type _Names<TDomain extends readonly DNS[], TPrefixes extends readonly string[],
|
|
|
19
26
|
* cases it will:
|
|
20
27
|
* - each domain name by itself is allowed
|
|
21
28
|
* - each domain name _prefixed_ by one or more
|
|
29
|
+
*
|
|
30
|
+
* **Related:** `UrlsFrom`
|
|
22
31
|
*/
|
|
23
|
-
export type DomainName<TDomain extends
|
|
32
|
+
export type DomainName<TDomain extends DnsName | readonly DnsName[] = DnsName, TPrefixes extends readonly string[] = DefaultPrefix> = IsEqual<TDomain, DnsName> extends true ? DnsName : TupleToUnion<_Names<AsArray<TDomain>, TPrefixes>>;
|
|
24
33
|
export {};
|
|
25
34
|
//# 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,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,OAAO,EACR,oBAAwB;AAEzB,KAAK,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7B,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"DomainName.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/DomainName.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,OAAO,EACR,oBAAwB;AAEzB,KAAK,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAE5C,KAAK,MAAM,CACT,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,SAAS,SAAS,SAAS,MAAM,EAAE,EACnC,QAAQ,SAAS,SAAS,UAAU,EAAE,GAAG,EAAE,IACzC,EAAE,SAAS,OAAO,GAClB,QAAQ,GACR,QAAQ,CACR,SAAS,EAAE,CAAC,EACZ,MAAM,CACJ,UAAU,CAAC,OAAO,CAAC,EACnB,SAAS,EACT;IAAC,GAAG,QAAQ;IAAE,KAAK,CAAC,OAAO,CAAC;CAAC,CAC9B,EACD,MAAM,CACJ,UAAU,CAAC,OAAO,CAAC,EACnB,SAAS,EACT;IACE,GAAG,QAAQ;IACX,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CACtE,CACF,CACF,CAAC;AAEJ;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CACpB,OAAO,SAAS,OAAO,GAAG,SAAS,OAAO,EAAE,GAAG,OAAO,EACtD,SAAS,SAAS,SAAS,MAAM,EAAE,GAAG,aAAa,IACjD,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,GACtC,OAAO,GACP,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* **InlineSvg
|
|
2
|
+
* **InlineSvg**`<[T]>`
|
|
3
3
|
*
|
|
4
4
|
* meant to represent a string value that appears to be
|
|
5
5
|
* an inline SVG representation.
|
|
6
6
|
*/
|
|
7
|
-
export type InlineSvg = `<svg${
|
|
7
|
+
export type InlineSvg<T extends string = string> = `<svg${T}</svg>`;
|
|
8
8
|
//# sourceMappingURL=InlineSvg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineSvg.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/InlineSvg.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"InlineSvg.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/InlineSvg.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Mutable, TupleToUnion, OptionalSpace, Values, Flatten, UrlsFrom, AlphaNumericChar, GetUrlPath, IsTrue, Keys, AddUrlPathSegment, IsUnion, UnionToTuple, As } from "../../index";
|
|
2
|
+
import { Constant, GITHUB_INSIGHT_CATEGORY_LOOKUP, REPO_PAGE_TYPES, REPO_SOURCES, REPO_SOURCE_LOOKUP } from "../../../constants/index";
|
|
3
|
+
/**
|
|
4
|
+
* **RepoSources**
|
|
5
|
+
*
|
|
6
|
+
* common sources for source code repositories.
|
|
7
|
+
*/
|
|
8
|
+
export type RepoSource = TupleToUnion<Mutable<typeof REPO_SOURCES>>;
|
|
9
|
+
/**
|
|
10
|
+
* **RepoPageType**
|
|
11
|
+
*
|
|
12
|
+
* a union of descriptive page names you'd expect to find in a source
|
|
13
|
+
* code repository.
|
|
14
|
+
*/
|
|
15
|
+
export type RepoPageType = TupleToUnion<Mutable<typeof REPO_PAGE_TYPES>>;
|
|
16
|
+
export type RepoUrls = UrlsFrom<Flatten<Mutable<Values<typeof REPO_SOURCE_LOOKUP>>>>;
|
|
17
|
+
/**
|
|
18
|
+
* **SemanticVersion**`<[TAllowPrefix]>`
|
|
19
|
+
*
|
|
20
|
+
* Provides a type for _sematic versions_.
|
|
21
|
+
*
|
|
22
|
+
* - by default it not only allows the `${major}.${minor}.${patch}` nomenclature
|
|
23
|
+
* but also _optionally_ allows a prefix of `v`:
|
|
24
|
+
* - `0.10.1` - valid
|
|
25
|
+
* - `v0.10.1` - also valid
|
|
26
|
+
* - `v 0.10.1` - also valid
|
|
27
|
+
* - this prefixing can be disabled by setting `TPrefix` to false
|
|
28
|
+
*/
|
|
29
|
+
export type SemanticVersion<TPrefix extends boolean = true> = `${[TPrefix] extends [true] ? `${"v" | ""}${OptionalSpace}` : ""}${number}.${number}.${number}`;
|
|
30
|
+
/**
|
|
31
|
+
* **GitRef**
|
|
32
|
+
*
|
|
33
|
+
* A type that provides the basic shape of a non-HTTP reference
|
|
34
|
+
* to a Git repository.
|
|
35
|
+
*/
|
|
36
|
+
export type GitRef = `git@${string}.${string}:${string}.git`;
|
|
37
|
+
/**
|
|
38
|
+
* **GithubRepoUrl**`<[T]>`
|
|
39
|
+
*
|
|
40
|
+
* A type which represents the pattern of a URL pointing a repository
|
|
41
|
+
* on Github.
|
|
42
|
+
*
|
|
43
|
+
* When used _without the provided generic_ it provides a decent shape but will introduce
|
|
44
|
+
* false positives due to URL subpaths that exist.
|
|
45
|
+
*
|
|
46
|
+
* If you pass the value through the generic `T` then it will proxy the value through
|
|
47
|
+
* if it's a valid Repo URL (including a subpath validation) or `never` if it is not.
|
|
48
|
+
*/
|
|
49
|
+
export type GithubRepoUrl<T = Constant<"not-set">> = T extends Constant<"not-set"> ? `https://github.com/${string}/${AlphaNumericChar | "-" | "_"}${string}` : T extends `https://github.com/${string}/${AlphaNumericChar | "-" | "_"}${string}` ? GetUrlPath<T> extends `/${string}/${string}/${string}` ? never : T : never;
|
|
50
|
+
/**
|
|
51
|
+
* **GithubIssuesUrl**`<[TOnlySummary]>`
|
|
52
|
+
*
|
|
53
|
+
* Provides a shape for either the _issues summary_ page of a repo on Github
|
|
54
|
+
* or that plus any specific _issue_ URLs.
|
|
55
|
+
*
|
|
56
|
+
* - by default it will show any issues page but set `TOnlySummary` to false
|
|
57
|
+
* if you're only wanting to match the summary page.
|
|
58
|
+
*/
|
|
59
|
+
export type GithubIssuesUrl<TOnlySummary extends boolean = false> = [
|
|
60
|
+
IsTrue<TOnlySummary>
|
|
61
|
+
] extends [true] ? `https://github.com/${string}/${string}/issues` : `https://github.com/${string}/${string}/issues` | `https://github.com/${string}/${string}/issues/${string}`;
|
|
62
|
+
/**
|
|
63
|
+
* **GithubProjectsUrl**`<[TOnlySummary]>`
|
|
64
|
+
*
|
|
65
|
+
* Provides a shape for either the _projects summary_ page of a repo on Github
|
|
66
|
+
* or that plus any specific _issue_ URLs.
|
|
67
|
+
*
|
|
68
|
+
* - by default it will show any Projects page but set `TOnlySummary` to false
|
|
69
|
+
* if you're only wanting to match the summary page.
|
|
70
|
+
*/
|
|
71
|
+
export type GithubProjectsUrl<TOnlySummary extends boolean = false> = IsTrue<TOnlySummary> extends true ? `https://github.com/${string}/${string}/projects` : `https://github.com/${string}/${string}/projects` | `https://github.com/${string}/${string}/projects/${string}`;
|
|
72
|
+
/**
|
|
73
|
+
* **GithubActionsUrl**`<[TOnlySummary]>`
|
|
74
|
+
*
|
|
75
|
+
* Provides a shape for either the _actions summary_ page of a repo on Github
|
|
76
|
+
* or that plus any specific Job URLs.
|
|
77
|
+
*
|
|
78
|
+
* - by default it will show any actions related page but set `TOnlySummary` to false
|
|
79
|
+
* if you're only wanting to match the summary page.
|
|
80
|
+
*/
|
|
81
|
+
export type GithubActionsUrl<TOnlySummary extends boolean = false> = IsTrue<TOnlySummary> extends true ? `https://github.com/${string}/${string}/actions` : `https://github.com/${string}/${string}/actions` | `https://github.com/${string}/${string}/actions/${string}`;
|
|
82
|
+
type GithubLookup = typeof GITHUB_INSIGHT_CATEGORY_LOOKUP;
|
|
83
|
+
type GhLookup = {
|
|
84
|
+
[K in keyof GithubLookup]: GithubLookup[K] extends string ? AddUrlPathSegment<`https://github.com/${string}`, GithubLookup[K]> : never;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* GithubInsightPageType
|
|
88
|
+
*
|
|
89
|
+
* The sub-pages found under the **Insights** tab of a repo.
|
|
90
|
+
*
|
|
91
|
+
* **Related:** `GithubInsightsUrl`
|
|
92
|
+
*/
|
|
93
|
+
export type GithubInsightPageType = TupleToUnion<Keys<GithubLookup>>;
|
|
94
|
+
type _GithubInsightUrl<T extends readonly GithubInsightPageType[]> = {
|
|
95
|
+
[K in keyof T]: T[K] extends string ? T[K] extends keyof GhLookup ? GhLookup[T[K]] : never : never;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* **GithubInsightUrl**`<[T]>`
|
|
99
|
+
*
|
|
100
|
+
* Provides a URL shape that fits all of the _insights_ pages
|
|
101
|
+
* for a repo on Github.
|
|
102
|
+
*
|
|
103
|
+
* - if you want to pair down the types of insight pages you're
|
|
104
|
+
* matching for you can specify `T` as some union type of `GithubInsightPageType`
|
|
105
|
+
*/
|
|
106
|
+
export type GithubInsightUrl<T extends GithubInsightPageType = GithubInsightPageType> = IsUnion<T> extends true ? TupleToUnion<_GithubInsightUrl<As<UnionToTuple<T>, readonly GithubInsightPageType[]>>> : T extends keyof GhLookup ? GhLookup[T] : never;
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=Repos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Repos.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Repos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|