@k4a_l/dirtreeist 0.2.4 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,30 +16,34 @@ yarn add @k4a_l/dirtreeist
16
16
  npm install @k4a_l/dirtreeist
17
17
  ```
18
18
 
19
+ ## Demo
20
+
21
+ https://www.k4a.me/tools/dirtreeist
22
+
19
23
  ## Example
20
24
 
21
25
  ### Input
22
26
 
23
27
  ```markdown
24
28
  - /components
25
- - App.tsx
26
- - App.css
29
+  - App.tsx
30
+  - App.css
27
31
  - config.json
28
32
  - /utils
29
- - converter.ts
30
- - parser.ts
33
+  - converter.ts
34
+  - parser.ts
31
35
  ```
32
36
 
33
37
  ### Output
34
38
 
35
39
  ```text
36
40
  ├─/components
37
- ├─App.tsx
38
- └─App.css
41
+  ├─App.tsx
42
+  └─App.css
39
43
  ├─config.json
40
44
  └─/utils
41
- └─converter.ts
42
- └─parser.ts
45
+   └─converter.ts
46
+   └─parser.ts
43
47
  ```
44
48
 
45
49
  ## How to use
@@ -49,20 +53,20 @@ npm install @k4a_l/dirtreeist
49
53
  ```ts
50
54
  const markdown = `
51
55
  - /components
52
- - App.tsx
53
- - App.css
56
+   - App.tsx
57
+   - App.css
54
58
  - config.json
55
59
  - /utils
56
- - converter.ts
57
- - parser.ts
60
+   - converter.ts
61
+   - parser.ts
58
62
  `
59
63
  ```
60
64
 
61
65
  ```tsx
62
- import dirtreest, { Options } from '@k4a_l/dirtreeist'
66
+ import dirtreeist, { Options } from '@k4a_l/dirtreeist'
63
67
 
64
68
  const options: Options = {}
65
- const outputs = dirtreest(markdown, options) // DirTree[] => output[]
69
+ const outputs = dirtreeist(markdown, options) // DirTree[] => output[]
66
70
 
67
71
  console.log(outputs)
68
72
  ```
@@ -86,8 +90,8 @@ console.log(outputs)
86
90
 
87
91
  ```ts
88
92
  type DirNode = {
89
- name: string
90
- children: DirNode[]
93
+  name: string
94
+  children: DirNode[]
91
95
  }
92
96
 
93
97
  type DirTree = DirNode[]
@@ -97,10 +101,10 @@ type DirTree = DirNode[]
97
101
 
98
102
  ```ts
99
103
  type Options = {
100
- treeType?: 'normal' | 'bold' | 'ascii'
101
- emptyBeforeUpperHierarche?: boolean
102
- spaceBeforeName?: boolean
103
- spaceSize?: number
104
+  treeType?: 'normal' | 'bold' | 'ascii'
105
+  emptyBeforeUpperHierarche?: boolean
106
+  spaceBeforeName?: boolean
107
+  spaceSize?: number
104
108
  }
105
109
  ```
106
110
 
@@ -146,13 +150,13 @@ default:`false`
146
150
  ```text
147
151
  (true)
148
152
  ├─/components
149
- ├─App.tsx
150
- └─App.css
153
+  ├─App.tsx
154
+  └─App.css
151
155
 
152
156
  ├─config.json
153
157
  └─/utils
154
- └─converter.ts
155
- └─parser.ts
158
+   └─converter.ts
159
+   └─parser.ts
156
160
  ```
157
161
 
158
162
  #### spaceBeforeName : boolean
@@ -163,12 +167,12 @@ default: `false`
163
167
 
164
168
  ```text
165
169
  ├─ /components
166
- ├─ App.tsx
167
- └─ App.css
170
+  ├─ App.tsx
171
+  └─ App.css
168
172
  ├─ config.json
169
173
  └─ /utils
170
- └─ converter.ts
171
- └─ parser.ts
174
+   └─ converter.ts
175
+   └─ parser.ts
172
176
  ```
173
177
 
174
178
  #### spaceSize : number
@@ -179,10 +183,10 @@ default:`2`
179
183
 
180
184
  ```text
181
185
  ├──/components
182
- ├──App.tsx
183
- └──App.css
186
+   ├──App.tsx
187
+   └──App.css
184
188
  ├──config.json
185
189
  └──/utils
186
- └──converter.ts
187
- └──parser.ts
190
+    └──converter.ts
191
+    └──parser.ts
188
192
  ```
@@ -4,14 +4,14 @@ const symbolSets = {
4
4
  horizontal: '─',
5
5
  crossing: '├',
6
6
  end: '└',
7
- space: ' ',
7
+ space: ' ',
8
8
  },
