@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.
- package/dist/common/index.d.ts +2 -1
- package/dist/common/mimeType.cjs +1081 -0
- package/dist/common/mimeType.d.ts +22 -0
- package/dist/common/mimeType.mjs +1079 -0
- package/dist/common/path.cjs +114 -0
- package/dist/common/path.d.ts +145 -0
- package/dist/common/path.mjs +114 -0
- package/dist/dataParser/extended/date.d.ts +3 -3
- package/dist/dataParser/extended/time.d.ts +3 -3
- package/dist/dataParser/identifier.d.ts +16 -4
- package/dist/dataParser/parsers/date.cjs +7 -7
- package/dist/dataParser/parsers/date.d.ts +4 -4
- package/dist/dataParser/parsers/date.mjs +7 -7
- package/dist/dataParser/parsers/time/index.cjs +8 -8
- package/dist/dataParser/parsers/time/index.d.ts +4 -4
- package/dist/dataParser/parsers/time/index.mjs +8 -8
- package/dist/index.cjs +7 -2
- package/dist/index.mjs +2 -2
- package/dist/metadata.json +18 -68
- package/package.json +1 -1
- package/dist/common/path/getBaseName.cjs +0 -25
- package/dist/common/path/getBaseName.d.ts +0 -26
- package/dist/common/path/getBaseName.mjs +0 -23
- package/dist/common/path/getExtensionName.cjs +0 -17
- package/dist/common/path/getExtensionName.d.ts +0 -21
- package/dist/common/path/getExtensionName.mjs +0 -15
- package/dist/common/path/getParentFolderPath.cjs +0 -21
- package/dist/common/path/getParentFolderPath.d.ts +0 -23
- package/dist/common/path/getParentFolderPath.mjs +0 -19
- package/dist/common/path/index.cjs +0 -19
- package/dist/common/path/index.d.ts +0 -27
- package/dist/common/path/index.mjs +0 -10
- package/dist/common/path/isAbsolute.cjs +0 -15
- package/dist/common/path/isAbsolute.d.ts +0 -21
- package/dist/common/path/isAbsolute.mjs +0 -13
- package/dist/common/path/resolveFrom.cjs +0 -18
- package/dist/common/path/resolveFrom.d.ts +0 -27
- package/dist/common/path/resolveFrom.mjs +0 -16
- package/dist/common/path/resolveRelative.cjs +0 -51
- package/dist/common/path/resolveRelative.d.ts +0 -23
- 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 };
|