inferred-types 0.43.6 → 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.
Files changed (177) hide show
  1. package/dist/constants/NetworkConstants.d.ts +29 -0
  2. package/dist/constants/NetworkConstants.d.ts.map +1 -0
  3. package/dist/constants/NetworkConstants.js +83 -0
  4. package/dist/constants/RepoConstants.d.ts +31 -0
  5. package/dist/constants/RepoConstants.d.ts.map +1 -0
  6. package/dist/constants/RepoConstants.js +48 -0
  7. package/dist/constants/index.d.ts +2 -1
  8. package/dist/constants/index.d.ts.map +1 -1
  9. package/dist/constants/index.js +2 -1
  10. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  11. package/dist/inferred-types/index.cjs +646 -312
  12. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  13. package/dist/runtime/dictionary/valuesOf.d.ts +1 -1
  14. package/dist/runtime/dictionary/valuesOf.d.ts.map +1 -1
  15. package/dist/runtime/dictionary/withKeys.d.ts +1 -1
  16. package/dist/runtime/index.d.ts +1 -0
  17. package/dist/runtime/index.d.ts.map +1 -1
  18. package/dist/runtime/index.js +1 -0
  19. package/dist/runtime/literals/index.d.ts +1 -0
  20. package/dist/runtime/literals/index.d.ts.map +1 -1
  21. package/dist/runtime/literals/index.js +1 -0
  22. package/dist/runtime/literals/takeNumericCharacters.d.ts +9 -0
  23. package/dist/runtime/literals/takeNumericCharacters.d.ts.map +1 -0
  24. package/dist/runtime/literals/takeNumericCharacters.js +12 -0
  25. package/dist/runtime/meta/index.d.ts +3 -0
  26. package/dist/runtime/meta/index.d.ts.map +1 -0
  27. package/dist/runtime/meta/index.js +2 -0
  28. package/dist/runtime/meta/urlMeta.d.ts +52 -0
  29. package/dist/runtime/meta/urlMeta.d.ts.map +1 -0
  30. package/dist/runtime/meta/urlMeta.js +57 -0
  31. package/dist/runtime/meta/youtube-meta.d.ts +31 -0
  32. package/dist/runtime/meta/youtube-meta.d.ts.map +1 -0
  33. package/dist/runtime/meta/youtube-meta.js +19 -0
  34. package/dist/runtime/runtime-types/parse.d.ts +1 -1
  35. package/dist/runtime/runtime-types/shape-helpers/getTokenData.d.ts +1 -1
  36. package/dist/runtime/runtime-types/shape-helpers/getTokenName.d.ts +1 -1
  37. package/dist/runtime/runtime-types/shape-helpers/singletons.d.ts.map +1 -1
  38. package/dist/runtime/runtime-types/shape-helpers/singletons.js +1 -1
  39. package/dist/runtime/runtime-types/shape.d.ts +1 -1
  40. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  41. package/dist/runtime/type-conversion/asChars.d.ts +8 -0
  42. package/dist/runtime/type-conversion/asChars.d.ts.map +1 -0
  43. package/dist/runtime/type-conversion/asChars.js +8 -0
  44. package/dist/runtime/type-conversion/index.d.ts +2 -0
  45. package/dist/runtime/type-conversion/index.d.ts.map +1 -1
  46. package/dist/runtime/type-conversion/index.js +2 -0
  47. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts +14 -0
  48. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts.map +1 -0
  49. package/dist/runtime/type-conversion/ip6GroupExpansion.js +15 -0
  50. package/dist/runtime/type-guards/index.d.ts +4 -0
  51. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  52. package/dist/runtime/type-guards/index.js +4 -0
  53. package/dist/runtime/type-guards/isHexadecimal.d.ts +8 -0
  54. package/dist/runtime/type-guards/isHexadecimal.d.ts.map +1 -0
  55. package/dist/runtime/type-guards/isHexadecimal.js +13 -0
  56. package/dist/runtime/type-guards/isUrl.d.ts +20 -4
  57. package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
  58. package/dist/runtime/type-guards/isUrl.js +29 -9
  59. package/dist/runtime/type-guards/network-tg.d.ts +48 -0
  60. package/dist/runtime/type-guards/network-tg.d.ts.map +1 -0
  61. package/dist/runtime/type-guards/network-tg.js +85 -0
  62. package/dist/runtime/type-guards/repos.d.ts +45 -0
  63. package/dist/runtime/type-guards/repos.d.ts.map +1 -0
  64. package/dist/runtime/type-guards/repos.js +77 -0
  65. package/dist/runtime/type-guards/youtube.d.ts +42 -0
  66. package/dist/runtime/type-guards/youtube.d.ts.map +1 -0
  67. package/dist/runtime/type-guards/youtube.js +74 -0
  68. package/dist/types/{numeric-literals/ValueCallback.d.ts → api/api.d.ts} +1 -1
  69. package/dist/types/api/api.d.ts.map +1 -0
  70. package/dist/types/api/index.d.ts +2 -0
  71. package/dist/types/api/index.d.ts.map +1 -0
  72. package/dist/types/api/index.js +1 -0
  73. package/dist/types/boolean-logic/branching/OnPass.d.ts +29 -0
  74. package/dist/types/boolean-logic/branching/OnPass.d.ts.map +1 -0
  75. package/dist/types/boolean-logic/branching/index.d.ts +1 -0
  76. package/dist/types/boolean-logic/branching/index.d.ts.map +1 -1
  77. package/dist/types/boolean-logic/branching/index.js +1 -0
  78. package/dist/types/boolean-logic/combinators/And.d.ts +1 -1
  79. package/dist/types/boolean-logic/combinators/And.d.ts.map +1 -1
  80. package/dist/types/boolean-logic/combinators/Not.d.ts +5 -6
  81. package/dist/types/boolean-logic/combinators/Not.d.ts.map +1 -1
  82. package/dist/types/boolean-logic/operators/Extends.d.ts +2 -1
  83. package/dist/types/boolean-logic/operators/Extends.d.ts.map +1 -1
  84. package/dist/types/boolean-logic/operators/IsBoolean.d.ts +2 -1
  85. package/dist/types/boolean-logic/operators/IsBoolean.d.ts.map +1 -1
  86. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts +9 -0
  87. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts.map +1 -0
  88. package/dist/types/boolean-logic/operators/IsCssHexadecimal.js +1 -0
  89. package/dist/types/boolean-logic/operators/IsEqual.d.ts +7 -1
  90. package/dist/types/boolean-logic/operators/IsEqual.d.ts.map +1 -1
  91. package/dist/types/boolean-logic/operators/IsLessThan.d.ts +13 -0
  92. package/dist/types/boolean-logic/operators/IsLessThan.d.ts.map +1 -0
  93. package/dist/types/boolean-logic/operators/IsLessThan.js +1 -0
  94. package/dist/types/boolean-logic/operators/IsNever.d.ts +2 -1
  95. package/dist/types/boolean-logic/operators/IsNever.d.ts.map +1 -1
  96. package/dist/types/boolean-logic/operators/IsNumber.d.ts +2 -2
  97. package/dist/types/boolean-logic/operators/IsNumber.d.ts.map +1 -1
  98. package/dist/types/boolean-logic/operators/IsString.d.ts +2 -2
  99. package/dist/types/boolean-logic/operators/IsString.d.ts.map +1 -1
  100. package/dist/types/boolean-logic/operators/IsUrl.d.ts +35 -0
  101. package/dist/types/boolean-logic/operators/IsUrl.d.ts.map +1 -0
  102. package/dist/types/boolean-logic/operators/IsUrl.js +1 -0
  103. package/dist/types/boolean-logic/operators/Network-operators.d.ts +71 -0
  104. package/dist/types/boolean-logic/operators/Network-operators.d.ts.map +1 -0
  105. package/dist/types/boolean-logic/operators/Network-operators.js +1 -0
  106. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts +32 -0
  107. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts.map +1 -0
  108. package/dist/types/boolean-logic/operators/YouTube-operators.js +1 -0
  109. package/dist/types/boolean-logic/operators/index.d.ts +4 -1
  110. package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
  111. package/dist/types/boolean-logic/operators/index.js +4 -1
  112. package/dist/types/index.d.ts +1 -0
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js +1 -0
  115. package/dist/types/literals/ExpandRecursively.d.ts +7 -1
  116. package/dist/types/literals/ExpandRecursively.d.ts.map +1 -1
  117. package/dist/types/literals/Shape.d.ts +1 -1
  118. package/dist/types/literals/Shape.d.ts.map +1 -1
  119. package/dist/types/numeric-literals/index.d.ts +0 -1
  120. package/dist/types/numeric-literals/index.d.ts.map +1 -1
  121. package/dist/types/numeric-literals/index.js +0 -1
  122. package/dist/types/string-literals/RetainUntil.d.ts +33 -0
  123. package/dist/types/string-literals/RetainUntil.d.ts.map +1 -0
  124. package/dist/types/string-literals/RetainUntil.js +1 -0
  125. package/dist/types/string-literals/Split.d.ts +3 -3
  126. package/dist/types/string-literals/Split.d.ts.map +1 -1
  127. package/dist/types/string-literals/StripAfter.d.ts +2 -2
  128. package/dist/types/string-literals/StripAfter.d.ts.map +1 -1
  129. package/dist/types/string-literals/StripBefore.d.ts +2 -2
  130. package/dist/types/string-literals/StripBefore.d.ts.map +1 -1
  131. package/dist/types/string-literals/StripUntil.d.ts +6 -0
  132. package/dist/types/string-literals/StripUntil.d.ts.map +1 -0
  133. package/dist/types/string-literals/StripUntil.js +1 -0
  134. package/dist/types/string-literals/character-sets/DomainName.d.ts +26 -18
  135. package/dist/types/string-literals/character-sets/DomainName.d.ts.map +1 -1
  136. package/dist/types/string-literals/character-sets/InlineSvg.d.ts +2 -2
  137. package/dist/types/string-literals/character-sets/InlineSvg.d.ts.map +1 -1
  138. package/dist/types/string-literals/character-sets/IpAddress.d.ts +28 -4
  139. package/dist/types/string-literals/character-sets/IpAddress.d.ts.map +1 -1
  140. package/dist/types/string-literals/character-sets/Optional.d.ts +14 -0
  141. package/dist/types/string-literals/character-sets/Optional.d.ts.map +1 -0
  142. package/dist/types/string-literals/character-sets/Optional.js +1 -0
  143. package/dist/types/string-literals/character-sets/Repos.d.ts +108 -0
  144. package/dist/types/string-literals/character-sets/Repos.d.ts.map +1 -0
  145. package/dist/types/string-literals/character-sets/Repos.js +1 -0
  146. package/dist/types/string-literals/character-sets/Url.d.ts +208 -6
  147. package/dist/types/string-literals/character-sets/Url.d.ts.map +1 -1
  148. package/dist/types/string-literals/character-sets/Url.js +1 -0
  149. package/dist/types/string-literals/character-sets/YouTube.d.ts +127 -0
  150. package/dist/types/string-literals/character-sets/YouTube.d.ts.map +1 -0
  151. package/dist/types/string-literals/character-sets/YouTube.js +1 -0
  152. package/dist/types/string-literals/character-sets/index.d.ts +4 -0
  153. package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
  154. package/dist/types/string-literals/character-sets/index.js +4 -0
  155. package/dist/types/string-literals/index.d.ts +2 -0
  156. package/dist/types/string-literals/index.d.ts.map +1 -1
  157. package/dist/types/string-literals/index.js +2 -0
  158. package/dist/types/tsconfig.tsbuildinfo +1 -1
  159. package/dist/types/type-conversion/MergeObjects.d.ts.map +1 -1
  160. package/dist/types/type-conversion/RetainChars.d.ts +15 -0
  161. package/dist/types/type-conversion/RetainChars.d.ts.map +1 -0
  162. package/dist/types/type-conversion/RetainChars.js +1 -0
  163. package/dist/types/type-conversion/StripChars.d.ts +18 -0
  164. package/dist/types/type-conversion/StripChars.d.ts.map +1 -0
  165. package/dist/types/type-conversion/StripChars.js +1 -0
  166. package/dist/types/type-conversion/index.d.ts +2 -0
  167. package/dist/types/type-conversion/index.d.ts.map +1 -1
  168. package/dist/types/type-conversion/index.js +2 -0
  169. package/package.json +9 -9
  170. package/dist/constants/TCP_IP.d.ts +0 -11
  171. package/dist/constants/TCP_IP.d.ts.map +0 -1
  172. package/dist/constants/TCP_IP.js +0 -10
  173. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts +0 -9
  174. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts.map +0 -1
  175. package/dist/types/numeric-literals/ValueCallback.d.ts.map +0 -1
  176. /package/dist/types/{boolean-logic/operators/IsHexadecimal.js → api/api.js} +0 -0
  177. /package/dist/types/{numeric-literals/ValueCallback.js → boolean-logic/branching/OnPass.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../src/types/literals/Shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../src/types/literals/Shape.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,4 @@ export * from "./ToInteger";
17
17
  export * from "./ToNumericArray";
18
18
  export * from "./NextDigit";
19
19
  export * from "./NumberLike";
20
- export * from "./ValueCallback";
21
20
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAC7B,cAAc,iBAAiB,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"}
@@ -18,4 +18,3 @@ export * from "./ToInteger.js";
18
18
  export * from "./ToNumericArray.js";
19
19
  export * from "./NextDigit.js";
20
20
  export * from "./NumberLike.js";
21
- export * from "./ValueCallback.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, If, IsUnion, IsStringLiteral, IsWideType, Last, TupleToUnion, UnionToTuple } from "../index";
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"> = If<IsUnion<TSep>, UnionToTuple<TSep> extends readonly string[] ? Process<TContent, UnionToTuple<TSep>, TUnionPolicy> : never, Process<TContent, TSep, TUnionPolicy>>;
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"> = If<IsStringLiteral<TContent>, PreProcess<TContent, TSep, TPolicy>, string>;
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":"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"}
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, If } from "../index";
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> = If<IsStringLiteral<TStr>, If<IsStringLiteral<TBreak>, TStr extends `${infer Before}${TBreak}${string}` ? Before : TStr, string>, 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,EAAE,EAAE,iBAAwB;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,EAAE,CACJ,eAAe,CAAC,IAAI,CAAC,EACrB,EAAE,CACA,eAAe,CAAC,MAAM,CAAC,EACvB,IAAI,SAAS,GAAG,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAC5C,MAAM,GACN,IAAI,EACR,MAAM,CACP,EACD,MAAM,CACP,CAAC"}
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 { If, IsStringLiteral } from "../index";
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> = If<IsStringLiteral<TStr>, If<IsStringLiteral<TBreak>, TStr extends `${string}${TBreak}${infer REST}` ? `${REST}` : TStr, string>, 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,EAAG,EAAE,EAAC,eAAe,EAAE,iBAAwB;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,EAAE,CACJ,eAAe,CAAC,IAAI,CAAC,EACrB,EAAE,CACA,eAAe,CAAC,MAAM,CAAC,EACvB,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,EAAE,GAC1C,GAAG,IAAI,EAAE,GACT,IAAI,EACR,MAAM,CACP,EACD,MAAM,CACP,CAAA"}
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,25 +1,33 @@
1
- import { IfLength, AfterFirst, AsArray, First, TupleToUnion, IsEqual } from "../../index";
2
- type DefaultPrefix = ["www"];
3
- export type DNS = `${string}.${string}`;
4
- type _Names<TDomain extends readonly DNS[], TPrefixes extends readonly string[], TResults extends readonly DomainName[] = []> = [] extends TDomain ? TResults : IfLength<TPrefixes, 0, _Names<AfterFirst<TDomain>, TPrefixes, [
5
- ...TResults,
6
- First<TDomain>
7
- ]>, _Names<AfterFirst<TDomain>, TPrefixes, [
8
- ...TResults,
9
- ...([First<TDomain>, `${TupleToUnion<TPrefixes>}.${First<TDomain>}`])
10
- ]>>;
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>>;
11
+ /**
12
+ * **DnsName**
13
+ *
14
+ * A simple representation of a DNS name.
15
+ *
16
+ * **Related:** `DomainName`, `UrlsFrom`
17
+ */
18
+ export type DnsName = `${string}.${string}`;
11
19
  /**
12
20
  * **DomainName**
13
21
  *
14
22
  * Designed to represents a DNS name.
15
23
  *
16
- * - Without the use of _any_ generics it will simply enforce
17
- * that the domain name have a `.` with strings surrounding it
18
- * - You _can_ specify one or more top level domains and in these
19
- * cases it will:
20
- * - each domain name by itself is allowed
21
- * - 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
+ *
30
+ * **Related:** `DnsName`
22
31
  */
