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.
- 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/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 +646 -312
- 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/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 +20 -4
- package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
- package/dist/runtime/type-guards/isUrl.js +29 -9
- 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 +45 -0
- package/dist/runtime/type-guards/repos.d.ts.map +1 -0
- package/dist/runtime/type-guards/repos.js +77 -0
- 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/{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/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/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/IsCssHexadecimal.js +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/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/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 +26 -18
- 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/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 +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 +208 -6
- 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 +4 -0
- package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
- package/dist/types/string-literals/character-sets/index.js +4 -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/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/boolean-logic/operators/IsHexadecimal.d.ts +0 -9
- package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts.map +0 -1
- package/dist/types/numeric-literals/ValueCallback.d.ts.map +0 -1
- /package/dist/types/{boolean-logic/operators/IsHexadecimal.js → api/api.js} +0 -0
- /package/dist/types/{numeric-literals/ValueCallback.js → boolean-logic/branching/OnPass.js} +0 -0
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -6,6 +6,6 @@ type Process<TConditions extends readonly boolean[], TBooleanSeen extends boolea
|
|
|
6
6
|
* Allows an array of conditions which are either ARE a boolean value or a
|
|
7
7
|
* function which evaluates to a boolean value to be logically AND'd together.
|
|
8
8
|
*/
|
|
9
|
-
export type And<TConditions extends readonly (boolean | LogicFunction)[]
|
|
9
|
+
export type And<TConditions, TEmpty extends boolean = false> = TConditions extends readonly (boolean | LogicFunction)[] ? IsEqual<TConditions, []> extends true ? TEmpty : LogicalReturns<TConditions> extends readonly boolean[] ? Process<LogicalReturns<TConditions>, NarrowlyContains<LogicalReturns<TConditions>, boolean>> : never : never;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=And.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"And.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/And.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,oBAAwB;AAEzB,KAAK,OAAO,CACV,WAAW,SAAS,SAAS,OAAO,EAAE,EACtC,YAAY,SAAS,OAAO,IAC1B,EAAE,SAAS,WAAW,GACxB,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC1C,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClC,KAAK,GACL,OAAO,CACL,UAAU,CAAC,WAAW,CAAC,EACvB,YAAY,CACb,CAAC;AAGN;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,WAAW,
|
|
1
|
+
{"version":3,"file":"And.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/And.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,oBAAwB;AAEzB,KAAK,OAAO,CACV,WAAW,SAAS,SAAS,OAAO,EAAE,EACtC,YAAY,SAAS,OAAO,IAC1B,EAAE,SAAS,WAAW,GACxB,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC1C,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClC,KAAK,GACL,OAAO,CACL,UAAU,CAAC,WAAW,CAAC,EACvB,YAAY,CACb,CAAC;AAGN;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,WAAW,EACX,MAAM,SAAS,OAAO,GAAG,KAAK,IAC5B,WAAW,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAE1D,OAAO,CAAC,WAAW,EAAC,EAAE,CAAC,SAAS,IAAI,GACpC,MAAM,GACN,cAAc,CAAC,WAAW,CAAC,SAAS,SAAS,OAAO,EAAE,GACpD,OAAO,CACL,cAAc,CAAC,WAAW,CAAC,EAC3B,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAC,OAAO,CAAC,CACtD,GACD,KAAK,GACP,KAAK,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { LogicFunction, IsFalse, IsTrue,
|
|
2
|
-
type Negate<TVal> = IsNever<TVal> extends true ? never : [TVal] extends [boolean] ? IsTrue<TVal> extends true ? false : IsFalse<TVal> extends true ? true : boolean : [TVal] extends [LogicFunction] ? ReturnType<LogicFunction
|
|
1
|
+
import { LogicFunction, IsFalse, IsTrue, AfterFirst, First, IsEqual, IsNever, As } from "../../index";
|
|
2
|
+
type Negate<TVal> = IsNever<TVal> extends true ? never : [TVal] extends [boolean] ? IsTrue<TVal> extends true ? false : IsFalse<TVal> extends true ? true : boolean : [TVal] extends [LogicFunction] ? Negate<ReturnType<LogicFunction>> : never;
|
|
3
3
|
type NegateTuple<TTuple extends readonly (boolean | LogicFunction)[], TResults extends readonly (boolean | LogicFunction)[] = []> = [] extends TTuple ? IsEqual<TResults, [], false, TResults> : NegateTuple<AfterFirst<TTuple>, [
|
|
4
4
|
...TResults,
|
|
5
|
-
Negate<First<TTuple>>
|
|
5
|
+
First<TTuple> extends LogicFunction ? Negate<ReturnType<First<TTuple>>> : Negate<First<TTuple>>
|
|
6
6
|
]>;
|
|
7
|
-
type Process<TVal, TError = never> = IsErrorCondition<TVal> extends true ? TError : [IsNever<TVal>] extends [true] ? never : [TVal] extends [boolean] ? Negate<TVal> : TVal extends readonly (boolean | LogicFunction)[] ? NegateTuple<TVal> : never;
|
|
8
7
|
/**
|
|
9
8
|
* **Not**`<T,[TError]>`
|
|
10
9
|
*
|
|
11
10
|
* A boolean negation that can work on both a single value or an
|
|
12
|
-
*
|
|
11
|
+
* tuple of values.
|
|
13
12
|
*
|
|
14
13
|
* ```ts
|
|
15
14
|
* // false
|
|
@@ -18,6 +17,6 @@ type Process<TVal, TError = never> = IsErrorCondition<TVal> extends true ? TErro
|
|
|
18
17
|
* type Multi = Not<[true,false,boolean]>;
|
|
19
18
|
* ```
|
|
20
19
|
*/
|
|
21
|
-
export type Not<TVal,
|
|
20
|
+
export type Not<TVal, TNotBoolean extends boolean = false> = [TVal] extends [boolean] ? Exclude<As<Negate<TVal>, boolean>, any[]> : [TVal] extends [LogicFunction] ? As<Negate<ReturnType<TVal>>, boolean> : [TVal] extends [readonly (LogicFunction | boolean)[]] ? As<NegateTuple<TVal>, readonly boolean[]> : TNotBoolean;
|
|
22
21
|
export {};
|
|
23
22
|
//# sourceMappingURL=Not.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Not.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Not.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"Not.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Not.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACH,oBAAwB;AAIzB,KAAK,MAAM,CACT,IAAI,IACF,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAC5B,KAAK,GACL,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GACtB,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAI,IAAI,GAAG,OAAO,GAC9C,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAC5B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GACjC,KAAK,CAAC;AAEZ,KAAK,WAAW,CACd,MAAM,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EACnD,QAAQ,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IACxD,EAAE,SAAS,MAAM,GACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GACtC,WAAW,CACT,UAAU,CAAC,MAAM,CAAC,EAClB;IACE,GAAG,QAAQ;IACT,KAAK,CAAC,MAAM,CAAC,SAAS,aAAa,GAClC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB,CACF,CAAC;AAIJ;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,GAAG,CACb,IAAI,EACJ,WAAW,SAAS,OAAO,GAAG,KAAK,IACjC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GACzC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAC9B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GACrC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,GACrD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GACzC,WAAW,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DoesExtend } from "./DoesExtend";
|
|
2
|
+
import { IsNever } from "./IsNever";
|
|
2
3
|
/**
|
|
3
4
|
* **Extends**`<T,U>`
|
|
4
5
|
*
|
|
5
6
|
* A boolean operator which checks whether `T` extends `U` and returns
|
|
6
7
|
* **true** or **false**. This is an _alias_ for `DoesExtend`.
|
|
7
8
|
*/
|
|
8
|
-
export type Extends<T, U> = DoesExtend<T, U>;
|
|
9
|
+
export type Extends<T, U> = IsNever<T> extends true ? IsNever<U> extends true ? true : false : DoesExtend<T, U>;
|
|
9
10
|
//# sourceMappingURL=Extends.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Extends.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Extends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Extends.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Extends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAChD,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACrB,IAAI,GACJ,KAAK,GACP,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { WidenUnion, IsUnion } from "../../index";
|
|
1
2
|
/**
|
|
2
3
|
* **IsBoolean**
|
|
3
4
|
*
|
|
4
5
|
* Boolean type utility which detects literal or wide boolean type.
|
|
5
6
|
*/
|
|
6
|
-
export type IsBoolean<T> = [T] extends [boolean] ? true : false;
|
|
7
|
+
export type IsBoolean<T> = [IsUnion<T>] extends [true] ? [WidenUnion<T>] extends [boolean] ? true : [string] extends [WidenUnion<T>] ? boolean : false : [T] extends [boolean] ? true : false;
|
|
7
8
|
//# sourceMappingURL=IsBoolean.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsBoolean.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsBoolean.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"IsBoolean.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,UAAU,EAAE,OAAO,EAAE,oBAAwB;AACvD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACpD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAC/B,IAAI,GACJ,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC9B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IsHexadecimal, IsStringLiteral } from "../../index";
|
|
2
|
+
/**
|
|
3
|
+
* **IsHexadecimal**`<T>`
|
|
4
|
+
*
|
|
5
|
+
* Ensures that `T` is a valid hexadecimal and converts to **never**
|
|
6
|
+
* otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export type IsCssHexadecimal<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `#${infer Rest}` ? IsHexadecimal<Rest> : false : boolean : false;
|
|
9
|
+
//# sourceMappingURL=IsCssHexadecimal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsCssHexadecimal.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsCssHexadecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAuB;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAChD,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,CAAC,SAAS,IAAI,MAAM,IAAI,EAAE,GACxB,aAAa,CAAC,IAAI,CAAC,GACnB,KAAK,GACP,OAAO,GACT,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* **
|
|
2
|
+
* **IsEqual**`<X,Y>`
|
|
3
3
|
*
|
|
4
4
|
* Type utility which tests whether two types -- `X` and `Y` -- are exactly the same type
|
|
5
5
|
*/
|
|
6
6
|
export type IsEqual<X, Y, TRUE = true, FALSE = false> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? TRUE : FALSE;
|
|
7
|
+
/**
|
|
8
|
+
* **Equals**`<X,Y>`
|
|
9
|
+
*
|
|
10
|
+
* Type utility which tests whether two types -- `X` and `Y` -- are exactly the same type
|
|
11
|
+
*/
|
|
12
|
+
export type Equals<X, Y, TTrue = true, TFalse = false> = IsEqual<X, Y, TTrue, TFalse>;
|
|
7
13
|
//# sourceMappingURL=IsEqual.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsEqual.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsEqual.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IsEqual.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsEqual.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CACjB,CAAC,EACD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,KAAK,IACX,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACnE,IAAI,GACJ,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,KAAK,GAAG,IAAI,EAAC,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AsNumber } from "../../index";
|
|
2
|
+
type Calc<A extends number, B extends number, Count extends 1[] = []> = Count["length"] extends B ? false : Count["length"] extends A ? true : Calc<A, B, [...Count, 1]>;
|
|
3
|
+
/**
|
|
4
|
+
* **IsLessThan**`<A,B>`
|
|
5
|
+
*
|
|
6
|
+
* Boolean type operator which determines whether `A`
|
|
7
|
+
* is _less than_ `B`.
|
|
8
|
+
*
|
|
9
|
+
* **Note:** does not take negative numbers into account
|
|
10
|
+
*/
|
|
11
|
+
export type IsLessThan<A extends number | `${number}`, B extends number | `${number}`> = Calc<AsNumber<A>, AsNumber<B>>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=IsLessThan.d.ts.map
|
|
@@ -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";
|
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
|
*
|