9
9
  bold: {
10
10
  vertical: '┃',
11
11
  horizontal: '━',
12
12
  crossing: '┣',
13
13
  end: '┗',
14
- space: ' ',
14
+ space: ' ',
15
15
  },
16
16
  ascii: {
17
17
  vertical: '|',
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/constants/constant.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAEZ;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,IAAI;KACZ;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,IAAI;KACZ;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;KACX;CACF,CAAA;AAED,MAAM,cAAc,GAAgB;IAClC,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,CAAC;IACZ,yBAAyB,EAAE,KAAK;CACjC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/constants/constant.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAEZ;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;KACX;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;KACX;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;KACX;CACF,CAAA;AAED,MAAM,cAAc,GAAgB;IAClC,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,CAAC;IACZ,yBAAyB,EAAE,KAAK;CACjC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA"}
package/dist/index.cjs CHANGED
@@ -9820,6 +9820,10 @@ const extractListItem = (listItem) => {
9820
9820
  return { name, children: children };
9821
9821
  };
9822
9822
  const extractList = (list) => {
9823
+ if (list.type !== 'list')
9824
+ return [];
9825
+ if (!list.children)
9826
+ return [];
9823
9827
  return list.children.map((listItem) => {
9824
9828
  return extractListItem(listItem);
9825
9829
  });
@@ -9828,7 +9832,12 @@ const parse = (chunk) => {
9828
9832
  const tree = fromMarkdown(chunk);
9829
9833
  const lists = tree.children.filter((child) => child.type === 'list');
9830
9834
  const result = lists.map((list) => {
9831
- return extractList(list);
9835
+ try {
9836
+ return extractList(list);
9837
+ }
9838
+ catch (error) {
9839
+ return [];
9840
+ }
9832
9841
  });
9833
9842
  return result;
9834
9843
  };
@@ -9839,14 +9848,14 @@ const symbolSets = {
9839
9848
  horizontal: '─',
9840
9849
  crossing: '├',
9841
9850
  end: '└',
9842
- space: ' ',
9851
+ space: ' ',
9843
9852
  },
9844
9853
  bold: {
9845
9854
  vertical: '┃',
9846
9855
  horizontal: '━',
9847
9856
  crossing: '┣',
9848
9857
  end: '┗',
9849
- space: ' ',
9858
+ space: ' ',
9850
9859
  },
9851
9860
  ascii: {
9852
9861
  vertical: '|',
@@ -9884,6 +9893,16 @@ const makeSymbol = (symbolSet, isLast) => {
9884
9893
  return symbolSet.end;
9885
9894
  return symbolSet.crossing;
9886
9895
  };
9896
+ const makeAsciiSpace = (spaceSize) => {
9897
+ return new Array(spaceSize).fill(' ').reduce((prev, cur) => {
9898
+ return prev + cur;
9899
+ }, '');
9900
+ };
9901
+ const makeSpace = (spaceSize) => {
9902
+ return (new Array(Math.floor(spaceSize / 2)).fill(' ').reduce((prev, cur) => {
9903
+ return prev + cur;
9904
+ }, '') + (spaceSize % 2 == 1 ? ' ' : ''));
9905
+ };
9887
9906
  const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
9888
9907
  let result = ``;
9889
9908
  dirTree.some((dirNode, dirNodeIndex) => {
@@ -9894,16 +9913,14 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
9894
9913
  // 現在
9895
9914
  const currentPrefix = prefix +
9896
9915
  symbol +
9897
- new Array(Math.floor(options.spaceSize / 2))
9916
+ new Array(Math.floor(options.spaceSize / (options.treeType === 'ascii' ? 1 : 2)))
9898
9917
  .fill(symbolSet.horizontal)
9899
9918
  .reduce((prev, cur) => prev + cur, '');
9900
9919
  const currentLine = `${currentPrefix}${options.spaceBeforeName ? ' ' : ''}${dirNode.name}`;
9901
9920
  // 子
9902
- const spaces = new Array(options.spaceSize)
9903
- .fill(' ')
9904
- .reduce((prev, cur) => {
9905
- return prev + cur;
9906
- }, '');
9921
+ const spaces = options.treeType === 'ascii'
9922
+ ? makeAsciiSpace(options.spaceSize)
9923
+ : makeSpace(options.spaceSize);
9907
9924
  const childrenLines = reduce(dirNode.children, options, prefix + (isLast ? symbolSet.space : symbolSet.vertical) + spaces, hie + 1, isLastGroup || isLast);
9908
9925
  // 追加
9909
9926
  result +=
@@ -9920,10 +9937,10 @@ const convert = (dirTree, options) => {
9920
9937
  return reduce(dirTree, buildOption(options, defaultOptions), '', 0, false);
9921
9938
  };
9922
9939
 
9923
- const dirtreest = (markdown, option) => {
9940
+ const dirtreeist = (markdown, option) => {
9924
9941
  return parse(markdown).map((dirtree) => convert(dirtree, option));
9925
9942
  };
9926
9943
 
9927
9944
  exports.convert = convert;
9928
- exports["default"] = dirtreest;
9945
+ exports["default"] = dirtreeist;
9929
9946
  exports.parse = parse;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { parse } from './modules/parse.js';
2
2
  import { convert } from './modules/convert.js';
3
3
  import { DirTree, Options } from './types/index';
4
- declare const dirtreest: (markdown: string, option?: Options) => string[];
4
+ declare const dirtreeist: (markdown: string, option?: Options) => string[];
5
5
  export { parse, convert };
6
- export default dirtreest;
6
+ export default dirtreeist;
7
7
  export type { DirTree, Options };
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEhD,QAAA,MAAM,SAAS,aAAc,MAAM,WAAW,OAAO,aAEpD,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACzB,eAAe,SAAS,CAAA;AACxB,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEhD,QAAA,MAAM,UAAU,aAAc,MAAM,WAAW,OAAO,aAErD,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACzB,eAAe,UAAU,CAAA;AACzB,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { parse } from './modules/parse.js';
2
2
  import { convert } from './modules/convert.js';
3
- const dirtreest = (markdown, option) => {
3
+ const dirtreeist = (markdown, option) => {
4
4
  return parse(markdown).map((dirtree) => convert(dirtree, option));
5
5
  };
6
6
  export { parse, convert };
7
- export default dirtreest;
7
+ export default dirtreeist;
8
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAI9C,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,MAAgB,EAAE,EAAE;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACzB,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAI9C,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,MAAgB,EAAE,EAAE;IACxD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACzB,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/modules/convert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAA0B,MAAM,aAAa,CAAA;AA6DtE,QAAA,MAAM,OAAO,+BAAgC,OAAO,KAAG,MAEtD,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/modules/convert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAA0B,MAAM,aAAa,CAAA;AA6EtE,QAAA,MAAM,OAAO,+BAAgC,OAAO,KAAG,MAEtD,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -5,6 +5,16 @@ const makeSymbol = (symbolSet, isLast) => {
5
5
  return symbolSet.end;
6
6
  return symbolSet.crossing;
7
7
  };
8
+ const makeAsciiSpace = (spaceSize) => {
9
+ return new Array(spaceSize).fill(' ').reduce((prev, cur) => {
10
+ return prev + cur;
11
+ }, '');
12
+ };
13
+ const makeSpace = (spaceSize) => {
14
+ return (new Array(Math.floor(spaceSize / 2)).fill(' ').reduce((prev, cur) => {
15
+ return prev + cur;
16
+ }, '') + (spaceSize % 2 == 1 ? ' ' : ''));
17
+ };
8
18
  const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
9
19
  let result = ``;
10
20
  dirTree.some((dirNode, dirNodeIndex) => {
@@ -15,16 +25,14 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
15
25
  // 現在
16
26
  const currentPrefix = prefix +
17
27
  symbol +
18
- new Array(Math.floor(options.spaceSize / 2))
28
+ new Array(Math.floor(options.spaceSize / (options.treeType === 'ascii' ? 1 : 2)))
19
29
  .fill(symbolSet.horizontal)
20
30
  .reduce((prev, cur) => prev + cur, '');
21
31
  const currentLine = `${currentPrefix}${options.spaceBeforeName ? ' ' : ''}${dirNode.name}`;
22
32
  // 子
23
- const spaces = new Array(options.spaceSize)
24
- .fill(' ')
25
- .reduce((prev, cur) => {
26
- return prev + cur;
27
- }, '');
33
+ const spaces = options.treeType === 'ascii'
34
+ ? makeAsciiSpace(options.spaceSize)
35
+ : makeSpace(options.spaceSize);
28
36
  const childrenLines = reduce(dirNode.children, options, prefix + (isLast ? symbolSet.space : symbolSet.vertical) + spaces, hie + 1, isLastGroup || isLast);
29
37
  // 追加
30
38
  result +=
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/modules/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAE,MAAe,EAAU,EAAE;IACnE,IAAI,MAAM;QAAE,OAAO,SAAS,CAAC,GAAG,CAAA;IAChC,OAAO,SAAS,CAAC,QAAQ,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CACb,OAAgB,EAChB,OAAoB,EACpB,MAAc,EACd,GAAW,EACX,WAAoB,EACZ,EAAE;IACV,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QACrC,KAAK;QACL,MAAM,MAAM,GAAG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE5C,KAAK;QACL,MAAM,aAAa,GACjB,MAAM;YACN,MAAM;YACN,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;iBACzC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;iBAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;QAE1C,MAAM,WAAW,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GACvE,OAAO,CAAC,IACV,EAAE,CAAA;QAEF,IAAI;QACJ,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpB,OAAO,IAAI,GAAG,GAAG,CAAA;QACnB,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,MAAM,aAAa,GAAG,MAAM,CAC1B,OAAO,CAAC,QAAQ,EAChB,OAAO,EACP,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,EACjE,GAAG,GAAG,CAAC,EACP,WAAW,IAAI,MAAM,CACtB,CAAA;QAED,KAAK;QACL,MAAM;YACJ,WAAW;gBACX,IAAI;gBACJ,aAAa;gBACb,CAAC,OAAO,CAAC,yBAAyB,IAAI,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC;oBACxE,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI;oBAC3B,CAAC,CAAC,EAAE,CAAC,CAAA;IACX,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,OAAiB,EAAU,EAAE;IAC9D,OAAO,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/modules/convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/modules/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,aAAa,CAAA;AAwC9C,QAAA,MAAM,KAAK,UAAW,MAAM,KAAG,OAAO,EAUrC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/modules/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,aAAa,CAAA;AA0C9C,QAAA,MAAM,KAAK,UAAW,MAAM,KAAG,OAAO,EAcrC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -23,6 +23,10 @@ const extractListItem = (listItem) => {
23
23
  return { name, children: children };
24
24
  };
25
25
  const extractList = (list) => {
26
+ if (list.type !== 'list')
27
+ return [];
28
+ if (!list.children)
29
+ return [];
26
30
  return list.children.map((listItem) => {
27
31
  return extractListItem(listItem);
28
32
  });
@@ -31,7 +35,12 @@ const parse = (chunk) => {
31
35
  const tree = fromMarkdown(chunk);
32
36
  const lists = tree.children.filter((child) => child.type === 'list');
33
37
  const result = lists.map((list) => {
34
- return extractList(list);
38
+ try {
39
+ return extractList(list);
40
+ }
41
+ catch (error) {
42
+ return [];
43
+ }
35
44
  });
36
45
  return result;
37
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/modules/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,KAAK,CAAA;IAEjD,IAAI,UAAU,IAAI,OAAO,EAAE;QACzB,OAAO,OAAO,CAAC,QAAQ;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpB,OAAO,IAAI,GAAG,GAAG,CAAA;QACnB,CAAC,EAAE,EAAE,CAAC,CAAA;KACT;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAW,EAAE;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9C,MAAM,QAAQ,GACZ,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAS,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAU,EAAW,EAAE;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAa,EAAa,EAAE;IACzC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAW,CAAA;IAE9E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/modules/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,KAAK,CAAA;IAEjD,IAAI,UAAU,IAAI,OAAO,EAAE;QACzB,OAAO,OAAO,CAAC,QAAQ;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpB,OAAO,IAAI,GAAG,GAAG,CAAA;QACnB,CAAC,EAAE,EAAE,CAAC,CAAA;KACT;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAW,EAAE;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9C,MAAM,QAAQ,GACZ,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAS,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE;IAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAA;IACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAa,EAAa,EAAE;IACzC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,IAAI;YACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;SACzB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,EAAE,CAAA;SACV;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k4a_l/dirtreeist",
3
- "version": "0.2.4",
3
+ "version": "0.2.7",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  "import": "./dist/index.js",
@@ -24,27 +24,19 @@
24
24
  "@rollup/plugin-commonjs": "^22.0.2",
25
25
  "@rollup/plugin-node-resolve": "^14.0.1",
26
26
  "@rollup/plugin-typescript": "^8.5.0",
27
- "@types/jest": "^29.0.0",
28
- "@types/mdast": "^3.0.10",
29
27
  "@typescript-eslint/eslint-plugin": "^5.36.2",
30
28
  "@typescript-eslint/parser": "^5.36.2",
31
29
  "eslint": "^8.23.0",
32
30
  "eslint-config-prettier": "^8.5.0",
33
- "jest": "^29.0.2",
34
31
  "prettier": "^2.7.1",
35
32
  "rollup": "^2.79.0",
36
- "ts-jest": "^28.0.8",
37
- "ts-node-dev": "^2.0.0",
38
33
  "tsc-alias": "^1.7.0",
39
- "tslib": "^2.4.0",
40
34
  "typescript": "^4.8.2",
41
35
  "vite-tsconfig-paths": "^3.5.0",
42
36
  "vitest": "^0.23.1"
43
37
  },
44
38
  "dependencies": {
45
39
  "mdast-util-from-markdown": "^1.2.0",
46
- "remark-parse": "^10.0.1",
47
- "ts-dedent": "^2.2.0",
48
- "unified": "^10.1.2"
40
+ "ts-dedent": "^2.2.0"
49
41
  }
50
42
  }