@hamak/shared-utils 0.4.2 → 0.4.4
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.
|
@@ -81,4 +81,31 @@ export declare class Pathway {
|
|
|
81
81
|
static asString(path: Path): string;
|
|
82
82
|
static getName(path: string | string[] | Pathway): string;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Converts a path (string or string array) to an array of path segments.
|
|
86
|
+
* If already an array, returns it as-is.
|
|
87
|
+
* If a string, splits by '/' and filters out empty segments.
|
|
88
|
+
*
|
|
89
|
+
* @param path - The path to convert to segments
|
|
90
|
+
* @returns Array of path segments
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* pathSteps('/foo/bar/baz') // ['foo', 'bar', 'baz']
|
|
94
|
+
* pathSteps(['foo', 'bar']) // ['foo', 'bar']
|
|
95
|
+
* pathSteps('foo//bar/') // ['foo', 'bar']
|
|
96
|
+
*/
|
|
97
|
+
export declare function pathSteps(path: string | string[]): string[];
|
|
98
|
+
/**
|
|
99
|
+
* Returns the parent path segments by removing the last segment.
|
|
100
|
+
* Uses pathSteps internally to normalize the input path.
|
|
101
|
+
*
|
|
102
|
+
* @param path - The path to get parent segments from
|
|
103
|
+
* @returns Array of parent path segments (all but last segment)
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* parentPathSteps('/foo/bar/baz') // ['foo', 'bar']
|
|
107
|
+
* parentPathSteps(['foo', 'bar']) // ['foo']
|
|
108
|
+
* parentPathSteps(['foo']) // []
|
|
109
|
+
*/
|
|
110
|
+
export declare function parentPathSteps(path: string | string[]): string[];
|
|
84
111
|
//# sourceMappingURL=core-utils-pathway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-utils-pathway.d.ts","sourceRoot":"","sources":["../src/core-utils-pathway.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;AAC9C;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAU;IAEhC;;;;OAIG;gBACS,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS;IAUtD;;;;OAIG;WACW,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO;IAQ/E;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;OAGG;IACI,WAAW,IAAI,MAAM,EAAE;IAIvB,YAAY;IAInB;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAuB/D;;;OAGG;IACI,SAAS,IAAI,OAAO;IAQ3B;;;OAGG;IACI,mBAAmB,IAAI,MAAM;IAOpC;;;OAGG;WACW,MAAM,IAAI,OAAO;IAI/B;;;;OAIG;IACI,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAsBlE;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAiBpE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAG,IAAI,GAAI,OAAO;IAK5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,IAAI,GAAI,MAAM;IASrC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;CAgBjD"}
|
|
1
|
+
{"version":3,"file":"core-utils-pathway.d.ts","sourceRoot":"","sources":["../src/core-utils-pathway.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;AAC9C;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAU;IAEhC;;;;OAIG;gBACS,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS;IAUtD;;;;OAIG;WACW,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO;IAQ/E;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;OAGG;IACI,WAAW,IAAI,MAAM,EAAE;IAIvB,YAAY;IAInB;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAuB/D;;;OAGG;IACI,SAAS,IAAI,OAAO;IAQ3B;;;OAGG;IACI,mBAAmB,IAAI,MAAM;IAOpC;;;OAGG;WACW,MAAM,IAAI,OAAO;IAI/B;;;;OAIG;IACI,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAsBlE;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAiBpE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAG,IAAI,GAAI,OAAO;IAK5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,IAAI,GAAI,MAAM;IASrC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;CAgBjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAM3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAGjE"}
|
|
@@ -204,3 +204,38 @@ export class Pathway {
|
|
|
204
204
|
return name;
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Converts a path (string or string array) to an array of path segments.
|
|
209
|
+
* If already an array, returns it as-is.
|
|
210
|
+
* If a string, splits by '/' and filters out empty segments.
|
|
211
|
+
*
|
|
212
|
+
* @param path - The path to convert to segments
|
|
213
|
+
* @returns Array of path segments
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* pathSteps('/foo/bar/baz') // ['foo', 'bar', 'baz']
|
|
217
|
+
* pathSteps(['foo', 'bar']) // ['foo', 'bar']
|
|
218
|
+
* pathSteps('foo//bar/') // ['foo', 'bar']
|
|
219
|
+
*/
|
|
220
|
+
export function pathSteps(path) {
|
|
221
|
+
if (Array.isArray(path)) {
|
|
222
|
+
return path;
|
|
223
|
+
}
|
|
224
|
+
return path.split('/').filter(s => s.trim().length > 0);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Returns the parent path segments by removing the last segment.
|
|
228
|
+
* Uses pathSteps internally to normalize the input path.
|
|
229
|
+
*
|
|
230
|
+
* @param path - The path to get parent segments from
|
|
231
|
+
* @returns Array of parent path segments (all but last segment)
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* parentPathSteps('/foo/bar/baz') // ['foo', 'bar']
|
|
235
|
+
* parentPathSteps(['foo', 'bar']) // ['foo']
|
|
236
|
+
* parentPathSteps(['foo']) // []
|
|
237
|
+
*/
|
|
238
|
+
export function parentPathSteps(path) {
|
|
239
|
+
const steps = pathSteps(path);
|
|
240
|
+
return steps.length > 0 ? steps.slice(0, steps.length - 1) : steps;
|
|
241
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pathway = void 0;
|
|
3
|
+
exports.parentPathSteps = exports.pathSteps = exports.Pathway = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Class representing a normalized pathway.
|
|
6
6
|
*/
|
|
@@ -208,3 +208,40 @@ class Pathway {
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
exports.Pathway = Pathway;
|
|
211
|
+
/**
|
|
212
|
+
* Converts a path (string or string array) to an array of path segments.
|
|
213
|
+
* If already an array, returns it as-is.
|
|
214
|
+
* If a string, splits by '/' and filters out empty segments.
|
|
215
|
+
*
|
|
216
|
+
* @param path - The path to convert to segments
|
|
217
|
+
* @returns Array of path segments
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* pathSteps('/foo/bar/baz') // ['foo', 'bar', 'baz']
|
|
221
|
+
* pathSteps(['foo', 'bar']) // ['foo', 'bar']
|
|
222
|
+
* pathSteps('foo//bar/') // ['foo', 'bar']
|
|
223
|
+
*/
|
|
224
|
+
function pathSteps(path) {
|
|
225
|
+
if (Array.isArray(path)) {
|
|
226
|
+
return path;
|
|
227
|
+
}
|
|
228
|
+
return path.split('/').filter(s => s.trim().length > 0);
|
|
229
|
+
}
|
|
230
|
+
exports.pathSteps = pathSteps;
|
|
231
|
+
/**
|
|
232
|
+
* Returns the parent path segments by removing the last segment.
|
|
233
|
+
* Uses pathSteps internally to normalize the input path.
|
|
234
|
+
*
|
|
235
|
+
* @param path - The path to get parent segments from
|
|
236
|
+
* @returns Array of parent path segments (all but last segment)
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* parentPathSteps('/foo/bar/baz') // ['foo', 'bar']
|
|
240
|
+
* parentPathSteps(['foo', 'bar']) // ['foo']
|
|
241
|
+
* parentPathSteps(['foo']) // []
|
|
242
|
+
*/
|
|
243
|
+
function parentPathSteps(path) {
|
|
244
|
+
const steps = pathSteps(path);
|
|
245
|
+
return steps.length > 0 ? steps.slice(0, steps.length - 1) : steps;
|
|
246
|
+
}
|
|
247
|
+
exports.parentPathSteps = parentPathSteps;
|
package/package.json
CHANGED
|
@@ -230,3 +230,41 @@ export class Pathway {
|
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Converts a path (string or string array) to an array of path segments.
|
|
236
|
+
* If already an array, returns it as-is.
|
|
237
|
+
* If a string, splits by '/' and filters out empty segments.
|
|
238
|
+
*
|
|
239
|
+
* @param path - The path to convert to segments
|
|
240
|
+
* @returns Array of path segments
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* pathSteps('/foo/bar/baz') // ['foo', 'bar', 'baz']
|
|
244
|
+
* pathSteps(['foo', 'bar']) // ['foo', 'bar']
|
|
245
|
+
* pathSteps('foo//bar/') // ['foo', 'bar']
|
|
246
|
+
*/
|
|
247
|
+
export function pathSteps(path: string | string[]): string[] {
|
|
248
|
+
if (Array.isArray(path)) {
|
|
249
|
+
return path;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return path.split('/').filter(s => s.trim().length > 0);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Returns the parent path segments by removing the last segment.
|
|
257
|
+
* Uses pathSteps internally to normalize the input path.
|
|
258
|
+
*
|
|
259
|
+
* @param path - The path to get parent segments from
|
|
260
|
+
* @returns Array of parent path segments (all but last segment)
|
|
261
|
+
*
|
|
262
|
+
* @example
|
|
263
|
+
* parentPathSteps('/foo/bar/baz') // ['foo', 'bar']
|
|
264
|
+
* parentPathSteps(['foo', 'bar']) // ['foo']
|
|
265
|
+
* parentPathSteps(['foo']) // []
|
|
266
|
+
*/
|
|
267
|
+
export function parentPathSteps(path: string | string[]): string[] {
|
|
268
|
+
const steps = pathSteps(path);
|
|
269
|
+
return steps.length > 0 ? steps.slice(0, steps.length - 1) : steps;
|
|
270
|
+
}
|