@duplojs/lang 0.0.1-beta.4 → 0.0.1-beta.6

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 (116) hide show
  1. package/dist/array/index.cjs +0 -3
  2. package/dist/array/index.d.ts +0 -1
  3. package/dist/array/index.mjs +1 -3
  4. package/dist/common/constraint/cast/number.d.ts +15 -0
  5. package/dist/common/constraint/cast/string.d.ts +13 -0
  6. package/dist/common/constraint/index.d.ts +1 -0
  7. package/dist/common/constraint/infer/array.d.ts +7 -0
  8. package/dist/{array/infer.cjs → common/constraint/infer/index.cjs} +1 -1
  9. package/dist/common/constraint/infer/index.d.ts +26 -0
  10. package/dist/{string/infer.mjs → common/constraint/infer/index.mjs} +1 -1
  11. package/dist/common/constraint/infer/number.d.ts +11 -0
  12. package/dist/common/constraint/infer/string.d.ts +11 -0
  13. package/dist/common/index.cjs +3 -0
  14. package/dist/common/index.mjs +3 -1
  15. package/dist/dataStructure/constraint/defaults/absolutePath.cjs +13 -0
  16. package/dist/dataStructure/constraint/defaults/absolutePath.d.ts +10 -0
  17. package/dist/dataStructure/constraint/defaults/absolutePath.mjs +12 -0
  18. package/dist/dataStructure/constraint/defaults/index.d.ts +3 -0
  19. package/dist/dataStructure/constraint/defaults/path.cjs +13 -0
  20. package/dist/dataStructure/constraint/defaults/path.d.ts +10 -0
  21. package/dist/dataStructure/constraint/defaults/path.mjs +12 -0
  22. package/dist/dataStructure/constraint/defaults/segmentPath.cjs +13 -0
  23. package/dist/dataStructure/constraint/defaults/segmentPath.d.ts +10 -0
  24. package/dist/dataStructure/constraint/defaults/segmentPath.mjs +12 -0
  25. package/dist/dataStructure/constraint/types/constraints.d.ts +3 -0
  26. package/dist/dataStructure/helpers/absolutePath.cjs +7 -0
  27. package/dist/dataStructure/helpers/absolutePath.d.ts +2 -0
  28. package/dist/dataStructure/helpers/absolutePath.mjs +7 -0
  29. package/dist/dataStructure/helpers/index.d.ts +3 -0
  30. package/dist/dataStructure/helpers/path.cjs +7 -0
  31. package/dist/dataStructure/helpers/path.d.ts +2 -0
  32. package/dist/dataStructure/helpers/path.mjs +7 -0
  33. package/dist/dataStructure/helpers/segmentPath.cjs +7 -0
  34. package/dist/dataStructure/helpers/segmentPath.d.ts +2 -0
  35. package/dist/dataStructure/helpers/segmentPath.mjs +7 -0
  36. package/dist/dataStructure/index.cjs +24 -0
  37. package/dist/dataStructure/index.mjs +16 -1
  38. package/dist/index.cjs +41 -39
  39. package/dist/index.mjs +3 -2
  40. package/dist/modeling/entity/namespace.cjs +1 -1
  41. package/dist/modeling/entity/namespace.mjs +2 -2
  42. package/dist/modeling/index.cjs +2 -2
  43. package/dist/modeling/index.mjs +3 -3
  44. package/dist/modeling/newType/helper.cjs +2 -2
  45. package/dist/modeling/newType/helper.d.ts +1 -1
  46. package/dist/modeling/newType/helper.mjs +2 -2
  47. package/dist/modeling/taggedObject/helper.cjs +7 -2
  48. package/dist/modeling/taggedObject/helper.d.ts +1 -0
  49. package/dist/modeling/taggedObject/helper.mjs +7 -2
  50. package/dist/number/index.cjs +0 -3
  51. package/dist/number/index.d.ts +0 -1
  52. package/dist/number/index.mjs +1 -3
  53. package/dist/path/computeRelative.cjs +5 -6
  54. package/dist/path/computeRelative.d.ts +1 -1
  55. package/dist/path/computeRelative.mjs +5 -6
  56. package/dist/path/constraints/absolute.d.ts +1 -1
  57. package/dist/path/constraints/index.d.ts +2 -1
  58. package/dist/path/constraints/segment.d.ts +3 -0
  59. package/dist/path/getBaseName.cjs +7 -7
  60. package/dist/path/getBaseName.d.ts +2 -2
  61. package/dist/path/getBaseName.mjs +7 -7
  62. package/dist/path/getExtensionName.cjs +9 -4
  63. package/dist/path/getExtensionName.d.ts +2 -2
  64. package/dist/path/getExtensionName.mjs +9 -4
  65. package/dist/path/getParentFolderPath.cjs +5 -4
  66. package/dist/path/getParentFolderPath.d.ts +1 -2
  67. package/dist/path/getParentFolderPath.mjs +5 -4
  68. package/dist/path/index.cjs +6 -3
  69. package/dist/path/index.d.ts +3 -2
  70. package/dist/path/index.mjs +5 -3
  71. package/dist/path/is.cjs +9 -4
  72. package/dist/path/is.d.ts +4 -2
  73. package/dist/path/is.mjs +9 -4
  74. package/dist/path/isAbsolute.cjs +3 -5
  75. package/dist/path/isAbsolute.d.ts +4 -2
  76. package/dist/path/isAbsolute.mjs +3 -5
  77. package/dist/path/isSegment.cjs +6 -0
  78. package/dist/path/isSegment.d.ts +4 -0
  79. package/dist/path/isSegment.mjs +6 -0
  80. package/dist/path/normalize.cjs +18 -0
  81. package/dist/path/normalize.d.ts +2 -0
  82. package/dist/path/normalize.mjs +18 -0
  83. package/dist/path/resolveFrom.cjs +4 -5
  84. package/dist/path/resolveFrom.d.ts +10 -2
  85. package/dist/path/resolveFrom.mjs +4 -5
  86. package/dist/path/resolveRelative.cjs +17 -20
  87. package/dist/path/resolveRelative.d.ts +9 -2
  88. package/dist/path/resolveRelative.mjs +17 -20
  89. package/dist/path/types/index.d.ts +6 -0
  90. package/dist/path/types/isLiteralAbsolutePath.d.ts +2 -0
  91. package/dist/path/types/isLiteralPath.d.ts +20 -0
  92. package/dist/path/types/isLiteralSegmentPath.d.ts +9 -0
  93. package/dist/path/types/requireLiteralAbsolutePath.d.ts +3 -0
  94. package/dist/path/types/requireLiteralPath.d.ts +3 -0
  95. package/dist/path/types/requireLiteralSegmentPath.d.ts +3 -0
  96. package/dist/string/index.cjs +0 -3
  97. package/dist/string/index.d.ts +0 -1
  98. package/dist/string/index.mjs +1 -3
  99. package/dist/string/types/split.d.ts +1 -1
  100. package/dist/tuple/from.cjs +6 -0
  101. package/dist/tuple/from.d.ts +8 -0
  102. package/dist/tuple/from.mjs +6 -0
  103. package/dist/tuple/index.cjs +6 -1
  104. package/dist/tuple/index.d.ts +1 -0
  105. package/dist/tuple/index.mjs +6 -2
  106. package/package.json +1 -1
  107. package/dist/array/infer.d.ts +0 -14
  108. package/dist/array/infer.mjs +0 -6
  109. package/dist/number/infer.cjs +0 -6
  110. package/dist/number/infer.d.ts +0 -12
  111. package/dist/number/infer.mjs +0 -6
  112. package/dist/path/fix.cjs +0 -8
  113. package/dist/path/fix.d.ts +0 -1
  114. package/dist/path/fix.mjs +0 -8
  115. package/dist/string/infer.cjs +0 -6
  116. package/dist/string/infer.d.ts +0 -12
