@powerlines/plugin-env 0.15.121 → 0.15.123
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/_virtual/rolldown_runtime.cjs +0 -4
- package/dist/babel/plugin.d.cts +2 -2
- package/dist/babel/plugin.d.mts +2 -3
- package/dist/components/docs.cjs +2 -2
- package/dist/components/docs.d.cts +1 -1
- package/dist/components/docs.d.mts +1 -1
- package/dist/components/docs.mjs +1 -1
- package/dist/components/env.cjs +3 -2
- package/dist/components/env.d.cts +2 -2
- package/dist/components/env.d.mts +2 -2
- package/dist/components/env.mjs +1 -1
- package/dist/helpers/automd-generator.cjs +2 -2
- package/dist/helpers/automd-generator.d.cts +1 -1
- package/dist/helpers/automd-generator.d.mts +1 -1
- package/dist/helpers/automd-generator.mjs +1 -1
- package/dist/helpers/docs-helper.cjs +3 -2
- package/dist/helpers/docs-helper.mjs +1 -1
- package/dist/helpers/load.cjs +10 -9
- package/dist/helpers/load.mjs +3 -3
- package/dist/helpers/persistence.cjs +3 -3
- package/dist/helpers/persistence.d.cts +1 -1
- package/dist/helpers/persistence.d.mts +1 -1
- package/dist/helpers/persistence.mjs +1 -1
- package/dist/helpers/reflect.cjs +4 -4
- package/dist/helpers/reflect.mjs +2 -2
- package/dist/index.cjs +18 -17
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +5 -5
- package/dist/types/plugin.d.cts +5 -6
- package/dist/types/plugin.d.mts +4 -6
- package/package.json +7 -7
- package/dist/_virtual/rolldown_runtime.mjs +0 -33
- package/dist/deepkit/schemas/reflection.d.cts +0 -1560
- package/dist/deepkit/src/types.d.cts +0 -10
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/parse-type-definition.cjs +0 -37
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/parse-type-definition.mjs +0 -37
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/to-array.cjs +0 -15
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/to-array.mjs +0 -14
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/get-object-tag.cjs +0 -15
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/get-object-tag.mjs +0 -14
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/index.cjs +0 -3
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/index.mjs +0 -5
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-buffer.cjs +0 -6
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-buffer.mjs +0 -6
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-collection.cjs +0 -1
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-collection.mjs +0 -3
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-object.cjs +0 -19
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-object.mjs +0 -19
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-plain-object.cjs +0 -63
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-plain-object.mjs +0 -63
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-string.cjs +0 -12
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-string.mjs +0 -11
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/type-detect.cjs +0 -15
- package/dist/node_modules/.pnpm/@stryke_convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/type-detect.mjs +0 -16
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-parent-path.cjs +0 -32
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-parent-path.mjs +0 -32
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-type.cjs +0 -28
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-type.mjs +0 -28
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/join-paths.cjs +0 -106
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/join-paths.mjs +0 -106
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/regex.cjs +0 -12
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/regex.mjs +0 -8
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/slash.cjs +0 -15
- package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/slash.mjs +0 -14
- package/dist/node_modules/.pnpm/c12@3.3.3_magicast@0.5.1/node_modules/c12/dist/index.cjs +0 -346
- package/dist/node_modules/.pnpm/c12@3.3.3_magicast@0.5.1/node_modules/c12/dist/index.mjs +0 -346
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/json5.cjs +0 -786
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/json5.mjs +0 -786
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/jsonc.cjs +0 -3
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/jsonc.mjs +0 -3
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/shared/confbox.DA7CpUDY.cjs +0 -23
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/shared/confbox.DA7CpUDY.mjs +0 -22
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/shared/confbox.DnMsyigM.cjs +0 -405
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/shared/confbox.DnMsyigM.mjs +0 -404
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/toml.cjs +0 -657
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/toml.mjs +0 -657
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/yaml.cjs +0 -1054
- package/dist/node_modules/.pnpm/confbox@0.2.2/node_modules/confbox/dist/yaml.mjs +0 -1054
- package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.cjs +0 -43
- package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs +0 -42
- package/dist/node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.cjs +0 -46
- package/dist/node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs +0 -45
- package/dist/node_modules/.pnpm/dotenv@17.2.3/node_modules/dotenv/lib/main.cjs +0 -288
- package/dist/node_modules/.pnpm/dotenv@17.2.3/node_modules/dotenv/lib/main.mjs +0 -285
- package/dist/node_modules/.pnpm/dotenv@17.2.3/node_modules/dotenv/package.cjs +0 -71
- package/dist/node_modules/.pnpm/dotenv@17.2.3/node_modules/dotenv/package.mjs +0 -68
- package/dist/node_modules/.pnpm/exsolve@1.0.8/node_modules/exsolve/dist/index.cjs +0 -1013
- package/dist/node_modules/.pnpm/exsolve@1.0.8/node_modules/exsolve/dist/index.mjs +0 -1007
- package/dist/node_modules/.pnpm/giget@2.0.0/node_modules/giget/dist/index.cjs +0 -23
- package/dist/node_modules/.pnpm/giget@2.0.0/node_modules/giget/dist/index.mjs +0 -13
- package/dist/node_modules/.pnpm/giget@2.0.0/node_modules/giget/dist/shared/giget.OCaTp9b-.cjs +0 -2698
- package/dist/node_modules/.pnpm/giget@2.0.0/node_modules/giget/dist/shared/giget.OCaTp9b-.mjs +0 -2685
- package/dist/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/dist/jiti.cjs +0 -4457
- package/dist/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/dist/jiti.mjs +0 -4454
- package/dist/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti.cjs +0 -29
- package/dist/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti.mjs +0 -29
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/chunks/multipart-parser.cjs +0 -181
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs +0 -176
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/index.cjs +0 -22
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/index.mjs +0 -17
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/node.cjs +0 -3967
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/node.mjs +0 -3962
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/proxy.cjs +0 -11768
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/proxy.mjs +0 -11763
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/shared/node-fetch-native.DhEqb06g.cjs +0 -25
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/shared/node-fetch-native.DhEqb06g.mjs +0 -20
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/lib/index.cjs +0 -20
- package/dist/node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/lib/index.mjs +0 -17
- package/dist/node_modules/.pnpm/nypm@0.6.4/node_modules/nypm/dist/index.cjs +0 -194
- package/dist/node_modules/.pnpm/nypm@0.6.4/node_modules/nypm/dist/index.mjs +0 -191
- package/dist/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/crypto/node/index.cjs +0 -13
- package/dist/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/crypto/node/index.mjs +0 -12
- package/dist/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.cjs +0 -3
- package/dist/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs +0 -3
- package/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.cjs +0 -145
- package/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +0 -138
- package/dist/node_modules/.pnpm/pkg-types@2.3.0/node_modules/pkg-types/dist/index.cjs +0 -127
- package/dist/node_modules/.pnpm/pkg-types@2.3.0/node_modules/pkg-types/dist/index.mjs +0 -125
- package/dist/node_modules/.pnpm/rc9@2.1.2/node_modules/rc9/dist/index.cjs +0 -138
- package/dist/node_modules/.pnpm/rc9@2.1.2/node_modules/rc9/dist/index.mjs +0 -136
- package/dist/node_modules/.pnpm/tinyexec@1.0.2/node_modules/tinyexec/dist/main.cjs +0 -629
- package/dist/node_modules/.pnpm/tinyexec@1.0.2/node_modules/tinyexec/dist/main.mjs +0 -627
- package/dist/packages/deepkit/schemas/reflection.d.mts +0 -1560
- package/dist/packages/deepkit/src/types.d.mts +0 -10
- package/dist/packages/plugin-alloy/src/core/components/source-file.d.mts +0 -23
- package/dist/packages/plugin-alloy/src/markdown/components/markdown-file.d.mts +0 -8
- package/dist/packages/plugin-alloy/src/types/components.d.mts +0 -21
- package/dist/packages/plugin-alloy/src/types/index.d.mts +0 -2
- package/dist/packages/plugin-alloy/src/types/plugin.d.mts +0 -36
- package/dist/packages/plugin-alloy/src/typescript/components/builtin-file.d.mts +0 -26
- package/dist/packages/plugin-alloy/src/typescript/components/tsdoc.d.mts +0 -37
- package/dist/packages/plugin-alloy/src/typescript/components/typescript-file.d.mts +0 -16
- package/dist/packages/plugin-alloy/src/typescript/components/typescript-interface.d.mts +0 -12
- package/dist/packages/plugin-automd/src/types/plugin.d.mts +0 -40
- package/dist/packages/plugin-automd/src/types/toc.d.mts +0 -33
- package/dist/packages/plugin-babel/src/types/index.d.mts +0 -1
- package/dist/packages/plugin-babel/src/types/plugin.d.mts +0 -15
- package/dist/packages/powerlines/src/internal/helpers/hooks.d.mts +0 -49
- package/dist/packages/powerlines/src/types/api.d.mts +0 -104
- package/dist/packages/powerlines/src/types/babel.d.mts +0 -23
- package/dist/packages/powerlines/src/types/build.d.mts +0 -185
- package/dist/packages/powerlines/src/types/commands.d.mts +0 -9
- package/dist/packages/powerlines/src/types/config.d.mts +0 -435
- package/dist/packages/powerlines/src/types/context.d.mts +0 -514
- package/dist/packages/powerlines/src/types/fs.d.mts +0 -486
- package/dist/packages/powerlines/src/types/hooks.d.mts +0 -32
- package/dist/packages/powerlines/src/types/index.d.mts +0 -12
- package/dist/packages/powerlines/src/types/plugin.d.mts +0 -205
- package/dist/packages/powerlines/src/types/resolved.d.mts +0 -94
- package/dist/packages/powerlines/src/types/tsconfig.d.mts +0 -69
- package/dist/packages/powerlines/src/types/unplugin.d.mts +0 -23
- package/dist/plugin-alloy/src/core/components/source-file.d.cts +0 -23
- package/dist/plugin-alloy/src/markdown/components/markdown-file.d.cts +0 -8
- package/dist/plugin-alloy/src/types/components.d.cts +0 -20
- package/dist/plugin-alloy/src/types/index.d.cts +0 -2
- package/dist/plugin-alloy/src/types/plugin.d.cts +0 -36
- package/dist/plugin-alloy/src/typescript/components/builtin-file.d.cts +0 -26
- package/dist/plugin-alloy/src/typescript/components/tsdoc.d.cts +0 -37
- package/dist/plugin-alloy/src/typescript/components/typescript-file.d.cts +0 -16
- package/dist/plugin-alloy/src/typescript/components/typescript-interface.d.cts +0 -12
- package/dist/plugin-automd/src/types/plugin.d.cts +0 -38
- package/dist/plugin-automd/src/types/toc.d.cts +0 -33
- package/dist/plugin-babel/src/types/plugin.d.cts +0 -15
- package/dist/powerlines/src/internal/helpers/hooks.d.cts +0 -47
- package/dist/powerlines/src/types/api.d.cts +0 -104
- package/dist/powerlines/src/types/babel.d.cts +0 -23
- package/dist/powerlines/src/types/build.d.cts +0 -185
- package/dist/powerlines/src/types/commands.d.cts +0 -8
- package/dist/powerlines/src/types/config.d.cts +0 -435
- package/dist/powerlines/src/types/context.d.cts +0 -514
- package/dist/powerlines/src/types/fs.d.cts +0 -486
- package/dist/powerlines/src/types/hooks.d.cts +0 -32
- package/dist/powerlines/src/types/plugin.d.cts +0 -205
- package/dist/powerlines/src/types/resolved.d.cts +0 -94
- package/dist/powerlines/src/types/tsconfig.d.cts +0 -69
- package/dist/powerlines/src/types/unplugin.d.cts +0 -22
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SerializedTypes } from "../schemas/reflection.cjs";
|
|
2
|
-
import { ReflectionClass } from "@powerlines/deepkit/vendor/type";
|
|
3
|
-
|
|
4
|
-
//#region ../deepkit/src/types.d.ts
|
|
5
|
-
type Reflection<T extends Record<string, any> = Record<string, any>> = ReflectionClass<T> & {
|
|
6
|
-
dataBuffer?: ArrayBuffer;
|
|
7
|
-
messageRoot?: SerializedTypes;
|
|
8
|
-
};
|
|
9
|
-
//#endregion
|
|
10
|
-
export { Reflection };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
const require_is_object = require('./type-checks/src/is-object.cjs');
|
|
2
|
-
const require_is_string = require('./type-checks/src/is-string.cjs');
|
|
3
|
-
require('./type-checks/src/index.cjs');
|
|
4
|
-
|
|
5
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/parse-type-definition.mjs
|
|
6
|
-
/**
|
|
7
|
-
* Parse a type definition parameter into a {@link TypeDefinition} object
|
|
8
|
-
*
|
|
9
|
-
* @param param - The parameter to parse
|
|
10
|
-
* @returns The parsed type definition
|
|
11
|
-
*/
|
|
12
|
-
const parseTypeDefinition = (param) => {
|
|
13
|
-
if (require_is_string.isString(param)) {
|
|
14
|
-
if (param.includes(":")) {
|
|
15
|
-
const params = param.split(":");
|
|
16
|
-
if (params.length > 1 && params[0]) return {
|
|
17
|
-
file: params[0],
|
|
18
|
-
name: params[1]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
if (param.includes("#")) {
|
|
22
|
-
const params = param.split("#");
|
|
23
|
-
if (params.length > 1 && params[0]) return {
|
|
24
|
-
file: params[0],
|
|
25
|
-
name: params[1]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return { file: param };
|
|
29
|
-
}
|
|
30
|
-
if (require_is_object.isObject(param)) return {
|
|
31
|
-
file: param.file,
|
|
32
|
-
name: param.name
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
//#endregion
|
|
37
|
-
exports.parseTypeDefinition = parseTypeDefinition;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { isObject } from "./type-checks/src/is-object.mjs";
|
|
2
|
-
import { isString } from "./type-checks/src/is-string.mjs";
|
|
3
|
-
import "./type-checks/src/index.mjs";
|
|
4
|
-
|
|
5
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/parse-type-definition.mjs
|
|
6
|
-
/**
|
|
7
|
-
* Parse a type definition parameter into a {@link TypeDefinition} object
|
|
8
|
-
*
|
|
9
|
-
* @param param - The parameter to parse
|
|
10
|
-
* @returns The parsed type definition
|
|
11
|
-
*/
|
|
12
|
-
const parseTypeDefinition = (param) => {
|
|
13
|
-
if (isString(param)) {
|
|
14
|
-
if (param.includes(":")) {
|
|
15
|
-
const params = param.split(":");
|
|
16
|
-
if (params.length > 1 && params[0]) return {
|
|
17
|
-
file: params[0],
|
|
18
|
-
name: params[1]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
if (param.includes("#")) {
|
|
22
|
-
const params = param.split("#");
|
|
23
|
-
if (params.length > 1 && params[0]) return {
|
|
24
|
-
file: params[0],
|
|
25
|
-
name: params[1]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return { file: param };
|
|
29
|
-
}
|
|
30
|
-
if (isObject(param)) return {
|
|
31
|
-
file: param.file,
|
|
32
|
-
name: param.name
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
//#endregion
|
|
37
|
-
export { parseTypeDefinition };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/to-array.mjs
|
|
3
|
-
/**
|
|
4
|
-
* Convert `Arrayable<T>` to `Array<T>`
|
|
5
|
-
*
|
|
6
|
-
* @param array - The `Arrayable<T>` to convert
|
|
7
|
-
* @returns An `Array<T>` containing the elements of the input
|
|
8
|
-
*/
|
|
9
|
-
function toArray(array) {
|
|
10
|
-
array = array ?? [];
|
|
11
|
-
return Array.isArray(array) ? array : [array];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
exports.toArray = toArray;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/to-array.mjs
|
|
2
|
-
/**
|
|
3
|
-
* Convert `Arrayable<T>` to `Array<T>`
|
|
4
|
-
*
|
|
5
|
-
* @param array - The `Arrayable<T>` to convert
|
|
6
|
-
* @returns An `Array<T>` containing the elements of the input
|
|
7
|
-
*/
|
|
8
|
-
function toArray(array) {
|
|
9
|
-
array = array ?? [];
|
|
10
|
-
return Array.isArray(array) ? array : [array];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
//#endregion
|
|
14
|
-
export { toArray };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/get-object-tag.mjs
|
|
3
|
-
/**
|
|
4
|
-
* Gets the `toStringTag` of `obj`.
|
|
5
|
-
*
|
|
6
|
-
* @param value - The obj to query.
|
|
7
|
-
* @returns Returns the `toStringTag`.
|
|
8
|
-
*/
|
|
9
|
-
const getObjectTag = (value) => {
|
|
10
|
-
if (value == null) return value === void 0 ? "[object Undefined]" : "[object Null]";
|
|
11
|
-
return Object.prototype.toString.call(value);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
exports.getObjectTag = getObjectTag;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/get-object-tag.mjs
|
|
2
|
-
/**
|
|
3
|
-
* Gets the `toStringTag` of `obj`.
|
|
4
|
-
*
|
|
5
|
-
* @param value - The obj to query.
|
|
6
|
-
* @returns Returns the `toStringTag`.
|
|
7
|
-
*/
|
|
8
|
-
const getObjectTag = (value) => {
|
|
9
|
-
if (value == null) return value === void 0 ? "[object Undefined]" : "[object Null]";
|
|
10
|
-
return Object.prototype.toString.call(value);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//#endregion
|
|
14
|
-
export { getObjectTag };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require('./type-detect.cjs');
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const require_is_plain_object = require('./is-plain-object.cjs');
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-object.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Check if the provided value's type is `Object`
|
|
6
|
-
*
|
|
7
|
-
* @param value - The value to type check
|
|
8
|
-
* @returns An indicator specifying if the value provided is of type `Object`
|
|
9
|
-
*/
|
|
10
|
-
const isObject = (value) => {
|
|
11
|
-
try {
|
|
12
|
-
return typeof value === "object" || Boolean(value) && value?.constructor === Object || require_is_plain_object.isPlainObject(value);
|
|
13
|
-
} catch {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.isObject = isObject;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { isPlainObject } from "./is-plain-object.mjs";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-object.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Check if the provided value's type is `Object`
|
|
6
|
-
*
|
|
7
|
-
* @param value - The value to type check
|
|
8
|
-
* @returns An indicator specifying if the value provided is of type `Object`
|
|
9
|
-
*/
|
|
10
|
-
const isObject = (value) => {
|
|
11
|
-
try {
|
|
12
|
-
return typeof value === "object" || Boolean(value) && value?.constructor === Object || isPlainObject(value);
|
|
13
|
-
} catch {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { isObject };
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
const require_get_object_tag = require('./get-object-tag.cjs');
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-plain-object.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
6
|
-
* and has a `typeof` result of "object".
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* isObjectLike({})
|
|
11
|
-
* // => true
|
|
12
|
-
*
|
|
13
|
-
* isObjectLike([1, 2, 3])
|
|
14
|
-
* // => true
|
|
15
|
-
*
|
|
16
|
-
* isObjectLike(Function)
|
|
17
|
-
* // => false
|
|
18
|
-
*
|
|
19
|
-
* isObjectLike(null)
|
|
20
|
-
* // => false
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @param value - The value to check.
|
|
24
|
-
* @returns Returns `true` if `value` is object-like, else `false`.
|
|
25
|
-
*/
|
|
26
|
-
const isObjectLike = (obj) => {
|
|
27
|
-
return typeof obj === "object" && obj !== null;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Checks if `obj` is a plain object, that is, an object created by the `Object` constructor or one with a `[[Prototype]]` of `null`.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* function Foo() {
|
|
35
|
-
* this.a = 1
|
|
36
|
-
* }
|
|
37
|
-
*
|
|
38
|
-
* isPlainObject(new Foo)
|
|
39
|
-
* // => false
|
|
40
|
-
*
|
|
41
|
-
* isPlainObject([1, 2, 3])
|
|
42
|
-
* // => false
|
|
43
|
-
*
|
|
44
|
-
* isPlainObject({ 'x': 0, 'y': 0 })
|
|
45
|
-
* // => true
|
|
46
|
-
*
|
|
47
|
-
* isPlainObject(Object.create(null))
|
|
48
|
-
* // => true
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* @param obj - The value to check.
|
|
52
|
-
* @returns Returns `true` if `obj` is a plain object, else `false`.
|
|
53
|
-
*/
|
|
54
|
-
const isPlainObject = (obj) => {
|
|
55
|
-
if (!isObjectLike(obj) || require_get_object_tag.getObjectTag(obj) !== "[object Object]") return false;
|
|
56
|
-
if (Object.getPrototypeOf(obj) === null) return true;
|
|
57
|
-
let proto = obj;
|
|
58
|
-
while (Object.getPrototypeOf(proto) !== null) proto = Object.getPrototypeOf(proto);
|
|
59
|
-
return Object.getPrototypeOf(obj) === proto;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
//#endregion
|
|
63
|
-
exports.isPlainObject = isPlainObject;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { getObjectTag } from "./get-object-tag.mjs";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-plain-object.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
6
|
-
* and has a `typeof` result of "object".
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* isObjectLike({})
|
|
11
|
-
* // => true
|
|
12
|
-
*
|
|
13
|
-
* isObjectLike([1, 2, 3])
|
|
14
|
-
* // => true
|
|
15
|
-
*
|
|
16
|
-
* isObjectLike(Function)
|
|
17
|
-
* // => false
|
|
18
|
-
*
|
|
19
|
-
* isObjectLike(null)
|
|
20
|
-
* // => false
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @param value - The value to check.
|
|
24
|
-
* @returns Returns `true` if `value` is object-like, else `false`.
|
|
25
|
-
*/
|
|
26
|
-
const isObjectLike = (obj) => {
|
|
27
|
-
return typeof obj === "object" && obj !== null;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Checks if `obj` is a plain object, that is, an object created by the `Object` constructor or one with a `[[Prototype]]` of `null`.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* function Foo() {
|
|
35
|
-
* this.a = 1
|
|
36
|
-
* }
|
|
37
|
-
*
|
|
38
|
-
* isPlainObject(new Foo)
|
|
39
|
-
* // => false
|
|
40
|
-
*
|
|
41
|
-
* isPlainObject([1, 2, 3])
|
|
42
|
-
* // => false
|
|
43
|
-
*
|
|
44
|
-
* isPlainObject({ 'x': 0, 'y': 0 })
|
|
45
|
-
* // => true
|
|
46
|
-
*
|
|
47
|
-
* isPlainObject(Object.create(null))
|
|
48
|
-
* // => true
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* @param obj - The value to check.
|
|
52
|
-
* @returns Returns `true` if `obj` is a plain object, else `false`.
|
|
53
|
-
*/
|
|
54
|
-
const isPlainObject = (obj) => {
|
|
55
|
-
if (!isObjectLike(obj) || getObjectTag(obj) !== "[object Object]") return false;
|
|
56
|
-
if (Object.getPrototypeOf(obj) === null) return true;
|
|
57
|
-
let proto = obj;
|
|
58
|
-
while (Object.getPrototypeOf(proto) !== null) proto = Object.getPrototypeOf(proto);
|
|
59
|
-
return Object.getPrototypeOf(obj) === proto;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
//#endregion
|
|
63
|
-
export { isPlainObject };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-string.mjs
|
|
3
|
-
const isString = (value) => {
|
|
4
|
-
try {
|
|
5
|
-
return typeof value === "string";
|
|
6
|
-
} catch {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
exports.isString = isString;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/is-string.mjs
|
|
2
|
-
const isString = (value) => {
|
|
3
|
-
try {
|
|
4
|
-
return typeof value === "string";
|
|
5
|
-
} catch {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
export { isString };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require('./is-buffer.cjs');
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/type-detect.mjs
|
|
4
|
-
((Obj) => {
|
|
5
|
-
if (typeof globalThis === "object") return globalThis;
|
|
6
|
-
Object.defineProperty(Obj, "typeDetectGlobalObject", {
|
|
7
|
-
get() {
|
|
8
|
-
return this;
|
|
9
|
-
},
|
|
10
|
-
configurable: true
|
|
11
|
-
});
|
|
12
|
-
return globalThis;
|
|
13
|
-
})(Object.prototype);
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import "./is-buffer.mjs";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+convert@0.6.35/node_modules/@stryke/convert/dist/type-checks/src/type-detect.mjs
|
|
4
|
-
((Obj) => {
|
|
5
|
-
if (typeof globalThis === "object") return globalThis;
|
|
6
|
-
Object.defineProperty(Obj, "typeDetectGlobalObject", {
|
|
7
|
-
get() {
|
|
8
|
-
return this;
|
|
9
|
-
},
|
|
10
|
-
configurable: true
|
|
11
|
-
});
|
|
12
|
-
return globalThis;
|
|
13
|
-
})(Object.prototype);
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
const require_slash = require('./slash.cjs');
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+path@0.26.0/node_modules/@stryke/path/dist/is-parent-path.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Check if a given path is a parent of another path.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src");
|
|
10
|
-
* // returns true
|
|
11
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project");
|
|
12
|
-
* // returns true
|
|
13
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src/other");
|
|
14
|
-
* // returns false
|
|
15
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/other");
|
|
16
|
-
* // returns false
|
|
17
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src/index.ts");
|
|
18
|
-
* // returns false
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @param childPath - The path to check if it is a child of the parent path.
|
|
22
|
-
* @param parentPath - The path to check if it is a parent of the child path.
|
|
23
|
-
* @returns `true` if `childPath` is a child of `parentPath`, otherwise `false`.
|
|
24
|
-
*/
|
|
25
|
-
function isParentPath(childPath, parentPath) {
|
|
26
|
-
const normalizedChild = require_slash.slash(childPath.replaceAll(/\\/g, "/").replace(/\/*$/, ""))?.toLowerCase();
|
|
27
|
-
const normalizedParent = require_slash.slash(parentPath.replaceAll(/\\/g, "/").replace(/\/*$/, ""))?.toLowerCase();
|
|
28
|
-
return childPath !== parentPath && normalizedChild !== normalizedParent && normalizedChild.startsWith(`${normalizedParent}/`);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
exports.isParentPath = isParentPath;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { slash } from "./slash.mjs";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.pnpm/@stryke+path@0.26.0/node_modules/@stryke/path/dist/is-parent-path.mjs
|
|
4
|
-
/**
|
|
5
|
-
* Check if a given path is a parent of another path.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src");
|
|
10
|
-
* // returns true
|
|
11
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project");
|
|
12
|
-
* // returns true
|
|
13
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src/other");
|
|
14
|
-
* // returns false
|
|
15
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/other");
|
|
16
|
-
* // returns false
|
|
17
|
-
* isParentPath("/home/user/project/src/index.ts", "/home/user/project/src/index.ts");
|
|
18
|
-
* // returns false
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @param childPath - The path to check if it is a child of the parent path.
|
|
22
|
-
* @param parentPath - The path to check if it is a parent of the child path.
|
|
23
|
-
* @returns `true` if `childPath` is a child of `parentPath`, otherwise `false`.
|
|
24
|
-
*/
|
|
25
|
-
function isParentPath(childPath, parentPath) {
|
|
26
|
-
const normalizedChild = slash(childPath.replaceAll(/\\/g, "/").replace(/\/*$/, ""))?.toLowerCase();
|
|
27
|
-
const normalizedParent = slash(parentPath.replaceAll(/\\/g, "/").replace(/\/*$/, ""))?.toLowerCase();
|
|
28
|
-
return childPath !== parentPath && normalizedChild !== normalizedParent && normalizedChild.startsWith(`${normalizedParent}/`);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
export { isParentPath };
|
package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-type.cjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const require_regex = require('./regex.cjs');
|
|
2
|
-
const require_slash = require('./slash.cjs');
|
|
3
|
-
|
|
4
|
-
//#region ../../node_modules/.pnpm/@stryke+path@0.26.0/node_modules/@stryke/path/dist/is-type.mjs
|
|
5
|
-
/**
|
|
6
|
-
* Check if the path is an absolute path.
|
|
7
|
-
*
|
|
8
|
-
* @param path - The path to check
|
|
9
|
-
* @returns An indicator specifying if the path is an absolute path
|
|
10
|
-
*/
|
|
11
|
-
function isAbsolutePath(path) {
|
|
12
|
-
return require_regex.ABSOLUTE_PATH_REGEX.test(require_slash.slash(path));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if the path is an absolute path.
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* This is an alias for {@link isAbsolutePath}.
|
|
19
|
-
*
|
|
20
|
-
* @param path - The path to check
|
|
21
|
-
* @returns An indicator specifying if the path is an absolute path
|
|
22
|
-
*/
|
|
23
|
-
function isAbsolute(path) {
|
|
24
|
-
return isAbsolutePath(path);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
exports.isAbsolute = isAbsolute;
|
package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/is-type.mjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ABSOLUTE_PATH_REGEX } from "./regex.mjs";
|
|
2
|
-
import { slash } from "./slash.mjs";
|
|
3
|
-
|
|
4
|
-
//#region ../../node_modules/.pnpm/@stryke+path@0.26.0/node_modules/@stryke/path/dist/is-type.mjs
|
|
5
|
-
/**
|
|
6
|
-
* Check if the path is an absolute path.
|
|
7
|
-
*
|
|
8
|
-
* @param path - The path to check
|
|
9
|
-
* @returns An indicator specifying if the path is an absolute path
|
|
10
|
-
*/
|
|
11
|
-
function isAbsolutePath(path) {
|
|
12
|
-
return ABSOLUTE_PATH_REGEX.test(slash(path));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if the path is an absolute path.
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* This is an alias for {@link isAbsolutePath}.
|
|
19
|
-
*
|
|
20
|
-
* @param path - The path to check
|
|
21
|
-
* @returns An indicator specifying if the path is an absolute path
|
|
22
|
-
*/
|
|
23
|
-
function isAbsolute(path) {
|
|
24
|
-
return isAbsolutePath(path);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
export { isAbsolute };
|
package/dist/node_modules/.pnpm/@stryke_path@0.26.0/node_modules/@stryke/path/dist/join-paths.cjs
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
const require_regex = require('./regex.cjs');
|
|
2
|
-
const require_is_type = require('./is-type.cjs');
|
|
3
|
-
|
|
4
|
-
//#region ../../node_modules/.pnpm/@stryke+path@0.26.0/node_modules/@stryke/path/dist/join-paths.mjs
|
|
5
|
-
function normalizeWindowsPath(input = "") {
|
|
6
|
-
if (!input) return input;
|
|
7
|
-
return input.replace(/\\/g, "/").replace(require_regex.DRIVE_LETTER_START_REGEX, (r) => r.toUpperCase());
|
|
8
|
-
}
|
|
9
|
-
function correctPaths(path) {
|
|
10
|
-
if (!path || path.length === 0) return ".";
|
|
11
|
-
path = normalizeWindowsPath(path);
|
|
12
|
-
const isUNCPath = path.match(require_regex.UNC_REGEX);
|
|
13
|
-
const isPathAbsolute = require_is_type.isAbsolute(path);
|
|
14
|
-
const trailingSeparator = path[path.length - 1] === "/";
|
|
15
|
-
path = normalizeString(path, !isPathAbsolute);
|
|
16
|
-
if (path.length === 0) {
|
|
17
|
-
if (isPathAbsolute) return "/";
|
|
18
|
-
return trailingSeparator ? "./" : ".";
|
|
19
|
-
}
|
|
20
|
-
if (trailingSeparator) path += "/";
|
|
21
|
-
if (require_regex.DRIVE_LETTER_REGEX.test(path)) path += "/";
|
|
22
|
-
if (isUNCPath) {
|
|
23
|
-
if (!isPathAbsolute) return `//./${path}`;
|
|
24
|
-
return `//${path}`;
|
|
25
|
-
}
|
|
26
|
-
return isPathAbsolute && !require_is_type.isAbsolute(path) ? `/${path}` : path;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Joins all given path segments together using the platform-specific separator as a delimiter.
|
|
30
|
-
* The resulting path is normalized to remove any redundant or unnecessary segments.
|
|
31
|
-
*
|
|
32
|
-
* @param segments - The path segments to join.
|
|
33
|
-
* @returns The joined and normalized path string.
|
|
34
|
-
*/
|
|
35
|
-
function joinPaths(...segments) {
|
|
36
|
-
let path = "";
|
|
37
|
-
for (const seg of segments) {
|
|
38
|
-
if (!seg) continue;
|
|
39
|
-
if (path.length > 0) {
|
|
40
|
-
const pathTrailing = path[path.length - 1] === "/";
|
|
41
|
-
const segLeading = seg[0] === "/";
|
|
42
|
-
if (pathTrailing && segLeading) path += seg.slice(1);
|
|
43
|
-
else path += pathTrailing || segLeading ? seg : `/${seg}`;
|
|
44
|
-
} else path += seg;
|
|
45
|
-
}
|
|
46
|
-
return correctPaths(path);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Resolves a string path, resolving '.' and '.' segments and allowing paths above the root.
|
|
50
|
-
*
|
|
51
|
-
* @param path - The path to normalize.
|
|
52
|
-
* @param allowAboveRoot - Whether to allow the resulting path to be above the root directory.
|
|
53
|
-
* @returns the normalized path string.
|
|
54
|
-
*/
|
|
55
|
-
function normalizeString(path, allowAboveRoot) {
|
|
56
|
-
let res = "";
|
|
57
|
-
let lastSegmentLength = 0;
|
|
58
|
-
let lastSlash = -1;
|
|
59
|
-
let dots = 0;
|
|
60
|
-
let char = null;
|
|
61
|
-
for (let index = 0; index <= path.length; ++index) {
|
|
62
|
-
if (index < path.length) char = path[index];
|
|
63
|
-
else if (char === "/") break;
|
|
64
|
-
else char = "/";
|
|
65
|
-
if (char === "/") {
|
|
66
|
-
if (lastSlash === index - 1 || dots === 1) {} else if (dots === 2) {
|
|
67
|
-
if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
|
|
68
|
-
if (res.length > 2) {
|
|
69
|
-
const lastSlashIndex = res.lastIndexOf("/");
|
|
70
|
-
if (lastSlashIndex === -1) {
|
|
71
|
-
res = "";
|
|
72
|
-
lastSegmentLength = 0;
|
|
73
|
-
} else {
|
|
74
|
-
res = res.slice(0, lastSlashIndex);
|
|
75
|
-
lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
|
|
76
|
-
}
|
|
77
|
-
lastSlash = index;
|
|
78
|
-
dots = 0;
|
|
79
|
-
continue;
|
|
80
|
-
} else if (res.length > 0) {
|
|
81
|
-
res = "";
|
|
82
|
-
lastSegmentLength = 0;
|
|
83
|
-
lastSlash = index;
|
|
84
|
-
dots = 0;
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (allowAboveRoot) {
|
|
89
|
-
res += res.length > 0 ? "/.." : "..";
|
|
90
|
-
lastSegmentLength = 2;
|
|
91
|
-
}
|
|
92
|
-
} else {
|
|
93
|
-
if (res.length > 0) res += `/${path.slice(lastSlash + 1, index)}`;
|
|
94
|
-
else res = path.slice(lastSlash + 1, index);
|
|
95
|
-
lastSegmentLength = index - lastSlash - 1;
|
|
96
|
-
}
|
|
97
|
-
lastSlash = index;
|
|
98
|
-
dots = 0;
|
|
99
|
-
} else if (char === "." && dots !== -1) ++dots;
|
|
100
|
-
else dots = -1;
|
|
101
|
-
}
|
|
102
|
-
return res;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
//#endregion
|
|
106
|
-
exports.joinPaths = joinPaths;
|