@interactive-inc/docs-client 0.0.6 → 0.0.8
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/README.md +0 -228
- package/build/index.d.ts +1921 -42
- package/build/index.js +4617 -39
- package/build/models.d.ts +34 -32
- package/build/models.js +219 -275
- package/package.json +4 -4
- package/tsup.config.ts +10 -0
- package/build/doc-client.d.ts +0 -59
- package/build/doc-client.d.ts.map +0 -1
- package/build/doc-client.js +0 -95
- package/build/doc-client.test.d.ts +0 -2
- package/build/doc-client.test.d.ts.map +0 -1
- package/build/doc-client.test.js +0 -38
- package/build/doc-directory-reference.d.ts +0 -65
- package/build/doc-directory-reference.d.ts.map +0 -1
- package/build/doc-directory-reference.js +0 -292
- package/build/doc-directory-reference.test.d.ts +0 -2
- package/build/doc-directory-reference.test.d.ts.map +0 -1
- package/build/doc-directory-reference.test.js +0 -100
- package/build/doc-file-index-reference.d.ts +0 -72
- package/build/doc-file-index-reference.d.ts.map +0 -1
- package/build/doc-file-index-reference.js +0 -191
- package/build/doc-file-index-reference.test.d.ts +0 -2
- package/build/doc-file-index-reference.test.d.ts.map +0 -1
- package/build/doc-file-index-reference.test.js +0 -77
- package/build/doc-file-md-reference.d.ts +0 -97
- package/build/doc-file-md-reference.d.ts.map +0 -1
- package/build/doc-file-md-reference.js +0 -297
- package/build/doc-file-md-reference.test.d.ts +0 -2
- package/build/doc-file-md-reference.test.d.ts.map +0 -1
- package/build/doc-file-md-reference.test.js +0 -465
- package/build/doc-file-relation-reference.d.ts +0 -54
- package/build/doc-file-relation-reference.d.ts.map +0 -1
- package/build/doc-file-relation-reference.js +0 -109
- package/build/doc-file-system-debug.d.ts +0 -81
- package/build/doc-file-system-debug.d.ts.map +0 -1
- package/build/doc-file-system-debug.js +0 -317
- package/build/doc-file-system.d.ts +0 -100
- package/build/doc-file-system.d.ts.map +0 -1
- package/build/doc-file-system.js +0 -210
- package/build/doc-file-tree-system.d.ts +0 -38
- package/build/doc-file-tree-system.d.ts.map +0 -1
- package/build/doc-file-tree-system.js +0 -153
- package/build/doc-file-tree-system.test.d.ts +0 -2
- package/build/doc-file-tree-system.test.d.ts.map +0 -1
- package/build/doc-file-tree-system.test.js +0 -105
- package/build/doc-file-unknown-reference.d.ts +0 -80
- package/build/doc-file-unknown-reference.d.ts.map +0 -1
- package/build/doc-file-unknown-reference.js +0 -181
- package/build/doc-file-unknown-reference.test.d.ts +0 -2
- package/build/doc-file-unknown-reference.test.d.ts.map +0 -1
- package/build/doc-file-unknown-reference.test.js +0 -73
- package/build/doc-markdown-system.d.ts +0 -44
- package/build/doc-markdown-system.d.ts.map +0 -1
- package/build/doc-markdown-system.js +0 -153
- package/build/doc-markdown-system.test.d.ts +0 -2
- package/build/doc-markdown-system.test.d.ts.map +0 -1
- package/build/doc-markdown-system.test.js +0 -124
- package/build/doc-path-system.d.ts +0 -43
- package/build/doc-path-system.d.ts.map +0 -1
- package/build/doc-path-system.js +0 -148
- package/build/doc-path-system.test.d.ts +0 -2
- package/build/doc-path-system.test.d.ts.map +0 -1
- package/build/doc-path-system.test.js +0 -67
- package/build/entities/doc-file-entity.d.ts +0 -5
- package/build/entities/doc-file-entity.d.ts.map +0 -1
- package/build/entities/doc-file-entity.js +0 -1
- package/build/entities/doc-file-index-entity.d.ts +0 -30
- package/build/entities/doc-file-index-entity.d.ts.map +0 -1
- package/build/entities/doc-file-index-entity.js +0 -49
- package/build/entities/doc-file-index-entity.test.d.ts +0 -2
- package/build/entities/doc-file-index-entity.test.d.ts.map +0 -1
- package/build/entities/doc-file-index-entity.test.js +0 -195
- package/build/entities/doc-file-md-entity.d.ts +0 -30
- package/build/entities/doc-file-md-entity.d.ts.map +0 -1
- package/build/entities/doc-file-md-entity.js +0 -49
- package/build/entities/doc-file-md-entity.test.d.ts +0 -2
- package/build/entities/doc-file-md-entity.test.d.ts.map +0 -1
- package/build/entities/doc-file-md-entity.test.js +0 -178
- package/build/entities/doc-file-unknown-entity.d.ts +0 -26
- package/build/entities/doc-file-unknown-entity.d.ts.map +0 -1
- package/build/entities/doc-file-unknown-entity.js +0 -45
- package/build/entities/doc-file-unknown-entity.test.d.ts +0 -2
- package/build/entities/doc-file-unknown-entity.test.d.ts.map +0 -1
- package/build/entities/doc-file-unknown-entity.test.js +0 -131
- package/build/index.d.ts.map +0 -1
- package/build/models.d.ts.map +0 -1
- package/build/types.d.ts +0 -154
- package/build/types.d.ts.map +0 -1
- package/build/types.js +0 -1
- package/build/values/doc-content-md-front-matter-value.d.ts +0 -49
- package/build/values/doc-content-md-front-matter-value.d.ts.map +0 -1
- package/build/values/doc-content-md-front-matter-value.js +0 -94
- package/build/values/doc-content-md-front-matter-value.test.d.ts +0 -2
- package/build/values/doc-content-md-front-matter-value.test.d.ts.map +0 -1
- package/build/values/doc-content-md-front-matter-value.test.js +0 -73
- package/build/values/doc-content-md-value.d.ts +0 -66
- package/build/values/doc-content-md-value.d.ts.map +0 -1
- package/build/values/doc-content-md-value.js +0 -218
- package/build/values/doc-content-md-value.test.d.ts +0 -2
- package/build/values/doc-content-md-value.test.d.ts.map +0 -1
- package/build/values/doc-content-md-value.test.js +0 -179
- package/build/values/doc-directory-path-value.d.ts +0 -89
- package/build/values/doc-directory-path-value.d.ts.map +0 -1
- package/build/values/doc-directory-path-value.js +0 -145
- package/build/values/doc-directory-path-value.test.d.ts +0 -2
- package/build/values/doc-directory-path-value.test.d.ts.map +0 -1
- package/build/values/doc-directory-path-value.test.js +0 -68
- package/build/values/doc-file-content-index-value.d.ts +0 -62
- package/build/values/doc-file-content-index-value.d.ts.map +0 -1
- package/build/values/doc-file-content-index-value.js +0 -134
- package/build/values/doc-file-content-index-value.test.d.ts +0 -2
- package/build/values/doc-file-content-index-value.test.d.ts.map +0 -1
- package/build/values/doc-file-content-index-value.test.js +0 -203
- package/build/values/doc-file-content-md-value.d.ts +0 -62
- package/build/values/doc-file-content-md-value.d.ts.map +0 -1
- package/build/values/doc-file-content-md-value.js +0 -139
- package/build/values/doc-file-content-md-value.test.d.ts +0 -2
- package/build/values/doc-file-content-md-value.test.d.ts.map +0 -1
- package/build/values/doc-file-content-md-value.test.js +0 -160
- package/build/values/doc-file-path-value.d.ts +0 -47
- package/build/values/doc-file-path-value.d.ts.map +0 -1
- package/build/values/doc-file-path-value.js +0 -83
- package/build/values/doc-file-path-value.test.d.ts +0 -2
- package/build/values/doc-file-path-value.test.d.ts.map +0 -1
- package/build/values/doc-file-path-value.test.js +0 -84
- package/build/values/doc-front-matter-index-value.d.ts +0 -66
- package/build/values/doc-front-matter-index-value.d.ts.map +0 -1
- package/build/values/doc-front-matter-index-value.js +0 -185
- package/build/values/doc-front-matter-index-value.test.d.ts +0 -2
- package/build/values/doc-front-matter-index-value.test.d.ts.map +0 -1
- package/build/values/doc-front-matter-index-value.test.js +0 -98
- package/build/values/doc-front-matter-md-value-accessor.test.d.ts +0 -2
- package/build/values/doc-front-matter-md-value-accessor.test.d.ts.map +0 -1
- package/build/values/doc-front-matter-md-value-accessor.test.js +0 -226
- package/build/values/doc-front-matter-md-value.d.ts +0 -80
- package/build/values/doc-front-matter-md-value.d.ts.map +0 -1
- package/build/values/doc-front-matter-md-value.js +0 -257
- package/build/values/doc-front-matter-md-value.test.d.ts +0 -2
- package/build/values/doc-front-matter-md-value.test.d.ts.map +0 -1
- package/build/values/doc-front-matter-md-value.test.js +0 -198
- package/build/values/doc-relation-field-value.d.ts +0 -57
- package/build/values/doc-relation-field-value.d.ts.map +0 -1
- package/build/values/doc-relation-field-value.js +0 -85
- package/build/values/doc-relation-field-value.test.d.ts +0 -2
- package/build/values/doc-relation-field-value.test.d.ts.map +0 -1
- package/build/values/doc-relation-field-value.test.js +0 -115
- package/build/values/doc-relation-file-value.d.ts +0 -33
- package/build/values/doc-relation-file-value.d.ts.map +0 -1
- package/build/values/doc-relation-file-value.js +0 -55
- package/build/values/doc-relation-file-value.test.d.ts +0 -2
- package/build/values/doc-relation-file-value.test.d.ts.map +0 -1
- package/build/values/doc-relation-file-value.test.js +0 -77
- package/build/values/doc-relation-value.d.ts +0 -34
- package/build/values/doc-relation-value.d.ts.map +0 -1
- package/build/values/doc-relation-value.js +0 -56
- package/build/values/doc-relation-value.test.d.ts +0 -2
- package/build/values/doc-relation-value.test.d.ts.map +0 -1
- package/build/values/doc-relation-value.test.js +0 -89
- package/build/values/doc-schema-field-boolean-multiple-value.d.ts +0 -23
- package/build/values/doc-schema-field-boolean-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-boolean-multiple-value.js +0 -43
- package/build/values/doc-schema-field-boolean-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-boolean-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-boolean-multiple-value.test.js +0 -76
- package/build/values/doc-schema-field-boolean-single-value.d.ts +0 -23
- package/build/values/doc-schema-field-boolean-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-boolean-single-value.js +0 -39
- package/build/values/doc-schema-field-boolean-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-boolean-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-boolean-single-value.test.js +0 -73
- package/build/values/doc-schema-field-factory.d.ts +0 -37
- package/build/values/doc-schema-field-factory.d.ts.map +0 -1
- package/build/values/doc-schema-field-factory.js +0 -151
- package/build/values/doc-schema-field-factory.test.d.ts +0 -2
- package/build/values/doc-schema-field-factory.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-factory.test.js +0 -215
- package/build/values/doc-schema-field-number-multiple-value.d.ts +0 -23
- package/build/values/doc-schema-field-number-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-number-multiple-value.js +0 -43
- package/build/values/doc-schema-field-number-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-number-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-number-multiple-value.test.js +0 -79
- package/build/values/doc-schema-field-number-single-value.d.ts +0 -23
- package/build/values/doc-schema-field-number-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-number-single-value.js +0 -39
- package/build/values/doc-schema-field-number-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-number-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-number-single-value.test.js +0 -77
- package/build/values/doc-schema-field-relation-multiple-value.d.ts +0 -24
- package/build/values/doc-schema-field-relation-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-relation-multiple-value.js +0 -46
- package/build/values/doc-schema-field-relation-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-relation-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-relation-multiple-value.test.js +0 -83
- package/build/values/doc-schema-field-relation-single-value.d.ts +0 -24
- package/build/values/doc-schema-field-relation-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-relation-single-value.js +0 -42
- package/build/values/doc-schema-field-relation-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-relation-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-relation-single-value.test.js +0 -83
- package/build/values/doc-schema-field-select-number-multiple-value.d.ts +0 -25
- package/build/values/doc-schema-field-select-number-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-number-multiple-value.js +0 -48
- package/build/values/doc-schema-field-select-number-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-select-number-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-number-multiple-value.test.js +0 -84
- package/build/values/doc-schema-field-select-number-single-value.d.ts +0 -25
- package/build/values/doc-schema-field-select-number-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-number-single-value.js +0 -45
- package/build/values/doc-schema-field-select-number-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-select-number-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-number-single-value.test.js +0 -96
- package/build/values/doc-schema-field-select-text-multiple-value.d.ts +0 -25
- package/build/values/doc-schema-field-select-text-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-text-multiple-value.js +0 -48
- package/build/values/doc-schema-field-select-text-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-select-text-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-text-multiple-value.test.js +0 -84
- package/build/values/doc-schema-field-select-text-single-value.d.ts +0 -25
- package/build/values/doc-schema-field-select-text-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-text-single-value.js +0 -47
- package/build/values/doc-schema-field-select-text-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-select-text-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-select-text-single-value.test.js +0 -96
- package/build/values/doc-schema-field-text-multiple-value.d.ts +0 -23
- package/build/values/doc-schema-field-text-multiple-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-text-multiple-value.js +0 -43
- package/build/values/doc-schema-field-text-multiple-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-text-multiple-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-text-multiple-value.test.js +0 -78
- package/build/values/doc-schema-field-text-single-value.d.ts +0 -23
- package/build/values/doc-schema-field-text-single-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-text-single-value.js +0 -39
- package/build/values/doc-schema-field-text-single-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-text-single-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-text-single-value.test.js +0 -76
- package/build/values/doc-schema-field-type-value.d.ts +0 -61
- package/build/values/doc-schema-field-type-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-type-value.js +0 -134
- package/build/values/doc-schema-field-type-value.test.d.ts +0 -2
- package/build/values/doc-schema-field-type-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-field-type-value.test.js +0 -101
- package/build/values/doc-schema-field-value.d.ts +0 -45
- package/build/values/doc-schema-field-value.d.ts.map +0 -1
- package/build/values/doc-schema-field-value.js +0 -1
- package/build/values/doc-schema-value.d.ts +0 -99
- package/build/values/doc-schema-value.d.ts.map +0 -1
- package/build/values/doc-schema-value.js +0 -269
- package/build/values/doc-schema-value.test.d.ts +0 -2
- package/build/values/doc-schema-value.test.d.ts.map +0 -1
- package/build/values/doc-schema-value.test.js +0 -301
- package/build/values/doc-tree-directory-node-value.d.ts +0 -36
- package/build/values/doc-tree-directory-node-value.d.ts.map +0 -1
- package/build/values/doc-tree-directory-node-value.js +0 -71
- package/build/values/doc-tree-directory-node-value.test.d.ts +0 -2
- package/build/values/doc-tree-directory-node-value.test.d.ts.map +0 -1
- package/build/values/doc-tree-directory-node-value.test.js +0 -162
- package/build/values/doc-tree-file-node-value.d.ts +0 -33
- package/build/values/doc-tree-file-node-value.d.ts.map +0 -1
- package/build/values/doc-tree-file-node-value.js +0 -56
- package/build/values/doc-tree-file-node-value.test.d.ts +0 -2
- package/build/values/doc-tree-file-node-value.test.d.ts.map +0 -1
- package/build/values/doc-tree-file-node-value.test.js +0 -113
- package/debug/debug.ts +0 -108
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "bun:test";
|
|
2
|
-
import { DocTreeFileNodeValue } from "./doc-tree-file-node-value";
|
|
3
|
-
test("ファイルノードの基本プロパティを取得できる", () => {
|
|
4
|
-
const node = new DocTreeFileNodeValue({
|
|
5
|
-
name: "overview",
|
|
6
|
-
path: "docs/overview.md",
|
|
7
|
-
icon: "📄",
|
|
8
|
-
title: "概要",
|
|
9
|
-
});
|
|
10
|
-
expect(node.name).toBe("overview");
|
|
11
|
-
expect(node.path).toBe("docs/overview.md");
|
|
12
|
-
expect(node.icon).toBe("📄");
|
|
13
|
-
expect(node.title).toBe("概要");
|
|
14
|
-
expect(node.type).toBe("file");
|
|
15
|
-
});
|
|
16
|
-
test("fromメソッドでインスタンスを生成できる", () => {
|
|
17
|
-
const node = DocTreeFileNodeValue.from({
|
|
18
|
-
name: "readme",
|
|
19
|
-
path: "readme.md",
|
|
20
|
-
icon: "📝",
|
|
21
|
-
title: "README",
|
|
22
|
-
});
|
|
23
|
-
expect(node.name).toBe("readme");
|
|
24
|
-
expect(node.path).toBe("readme.md");
|
|
25
|
-
expect(node.icon).toBe("📝");
|
|
26
|
-
expect(node.title).toBe("README");
|
|
27
|
-
});
|
|
28
|
-
test("JSON形式に変換できる", () => {
|
|
29
|
-
const node = new DocTreeFileNodeValue({
|
|
30
|
-
name: "config",
|
|
31
|
-
path: "docs/config.md",
|
|
32
|
-
icon: "⚙️",
|
|
33
|
-
title: "設定",
|
|
34
|
-
});
|
|
35
|
-
const json = node.toJson();
|
|
36
|
-
expect(json).toEqual({
|
|
37
|
-
name: "config",
|
|
38
|
-
path: "docs/config.md",
|
|
39
|
-
type: "file",
|
|
40
|
-
icon: "⚙️",
|
|
41
|
-
title: "設定",
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
test("JSONからインスタンスを生成できる", () => {
|
|
45
|
-
const json = {
|
|
46
|
-
name: "api-reference",
|
|
47
|
-
path: "docs/api/reference.md",
|
|
48
|
-
type: "file",
|
|
49
|
-
icon: "🔗",
|
|
50
|
-
title: "APIリファレンス",
|
|
51
|
-
};
|
|
52
|
-
const node = DocTreeFileNodeValue.fromJson(json);
|
|
53
|
-
expect(node.name).toBe("api-reference");
|
|
54
|
-
expect(node.path).toBe("docs/api/reference.md");
|
|
55
|
-
expect(node.icon).toBe("🔗");
|
|
56
|
-
expect(node.title).toBe("APIリファレンス");
|
|
57
|
-
expect(node.type).toBe("file");
|
|
58
|
-
});
|
|
59
|
-
test("異なるアイコンやタイトルでノードを作成できる", () => {
|
|
60
|
-
const nodes = [
|
|
61
|
-
new DocTreeFileNodeValue({
|
|
62
|
-
name: "guide",
|
|
63
|
-
path: "docs/guide.md",
|
|
64
|
-
icon: "📖",
|
|
65
|
-
title: "ガイド",
|
|
66
|
-
}),
|
|
67
|
-
new DocTreeFileNodeValue({
|
|
68
|
-
name: "changelog",
|
|
69
|
-
path: "changelog.md",
|
|
70
|
-
icon: "📅",
|
|
71
|
-
title: "変更履歴",
|
|
72
|
-
}),
|
|
73
|
-
new DocTreeFileNodeValue({
|
|
74
|
-
name: "license",
|
|
75
|
-
path: "license.md",
|
|
76
|
-
icon: "📜",
|
|
77
|
-
title: "ライセンス",
|
|
78
|
-
}),
|
|
79
|
-
];
|
|
80
|
-
expect(nodes[0].icon).toBe("📖");
|
|
81
|
-
expect(nodes[1].icon).toBe("📅");
|
|
82
|
-
expect(nodes[2].icon).toBe("📜");
|
|
83
|
-
});
|
|
84
|
-
test("パスに深いディレクトリ構造を持つファイルも作成できる", () => {
|
|
85
|
-
const node = new DocTreeFileNodeValue({
|
|
86
|
-
name: "deep-file",
|
|
87
|
-
path: "docs/products/client/features/auth/login.md",
|
|
88
|
-
icon: "🔐",
|
|
89
|
-
title: "ログイン機能",
|
|
90
|
-
});
|
|
91
|
-
expect(node.path).toBe("docs/products/client/features/auth/login.md");
|
|
92
|
-
expect(node.name).toBe("deep-file");
|
|
93
|
-
});
|
|
94
|
-
test("無効なJSONでエラーが発生する", () => {
|
|
95
|
-
expect(() => {
|
|
96
|
-
DocTreeFileNodeValue.fromJson({
|
|
97
|
-
// nameが欠けている
|
|
98
|
-
path: "test.md",
|
|
99
|
-
type: "file",
|
|
100
|
-
icon: "📄",
|
|
101
|
-
title: "テスト",
|
|
102
|
-
});
|
|
103
|
-
}).toThrow();
|
|
104
|
-
expect(() => {
|
|
105
|
-
DocTreeFileNodeValue.fromJson({
|
|
106
|
-
name: "test",
|
|
107
|
-
// pathが欠けている
|
|
108
|
-
type: "file",
|
|
109
|
-
icon: "📄",
|
|
110
|
-
title: "テスト",
|
|
111
|
-
});
|
|
112
|
-
}).toThrow();
|
|
113
|
-
});
|
package/debug/debug.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { DocClient } from "../lib/doc-client"
|
|
2
|
-
import { DocFileSystem } from "../lib/doc-file-system"
|
|
3
|
-
import { DocPathSystem } from "../lib/doc-path-system"
|
|
4
|
-
|
|
5
|
-
// DocClientの初期化
|
|
6
|
-
const basePath = "/Users/n/Documents/open-docs/docs" // docs ディレクトリをベースパスに
|
|
7
|
-
const pathSystem = new DocPathSystem()
|
|
8
|
-
const fileSystem = new DocFileSystem({
|
|
9
|
-
basePath,
|
|
10
|
-
pathSystem,
|
|
11
|
-
})
|
|
12
|
-
const docClient = new DocClient({
|
|
13
|
-
fileSystem,
|
|
14
|
-
pathSystem,
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
async function demonstrateRelations() {
|
|
18
|
-
console.log("=== DocClient リレーション機能のデモ ===\n")
|
|
19
|
-
|
|
20
|
-
// 1. ファイルを取得 (.mdファイルなのでmdFile()を使用)
|
|
21
|
-
const pageFile = docClient.mdFile("products/doc-browser/pages/home.md")
|
|
22
|
-
console.log("1. ファイルを取得:")
|
|
23
|
-
console.log(` パス: ${pageFile.path}`)
|
|
24
|
-
|
|
25
|
-
// 2. ファイルの内容を読み込む
|
|
26
|
-
const pageEntity = await pageFile.read()
|
|
27
|
-
if (pageEntity instanceof Error) {
|
|
28
|
-
console.error(" エラー:", pageEntity.message)
|
|
29
|
-
return
|
|
30
|
-
}
|
|
31
|
-
console.log(` タイトル: ${pageEntity.content.title}`)
|
|
32
|
-
console.log(` FrontMatter:`, pageEntity.content.frontMatter.value)
|
|
33
|
-
|
|
34
|
-
// 3. 単一のリレーションを取得(author)
|
|
35
|
-
console.log("\n2. 単一のリレーションを取得 (author):")
|
|
36
|
-
const authorRelation = await pageFile.relation("author")
|
|
37
|
-
if (authorRelation && !(authorRelation instanceof Error)) {
|
|
38
|
-
console.log(` リレーション先のパス: ${authorRelation.path}`)
|
|
39
|
-
|
|
40
|
-
// リレーション先のファイルを読み込む
|
|
41
|
-
const authorEntity = await authorRelation.read()
|
|
42
|
-
if (!(authorEntity instanceof Error)) {
|
|
43
|
-
console.log(` 著者名: ${authorEntity.content.title}`)
|
|
44
|
-
console.log(
|
|
45
|
-
` 内容の一部: ${authorEntity.content.body.substring(0, 50)}...`,
|
|
46
|
-
)
|
|
47
|
-
} else {
|
|
48
|
-
console.log(` 読み込みエラー: ${authorEntity.message}`)
|
|
49
|
-
}
|
|
50
|
-
} else if (authorRelation instanceof Error) {
|
|
51
|
-
console.log(` エラー: ${authorRelation.message}`)
|
|
52
|
-
} else {
|
|
53
|
-
console.log(" リレーションが見つかりません")
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// 4. 複数のリレーションを取得(features)
|
|
57
|
-
console.log("\n3. 複数のリレーションを取得 (features):")
|
|
58
|
-
const featureRelations = await pageFile.relations("features")
|
|
59
|
-
console.log(` 機能数: ${featureRelations.length}`)
|
|
60
|
-
|
|
61
|
-
for (const featureRef of featureRelations) {
|
|
62
|
-
console.log(` - パス: ${featureRef.path}`)
|
|
63
|
-
const featureEntity = await featureRef.read()
|
|
64
|
-
if (!(featureEntity instanceof Error)) {
|
|
65
|
-
console.log(` タイトル: ${featureEntity.content.title}`)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// 4.5. 別の単一リレーションを取得(category)
|
|
70
|
-
console.log("\n4. 別の単一リレーションを取得 (category):")
|
|
71
|
-
const categoryRelation = await pageFile.relation("category")
|
|
72
|
-
if (categoryRelation && !(categoryRelation instanceof Error)) {
|
|
73
|
-
console.log(` リレーション先のパス: ${categoryRelation.path}`)
|
|
74
|
-
const categoryEntity = await categoryRelation.read()
|
|
75
|
-
if (!(categoryEntity instanceof Error)) {
|
|
76
|
-
console.log(` カテゴリー名: ${categoryEntity.content.title}`)
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// 5. ディレクトリのindex.mdからスキーマを確認
|
|
81
|
-
console.log("\n5. ディレクトリのindex.mdからスキーマを確認:")
|
|
82
|
-
const indexFile = await pageFile.getDirectoryIndex()
|
|
83
|
-
if (indexFile) {
|
|
84
|
-
const schema = indexFile.content.frontMatter.value.schema
|
|
85
|
-
console.log(" スキーマ定義:")
|
|
86
|
-
if (schema && typeof schema === "object") {
|
|
87
|
-
for (const [key, field] of Object.entries(schema)) {
|
|
88
|
-
if (typeof field === "object" && field !== null && "type" in field) {
|
|
89
|
-
console.log(` - ${key}: ${field.type}`)
|
|
90
|
-
if ("path" in field) {
|
|
91
|
-
console.log(` パス: ${field.path}`)
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// 6. ディレクトリ内のファイル一覧を取得
|
|
99
|
-
console.log("\n6. ディレクトリ内のファイル一覧:")
|
|
100
|
-
const pagesDir = docClient.directory("products/doc-browser/pages")
|
|
101
|
-
const files = await pagesDir.files()
|
|
102
|
-
for (const file of files) {
|
|
103
|
-
console.log(` - ${file.path}`)
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// 実行
|
|
108
|
-
demonstrateRelations().catch(console.error)
|