@@ -1,3 +1,10 @@
1
- import { Path } from './constraints';
1
+ import { Absolute, Path, Segment } from './constraints';
2
2
  import { RequireSegments } from './types';
3
- export declare function resolveRelative<const GenericSegments extends readonly (string & Path)[]>(segments: GenericSegments & RequireSegments<GenericSegments>): string & Path;
3
+ import type * as DCommon from '../common';
4
+ type HasAbsolutePath<GenericSegments extends readonly (string & (Path | Absolute | Segment))[]> = DCommon.ContainExtends<{
5
+ [Prop in keyof GenericSegments]: [DCommon.IsExtends<GenericSegments[Prop], Absolute>];
6
+ }[Extract<keyof GenericSegments, number>], [
7
+ true
8
+ ]>;
9
+ export declare function resolveRelative<const GenericSegments extends readonly (string & (Path | Absolute | Segment))[]>(segments: GenericSegments & RequireSegments<GenericSegments>): string & Path & (DCommon.BreakGenericLink<HasAbsolutePath<GenericSegments> extends true ? Absolute : unknown>);
10
+ export {};
@@ -1,26 +1,23 @@
1
1
  //#region scripts/path/resolveRelative.ts
2
- const segmentTrailingRegex = /\/$/;
3
- const segmentRelativeRegex = /^(.\/)/;
4
- function resolveRelative(segments) {
5
- let clearedPath = "";
6
- for (const segment of segments) {
7
- if (segment.length === 0) continue;
8
- else if (segment === "/") {
9
- clearedPath = segment;
10
- continue;
2
+ function resolveRelative(paths) {
3
+ let absolute = false;
4
+ const result = [];
5
+ for (const path of paths) {
6
+ if (path === ".") continue;
7
+ if (path.startsWith("/")) {
8
+ absolute = true;
9
+ result.length = 0;
10
+ }
11
+ for (const segment of path.split("/")) {
12
+ if (segment === "") continue;
13
+ if (segment === "..") {
14
+ if (result.length && result.at(-1) !== "..") result.pop();
15
+ else if (!absolute) result.push("..");
16
+ } else result.push(segment);
11
17
  }
12
- const formattedSegment = segment.replace(segmentTrailingRegex, "").replace(segmentRelativeRegex, "");
13
- if (formattedSegment.startsWith("/") || clearedPath === "") clearedPath = formattedSegment;
14
- else if (clearedPath === "/") clearedPath += formattedSegment;
15
- else clearedPath += `/${formattedSegment}`;
16
18
  }
17
- const dotResult = [];
18
- const result = [];
19
- for (const element of clearedPath.split("/")) if (element === "..") {
20
- if (!result.pop()) dotResult.push(element);
21
- } else result.push(element);
22
- if (dotResult.length === 0) return result.join("/");
23
- return `${dotResult.join("/")}/${result.join("/")}`;
19
+ if (absolute) return `/${result.join("/")}`;
20
+ return result.join("/") || ".";
24
21
  }
25
22
  //#endregion
26
23
  export { resolveRelative };
@@ -1 +1,7 @@
1
+ export type * from './isLiteralAbsolutePath';
2
+ export type * from './isLiteralPath';
3
+ export type * from './isLiteralSegmentPath';
4
+ export type * from './requireLiteralAbsolutePath';
5
+ export type * from './requireLiteralPath';
6
+ export type * from './requireLiteralSegmentPath';
1
7
  export type * from './requireSegments';
@@ -0,0 +1,2 @@
1
+ import { IsLiteralPath } from './isLiteralPath';
2
+ export type IsLiteralAbsolutePath<GenericValue extends string> = IsLiteralPath<GenericValue> extends true ? GenericValue extends `/${string}` ? true : false : false;
@@ -0,0 +1,20 @@
1
+ import type * as DCommon from '../../common';
2
+ import type * as DString from '../../string';
3
+ type CheckSegment<GenericSegment extends readonly string[], GenericDotIsPass extends boolean, GenericIsFirst extends boolean = true> = GenericSegment extends readonly [] ? true : GenericSegment extends readonly [
4
+ infer InferredFirst extends string,
5
+ ...infer InferredRest extends readonly string[]
6
+ ] ? DCommon.Or<[
7
+ DCommon.IsEqual<".", InferredFirst>,
8
+ DString.Includes<InferredFirst, "/">,
9
+ DString.Includes<InferredFirst, "\0">,
10
+ DCommon.And<[
11
+ DCommon.IsEqual<GenericIsFirst, false>,
12
+ DCommon.IsEqual<"", InferredFirst>
13
+ ]>,
14
+ DCommon.And<[
15
+ DCommon.IsEqual<GenericDotIsPass, true>,
16
+ DCommon.IsEqual<"..", InferredFirst>
17
+ ]>
18
+ ]> extends true ? false : CheckSegment<InferredRest, DCommon.Not<DCommon.IsEqual<InferredFirst, "..">>, false> : false;
19
+ export type IsLiteralPath<GenericValue extends string> = DString.IsLiteral<GenericValue> extends true ? GenericValue extends "" ? false : GenericValue extends "/" ? true : GenericValue extends "." ? true : DString.Split<GenericValue, "/"> extends infer InferredResult extends readonly string[] ? CheckSegment<InferredResult, false> : never : false;
20
+ export {};
@@ -0,0 +1,9 @@
1
+ import type * as DCommon from '../../common';
2
+ import type * as DString from '../../string';
3
+ export type IsLiteralSegmentPath<GenericValue extends string> = DString.IsLiteral<GenericValue> extends true ? DCommon.Not<DCommon.Or<[
4
+ DCommon.IsEqual<GenericValue, ".">,
5
+ DCommon.IsEqual<GenericValue, "..">,
6
+ DCommon.IsEqual<GenericValue, "">,
7
+ DString.Includes<GenericValue, "/">,
8
+ DString.Includes<GenericValue, "\0">
9
+ ]>> : false;
@@ -0,0 +1,3 @@
1
+ import { IsLiteralAbsolutePath } from './isLiteralAbsolutePath';
2
+ import type * as DCommon from '../../common';
3
+ export type RequireLiteralAbsolutePath<GenericValue extends string> = IsLiteralAbsolutePath<GenericValue> extends true ? unknown : DCommon.ComputedTypeError<"Value is not a absolute path.">;
@@ -0,0 +1,3 @@
1
+ import { IsLiteralPath } from './isLiteralPath';
2
+ import type * as DCommon from '../../common';
3
+ export type RequireLiteralPath<GenericValue extends string> = IsLiteralPath<GenericValue> extends true ? unknown : DCommon.ComputedTypeError<"Value is not a path.">;
@@ -0,0 +1,3 @@
1
+ import { IsLiteralSegmentPath } from './isLiteralSegmentPath';
2
+ import type * as DCommon from '../../common';
3
+ export type RequireLiteralSegmentPath<GenericValue extends string> = IsLiteralSegmentPath<GenericValue> extends true ? unknown : DCommon.ComputedTypeError<"Value is not a segment path.">;
@@ -9,7 +9,6 @@ const require_extractAll = require("./extractAll.cjs");
9
9
  const require_first = require("./first.cjs");
10
10
  const require_includes = require("./includes.cjs");
11
11
  const require_indexOf = require("./indexOf.cjs");
12
- const require_infer = require("./infer.cjs");
13
12
  const require_isComposedOf = require("./isComposedOf.cjs");
14
13
  const require_isEmail = require("./isEmail.cjs");
15
14
  const require_isIn = require("./isIn.cjs");
@@ -63,7 +62,6 @@ var string_exports = /* @__PURE__ */ require_runtime.__exportAll({
63
62
  first: () => require_first.first,
64
63
  includes: () => require_includes.includes,
65
64
  indexOf: () => require_indexOf.indexOf,
66
- infer: () => require_infer.infer,
67
65
  isComposedOf: () => require_isComposedOf.isComposedOf,
68
66
  isEmail: () => require_isEmail.isEmail,
69
67
  isIn: () => require_isIn.isIn,
@@ -118,7 +116,6 @@ exports.extractAll = require_extractAll.extractAll;
118
116
  exports.first = require_first.first;
119
117
  exports.includes = require_includes.includes;
120
118
  exports.indexOf = require_indexOf.indexOf;
121
- exports.infer = require_infer.infer;
122
119
  exports.isComposedOf = require_isComposedOf.isComposedOf;
123
120
  exports.isEmail = require_isEmail.isEmail;
124
121
  exports.isIn = require_isIn.isIn;
@@ -9,7 +9,6 @@ export * from './extractAll';
9
9
  export * from './first';
10
10
  export * from './includes';
11
11
  export * from './indexOf';
12
- export * from './infer';
13
12
  export * from './isComposedOf';
14
13
  export * from './isEmail';
15
14
  export * from './isIn';
@@ -9,7 +9,6 @@ import { extractAll } from "./extractAll.mjs";
9
9
  import { first } from "./first.mjs";
10
10
  import { includes } from "./includes.mjs";
11
11
  import { indexOf } from "./indexOf.mjs";
12
- import { infer } from "./infer.mjs";
13
12
  import { isComposedOf } from "./isComposedOf.mjs";
14
13
  import { emailRegex, isEmail } from "./isEmail.mjs";
15
14
  import { isIn } from "./isIn.mjs";
@@ -63,7 +62,6 @@ var string_exports = /* @__PURE__ */ __exportAll({
63
62
  first: () => first,
64
63
  includes: () => includes,
65
64
  indexOf: () => indexOf,
66
- infer: () => infer,
67
65
  isComposedOf: () => isComposedOf,
68
66
  isEmail: () => isEmail,
69
67
  isIn: () => isIn,
@@ -107,4 +105,4 @@ var string_exports = /* @__PURE__ */ __exportAll({
107
105
  uuidRegex: () => uuidRegex
108
106
  });
109
107
  //#endregion
110
- export { at, capitalize, charAt, concat, emailRegex, endsWith, extract, extractAll, first, includes, indexOf, infer, isComposedOf, isEmail, isIn, isKeyof, isNotEmpty, isTrimmed, isUrl, isUuid, join, last, lastIndexOf, length, lengthEqual, maxCharacters, minCharacters, normalize, padEnd, padStart, pop, prepend, repeat, replace, replaceAll, search, shift, slice, sort, sortCompare, split, startsWith, string_exports, stringify, substring, test, to, toLowerCase, toUpperCase, trim, trimEnd, trimStart, uncapitalize, uuidRegex };
108
+ export { at, capitalize, charAt, concat, emailRegex, endsWith, extract, extractAll, first, includes, indexOf, isComposedOf, isEmail, isIn, isKeyof, isNotEmpty, isTrimmed, isUrl, isUuid, join, last, lastIndexOf, length, lengthEqual, maxCharacters, minCharacters, normalize, padEnd, padStart, pop, prepend, repeat, replace, replaceAll, search, shift, slice, sort, sortCompare, split, startsWith, string_exports, stringify, substring, test, to, toLowerCase, toUpperCase, trim, trimEnd, trimStart, uncapitalize, uuidRegex };
@@ -2,7 +2,7 @@ import { Includes } from './includes';
2
2
  import { IsKeyPattern } from './isKeyPattern';
3
3
  import type * as DCommon from '../../common';
4
4
  import type * as DTuple from '../../tuple';
5
- type _Split<GenericString extends string, GenericSeparator extends string, GenericLimit extends number = number, GenericLastResult extends readonly string[] = []> = GenericString extends `${infer InferredBefore}${GenericSeparator}${infer InferredAfter}` ? IsKeyPattern<InferredBefore> extends true ? GenericLastResult : readonly [...GenericLastResult, InferredBefore] extends infer InferredResult extends readonly any[] ? DCommon.IsEqual<InferredAfter, ""> extends true ? InferredResult : DCommon.IsEqual<InferredResult["length"], 250> extends true ? Includes<InferredAfter, GenericSeparator> extends true ? readonly [...InferredResult, ...string[]] : InferredResult : DCommon.IsEqual<InferredResult["length"], GenericLimit> extends true ? InferredResult : _Split<InferredAfter, GenericSeparator, GenericLimit, InferredResult> : never : readonly [...GenericLastResult, GenericString];
5
+ type _Split<GenericString extends string, GenericSeparator extends string, GenericLimit extends number = number, GenericLastResult extends readonly string[] = []> = GenericString extends `${infer InferredBefore}${GenericSeparator}${infer InferredAfter}` ? IsKeyPattern<InferredBefore> extends true ? GenericLastResult : readonly [...GenericLastResult, InferredBefore] extends infer InferredResult extends readonly any[] ? DCommon.IsEqual<InferredAfter, ""> extends true ? DCommon.IsEqual<GenericSeparator, ""> extends true ? InferredResult : readonly [...InferredResult, InferredAfter] : DCommon.IsEqual<InferredResult["length"], 250> extends true ? Includes<InferredAfter, GenericSeparator> extends true ? readonly [...InferredResult, ...string[]] : InferredResult : DCommon.IsEqual<InferredResult["length"], GenericLimit> extends true ? InferredResult : _Split<InferredAfter, GenericSeparator, GenericLimit, InferredResult> : never : readonly [...GenericLastResult, GenericString];
6
6
  export type Split<GenericString extends string, GenericSeparator extends string, GenericLimit extends number = number> = DCommon.IsEqual<GenericLimit, 0> extends true ? readonly [] : IsKeyPattern<GenericSeparator> extends true ? readonly [string, ...string[]] : IsKeyPattern<GenericString> extends true ? readonly [
7
7
  ...DTuple.Create<string, DTuple.CountMinElement<_Split<GenericString, GenericSeparator, GenericLimit>>>,
8
8
  ...string[]
@@ -0,0 +1,6 @@
1
+ //#region scripts/tuple/from.ts
2
+ function from(source) {
3
+ return source;
4
+ }
5
+ //#endregion
6
+ exports.from = from;
@@ -0,0 +1,8 @@
1
+ import { Create } from './types';
2
+ import type * as DArray from '../array';
3
+ type FromOutput<GenericArray extends readonly unknown[]> = DArray.ExtractLengthEqual<GenericArray, unknown> extends DArray.LengthEqual<infer InferredLength extends number> ? DArray.ReapplyCompatiblesConstraints<GenericArray, Create<GenericArray[number], InferredLength>, "maxElements"> : DArray.ExtractMinElements<GenericArray, unknown> extends DArray.MinElements<infer InferredMin extends number> ? DArray.ReapplyCompatiblesConstraints<GenericArray, readonly [
4
+ ...Create<GenericArray[number], InferredMin>,
5
+ ...GenericArray[number][]
6
+ ], "maxElements"> : GenericArray;
7
+ export declare function from<GenericArray extends readonly unknown[]>(source: GenericArray): FromOutput<GenericArray>;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ //#region scripts/tuple/from.ts
2
+ function from(source) {
3
+ return source;
4
+ }
5
+ //#endregion
6
+ export { from };
@@ -1,8 +1,13 @@
1
1
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
2
  const require_map = require("./map.cjs");
3
+ const require_from = require("./from.cjs");
3
4
  //#region scripts/tuple/index.ts
4
- var tuple_exports = /* @__PURE__ */ require_runtime.__exportAll({ map: () => require_map.map });
5
+ var tuple_exports = /* @__PURE__ */ require_runtime.__exportAll({
6
+ from: () => require_from.from,
7
+ map: () => require_map.map
8
+ });
5
9
  //#endregion
10
+ exports.from = require_from.from;
6
11
  exports.map = require_map.map;
7
12
  Object.defineProperty(exports, "tuple_exports", {
8
13
  enumerable: true,
@@ -1,2 +1,3 @@
1
1
  export type * from './types';
2
2
  export * from './map';
3
+ export * from './from';
@@ -1,6 +1,10 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
2
2
  import { map } from "./map.mjs";
3
+ import { from } from "./from.mjs";
3
4
  //#region scripts/tuple/index.ts
4
- var tuple_exports = /* @__PURE__ */ __exportAll({ map: () => map });
5
+ var tuple_exports = /* @__PURE__ */ __exportAll({
6
+ from: () => from,
7
+ map: () => map
8
+ });
5
9
  //#endregion
6
- export { map, tuple_exports };
10
+ export { from, map, tuple_exports };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/lang",
3
- "version": "0.0.1-beta.4",
3
+ "version": "0.0.1-beta.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": {
@@ -1,14 +0,0 @@
1
- import { MaxElements, MinElements, LengthEqual, ComputeMaxElementsCompatibility, ComputeMinElementsCompatibility, ComputeLengthEqualCompatibility } from './constraints';
2
- import type * as DCommon from '../common';
3
- import type * as DTuple from '../tuple';
4
- type ComputeCompatibilityOutputConstraint<GenericOutput extends readonly unknown[], GenericInput extends readonly unknown[]> = (DCommon.Or<[
5
- DCommon.IsNever<GenericOutput>,
6
- DCommon.IsNever<GenericInput>
7
- ]> extends true ? unknown : GenericOutput extends unknown ? ((ComputeMaxElementsCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? MaxElements<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on MaxElements<${InferredResult["to"]}> because constraint MaxElements<${InferredResult["from"]}> from the value is more than.`> : never) | (ComputeMinElementsCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? MinElements<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on MinElements<${InferredResult["to"]}> because constraint MinElements<${InferredResult["from"]}> from the value is less than.`> : never) | (ComputeLengthEqualCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? LengthEqual<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on LengthEqual<${InferredResult["to"]}> because constraint LengthEqual<${InferredResult["from"]}> from the value is not equal.`> : never)) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.ComputedTypeError<string>> extends true ? Extract<InferredResult, DCommon.ComputedTypeError<string>> : DCommon.UnionToIntersection<InferredResult> : never : never) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.BaseConstraint> extends true ? Extract<InferredResult, DCommon.BaseConstraint> : InferredResult : never;
8
- export declare function infer<GenericOutput extends readonly unknown[], const GenericInput extends readonly [
9
- ...Extract<DCommon.RemoveConstraint<GenericOutput>, readonly unknown[]>
10
- ] = never, GenericConstraint = ComputeCompatibilityOutputConstraint<GenericOutput, GenericInput>>(input: (GenericInput & DTuple.Require<GenericInput> & DCommon.ForbiddenUnion<GenericInput> & DCommon.BreakGenericLink<DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>> extends true ? GenericConstraint : unknown>)): DCommon.Or<[
11
- DCommon.IsNever<GenericInput>,
12
- DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>>
13
- ]> extends true ? GenericOutput : DCommon.BreakGenericLink<GenericInput & GenericConstraint>;
14
- export {};
@@ -1,6 +0,0 @@
1
- //#region scripts/array/infer.ts
2
- function infer(input) {
3
- return input;
4
- }
5
- //#endregion
6
- export { infer };
@@ -1,6 +0,0 @@
1
- //#region scripts/number/infer.ts
2
- function infer(input) {
3
- return input;
4
- }
5
- //#endregion
6
- exports.infer = infer;
@@ -1,12 +0,0 @@
1
- import { ComputeGreaterThanCompatibility, ComputeGreaterThanOrEqualCompatibility, ComputeLessThanCompatibility, ComputeLessThanOrEqualCompatibility, GreaterThan, GreaterThanOrEqual, Integer, LessThan, LessThanOrEqual, NotZero, Safe } from './constraints';
2
- import { IsZero, IsInteger, RequireLiteral, IsSafe } from './types';
3
- import type * as DCommon from '../common';
4
- type ComputeOutputBranchConstraint<GenericOutput extends number, GenericInput extends number> = (DCommon.Or<[
5
- DCommon.IsNever<GenericOutput>,
6
- DCommon.IsNever<GenericInput>
7
- ]> extends true ? unknown : GenericOutput extends unknown ? ((ComputeGreaterThanCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? GreaterThan<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on GreaterThan<${InferredResult["to"]}> because value ${InferredResult["from"]} is less than or equal.`> : never) | (ComputeGreaterThanOrEqualCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? GreaterThanOrEqual<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on GreaterThanOrEqual<${InferredResult["to"]}> because value ${InferredResult["from"]} is less than.`> : never) | (ComputeLessThanCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? LessThan<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on LessThan<${InferredResult["to"]}> because value ${InferredResult["from"]} is greater than or equal.`> : never) | (ComputeLessThanOrEqualCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? LessThanOrEqual<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on LessThanOrEqual<${InferredResult["to"]}> because value ${InferredResult["from"]} is greater than.`> : never) | (DCommon.IsExtends<GenericOutput, Integer> extends true ? IsInteger<GenericInput> extends true ? Integer : DCommon.ComputedTypeError<`Impossible to cast on Integer because value ${GenericInput} is not an integer.`> : never) | (DCommon.IsExtends<GenericOutput, NotZero> extends true ? IsZero<GenericInput> extends true ? DCommon.ComputedTypeError<"Impossible to cast on NotZero because value is equal to zero."> : NotZero : never) | (DCommon.IsExtends<GenericOutput, Safe> extends true ? IsSafe<GenericInput> extends true ? Safe : DCommon.ComputedTypeError<`Impossible to cast on Safe because value ${GenericInput} is not safe.`> : never)) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.ComputedTypeError<string>> extends true ? Extract<InferredResult, DCommon.ComputedTypeError<string>> : DCommon.UnionToIntersection<InferredResult> : never : never) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.BaseConstraint> extends true ? Extract<InferredResult, DCommon.BaseConstraint> : InferredResult : never;
8
- export declare function infer<GenericOutput extends number, const GenericInput extends Extract<DCommon.RemoveConstraint<GenericOutput>, number> = never, GenericConstraint = ComputeOutputBranchConstraint<GenericOutput, GenericInput>>(input: (GenericInput & RequireLiteral<GenericInput> & DCommon.ForbiddenUnion<GenericInput> & DCommon.BreakGenericLink<DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>> extends true ? GenericConstraint : unknown>)): DCommon.Or<[
9
- DCommon.IsNever<GenericInput>,
10
- DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>>
11
- ]> extends true ? GenericOutput : DCommon.BreakGenericLink<GenericInput & GenericConstraint>;
12
- export {};
@@ -1,6 +0,0 @@
1
- //#region scripts/number/infer.ts
2
- function infer(input) {
3
- return input;
4
- }
5
- //#endregion
6
- export { infer };
package/dist/path/fix.cjs DELETED
@@ -1,8 +0,0 @@
1
- //#region scripts/path/fix.ts
2
- const segmentTrailingRegex = /\/$/;
3
- const segmentRelativeRegex = /^(\.\/)/;
4
- function fix(path) {
5
- return path.replace(segmentTrailingRegex, "").replace(segmentRelativeRegex, "");
6
- }
7
- //#endregion
8
- exports.fix = fix;
@@ -1 +0,0 @@
1
- export declare function fix<GenericPath extends string>(path: GenericPath): string;
package/dist/path/fix.mjs DELETED
@@ -1,8 +0,0 @@
1
- //#region scripts/path/fix.ts
2
- const segmentTrailingRegex = /\/$/;
3
- const segmentRelativeRegex = /^(\.\/)/;
4
- function fix(path) {
5
- return path.replace(segmentTrailingRegex, "").replace(segmentRelativeRegex, "");
6
- }
7
- //#endregion
8
- export { fix };
@@ -1,6 +0,0 @@
1
- //#region scripts/string/infer.ts
2
- function infer(input) {
3
- return input;
4
- }
5
- //#endregion
6
- exports.infer = infer;
@@ -1,12 +0,0 @@
1
- import { MaxCharacters, MinCharacters, LengthEqual, ComputeMaxCharactersCompatibility, ComputeMinCharactersCompatibility, ComputeLengthEqualCompatibility } from './constraints';
2
- import { RequireLiteral } from './types';
3
- import type * as DCommon from '../common';
4
- type ComputeCompatibilityOutputConstraint<GenericOutput extends string, GenericInput extends string> = (DCommon.Or<[
5
- DCommon.IsNever<GenericOutput>,
6
- DCommon.IsNever<GenericInput>
7
- ]> extends true ? unknown : GenericOutput extends unknown ? ((ComputeMaxCharactersCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? MaxCharacters<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on MaxCharacters<${InferredResult["to"]}> because constraint MaxCharacters<${InferredResult["from"]}> from the value is more than.`> : never) | (ComputeMinCharactersCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? MinCharacters<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on MinCharacters<${InferredResult["to"]}> because constraint MinCharacters<${InferredResult["from"]}> from the value is less than.`> : never) | (ComputeLengthEqualCompatibility<GenericInput, GenericOutput, unknown> extends infer InferredResult extends DCommon.CompatibilityConstraintResult<boolean, number, number> ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? LengthEqual<InferredResult["to"]> : DCommon.ComputedTypeError<`Impossible to cast on LengthEqual<${InferredResult["to"]}> because constraint LengthEqual<${InferredResult["from"]}> from the value is not equal.`> : never)) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.ComputedTypeError<string>> extends true ? Extract<InferredResult, DCommon.ComputedTypeError<string>> : DCommon.UnionToIntersection<InferredResult> : never : never) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.BaseConstraint> extends true ? Extract<InferredResult, DCommon.BaseConstraint> : InferredResult : never;
8
- export declare function infer<GenericOutput extends string, const GenericInput extends Extract<DCommon.RemoveConstraint<GenericOutput>, string> = never, GenericConstraint = ComputeCompatibilityOutputConstraint<GenericOutput, GenericInput>>(input: (GenericInput & RequireLiteral<GenericInput> & DCommon.ForbiddenUnion<GenericInput> & DCommon.BreakGenericLink<DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>> extends true ? GenericConstraint : unknown>)): DCommon.Or<[
9
- DCommon.IsNever<GenericInput>,
10
- DCommon.ContainExtends<GenericConstraint, DCommon.ComputedTypeError<string>>
11
- ]> extends true ? GenericOutput : DCommon.BreakGenericLink<GenericInput & GenericConstraint>;
12
- export {};