@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,203 +0,0 @@
1
- import { expect, test } from "bun:test";
2
- import { DocFileContentIndexValue } from "./doc-file-content-index-value";
3
- import { DocFrontMatterIndexValue } from "./doc-front-matter-index-value";
4
- test("DocFileContentIndexValue - 基本的な作成とプロパティアクセス", () => {
5
- const value = new DocFileContentIndexValue({
6
- type: "markdown-index",
7
- body: "# タイトル\n\n説明文\n\n本文",
8
- title: "タイトル",
9
- description: "説明文",
10
- frontMatter: {
11
- type: "index-frontmatter",
12
- icon: "📁",
13
- schema: {
14
- name: {
15
- type: "text",
16
- required: true,
17
- title: "名前",
18
- description: "項目の名前",
19
- default: "",
20
- },
21
- },
22
- },
23
- });
24
- expect(value.body).toBe("# タイトル\n\n説明文\n\n本文");
25
- expect(value.title).toBe("タイトル");
26
- expect(value.description).toBe("説明文");
27
- expect(value.frontMatter.icon).toBe("📁");
28
- });
29
- test("DocFileContentIndexValue - frontMatter getterが値オブジェクトを返す", () => {
30
- const value = new DocFileContentIndexValue({
31
- type: "markdown-index",
32
- body: "",
33
- title: "",
34
- description: "",
35
- frontMatter: {
36
- type: "index-frontmatter",
37
- icon: "📁",
38
- schema: {},
39
- },
40
- });
41
- const frontMatter = value.frontMatter;
42
- expect(frontMatter).toBeInstanceOf(DocFrontMatterIndexValue);
43
- expect(frontMatter.icon).toBe("📁");
44
- });
45
- test("DocFileContentIndexValue - withTitleで新しいインスタンスを作成", () => {
46
- const value = new DocFileContentIndexValue({
47
- type: "markdown-index",
48
- body: "# 古いタイトル\n\n説明文",
49
- title: "古いタイトル",
50
- description: "説明文",
51
- frontMatter: {
52
- type: "index-frontmatter",
53
- icon: "",
54
- schema: {},
55
- },
56
- });
57
- const newValue = value.withTitle("新しいタイトル");
58
- expect(newValue).not.toBe(value); // 新しいインスタンス
59
- expect(newValue.title).toBe("新しいタイトル");
60
- expect(newValue.body).toContain("# 新しいタイトル");
61
- expect(value.title).toBe("古いタイトル"); // 元は変更されない
62
- });
63
- test("DocFileContentIndexValue - withDescriptionで新しいインスタンスを作成", () => {
64
- const value = new DocFileContentIndexValue({
65
- type: "markdown-index",
66
- body: "# タイトル\n\n古い説明",
67
- title: "タイトル",
68
- description: "古い説明",
69
- frontMatter: {
70
- type: "index-frontmatter",
71
- icon: "",
72
- schema: {},
73
- },
74
- });
75
- const newValue = value.withDescription("新しい説明");
76
- expect(newValue).not.toBe(value);
77
- expect(newValue.description).toBe("新しい説明");
78
- expect(newValue.body).toContain("新しい説明");
79
- });
80
- test("DocFileContentIndexValue - withContentで新しいインスタンスを作成", () => {
81
- const value = new DocFileContentIndexValue({
82
- type: "markdown-index",
83
- body: "古い内容",
84
- title: "タイトル",
85
- description: "説明",
86
- frontMatter: {
87
- type: "index-frontmatter",
88
- icon: "",
89
- schema: {},
90
- },
91
- });
92
- const newValue = value.withContent("新しい内容");
93
- expect(newValue).not.toBe(value);
94
- expect(newValue.body).toBe("新しい内容");
95
- // タイトルは新しい内容から解析される
96
- expect(newValue.title).toBe("");
97
- expect(newValue.description).toBe("");
98
- });
99
- test("DocFileContentIndexValue - withFrontMatterで新しいインスタンスを作成", () => {
100
- const value = new DocFileContentIndexValue({
101
- type: "markdown-index",
102
- body: "# タイトル",
103
- title: "タイトル",
104
- description: "",
105
- frontMatter: {
106
- type: "index-frontmatter",
107
- icon: "📁",
108
- schema: {},
109
- },
110
- });
111
- const newFrontMatter = new DocFrontMatterIndexValue({
112
- type: "index-frontmatter",
113
- icon: "📂",
114
- schema: {
115
- test: {
116
- type: "text",
117
- required: false,
118
- title: "テスト",
119
- description: "テスト項目",
120
- default: "",
121
- },
122
- },
123
- });
124
- const newValue = value.withFrontMatter(newFrontMatter);
125
- expect(newValue).not.toBe(value);
126
- expect(newValue.frontMatter.icon).toBe("📂");
127
- expect(value.frontMatter.icon).toBe("📁"); // 元は変更されない
128
- });
129
- test("DocFileContentIndexValue - fromMarkdownでMarkdownから生成", () => {
130
- const markdown = `---
131
- title: "メタタイトル"
132
- description: "メタ説明"
133
- icon: "📁"
134
- schema: {}
135
- ---
136
-
137
- # ドキュメントタイトル
138
-
139
- これは説明文です。
140
-
141
- 本文の内容`;
142
- const value = DocFileContentIndexValue.fromMarkdown(markdown);
143
- expect(value.title).toBe("ドキュメントタイトル");
144
- expect(value.description).toBe("これは説明文です。");
145
- expect(value.body).toContain("# ドキュメントタイトル");
146
- expect(value.frontMatter.icon).toBe("📁");
147
- });
148
- test("DocFileContentIndexValue - emptyでデフォルトコンテンツを生成", () => {
149
- const value = DocFileContentIndexValue.empty("テストディレクトリ");
150
- expect(value.title).toBe("テストディレクトリ");
151
- expect(value.frontMatter.icon).toBe("");
152
- expect(value.frontMatter.schema.toJson()).toEqual({});
153
- expect(value.body).toContain("# テストディレクトリ");
154
- });
155
- test("DocFileContentIndexValue - toTextでFrontMatter付きテキストを生成", () => {
156
- const value = new DocFileContentIndexValue({
157
- type: "markdown-index",
158
- body: "# タイトル\n\n本文",
159
- title: "タイトル",
160
- description: "",
161
- frontMatter: {
162
- type: "index-frontmatter",
163
- icon: "📁",
164
- schema: {},
165
- },
166
- });
167
- const text = value.toText();
168
- expect(text).toContain("---");
169
- expect(text).toContain("icon: 📁");
170
- expect(text).toContain("# タイトル");
171
- expect(text).toContain("本文");
172
- });
173
- test("DocFileContentIndexValue - toMarkdownTextでbodyのみのテキストを生成", () => {
174
- const value = new DocFileContentIndexValue({
175
- type: "markdown-index",
176
- body: "既存の本文",
177
- title: "タイトル",
178
- description: "説明",
179
- frontMatter: {
180
- type: "index-frontmatter",
181
- icon: "",
182
- schema: {},
183
- },
184
- });
185
- const text = value.toMarkdownText();
186
- expect(text).toBe("# タイトル\n\n説明\n\n既存の本文");
187
- expect(text).not.toContain("---"); // FrontMatterは含まない
188
- });
189
- test("DocFileContentIndexValue - toJsonで元のデータ構造を返す", () => {
190
- const data = {
191
- type: "markdown-index",
192
- body: "# タイトル",
193
- title: "タイトル",
194
- description: "説明",
195
- frontMatter: {
196
- type: "index-frontmatter",
197
- icon: "📁",
198
- schema: {},
199
- },
200
- };
201
- const value = new DocFileContentIndexValue(data);
202
- expect(value.toJson()).toEqual(data);
203
- });
@@ -1,62 +0,0 @@
1
- import type { DocFileContentMd } from "../types";
2
- import { DocFrontMatterMdValue } from "./doc-front-matter-md-value";
3
- /**
4
- * Markdownコンテンツ情報の値オブジェクト
5
- */
6
- export declare class DocFileContentMdValue {
7
- readonly value: DocFileContentMd;
8
- constructor(value: DocFileContentMd);
9
- /**
10
- * コンテンツ本文(frontMatterを含まない)
11
- */
12
- get body(): string;
13
- /**
14
- * タイトル
15
- */
16
- get title(): string;
17
- /**
18
- * 説明
19
- */
20
- get description(): string;
21
- /**
22
- * FrontMatter
23
- */
24
- get frontMatter(): DocFrontMatterMdValue;
25
- /**
26
- * タイトルを更新
27
- */
28
- withTitle(title: string): DocFileContentMdValue;
29
- /**
30
- * 説明を更新
31
- */
32
- withDescription(description: string, defaultTitle?: string): DocFileContentMdValue;
33
- /**
34
- * コンテンツを更新
35
- */
36
- withContent(content: string): DocFileContentMdValue;
37
- /**
38
- * FrontMatterを更新
39
- */
40
- withFrontMatter(frontMatter: DocFrontMatterMdValue): DocFileContentMdValue;
41
- /**
42
- * Markdownテキストから生成
43
- */
44
- static fromMarkdown(markdown: string): DocFileContentMdValue;
45
- /**
46
- * 完全なMarkdownテキストを生成
47
- */
48
- toMarkdownText(): string;
49
- /**
50
- * FrontMatterとbodyを結合した完全なテキストを生成
51
- */
52
- toText(): string;
53
- /**
54
- * 空のコンテンツを生成
55
- */
56
- static empty(title: string): DocFileContentMdValue;
57
- /**
58
- * JSON形式で出力
59
- */
60
- toJson(): DocFileContentMd;
61
- }
62
- //# sourceMappingURL=doc-file-content-md-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-content-md-value.d.ts","sourceRoot":"","sources":["../../lib/values/doc-file-content-md-value.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,qBAAa,qBAAqB;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAA5C,YAAqB,KAAK,EAAE,gBAAgB,EAG3C;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,qBAAqB,CAEvC;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAY9C;IAED;;OAEG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,qBAAqB,CAgBvB;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CASlD;IAED;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,qBAAqB,GAAG,qBAAqB,CAQzE;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAW3D;IAED;;OAEG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,MAAM,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAQjD;IAED;;OAEG;IACH,MAAM,IAAI,gBAAgB,CAEzB;CACF"}
@@ -1,139 +0,0 @@
1
- import { DocMarkdownSystem } from "../doc-markdown-system";
2
- import { zDocFileContentMd } from "../models";
3
- import { DocFrontMatterMdValue } from "./doc-front-matter-md-value";
4
- /**
5
- * Markdownコンテンツ情報の値オブジェクト
6
- */
7
- export class DocFileContentMdValue {
8
- value;
9
- constructor(value) {
10
- this.value = value;
11
- zDocFileContentMd.parse(value);
12
- Object.freeze(this);
13
- }
14
- /**
15
- * コンテンツ本文(frontMatterを含まない)
16
- */
17
- get body() {
18
- return this.value.body;
19
- }
20
- /**
21
- * タイトル
22
- */
23
- get title() {
24
- return this.value.title;
25
- }
26
- /**
27
- * 説明
28
- */
29
- get description() {
30
- return this.value.description;
31
- }
32
- /**
33
- * FrontMatter
34
- */
35
- get frontMatter() {
36
- return new DocFrontMatterMdValue(this.value.frontMatter);
37
- }
38
- /**
39
- * タイトルを更新
40
- */
41
- withTitle(title) {
42
- const fullText = this.toText();
43
- const engine = new DocMarkdownSystem();
44
- const updatedText = engine.updateTitle(fullText, title);
45
- const updatedBody = engine.extractBody(updatedText);
46
- return new DocFileContentMdValue({
47
- type: "markdown-content",
48
- body: updatedBody,
49
- title,
50
- description: this.description,
51
- frontMatter: this.value.frontMatter,
52
- });
53
- }
54
- /**
55
- * 説明を更新
56
- */
57
- withDescription(description, defaultTitle) {
58
- const fullText = this.toText();
59
- const engine = new DocMarkdownSystem();
60
- const updatedText = engine.updateDescription(fullText, description, defaultTitle || this.title);
61
- const updatedBody = engine.extractBody(updatedText);
62
- return new DocFileContentMdValue({
63
- type: "markdown-content",
64
- body: updatedBody,
65
- title: this.title,
66
- description,
67
- frontMatter: this.value.frontMatter,
68
- });
69
- }
70
- /**
71
- * コンテンツを更新
72
- */
73
- withContent(content) {
74
- const engine = new DocMarkdownSystem();
75
- return new DocFileContentMdValue({
76
- type: "markdown-content",
77
- body: content,
78
- title: engine.extractTitle(content) || "",
79
- description: engine.extractDescription(content) || "",
80
- frontMatter: this.value.frontMatter,
81
- });
82
- }
83
- /**
84
- * FrontMatterを更新
85
- */
86
- withFrontMatter(frontMatter) {
87
- return new DocFileContentMdValue({
88
- type: "markdown-content",
89
- body: this.body,
90
- title: this.title,
91
- description: this.description,
92
- frontMatter: frontMatter.value,
93
- });
94
- }
95
- /**
96
- * Markdownテキストから生成
97
- */
98
- static fromMarkdown(markdown) {
99
- const engine = new DocMarkdownSystem();
100
- const frontMatter = DocFrontMatterMdValue.from(markdown);
101
- return new DocFileContentMdValue({
102
- type: "markdown-content",
103
- body: engine.extractBody(markdown),
104
- title: engine.extractTitle(markdown) || "",
105
- description: engine.extractDescription(markdown) || "",
106
- frontMatter: frontMatter.value,
107
- });
108
- }
109
- /**
110
- * 完全なMarkdownテキストを生成
111
- */
112
- toMarkdownText() {
113
- return DocMarkdownSystem.from(this.title, this.description, this.body);
114
- }
115
- /**
116
- * FrontMatterとbodyを結合した完全なテキストを生成
117
- */
118
- toText() {
119
- return `---\n${this.frontMatter.toYaml()}\n---\n\n${this.body}`;
120
- }
121
- /**
122
- * 空のコンテンツを生成
123
- */
124
- static empty(title) {
125
- return new DocFileContentMdValue({
126
- type: "markdown-content",
127
- body: `# ${title}`,
128
- title,
129
- description: "",
130
- frontMatter: {},
131
- });
132
- }
133
- /**
134
- * JSON形式で出力
135
- */
136
- toJson() {
137
- return this.value;
138
- }
139
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=doc-file-content-md-value.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-content-md-value.test.d.ts","sourceRoot":"","sources":["../../lib/values/doc-file-content-md-value.test.ts"],"names":[],"mappings":""}
@@ -1,160 +0,0 @@
1
- import { expect, test } from "bun:test";
2
- import { DocFileContentMdValue } from "./doc-file-content-md-value";
3
- import { DocFrontMatterMdValue } from "./doc-front-matter-md-value";
4
- test("DocFileContentMdValue - 基本的な作成とプロパティアクセス", () => {
5
- const value = new DocFileContentMdValue({
6
- type: "markdown-content",
7
- body: "# タイトル\n\n説明文\n\n本文",
8
- title: "タイトル",
9
- description: "説明文",
10
- frontMatter: {
11
- title: "メタタイトル",
12
- description: "メタ説明",
13
- tags: ["tag1", "tag2"],
14
- },
15
- });
16
- expect(value.body).toBe("# タイトル\n\n説明文\n\n本文");
17
- expect(value.title).toBe("タイトル");
18
- expect(value.description).toBe("説明文");
19
- });
20
- test("DocFileContentMdValue - frontMatter getterが値オブジェクトを返す", () => {
21
- const value = new DocFileContentMdValue({
22
- type: "markdown-content",
23
- body: "",
24
- title: "",
25
- description: "",
26
- frontMatter: {
27
- author: "作者名",
28
- },
29
- });
30
- const frontMatter = value.frontMatter;
31
- expect(frontMatter).toBeInstanceOf(DocFrontMatterMdValue);
32
- expect(frontMatter.value.author).toBe("作者名");
33
- });
34
- test("DocFileContentMdValue - withTitleで新しいインスタンスを作成", () => {
35
- const value = new DocFileContentMdValue({
36
- type: "markdown-content",
37
- body: "# 古いタイトル\n\n説明文",
38
- title: "古いタイトル",
39
- description: "説明文",
40
- frontMatter: {},
41
- });
42
- const newValue = value.withTitle("新しいタイトル");
43
- expect(newValue).not.toBe(value); // 新しいインスタンス
44
- expect(newValue.title).toBe("新しいタイトル");
45
- expect(newValue.body).toContain("# 新しいタイトル");
46
- expect(value.title).toBe("古いタイトル"); // 元は変更されない
47
- });
48
- test("DocFileContentMdValue - withDescriptionで新しいインスタンスを作成", () => {
49
- const value = new DocFileContentMdValue({
50
- type: "markdown-content",
51
- body: "# タイトル\n\n古い説明",
52
- title: "タイトル",
53
- description: "古い説明",
54
- frontMatter: {},
55
- });
56
- const newValue = value.withDescription("新しい説明");
57
- expect(newValue).not.toBe(value);
58
- expect(newValue.description).toBe("新しい説明");
59
- expect(newValue.body).toContain("新しい説明");
60
- });
61
- test("DocFileContentMdValue - withContentで新しいインスタンスを作成", () => {
62
- const value = new DocFileContentMdValue({
63
- type: "markdown-content",
64
- body: "古い内容",
65
- title: "タイトル",
66
- description: "説明",
67
- frontMatter: {},
68
- });
69
- const newValue = value.withContent("新しい内容");
70
- expect(newValue).not.toBe(value);
71
- expect(newValue.body).toBe("新しい内容");
72
- // タイトルは新しい内容から解析される
73
- expect(newValue.title).toBe("");
74
- expect(newValue.description).toBe("");
75
- });
76
- test("DocFileContentMdValue - withFrontMatterで新しいインスタンスを作成", () => {
77
- const value = new DocFileContentMdValue({
78
- type: "markdown-content",
79
- body: "# タイトル",
80
- title: "タイトル",
81
- description: "",
82
- frontMatter: {
83
- tags: ["old"],
84
- },
85
- });
86
- const newFrontMatter = new DocFrontMatterMdValue({
87
- tags: ["new", "tags"],
88
- author: "新しい作者",
89
- });
90
- const newValue = value.withFrontMatter(newFrontMatter);
91
- expect(newValue).not.toBe(value);
92
- expect(newValue.frontMatter.value.tags).toEqual(["new", "tags"]);
93
- expect(newValue.frontMatter.value.author).toBe("新しい作者");
94
- expect(value.frontMatter.value.tags).toEqual(["old"]); // 元は変更されない
95
- });
96
- test("DocFileContentMdValue - fromMarkdownでMarkdownから生成", () => {
97
- const markdown = `---
98
- title: "メタタイトル"
99
- description: "メタ説明"
100
- tags: ["tag1", "tag2"]
101
- ---
102
-
103
- # ドキュメントタイトル
104
-
105
- これは説明文です。
106
-
107
- 本文の内容`;
108
- const value = DocFileContentMdValue.fromMarkdown(markdown);
109
- expect(value.title).toBe("ドキュメントタイトル");
110
- expect(value.description).toBe("これは説明文です。");
111
- expect(value.body).toContain("# ドキュメントタイトル");
112
- expect(value.frontMatter.value.tags).toEqual(["tag1", "tag2"]);
113
- });
114
- test("DocFileContentMdValue - emptyでデフォルトコンテンツを生成", () => {
115
- const value = DocFileContentMdValue.empty("テストファイル");
116
- expect(value.title).toBe("テストファイル");
117
- expect(value.frontMatter.value).toEqual({});
118
- expect(value.body).toBe("# テストファイル");
119
- });
120
- test("DocFileContentMdValue - toTextでFrontMatter付きテキストを生成", () => {
121
- const value = new DocFileContentMdValue({
122
- type: "markdown-content",
123
- body: "# タイトル\n\n本文",
124
- title: "タイトル",
125
- description: "",
126
- frontMatter: {
127
- date: "2024-01-01",
128
- },
129
- });
130
- const text = value.toText();
131
- expect(text).toContain("---");
132
- expect(text).toContain("date: ");
133
- expect(text).toContain("# タイトル");
134
- expect(text).toContain("本文");
135
- });
136
- test("DocFileContentMdValue - toMarkdownTextでbodyのみのテキストを生成", () => {
137
- const value = new DocFileContentMdValue({
138
- type: "markdown-content",
139
- body: "既存の本文",
140
- title: "タイトル",
141
- description: "説明",
142
- frontMatter: {},
143
- });
144
- const text = value.toMarkdownText();
145
- expect(text).toBe("# タイトル\n\n説明\n\n既存の本文");
146
- expect(text).not.toContain("---"); // FrontMatterは含まない
147
- });
148
- test("DocFileContentMdValue - toJsonで元のデータ構造を返す", () => {
149
- const data = {
150
- type: "markdown-content",
151
- body: "# タイトル",
152
- title: "タイトル",
153
- description: "説明",
154
- frontMatter: {
155
- tags: ["tag1"],
156
- },
157
- };
158
- const value = new DocFileContentMdValue(data);
159
- expect(value.toJson()).toEqual(data);
160
- });
@@ -1,47 +0,0 @@
1
- import type { DocPathSystem } from "../doc-path-system";
2
- import type { DocFilePath } from "../types";
3
- /**
4
- * ファイルパス情報の値オブジェクト
5
- */
6
- export declare class DocFilePathValue {
7
- readonly value: DocFilePath;
8
- private readonly pathSystem;
9
- constructor(value: DocFilePath, pathSystem: DocPathSystem);
10
- /**
11
- * ファイル名(拡張子なし)
12
- */
13
- get name(): string;
14
- /**
15
- * ファイルパス(相対パス)
16
- */
17
- get path(): string;
18
- /**
19
- * ファイル名(拡張子付き)
20
- */
21
- get nameWithExtension(): string;
22
- /**
23
- * フルパス(絶対パス)
24
- */
25
- get fullPath(): string;
26
- /**
27
- * ディレクトリパス
28
- */
29
- get directoryPath(): string;
30
- /**
31
- * 拡張子
32
- */
33
- get extension(): string;
34
- /**
35
- * アーカイブされているかどうか
36
- */
37
- get isArchived(): boolean;
38
- /**
39
- * 相対パスからインスタンスを生成(DI対応)
40
- */
41
- static fromPathWithSystem(filePath: string, pathSystem: DocPathSystem, basePath?: string): DocFilePathValue;
42
- /**
43
- * JSON形式で出力
44
- */
45
- toJson(): DocFilePath;
46
- }
47
- //# sourceMappingURL=doc-file-path-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-path-value.d.ts","sourceRoot":"","sources":["../../lib/values/doc-file-path-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;GAEG;AACH,qBAAa,gBAAgB;IAIzB,QAAQ,CAAC,KAAK,EAAE,WAAW;IAH7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAE1C,YACW,KAAK,EAAE,WAAW,EAC3B,UAAU,EAAE,aAAa,EAK1B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,gBAAgB,CAuBlB;IAED;;OAEG;IACH,MAAM,IAAI,WAAW,CAEpB;CACF"}