@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.
Files changed (265) hide show
  1. package/README.md +0 -228
  2. package/build/index.d.ts +1921 -42
  3. package/build/index.js +4617 -39
  4. package/build/models.d.ts +34 -32
  5. package/build/models.js +219 -275
  6. package/package.json +4 -4
  7. package/tsup.config.ts +10 -0
  8. package/build/doc-client.d.ts +0 -59
  9. package/build/doc-client.d.ts.map +0 -1
  10. package/build/doc-client.js +0 -95
  11. package/build/doc-client.test.d.ts +0 -2
  12. package/build/doc-client.test.d.ts.map +0 -1
  13. package/build/doc-client.test.js +0 -38
  14. package/build/doc-directory-reference.d.ts +0 -65
  15. package/build/doc-directory-reference.d.ts.map +0 -1
  16. package/build/doc-directory-reference.js +0 -292
  17. package/build/doc-directory-reference.test.d.ts +0 -2
  18. package/build/doc-directory-reference.test.d.ts.map +0 -1
  19. package/build/doc-directory-reference.test.js +0 -100
  20. package/build/doc-file-index-reference.d.ts +0 -72
  21. package/build/doc-file-index-reference.d.ts.map +0 -1
  22. package/build/doc-file-index-reference.js +0 -191
  23. package/build/doc-file-index-reference.test.d.ts +0 -2
  24. package/build/doc-file-index-reference.test.d.ts.map +0 -1
  25. package/build/doc-file-index-reference.test.js +0 -77
  26. package/build/doc-file-md-reference.d.ts +0 -97
  27. package/build/doc-file-md-reference.d.ts.map +0 -1
  28. package/build/doc-file-md-reference.js +0 -297
  29. package/build/doc-file-md-reference.test.d.ts +0 -2
  30. package/build/doc-file-md-reference.test.d.ts.map +0 -1
  31. package/build/doc-file-md-reference.test.js +0 -465
  32. package/build/doc-file-relation-reference.d.ts +0 -54
  33. package/build/doc-file-relation-reference.d.ts.map +0 -1
  34. package/build/doc-file-relation-reference.js +0 -109
  35. package/build/doc-file-system-debug.d.ts +0 -81
  36. package/build/doc-file-system-debug.d.ts.map +0 -1
  37. package/build/doc-file-system-debug.js +0 -317
  38. package/build/doc-file-system.d.ts +0 -100
  39. package/build/doc-file-system.d.ts.map +0 -1
  40. package/build/doc-file-system.js +0 -210
  41. package/build/doc-file-tree-system.d.ts +0 -38
  42. package/build/doc-file-tree-system.d.ts.map +0 -1
  43. package/build/doc-file-tree-system.js +0 -153
  44. package/build/doc-file-tree-system.test.d.ts +0 -2
  45. package/build/doc-file-tree-system.test.d.ts.map +0 -1
  46. package/build/doc-file-tree-system.test.js +0 -105
  47. package/build/doc-file-unknown-reference.d.ts +0 -80
  48. package/build/doc-file-unknown-reference.d.ts.map +0 -1
  49. package/build/doc-file-unknown-reference.js +0 -181
  50. package/build/doc-file-unknown-reference.test.d.ts +0 -2
  51. package/build/doc-file-unknown-reference.test.d.ts.map +0 -1
  52. package/build/doc-file-unknown-reference.test.js +0 -73
  53. package/build/doc-markdown-system.d.ts +0 -44
  54. package/build/doc-markdown-system.d.ts.map +0 -1
  55. package/build/doc-markdown-system.js +0 -153
  56. package/build/doc-markdown-system.test.d.ts +0 -2
  57. package/build/doc-markdown-system.test.d.ts.map +0 -1
  58. package/build/doc-markdown-system.test.js +0 -124
  59. package/build/doc-path-system.d.ts +0 -43
  60. package/build/doc-path-system.d.ts.map +0 -1
  61. package/build/doc-path-system.js +0 -148
  62. package/build/doc-path-system.test.d.ts +0 -2
  63. package/build/doc-path-system.test.d.ts.map +0 -1
  64. package/build/doc-path-system.test.js +0 -67
  65. package/build/entities/doc-file-entity.d.ts +0 -5
  66. package/build/entities/doc-file-entity.d.ts.map +0 -1
  67. package/build/entities/doc-file-entity.js +0 -1
  68. package/build/entities/doc-file-index-entity.d.ts +0 -30
  69. package/build/entities/doc-file-index-entity.d.ts.map +0 -1
  70. package/build/entities/doc-file-index-entity.js +0 -49
  71. package/build/entities/doc-file-index-entity.test.d.ts +0 -2
  72. package/build/entities/doc-file-index-entity.test.d.ts.map +0 -1
  73. package/build/entities/doc-file-index-entity.test.js +0 -195
  74. package/build/entities/doc-file-md-entity.d.ts +0 -30
  75. package/build/entities/doc-file-md-entity.d.ts.map +0 -1
  76. package/build/entities/doc-file-md-entity.js +0 -49
  77. package/build/entities/doc-file-md-entity.test.d.ts +0 -2
  78. package/build/entities/doc-file-md-entity.test.d.ts.map +0 -1
  79. package/build/entities/doc-file-md-entity.test.js +0 -178
  80. package/build/entities/doc-file-unknown-entity.d.ts +0 -26
  81. package/build/entities/doc-file-unknown-entity.d.ts.map +0 -1
  82. package/build/entities/doc-file-unknown-entity.js +0 -45
  83. package/build/entities/doc-file-unknown-entity.test.d.ts +0 -2
  84. package/build/entities/doc-file-unknown-entity.test.d.ts.map +0 -1
  85. package/build/entities/doc-file-unknown-entity.test.js +0 -131
  86. package/build/index.d.ts.map +0 -1
  87. package/build/models.d.ts.map +0 -1
  88. package/build/types.d.ts +0 -154
  89. package/build/types.d.ts.map +0 -1
  90. package/build/types.js +0 -1
  91. package/build/values/doc-content-md-front-matter-value.d.ts +0 -49
  92. package/build/values/doc-content-md-front-matter-value.d.ts.map +0 -1
  93. package/build/values/doc-content-md-front-matter-value.js +0 -94
  94. package/build/values/doc-content-md-front-matter-value.test.d.ts +0 -2
  95. package/build/values/doc-content-md-front-matter-value.test.d.ts.map +0 -1
  96. package/build/values/doc-content-md-front-matter-value.test.js +0 -73
  97. package/build/values/doc-content-md-value.d.ts +0 -66
  98. package/build/values/doc-content-md-value.d.ts.map +0 -1
  99. package/build/values/doc-content-md-value.js +0 -218
  100. package/build/values/doc-content-md-value.test.d.ts +0 -2
  101. package/build/values/doc-content-md-value.test.d.ts.map +0 -1
  102. package/build/values/doc-content-md-value.test.js +0 -179
  103. package/build/values/doc-directory-path-value.d.ts +0 -89
  104. package/build/values/doc-directory-path-value.d.ts.map +0 -1
  105. package/build/values/doc-directory-path-value.js +0 -145
  106. package/build/values/doc-directory-path-value.test.d.ts +0 -2
  107. package/build/values/doc-directory-path-value.test.d.ts.map +0 -1
  108. package/build/values/doc-directory-path-value.test.js +0 -68
  109. package/build/values/doc-file-content-index-value.d.ts +0 -62
  110. package/build/values/doc-file-content-index-value.d.ts.map +0 -1
  111. package/build/values/doc-file-content-index-value.js +0 -134
  112. package/build/values/doc-file-content-index-value.test.d.ts +0 -2
  113. package/build/values/doc-file-content-index-value.test.d.ts.map +0 -1
  114. package/build/values/doc-file-content-index-value.test.js +0 -203
  115. package/build/values/doc-file-content-md-value.d.ts +0 -62
  116. package/build/values/doc-file-content-md-value.d.ts.map +0 -1
  117. package/build/values/doc-file-content-md-value.js +0 -139
  118. package/build/values/doc-file-content-md-value.test.d.ts +0 -2
  119. package/build/values/doc-file-content-md-value.test.d.ts.map +0 -1
  120. package/build/values/doc-file-content-md-value.test.js +0 -160
  121. package/build/values/doc-file-path-value.d.ts +0 -47
  122. package/build/values/doc-file-path-value.d.ts.map +0 -1
  123. package/build/values/doc-file-path-value.js +0 -83
  124. package/build/values/doc-file-path-value.test.d.ts +0 -2
  125. package/build/values/doc-file-path-value.test.d.ts.map +0 -1
  126. package/build/values/doc-file-path-value.test.js +0 -84
  127. package/build/values/doc-front-matter-index-value.d.ts +0 -66
  128. package/build/values/doc-front-matter-index-value.d.ts.map +0 -1
  129. package/build/values/doc-front-matter-index-value.js +0 -185
  130. package/build/values/doc-front-matter-index-value.test.d.ts +0 -2
  131. package/build/values/doc-front-matter-index-value.test.d.ts.map +0 -1
  132. package/build/values/doc-front-matter-index-value.test.js +0 -98
  133. package/build/values/doc-front-matter-md-value-accessor.test.d.ts +0 -2
  134. package/build/values/doc-front-matter-md-value-accessor.test.d.ts.map +0 -1
  135. package/build/values/doc-front-matter-md-value-accessor.test.js +0 -226
  136. package/build/values/doc-front-matter-md-value.d.ts +0 -80
  137. package/build/values/doc-front-matter-md-value.d.ts.map +0 -1
  138. package/build/values/doc-front-matter-md-value.js +0 -257
  139. package/build/values/doc-front-matter-md-value.test.d.ts +0 -2
  140. package/build/values/doc-front-matter-md-value.test.d.ts.map +0 -1
  141. package/build/values/doc-front-matter-md-value.test.js +0 -198
  142. package/build/values/doc-relation-field-value.d.ts +0 -57
  143. package/build/values/doc-relation-field-value.d.ts.map +0 -1
  144. package/build/values/doc-relation-field-value.js +0 -85
  145. package/build/values/doc-relation-field-value.test.d.ts +0 -2
  146. package/build/values/doc-relation-field-value.test.d.ts.map +0 -1
  147. package/build/values/doc-relation-field-value.test.js +0 -115
  148. package/build/values/doc-relation-file-value.d.ts +0 -33
  149. package/build/values/doc-relation-file-value.d.ts.map +0 -1
  150. package/build/values/doc-relation-file-value.js +0 -55
  151. package/build/values/doc-relation-file-value.test.d.ts +0 -2
  152. package/build/values/doc-relation-file-value.test.d.ts.map +0 -1
  153. package/build/values/doc-relation-file-value.test.js +0 -77
  154. package/build/values/doc-relation-value.d.ts +0 -34
  155. package/build/values/doc-relation-value.d.ts.map +0 -1
  156. package/build/values/doc-relation-value.js +0 -56
  157. package/build/values/doc-relation-value.test.d.ts +0 -2
  158. package/build/values/doc-relation-value.test.d.ts.map +0 -1
  159. package/build/values/doc-relation-value.test.js +0 -89
  160. package/build/values/doc-schema-field-boolean-multiple-value.d.ts +0 -23
  161. package/build/values/doc-schema-field-boolean-multiple-value.d.ts.map +0 -1
  162. package/build/values/doc-schema-field-boolean-multiple-value.js +0 -43
  163. package/build/values/doc-schema-field-boolean-multiple-value.test.d.ts +0 -2
  164. package/build/values/doc-schema-field-boolean-multiple-value.test.d.ts.map +0 -1
  165. package/build/values/doc-schema-field-boolean-multiple-value.test.js +0 -76
  166. package/build/values/doc-schema-field-boolean-single-value.d.ts +0 -23
  167. package/build/values/doc-schema-field-boolean-single-value.d.ts.map +0 -1
  168. package/build/values/doc-schema-field-boolean-single-value.js +0 -39
  169. package/build/values/doc-schema-field-boolean-single-value.test.d.ts +0 -2
  170. package/build/values/doc-schema-field-boolean-single-value.test.d.ts.map +0 -1
  171. package/build/values/doc-schema-field-boolean-single-value.test.js +0 -73
  172. package/build/values/doc-schema-field-factory.d.ts +0 -37
  173. package/build/values/doc-schema-field-factory.d.ts.map +0 -1
  174. package/build/values/doc-schema-field-factory.js +0 -151
  175. package/build/values/doc-schema-field-factory.test.d.ts +0 -2
  176. package/build/values/doc-schema-field-factory.test.d.ts.map +0 -1
  177. package/build/values/doc-schema-field-factory.test.js +0 -215
  178. package/build/values/doc-schema-field-number-multiple-value.d.ts +0 -23
  179. package/build/values/doc-schema-field-number-multiple-value.d.ts.map +0 -1
  180. package/build/values/doc-schema-field-number-multiple-value.js +0 -43
  181. package/build/values/doc-schema-field-number-multiple-value.test.d.ts +0 -2
  182. package/build/values/doc-schema-field-number-multiple-value.test.d.ts.map +0 -1
  183. package/build/values/doc-schema-field-number-multiple-value.test.js +0 -79
  184. package/build/values/doc-schema-field-number-single-value.d.ts +0 -23
  185. package/build/values/doc-schema-field-number-single-value.d.ts.map +0 -1
  186. package/build/values/doc-schema-field-number-single-value.js +0 -39
  187. package/build/values/doc-schema-field-number-single-value.test.d.ts +0 -2
  188. package/build/values/doc-schema-field-number-single-value.test.d.ts.map +0 -1
  189. package/build/values/doc-schema-field-number-single-value.test.js +0 -77
  190. package/build/values/doc-schema-field-relation-multiple-value.d.ts +0 -24
  191. package/build/values/doc-schema-field-relation-multiple-value.d.ts.map +0 -1
  192. package/build/values/doc-schema-field-relation-multiple-value.js +0 -46
  193. package/build/values/doc-schema-field-relation-multiple-value.test.d.ts +0 -2
  194. package/build/values/doc-schema-field-relation-multiple-value.test.d.ts.map +0 -1
  195. package/build/values/doc-schema-field-relation-multiple-value.test.js +0 -83
  196. package/build/values/doc-schema-field-relation-single-value.d.ts +0 -24
  197. package/build/values/doc-schema-field-relation-single-value.d.ts.map +0 -1
  198. package/build/values/doc-schema-field-relation-single-value.js +0 -42
  199. package/build/values/doc-schema-field-relation-single-value.test.d.ts +0 -2
  200. package/build/values/doc-schema-field-relation-single-value.test.d.ts.map +0 -1
  201. package/build/values/doc-schema-field-relation-single-value.test.js +0 -83
  202. package/build/values/doc-schema-field-select-number-multiple-value.d.ts +0 -25
  203. package/build/values/doc-schema-field-select-number-multiple-value.d.ts.map +0 -1
  204. package/build/values/doc-schema-field-select-number-multiple-value.js +0 -48
  205. package/build/values/doc-schema-field-select-number-multiple-value.test.d.ts +0 -2
  206. package/build/values/doc-schema-field-select-number-multiple-value.test.d.ts.map +0 -1
  207. package/build/values/doc-schema-field-select-number-multiple-value.test.js +0 -84
  208. package/build/values/doc-schema-field-select-number-single-value.d.ts +0 -25
  209. package/build/values/doc-schema-field-select-number-single-value.d.ts.map +0 -1
  210. package/build/values/doc-schema-field-select-number-single-value.js +0 -45
  211. package/build/values/doc-schema-field-select-number-single-value.test.d.ts +0 -2
  212. package/build/values/doc-schema-field-select-number-single-value.test.d.ts.map +0 -1
  213. package/build/values/doc-schema-field-select-number-single-value.test.js +0 -96
  214. package/build/values/doc-schema-field-select-text-multiple-value.d.ts +0 -25
  215. package/build/values/doc-schema-field-select-text-multiple-value.d.ts.map +0 -1
  216. package/build/values/doc-schema-field-select-text-multiple-value.js +0 -48
  217. package/build/values/doc-schema-field-select-text-multiple-value.test.d.ts +0 -2
  218. package/build/values/doc-schema-field-select-text-multiple-value.test.d.ts.map +0 -1
  219. package/build/values/doc-schema-field-select-text-multiple-value.test.js +0 -84
  220. package/build/values/doc-schema-field-select-text-single-value.d.ts +0 -25
  221. package/build/values/doc-schema-field-select-text-single-value.d.ts.map +0 -1
  222. package/build/values/doc-schema-field-select-text-single-value.js +0 -47
  223. package/build/values/doc-schema-field-select-text-single-value.test.d.ts +0 -2
  224. package/build/values/doc-schema-field-select-text-single-value.test.d.ts.map +0 -1
  225. package/build/values/doc-schema-field-select-text-single-value.test.js +0 -96
  226. package/build/values/doc-schema-field-text-multiple-value.d.ts +0 -23
  227. package/build/values/doc-schema-field-text-multiple-value.d.ts.map +0 -1
  228. package/build/values/doc-schema-field-text-multiple-value.js +0 -43
  229. package/build/values/doc-schema-field-text-multiple-value.test.d.ts +0 -2
  230. package/build/values/doc-schema-field-text-multiple-value.test.d.ts.map +0 -1
  231. package/build/values/doc-schema-field-text-multiple-value.test.js +0 -78
  232. package/build/values/doc-schema-field-text-single-value.d.ts +0 -23
  233. package/build/values/doc-schema-field-text-single-value.d.ts.map +0 -1
  234. package/build/values/doc-schema-field-text-single-value.js +0 -39
  235. package/build/values/doc-schema-field-text-single-value.test.d.ts +0 -2
  236. package/build/values/doc-schema-field-text-single-value.test.d.ts.map +0 -1
  237. package/build/values/doc-schema-field-text-single-value.test.js +0 -76
  238. package/build/values/doc-schema-field-type-value.d.ts +0 -61
  239. package/build/values/doc-schema-field-type-value.d.ts.map +0 -1
  240. package/build/values/doc-schema-field-type-value.js +0 -134
  241. package/build/values/doc-schema-field-type-value.test.d.ts +0 -2
  242. package/build/values/doc-schema-field-type-value.test.d.ts.map +0 -1
  243. package/build/values/doc-schema-field-type-value.test.js +0 -101
  244. package/build/values/doc-schema-field-value.d.ts +0 -45
  245. package/build/values/doc-schema-field-value.d.ts.map +0 -1
  246. package/build/values/doc-schema-field-value.js +0 -1
  247. package/build/values/doc-schema-value.d.ts +0 -99
  248. package/build/values/doc-schema-value.d.ts.map +0 -1
  249. package/build/values/doc-schema-value.js +0 -269
  250. package/build/values/doc-schema-value.test.d.ts +0 -2
  251. package/build/values/doc-schema-value.test.d.ts.map +0 -1
  252. package/build/values/doc-schema-value.test.js +0 -301
  253. package/build/values/doc-tree-directory-node-value.d.ts +0 -36
  254. package/build/values/doc-tree-directory-node-value.d.ts.map +0 -1
  255. package/build/values/doc-tree-directory-node-value.js +0 -71
  256. package/build/values/doc-tree-directory-node-value.test.d.ts +0 -2
  257. package/build/values/doc-tree-directory-node-value.test.d.ts.map +0 -1
  258. package/build/values/doc-tree-directory-node-value.test.js +0 -162
  259. package/build/values/doc-tree-file-node-value.d.ts +0 -33
  260. package/build/values/doc-tree-file-node-value.d.ts.map +0 -1
  261. package/build/values/doc-tree-file-node-value.js +0 -56
  262. package/build/values/doc-tree-file-node-value.test.d.ts +0 -2
  263. package/build/values/doc-tree-file-node-value.test.d.ts.map +0 -1
  264. package/build/values/doc-tree-file-node-value.test.js +0 -113
  265. 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)