23
- export type DomainName<TDomain extends DNS | readonly DNS[] = DNS, TPrefixes extends readonly string[] = DefaultPrefix> = IsEqual<TDomain, DNS> extends true ? DNS : TupleToUnion<_Names<AsArray<TDomain>, TPrefixes>>;
24
- 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;
25
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,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EACZ,OAAO,EACR,oBAAwB;AAEzB,KAAK,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAExC,KAAK,MAAM,CACT,OAAO,SAAS,SAAS,GAAG,EAAE,EAC9B,SAAS,SAAS,SAAS,MAAM,EAAE,EACnC,QAAQ,SAAS,SAAS,UAAU,EAAE,GAAG,EAAE,IACzC,EAAE,SAAS,OAAO,GACpB,QAAQ,GACR,QAAQ,CACN,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;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CACpB,OAAO,SAAS,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,GAAG,EAC1C,SAAS,SAAS,SAAS,MAAM,EAAE,GAAG,aAAa,IACjD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,IAAI,GAClC,GAAG,GACH,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,SAAS,CAAC,CAAC,CAAA"}
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,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${string}</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,MAAM,QAAQ,CAAA"}
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"}
@@ -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 Ipv4Octet = `25${NumericCharZeroToFive}` | `24${NumericChar}` | `23${NumericChar}` | `22${NumericChar}` | `21${NumericChar}` | `20${NumericChar}` | `1${NumericChar}${NumericChar}` | `${NumericChar}${NumericChar}` | `${NumericChar}`;
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 Netmask = `/${number}`;
26
- export type Ipv4WithNetmask = `${Ip4Address}${Netmask}`;
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":"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"}
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,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 {};