@duplojs/utils 1.4.47 → 1.4.48

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 (41) hide show
  1. package/dist/common/index.d.ts +2 -1
  2. package/dist/common/mimeType.cjs +1081 -0
  3. package/dist/common/mimeType.d.ts +22 -0
  4. package/dist/common/mimeType.mjs +1079 -0
  5. package/dist/common/path.cjs +114 -0
  6. package/dist/common/path.d.ts +145 -0
  7. package/dist/common/path.mjs +114 -0
  8. package/dist/dataParser/extended/date.d.ts +3 -3
  9. package/dist/dataParser/extended/time.d.ts +3 -3
  10. package/dist/dataParser/identifier.d.ts +16 -4
  11. package/dist/dataParser/parsers/date.cjs +7 -7
  12. package/dist/dataParser/parsers/date.d.ts +4 -4
  13. package/dist/dataParser/parsers/date.mjs +7 -7
  14. package/dist/dataParser/parsers/time/index.cjs +8 -8
  15. package/dist/dataParser/parsers/time/index.d.ts +4 -4
  16. package/dist/dataParser/parsers/time/index.mjs +8 -8
  17. package/dist/index.cjs +7 -2
  18. package/dist/index.mjs +2 -2
  19. package/dist/metadata.json +18 -68
  20. package/package.json +1 -1
  21. package/dist/common/path/getBaseName.cjs +0 -25
  22. package/dist/common/path/getBaseName.d.ts +0 -26
  23. package/dist/common/path/getBaseName.mjs +0 -23
  24. package/dist/common/path/getExtensionName.cjs +0 -17
  25. package/dist/common/path/getExtensionName.d.ts +0 -21
  26. package/dist/common/path/getExtensionName.mjs +0 -15
  27. package/dist/common/path/getParentFolderPath.cjs +0 -21
  28. package/dist/common/path/getParentFolderPath.d.ts +0 -23
  29. package/dist/common/path/getParentFolderPath.mjs +0 -19
  30. package/dist/common/path/index.cjs +0 -19
  31. package/dist/common/path/index.d.ts +0 -27
  32. package/dist/common/path/index.mjs +0 -10
  33. package/dist/common/path/isAbsolute.cjs +0 -15
  34. package/dist/common/path/isAbsolute.d.ts +0 -21
  35. package/dist/common/path/isAbsolute.mjs +0 -13
  36. package/dist/common/path/resolveFrom.cjs +0 -18
  37. package/dist/common/path/resolveFrom.d.ts +0 -27
  38. package/dist/common/path/resolveFrom.mjs +0 -16
  39. package/dist/common/path/resolveRelative.cjs +0 -51
  40. package/dist/common/path/resolveRelative.d.ts +0 -23
  41. package/dist/common/path/resolveRelative.mjs +0 -49
@@ -1,51 +0,0 @@
1
- 'use strict';
2
-
3
- const segmentTrailingRegex = /\/$/;
4
- const segmentRelativeRegex = /^(.\/)/;
5
- /**
6
- * {@include common/path/resolveRelative/index.md}
7
- */
8
- function resolveRelative(segments) {
9
- let clearedPath = "";
10
- for (const segment of segments) {
11
- if (segment.length === 0) {
12
- continue;
13
- }
14
- if (segment === "/") {
15
- clearedPath = segment;
16
- continue;
17
- }
18
- const formattedSegment = segment
19
- .replace(segmentTrailingRegex, "")
20
- .replace(segmentRelativeRegex, "");
21
- if (formattedSegment.startsWith("/")) {
22
- clearedPath = formattedSegment;
23
- continue;
24
- }
25
- if (clearedPath === "/") {
26
- clearedPath += formattedSegment;
27
- }
28
- else {
29
- clearedPath += `/${formattedSegment}`;
30
- }
31
- }
32
- const dotResult = [];
33
- const result = [];
34
- for (const element of clearedPath.split("/")) {
35
- if (element === "..") {
36
- const deletedElement = result.pop();
37
- if (!deletedElement) {
38
- dotResult.push(element);
39
- }
40
- }
41
- else {
42
- result.push(element);
43
- }
44
- }
45
- if (dotResult.length === 0) {
46
- return result.join("/");
47
- }
48
- return `${dotResult.join("/")}/${result.join("/")}`;
49
- }
50
-
51
- exports.resolveRelative = resolveRelative;
@@ -1,23 +0,0 @@
1
- import type { AnyTuple } from "../types";
2
- /**
3
- * Resolves path segments into a single POSIX-like path.
4
- *
5
- * **Supported call styles:**
6
- * - Classic: `resolveRelative(segments)` -> returns the resolved path
7
- *
8
- * Empty segments are ignored, trailing slashes and leading `./` are removed, and absolute segments reset the base.
9
- * `..` segments remove previous segments and may remain leading when resolving above root.
10
- *
11
- * ```ts
12
- * const basicResult = Path.resolveRelative(["alpha", "beta"]);
13
- * // basicResult: "/alpha/beta"
14
- * const overrideResult = Path.resolveRelative(["alpha", "/root", "beta"]);
15
- * // overrideResult: "/root/beta"
16
- * const parentResult = Path.resolveRelative(["alpha", "..", "..", "beta"]);
17
- * // parentResult: "../beta"
18
- * ```
19
- *
20
- * @see https://utils.duplojs.dev/en/v1/api/common/path/resolveRelative
21
- *
22
- */
23
- export declare function resolveRelative<GenericSegment extends string>(segments: AnyTuple<GenericSegment>): string;
@@ -1,49 +0,0 @@
1
- const segmentTrailingRegex = /\/$/;
2
- const segmentRelativeRegex = /^(.\/)/;
3
- /**
4
- * {@include common/path/resolveRelative/index.md}
5
- */
6
- function resolveRelative(segments) {
7
- let clearedPath = "";
8
- for (const segment of segments) {
9
- if (segment.length === 0) {
10
- continue;
11
- }
12
- if (segment === "/") {
13
- clearedPath = segment;
14
- continue;
15
- }
16
- const formattedSegment = segment
17
- .replace(segmentTrailingRegex, "")
18
- .replace(segmentRelativeRegex, "");
19
- if (formattedSegment.startsWith("/")) {
20
- clearedPath = formattedSegment;
21
- continue;
22
- }
23
- if (clearedPath === "/") {
24
- clearedPath += formattedSegment;
25
- }
26
- else {
27
- clearedPath += `/${formattedSegment}`;
28
- }
29
- }
30
- const dotResult = [];
31
- const result = [];
32
- for (const element of clearedPath.split("/")) {
33
- if (element === "..") {
34
- const deletedElement = result.pop();
35
- if (!deletedElement) {
36
- dotResult.push(element);
37
- }
38
- }
39
- else {
40
- result.push(element);
41
- }
42
- }
43
- if (dotResult.length === 0) {
44
- return result.join("/");
45
- }
46
- return `${dotResult.join("/")}/${result.join("/")}`;
47
- }
48
-
49
- export { resolveRelative };