@phosart/common 0.4.35 → 0.4.37
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/util/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +1 -1
- package/dist/util/util.d.ts +2 -0
- package/dist/util/util.d.ts.map +1 -1
- package/dist/util/util.js +20 -0
- package/package.json +1 -1
- package/src/lib/util/index.ts +7 -1
- package/src/lib/util/util.ts +33 -0
package/dist/util/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { formatDate } from './date.ts';
|
|
|
7
7
|
export { markdown } from './markdown.ts';
|
|
8
8
|
export { smoothScroll } from './smoothscroll.ts';
|
|
9
9
|
export { setLibraryConfig, type LibraryConfig } from './phosart_config.svelte.ts';
|
|
10
|
-
export { asRecord, multiRecordBy, deduplicateBy } from './util.ts';
|
|
10
|
+
export { asRecord, multiRecordBy, deduplicateBy, sveltekitAbsolutePath, sveltekitAnchoredPath } from './util.ts';
|
|
11
11
|
export { asTree, pathView } from './tree.ts';
|
|
12
12
|
export type { FolderElement, GalleryElement, GalleryTree, TreeElement } from './tree.ts';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/util/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClF,YAAY,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClF,YAAY,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACN,QAAQ,EACR,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/util/index.js
CHANGED
|
@@ -6,5 +6,5 @@ export { formatDate } from "./date.js";
|
|
|
6
6
|
export { markdown } from "./markdown.js";
|
|
7
7
|
export { smoothScroll } from "./smoothscroll.js";
|
|
8
8
|
export { setLibraryConfig } from "./phosart_config.svelte.js";
|
|
9
|
-
export { asRecord, multiRecordBy, deduplicateBy } from "./util.js";
|
|
9
|
+
export { asRecord, multiRecordBy, deduplicateBy, sveltekitAbsolutePath, sveltekitAnchoredPath } from "./util.js";
|
|
10
10
|
export { asTree, pathView } from "./tree.js";
|
package/dist/util/util.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare function asRecord<T>(arr: T[], key: (el: T) => string, combine?: (a: T, b: T) => T): Record<string, T>;
|
|
2
2
|
export declare function multiRecordBy<T>(arr: T[], key: (el: T) => string): Record<string, T[]>;
|
|
3
3
|
export declare function deduplicateBy<T>(arr: T[], key: (el: T) => string, combine?: (a: T, b: T) => T): T[];
|
|
4
|
+
export declare function sveltekitAbsolutePath(resolveRelative: (s: string) => string, getCurrentPath: () => string): (s: string) => string;
|
|
5
|
+
export declare function sveltekitAnchoredPath(origin: string, resolveRelative: (s: string) => string, getCurrentPath: () => string): (s: string) => string;
|
|
4
6
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/util/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util/util.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,CAAC,EACzB,GAAG,EAAE,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GACzB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAYnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAMtF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC9B,GAAG,EAAE,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GACzB,CAAC,EAAE,CAEL"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util/util.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,CAAC,EACzB,GAAG,EAAE,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GACzB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAYnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAMtF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC9B,GAAG,EAAE,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GACzB,CAAC,EAAE,CAEL;AAED,wBAAgB,qBAAqB,CACpC,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACtC,cAAc,EAAE,MAAM,MAAM,GAC1B,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAmBvB;AAED,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACtC,cAAc,EAAE,MAAM,MAAM,GAC1B,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAGvB"}
|
package/dist/util/util.js
CHANGED
|
@@ -20,3 +20,23 @@ export function multiRecordBy(arr, key) {
|
|
|
20
20
|
export function deduplicateBy(arr, key, combine) {
|
|
21
21
|
return Object.values(asRecord(arr, key, combine));
|
|
22
22
|
}
|
|
23
|
+
export function sveltekitAbsolutePath(resolveRelative, getCurrentPath) {
|
|
24
|
+
return (s) => {
|
|
25
|
+
const pagepath = getCurrentPath().split('/').slice(0, -1);
|
|
26
|
+
const rel = resolveRelative(s).split('/');
|
|
27
|
+
if (rel[0]?.length === 0) {
|
|
28
|
+
// It's absolute
|
|
29
|
+
return rel.join('/');
|
|
30
|
+
}
|
|
31
|
+
const backs = rel.filter((r) => r == '..').length;
|
|
32
|
+
const resolved = pagepath
|
|
33
|
+
.slice(0, pagepath.length - backs)
|
|
34
|
+
.concat(rel.slice(backs))
|
|
35
|
+
.join('/');
|
|
36
|
+
return resolved;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function sveltekitAnchoredPath(origin, resolveRelative, getCurrentPath) {
|
|
40
|
+
const abspath = sveltekitAbsolutePath(resolveRelative, getCurrentPath);
|
|
41
|
+
return (s) => `${origin}${abspath(s)}`;
|
|
42
|
+
}
|
package/package.json
CHANGED
package/src/lib/util/index.ts
CHANGED
|
@@ -25,6 +25,12 @@ export { formatDate } from './date.ts';
|
|
|
25
25
|
export { markdown } from './markdown.ts';
|
|
26
26
|
export { smoothScroll } from './smoothscroll.ts';
|
|
27
27
|
export { setLibraryConfig, type LibraryConfig } from './phosart_config.svelte.ts';
|
|
28
|
-
export {
|
|
28
|
+
export {
|
|
29
|
+
asRecord,
|
|
30
|
+
multiRecordBy,
|
|
31
|
+
deduplicateBy,
|
|
32
|
+
sveltekitAbsolutePath,
|
|
33
|
+
sveltekitAnchoredPath
|
|
34
|
+
} from './util.ts';
|
|
29
35
|
export { asTree, pathView } from './tree.ts';
|
|
30
36
|
export type { FolderElement, GalleryElement, GalleryTree, TreeElement } from './tree.ts';
|
package/src/lib/util/util.ts
CHANGED
|
@@ -35,3 +35,36 @@ export function deduplicateBy<T>(
|
|
|
35
35
|
): T[] {
|
|
36
36
|
return Object.values(asRecord(arr, key, combine));
|
|
37
37
|
}
|
|
38
|
+
|
|
39
|
+
export function sveltekitAbsolutePath(
|
|
40
|
+
resolveRelative: (s: string) => string,
|
|
41
|
+
getCurrentPath: () => string
|
|
42
|
+
): (s: string) => string {
|
|
43
|
+
return (s) => {
|
|
44
|
+
const pagepath = getCurrentPath().split('/').slice(0, -1);
|
|
45
|
+
const rel = resolveRelative(s).split('/');
|
|
46
|
+
|
|
47
|
+
if (rel[0]?.length === 0) {
|
|
48
|
+
// It's absolute
|
|
49
|
+
return rel.join('/');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const backs = rel.filter((r) => r == '..').length;
|
|
53
|
+
|
|
54
|
+
const resolved = pagepath
|
|
55
|
+
.slice(0, pagepath.length - backs)
|
|
56
|
+
.concat(rel.slice(backs))
|
|
57
|
+
.join('/');
|
|
58
|
+
|
|
59
|
+
return resolved;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function sveltekitAnchoredPath(
|
|
64
|
+
origin: string,
|
|
65
|
+
resolveRelative: (s: string) => string,
|
|
66
|
+
getCurrentPath: () => string
|
|
67
|
+
): (s: string) => string {
|
|
68
|
+
const abspath = sveltekitAbsolutePath(resolveRelative, getCurrentPath);
|
|
69
|
+
return (s) => `${origin}${abspath(s)}`;
|
|
70
|
+
}
|