@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,148 +0,0 @@
1
- /**
2
- * パス操作システム
3
- */
4
- export class DocPathSystem {
5
- separator = "/";
6
- /**
7
- * パスを結合
8
- */
9
- join(...paths) {
10
- const parts = [];
11
- for (const path of paths) {
12
- if (path === "")
13
- continue;
14
- // セパレータで分割
15
- const segments = path.split(this.separator).filter(Boolean);
16
- parts.push(...segments);
17
- }
18
- // 空の場合は "." を返す
19
- if (parts.length === 0) {
20
- return ".";
21
- }
22
- // 先頭が "/" で始まっていた場合は絶対パスとして扱う
23
- const isAbsolute = paths[0]?.startsWith(this.separator);
24
- const joined = parts.join(this.separator);
25
- return isAbsolute ? `${this.separator}${joined}` : joined;
26
- }
27
- /**
28
- * ファイル名を取得(拡張子付き)
29
- */
30
- basename(path, ext) {
31
- const segments = path.split(this.separator);
32
- const filename = segments[segments.length - 1] || "";
33
- if (ext && filename.endsWith(ext)) {
34
- return filename.slice(0, -ext.length);
35
- }
36
- return filename;
37
- }
38
- /**
39
- * ディレクトリ名を取得
40
- */
41
- dirname(path) {
42
- const segments = path.split(this.separator);
43
- // ルートディレクトリの場合
44
- if (segments.length <= 1) {
45
- return ".";
46
- }
47
- // 最後の要素を除いた部分を結合
48
- segments.pop();
49
- const dir = segments.join(this.separator);
50
- // 空の場合は "." を返す
51
- return dir || ".";
52
- }
53
- /**
54
- * 拡張子を取得
55
- */
56
- extname(path) {
57
- const basename = this.basename(path);
58
- const lastDot = basename.lastIndexOf(".");
59
- if (lastDot <= 0) {
60
- return "";
61
- }
62
- return basename.slice(lastDot);
63
- }
64
- /**
65
- * 相対パスを計算
66
- */
67
- relative(from, to) {
68
- const fromSegments = from.split(this.separator).filter(Boolean);
69
- const toSegments = to.split(this.separator).filter(Boolean);
70
- // 共通の親ディレクトリを見つける
71
- let commonLength = 0;
72
- for (let i = 0; i < Math.min(fromSegments.length, toSegments.length); i++) {
73
- if (fromSegments[i] === toSegments[i]) {
74
- commonLength++;
75
- }
76
- else {
77
- break;
78
- }
79
- }
80
- // fromから共通の親まで戻る
81
- const upCount = fromSegments.length - commonLength;
82
- const upSegments = Array(upCount).fill("..");
83
- // 共通の親からtoへのパス
84
- const downSegments = toSegments.slice(commonLength);
85
- // 結合
86
- const segments = [...upSegments, ...downSegments];
87
- return segments.length > 0 ? segments.join(this.separator) : ".";
88
- }
89
- /**
90
- * 絶対パスに変換
91
- */
92
- resolve(...paths) {
93
- // 簡易実装:最後の絶対パスから開始、または現在のパスから開始
94
- let resolved = "";
95
- for (const path of paths) {
96
- if (path.startsWith(this.separator)) {
97
- // 絶対パスの場合はリセット
98
- resolved = path;
99
- }
100
- else if (path !== "") {
101
- // 相対パスの場合は結合
102
- resolved = resolved ? this.join(resolved, path) : path;
103
- }
104
- }
105
- return resolved || ".";
106
- }
107
- /**
108
- * パスを正規化
109
- */
110
- normalize(path) {
111
- const isAbsolute = path.startsWith(this.separator);
112
- const segments = path.split(this.separator).filter(Boolean);
113
- const normalized = [];
114
- for (const segment of segments) {
115
- if (segment === "..") {
116
- // 親ディレクトリへ
117
- if (normalized.length > 0 &&
118
- normalized[normalized.length - 1] !== "..") {
119
- normalized.pop();
120
- }
121
- else if (!isAbsolute) {
122
- normalized.push("..");
123
- }
124
- }
125
- else if (segment !== ".") {
126
- // "." は無視、それ以外は追加
127
- normalized.push(segment);
128
- }
129
- }
130
- if (normalized.length === 0) {
131
- return isAbsolute ? this.separator : ".";
132
- }
133
- const result = normalized.join(this.separator);
134
- return isAbsolute ? `${this.separator}${result}` : result;
135
- }
136
- /**
137
- * パスが絶対パスかどうか
138
- */
139
- isAbsolute(path) {
140
- return path.startsWith(this.separator);
141
- }
142
- /**
143
- * パスのセパレータ
144
- */
145
- get sep() {
146
- return this.separator;
147
- }
148
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=doc-path-system.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-path-system.test.d.ts","sourceRoot":"","sources":["../lib/doc-path-system.test.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- import { expect, test } from "bun:test";
2
- import { DocPathSystem } from "./doc-path-system";
3
- test("DocPathSystem - join: パスを結合", () => {
4
- const system = new DocPathSystem();
5
- expect(system.join("docs", "products", "index.md")).toBe("docs/products/index.md");
6
- expect(system.join("/docs", "products")).toBe("/docs/products");
7
- expect(system.join("docs/", "/products")).toBe("docs/products");
8
- expect(system.join("", "docs", "", "index.md")).toBe("docs/index.md");
9
- expect(system.join()).toBe(".");
10
- });
11
- test("DocPathSystem - basename: ファイル名を取得", () => {
12
- const system = new DocPathSystem();
13
- expect(system.basename("docs/index.md")).toBe("index.md");
14
- expect(system.basename("docs/index.md", ".md")).toBe("index");
15
- expect(system.basename("/path/to/file.txt")).toBe("file.txt");
16
- expect(system.basename("file")).toBe("file");
17
- expect(system.basename("")).toBe("");
18
- });
19
- test("DocPathSystem - dirname: ディレクトリ名を取得", () => {
20
- const system = new DocPathSystem();
21
- expect(system.dirname("docs/products/index.md")).toBe("docs/products");
22
- expect(system.dirname("docs/index.md")).toBe("docs");
23
- expect(system.dirname("index.md")).toBe(".");
24
- expect(system.dirname("/")).toBe(".");
25
- expect(system.dirname("")).toBe(".");
26
- });
27
- test("DocPathSystem - extname: 拡張子を取得", () => {
28
- const system = new DocPathSystem();
29
- expect(system.extname("index.md")).toBe(".md");
30
- expect(system.extname("file.test.ts")).toBe(".ts");
31
- expect(system.extname("README")).toBe("");
32
- expect(system.extname(".gitignore")).toBe("");
33
- expect(system.extname("file.")).toBe(".");
34
- });
35
- test("DocPathSystem - relative: 相対パスを計算", () => {
36
- const system = new DocPathSystem();
37
- expect(system.relative("docs/products", "docs/features")).toBe("../features");
38
- expect(system.relative("docs", "docs/products/app")).toBe("products/app");
39
- expect(system.relative("docs/products/app", "docs")).toBe("../..");
40
- expect(system.relative("docs", "docs")).toBe(".");
41
- });
42
- test("DocPathSystem - resolve: 絶対パスに変換", () => {
43
- const system = new DocPathSystem();
44
- expect(system.resolve("/docs", "products", "index.md")).toBe("/docs/products/index.md");
45
- expect(system.resolve("docs", "/products", "index.md")).toBe("/products/index.md");
46
- expect(system.resolve("", "docs")).toBe("docs");
47
- expect(system.resolve()).toBe(".");
48
- });
49
- test("DocPathSystem - normalize: パスを正規化", () => {
50
- const system = new DocPathSystem();
51
- expect(system.normalize("docs//products/../features/./index.md")).toBe("docs/features/index.md");
52
- expect(system.normalize("/docs/../products")).toBe("/products");
53
- expect(system.normalize("../docs/./products")).toBe("../docs/products");
54
- expect(system.normalize("./docs")).toBe("docs");
55
- expect(system.normalize(".")).toBe(".");
56
- });
57
- test("DocPathSystem - isAbsolute: 絶対パスかどうか", () => {
58
- const system = new DocPathSystem();
59
- expect(system.isAbsolute("/docs/index.md")).toBe(true);
60
- expect(system.isAbsolute("docs/index.md")).toBe(false);
61
- expect(system.isAbsolute("./docs")).toBe(false);
62
- expect(system.isAbsolute("")).toBe(false);
63
- });
64
- test("DocPathSystem - sep: セパレータ", () => {
65
- const system = new DocPathSystem();
66
- expect(system.sep).toBe("/");
67
- });
@@ -1,5 +0,0 @@
1
- import type { DocFileIndexEntity } from "./doc-file-index-entity";
2
- import type { DocFileMdEntity } from "./doc-file-md-entity";
3
- import type { DocFileUnknownEntity } from "./doc-file-unknown-entity";
4
- export type DocFileEntity = DocFileMdEntity | DocFileIndexEntity | DocFileUnknownEntity;
5
- //# sourceMappingURL=doc-file-entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-entity.d.ts","sourceRoot":"","sources":["../../lib/entities/doc-file-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,30 +0,0 @@
1
- import type { DocFileIndex, DocFilePath } from "../types";
2
- import { DocFileContentIndexValue } from "../values/doc-file-content-index-value";
3
- /**
4
- * ドキュメントのディレクトリ
5
- */
6
- export declare class DocFileIndexEntity {
7
- readonly value: DocFileIndex;
8
- constructor(value: DocFileIndex);
9
- /**
10
- * コンテンツ
11
- */
12
- get content(): DocFileContentIndexValue;
13
- /**
14
- * パス情報
15
- */
16
- get path(): DocFilePath;
17
- /**
18
- * コンテンツを更新
19
- */
20
- withContent(content: DocFileContentIndexValue): DocFileIndexEntity;
21
- /**
22
- * パスを更新
23
- */
24
- withPath(path: DocFilePath): DocFileIndexEntity;
25
- /**
26
- * indexFileSchemaの形式に変換
27
- */
28
- toJson(): DocFileIndex;
29
- }
30
- //# sourceMappingURL=doc-file-index-entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-index-entity.d.ts","sourceRoot":"","sources":["../../lib/entities/doc-file-index-entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AAEjF;;GAEG;AACH,qBAAa,kBAAkB;IACjB,QAAQ,CAAC,KAAK,EAAE,YAAY;IAAxC,YAAqB,KAAK,EAAE,YAAY,EAGvC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,wBAAwB,CAEtC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,kBAAkB,CAKjE;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAK9C;IAED;;OAEG;IACH,MAAM,IAAI,YAAY,CAErB;CACF"}
@@ -1,49 +0,0 @@
1
- import { zDocFileIndex } from "../models";
2
- import { DocFileContentIndexValue } from "../values/doc-file-content-index-value";
3
- /**
4
- * ドキュメントのディレクトリ
5
- */
6
- export class DocFileIndexEntity {
7
- value;
8
- constructor(value) {
9
- this.value = value;
10
- zDocFileIndex.parse(value);
11
- Object.freeze(this);
12
- }
13
- /**
14
- * コンテンツ
15
- */
16
- get content() {
17
- return new DocFileContentIndexValue(this.value.content);
18
- }
19
- /**
20
- * パス情報
21
- */
22
- get path() {
23
- return this.value.path;
24
- }
25
- /**
26
- * コンテンツを更新
27
- */
28
- withContent(content) {
29
- return new DocFileIndexEntity({
30
- ...this.value,
31
- content: content.value,
32
- });
33
- }
34
- /**
35
- * パスを更新
36
- */
37
- withPath(path) {
38
- return new DocFileIndexEntity({
39
- ...this.value,
40
- path: path,
41
- });
42
- }
43
- /**
44
- * indexFileSchemaの形式に変換
45
- */
46
- toJson() {
47
- return this.value;
48
- }
49
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=doc-file-index-entity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-index-entity.test.d.ts","sourceRoot":"","sources":["../../lib/entities/doc-file-index-entity.test.ts"],"names":[],"mappings":""}
@@ -1,195 +0,0 @@
1
- import { expect, test } from "bun:test";
2
- import { DocFileContentIndexValue } from "../values/doc-file-content-index-value";
3
- import { DocFileIndexEntity } from "./doc-file-index-entity";
4
- test("DocFileIndexEntity - 基本的な作成とプロパティアクセス", () => {
5
- const entity = new DocFileIndexEntity({
6
- type: "index",
7
- content: {
8
- type: "markdown-index",
9
- body: "# タイトル\n\n説明文",
10
- title: "タイトル",
11
- description: "説明文",
12
- frontMatter: {
13
- type: "index-frontmatter",
14
- icon: "📁",
15
- schema: {},
16
- },
17
- },
18
- path: {
19
- path: "docs/index.md",
20
- name: "index",
21
- fullPath: "/Users/test/docs/index.md",
22
- nameWithExtension: "index.md",
23
- },
24
- isArchived: false,
25
- });
26
- expect(entity.value.type).toBe("index");
27
- });
28
- test("DocFileIndexEntity - content getterが値オブジェクトを返す", () => {
29
- const entity = new DocFileIndexEntity({
30
- type: "index",
31
- content: {
32
- type: "markdown-index",
33
- body: "# タイトル",
34
- title: "タイトル",
35
- description: "",
36
- frontMatter: {
37
- type: "index-frontmatter",
38
- icon: "📁",
39
- schema: {},
40
- },
41
- },
42
- path: {
43
- path: "docs/index.md",
44
- name: "index",
45
- fullPath: "/Users/test/docs/index.md",
46
- nameWithExtension: "index.md",
47
- },
48
- isArchived: false,
49
- });
50
- const content = entity.content;
51
- expect(content).toBeInstanceOf(DocFileContentIndexValue);
52
- expect(content.title).toBe("タイトル");
53
- expect(content.body).toBe("# タイトル");
54
- });
55
- test("DocFileIndexEntity - path getterがオブジェクトを返す", () => {
56
- const entity = new DocFileIndexEntity({
57
- type: "index",
58
- content: {
59
- type: "markdown-index",
60
- body: "",
61
- title: "",
62
- description: "",
63
- frontMatter: {
64
- type: "index-frontmatter",
65
- icon: "",
66
- schema: {},
67
- },
68
- },
69
- path: {
70
- path: "docs/index.md",
71
- name: "index",
72
- fullPath: "/Users/test/docs/index.md",
73
- nameWithExtension: "index.md",
74
- },
75
- isArchived: false,
76
- });
77
- const path = entity.path;
78
- expect(path.name).toBe("index");
79
- expect(path.path).toBe("docs/index.md");
80
- expect(path.fullPath).toBe("/Users/test/docs/index.md");
81
- expect(path.nameWithExtension).toBe("index.md");
82
- });
83
- test("DocFileIndexEntity - withContentで新しいインスタンスを作成", () => {
84
- const entity = new DocFileIndexEntity({
85
- type: "index",
86
- content: {
87
- type: "markdown-index",
88
- body: "# 古いタイトル",
89
- title: "古いタイトル",
90
- description: "",
91
- frontMatter: {
92
- type: "index-frontmatter",
93
- icon: "📁",
94
- schema: {},
95
- },
96
- },
97
- path: {
98
- path: "docs/index.md",
99
- name: "index",
100
- fullPath: "/Users/test/docs/index.md",
101
- nameWithExtension: "index.md",
102
- },
103
- isArchived: false,
104
- });
105
- const newContent = entity.content.withTitle("新しいタイトル");
106
- const newEntity = entity.withContent(newContent);
107
- expect(newEntity).not.toBe(entity); // 新しいインスタンス
108
- expect(newEntity.content.title).toBe("新しいタイトル");
109
- expect(entity.content.title).toBe("古いタイトル"); // 元は変更されない
110
- });
111
- test("DocFileIndexEntity - withPathで新しいインスタンスを作成", () => {
112
- const entity = new DocFileIndexEntity({
113
- type: "index",
114
- content: {
115
- type: "markdown-index",
116
- body: "",
117
- title: "",
118
- description: "",
119
- frontMatter: {
120
- type: "index-frontmatter",
121
- icon: "",
122
- schema: {},
123
- },
124
- },
125
- path: {
126
- path: "docs/index.md",
127
- name: "index",
128
- fullPath: "/Users/test/docs/index.md",
129
- nameWithExtension: "index.md",
130
- },
131
- isArchived: false,
132
- });
133
- const newPath = {
134
- path: "docs/new-index.md",
135
- name: "new-index",
136
- fullPath: "/Users/test/docs/new-index.md",
137
- nameWithExtension: "new-index.md",
138
- };
139
- const newEntity = entity.withPath(newPath);
140
- expect(newEntity).not.toBe(entity); // 新しいインスタンス
141
- expect(newEntity.path.path).toBe("docs/new-index.md");
142
- expect(entity.path.path).toBe("docs/index.md"); // 元は変更されない
143
- });
144
- test("DocFileIndexEntity - toJsonで元のデータ構造を返す", () => {
145
- const data = {
146
- type: "index",
147
- content: {
148
- type: "markdown-index",
149
- body: "# タイトル",
150
- title: "タイトル",
151
- description: "説明",
152
- frontMatter: {
153
- type: "index-frontmatter",
154
- icon: "📁",
155
- schema: {},
156
- },
157
- },
158
- path: {
159
- path: "docs/index.md",
160
- name: "index",
161
- fullPath: "/Users/test/docs/index.md",
162
- nameWithExtension: "index.md",
163
- },
164
- isArchived: false,
165
- };
166
- const entity = new DocFileIndexEntity(data);
167
- expect(entity.toJson()).toEqual(data);
168
- });
169
- test("DocFileIndexEntity - 不変性の確認", () => {
170
- const entity = new DocFileIndexEntity({
171
- type: "index",
172
- content: {
173
- type: "markdown-index",
174
- body: "",
175
- title: "",
176
- description: "",
177
- frontMatter: {
178
- type: "index-frontmatter",
179
- icon: "",
180
- schema: {},
181
- },
182
- },
183
- path: {
184
- path: "docs/index.md",
185
- name: "index",
186
- fullPath: "/Users/test/docs/index.md",
187
- nameWithExtension: "index.md",
188
- },
189
- isArchived: false,
190
- });
191
- expect(() => {
192
- // @ts-expect-error - 不変性のテスト
193
- entity.value = {};
194
- }).toThrow();
195
- });
@@ -1,30 +0,0 @@
1
- import type { DocFileMd, DocFilePath } from "../types";
2
- import { DocFileContentMdValue } from "../values/doc-file-content-md-value";
3
- /**
4
- * ドキュメントのファイル
5
- */
6
- export declare class DocFileMdEntity {
7
- readonly value: DocFileMd;
8
- constructor(value: DocFileMd);
9
- /**
10
- * コンテンツ
11
- */
12
- get content(): DocFileContentMdValue;
13
- /**
14
- * パス情報
15
- */
16
- get path(): DocFilePath;
17
- /**
18
- * コンテンツを更新
19
- */
20
- withContent(content: DocFileContentMdValue): DocFileMdEntity;
21
- /**
22
- * パスを更新
23
- */
24
- withPath(path: DocFilePath): DocFileMdEntity;
25
- /**
26
- * JSON形式に変換
27
- */
28
- toJson(): DocFileMd;
29
- }
30
- //# sourceMappingURL=doc-file-md-entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-md-entity.d.ts","sourceRoot":"","sources":["../../lib/entities/doc-file-md-entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE3E;;GAEG;AACH,qBAAa,eAAe;IACd,QAAQ,CAAC,KAAK,EAAE,SAAS;IAArC,YAAqB,KAAK,EAAE,SAAS,EAGpC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAK3D;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAK3C;IAED;;OAEG;IACH,MAAM,IAAI,SAAS,CAElB;CACF"}
@@ -1,49 +0,0 @@
1
- import { zDocFileMd } from "../models";
2
- import { DocFileContentMdValue } from "../values/doc-file-content-md-value";
3
- /**
4
- * ドキュメントのファイル
5
- */
6
- export class DocFileMdEntity {
7
- value;
8
- constructor(value) {
9
- this.value = value;
10
- zDocFileMd.parse(value);
11
- Object.freeze(this);
12
- }
13
- /**
14
- * コンテンツ
15
- */
16
- get content() {
17
- return new DocFileContentMdValue(this.value.content);
18
- }
19
- /**
20
- * パス情報
21
- */
22
- get path() {
23
- return this.value.path;
24
- }
25
- /**
26
- * コンテンツを更新
27
- */
28
- withContent(content) {
29
- return new DocFileMdEntity({
30
- ...this.value,
31
- content: content.value,
32
- });
33
- }
34
- /**
35
- * パスを更新
36
- */
37
- withPath(path) {
38
- return new DocFileMdEntity({
39
- ...this.value,
40
- path: path,
41
- });
42
- }
43
- /**
44
- * JSON形式に変換
45
- */
46
- toJson() {
47
- return this.value;
48
- }
49
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=doc-file-md-entity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-file-md-entity.test.d.ts","sourceRoot":"","sources":["../../lib/entities/doc-file-md-entity.test.ts"],"names":[],"mappings":""}