@k4a_l/dirtreeist 0.2.6 → 0.2.9
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 +32 -32
- package/dist/constants/constant.d.ts +2 -1
- package/dist/constants/constant.d.ts.map +1 -1
- package/dist/constants/constant.js +4 -3
- package/dist/constants/constant.js.map +1 -1
- package/dist/index.cjs +54 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/convert.d.ts.map +1 -1
- package/dist/modules/convert.js +19 -6
- package/dist/modules/convert.js.map +1 -1
- package/dist/modules/options.d.ts.map +1 -1
- package/dist/modules/options.js +29 -3
- package/dist/modules/options.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,24 +26,24 @@ https://www.k4a.me/tools/dirtreeist
|
|
|
26
26
|
|
|
27
27
|
```markdown
|
|
28
28
|
- /components
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
- App.tsx
|
|
30
|
+
- App.css
|
|
31
31
|
- config.json
|
|
32
32
|
- /utils
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
- converter.ts
|
|
34
|
+
- parser.ts
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
### Output
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
40
|
├─/components
|
|
41
|
-
│
|
|
42
|
-
│
|
|
41
|
+
│ ├─App.tsx
|
|
42
|
+
│ └─App.css
|
|
43
43
|
├─config.json
|
|
44
44
|
└─/utils
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
└─converter.ts
|
|
46
|
+
└─parser.ts
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## How to use
|
|
@@ -53,20 +53,20 @@ https://www.k4a.me/tools/dirtreeist
|
|
|
53
53
|
```ts
|
|
54
54
|
const markdown = `
|
|
55
55
|
- /components
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
- App.tsx
|
|
57
|
+
- App.css
|
|
58
58
|
- config.json
|
|
59
59
|
- /utils
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
- converter.ts
|
|
61
|
+
- parser.ts
|
|
62
62
|
`
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
```tsx
|
|
66
|
-
import
|
|
66
|
+
import dirtreeist, { Options } from '@k4a_l/dirtreeist'
|
|
67
67
|
|
|
68
68
|
const options: Options = {}
|
|
69
|
-
const outputs =
|
|
69
|
+
const outputs = dirtreeist(markdown, options) // DirTree[] => output[]
|
|
70
70
|
|
|
71
71
|
console.log(outputs)
|
|
72
72
|
```
|
|
@@ -90,8 +90,8 @@ console.log(outputs)
|
|
|
90
90
|
|
|
91
91
|
```ts
|
|
92
92
|
type DirNode = {
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
name: string
|
|
94
|
+
children: DirNode[]
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
type DirTree = DirNode[]
|
|
@@ -101,10 +101,10 @@ type DirTree = DirNode[]
|
|
|
101
101
|
|
|
102
102
|
```ts
|
|
103
103
|
type Options = {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
treeType?: 'normal' | 'bold' | 'ascii'
|
|
105
|
+
emptyBeforeUpperHierarche?: boolean
|
|
106
|
+
spaceBeforeName?: boolean
|
|
107
|
+
spaceSize?: number
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
@@ -150,13 +150,13 @@ default:`false`
|
|
|
150
150
|
```text
|
|
151
151
|
(true)
|
|
152
152
|
├─/components
|
|
153
|
-
│
|
|
154
|
-
│
|
|
153
|
+
│ ├─App.tsx
|
|
154
|
+
│ └─App.css
|
|
155
155
|
│
|
|
156
156
|
├─config.json
|
|
157
157
|
└─/utils
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
└─converter.ts
|
|
159
|
+
└─parser.ts
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
#### spaceBeforeName : boolean
|
|
@@ -167,12 +167,12 @@ default: `false`
|
|
|
167
167
|
|
|
168
168
|
```text
|
|
169
169
|
├─ /components
|
|
170
|
-
│
|
|
171
|
-
│
|
|
170
|
+
│ ├─ App.tsx
|
|
171
|
+
│ └─ App.css
|
|
172
172
|
├─ config.json
|
|
173
173
|
└─ /utils
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
└─ converter.ts
|
|
175
|
+
└─ parser.ts
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
#### spaceSize : number
|
|
@@ -183,10 +183,10 @@ default:`2`
|
|
|
183
183
|
|
|
184
184
|
```text
|
|
185
185
|
├──/components
|
|
186
|
-
│
|
|
187
|
-
│
|
|
186
|
+
│ ├──App.tsx
|
|
187
|
+
│ └──App.css
|
|
188
188
|
├──config.json
|
|
189
189
|
└──/utils
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
└──converter.ts
|
|
191
|
+
└──parser.ts
|
|
192
192
|
```
|
|
@@ -3,5 +3,6 @@ declare const symbolSets: {
|
|
|
3
3
|
[key in OptionsBase['treeType']]: SymbolSet;
|
|
4
4
|
};
|
|
5
5
|
declare const defaultOptions: OptionsBase;
|
|
6
|
-
|
|
6
|
+
declare const treeTypeValues: string[];
|
|
7
|
+
export { symbolSets, defaultOptions, treeTypeValues };
|
|
7
8
|
//# sourceMappingURL=constant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/constants/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9C,QAAA,MAAM,UAAU,EAAE;KACf,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,SAAS;CAuB5C,CAAA;AAED,QAAA,MAAM,cAAc,EAAE,WAKrB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/constants/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9C,QAAA,MAAM,UAAU,EAAE;KACf,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,SAAS;CAuB5C,CAAA;AAED,QAAA,MAAM,cAAc,EAAE,WAKrB,CAAA;AAED,QAAA,MAAM,cAAc,UAA8B,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -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: '|',
|
|
@@ -27,5 +27,6 @@ const defaultOptions = {
|
|
|
27
27
|
spaceSize: 2,
|
|
28
28
|
emptyBeforeUpperHierarche: false,
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
const treeTypeValues = ['normal', 'bold', 'ascii'];
|
|
31
|
+
export { symbolSets, defaultOptions, treeTypeValues };
|
|
31
32
|
//# sourceMappingURL=constant.js.map
|
|
@@ -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,
|
|
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,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -9848,14 +9848,14 @@ const symbolSets = {
|
|
|
9848
9848
|
horizontal: '─',
|
|
9849
9849
|
crossing: '├',
|
|
9850
9850
|
end: '└',
|
|
9851
|
-
space: '
|
|
9851
|
+
space: ' ',
|
|
9852
9852
|
},
|
|
9853
9853
|
bold: {
|
|
9854
9854
|
vertical: '┃',
|
|
9855
9855
|
horizontal: '━',
|
|
9856
9856
|
crossing: '┣',
|
|
9857
9857
|
end: '┗',
|
|
9858
|
-
space: '
|
|
9858
|
+
space: ' ',
|
|
9859
9859
|
},
|
|
9860
9860
|
ascii: {
|
|
9861
9861
|
vertical: '|',
|
|
@@ -9870,13 +9870,40 @@ const defaultOptions = {
|
|
|
9870
9870
|
spaceBeforeName: false,
|
|
9871
9871
|
spaceSize: 2,
|
|
9872
9872
|
emptyBeforeUpperHierarche: false,
|
|
9873
|
-
};
|
|
9874
|
-
|
|
9873
|
+
};
|
|
9874
|
+
const treeTypeValues = ['normal', 'bold', 'ascii'];
|
|
9875
|
+
|
|
9876
|
+
const optionGuard = (value, defaultValue, key) => {
|
|
9877
|
+
if (key === 'spaceSize') {
|
|
9878
|
+
if (typeof value !== 'number')
|
|
9879
|
+
return defaultValue;
|
|
9880
|
+
if (value < 1)
|
|
9881
|
+
return defaultValue;
|
|
9882
|
+
return value;
|
|
9883
|
+
}
|
|
9884
|
+
if (key === 'emptyBeforeUpperHierarche') {
|
|
9885
|
+
if (typeof value !== 'boolean')
|
|
9886
|
+
return defaultValue;
|
|
9887
|
+
return value;
|
|
9888
|
+
}
|
|
9889
|
+
if (key === 'spaceBeforeName') {
|
|
9890
|
+
if (typeof value !== 'boolean')
|
|
9891
|
+
return defaultValue;
|
|
9892
|
+
return value;
|
|
9893
|
+
}
|
|
9894
|
+
if (key === 'treeType') {
|
|
9895
|
+
if (!treeTypeValues.includes(value))
|
|
9896
|
+
return defaultValue;
|
|
9897
|
+
return value;
|
|
9898
|
+
}
|
|
9899
|
+
return defaultValue;
|
|
9900
|
+
};
|
|
9875
9901
|
const pickOption = (option, defaultOption, key) => {
|
|
9876
9902
|
if (option === undefined)
|
|
9877
9903
|
return defaultOptions[key];
|
|
9878
|
-
if (option[key] !== undefined)
|
|
9879
|
-
return option[key];
|
|
9904
|
+
if (option[key] !== undefined) {
|
|
9905
|
+
return optionGuard(option[key], defaultOption[key], key);
|
|
9906
|
+
}
|
|
9880
9907
|
return defaultOption[key];
|
|
9881
9908
|
};
|
|
9882
9909
|
const buildOption = (options, defaultOptions) => {
|
|
@@ -9893,6 +9920,16 @@ const makeSymbol = (symbolSet, isLast) => {
|
|
|
9893
9920
|
return symbolSet.end;
|
|
9894
9921
|
return symbolSet.crossing;
|
|
9895
9922
|
};
|
|
9923
|
+
const makeAsciiSpace = (spaceSize) => {
|
|
9924
|
+
return new Array(spaceSize).fill(' ').reduce((prev, cur) => {
|
|
9925
|
+
return prev + cur;
|
|
9926
|
+
}, '');
|
|
9927
|
+
};
|
|
9928
|
+
const makeSpace = (spaceSize) => {
|
|
9929
|
+
return (new Array(Math.floor(spaceSize / 2)).fill(' ').reduce((prev, cur) => {
|
|
9930
|
+
return prev + cur;
|
|
9931
|
+
}, '') + (spaceSize % 2 == 1 ? ' ' : ''));
|
|
9932
|
+
};
|
|
9896
9933
|
const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
|
|
9897
9934
|
let result = ``;
|
|
9898
9935
|
dirTree.some((dirNode, dirNodeIndex) => {
|
|
@@ -9908,11 +9945,9 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
|
|
|
9908
9945
|
.reduce((prev, cur) => prev + cur, '');
|
|
9909
9946
|
const currentLine = `${currentPrefix}${options.spaceBeforeName ? ' ' : ''}${dirNode.name}`;
|
|
9910
9947
|
// 子
|
|
9911
|
-
const spaces =
|
|
9912
|
-
.
|
|
9913
|
-
.
|
|
9914
|
-
return prev + cur;
|
|
9915
|
-
}, '');
|
|
9948
|
+
const spaces = options.treeType === 'ascii'
|
|
9949
|
+
? makeAsciiSpace(options.spaceSize)
|
|
9950
|
+
: makeSpace(options.spaceSize);
|
|
9916
9951
|
const childrenLines = reduce(dirNode.children, options, prefix + (isLast ? symbolSet.space : symbolSet.vertical) + spaces, hie + 1, isLastGroup || isLast);
|
|
9917
9952
|
// 追加
|
|
9918
9953
|
result +=
|
|
@@ -9926,13 +9961,18 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
|
|
|
9926
9961
|
return result.slice(0, hie === 0 ? -1 : result.length);
|
|
9927
9962
|
};
|
|
9928
9963
|
const convert = (dirTree, options) => {
|
|
9929
|
-
|
|
9964
|
+
try {
|
|
9965
|
+
return reduce(dirTree, buildOption(options, defaultOptions), '', 0, false);
|
|
9966
|
+
}
|
|
9967
|
+
catch (error) {
|
|
9968
|
+
return 'Some errors occurred!\n\n' + String(error) + '\n\n' + 'Please contact to developper.';
|
|
9969
|
+
}
|
|
9930
9970
|
};
|
|
9931
9971
|
|
|
9932
|
-
const
|
|
9972
|
+
const dirtreeist = (markdown, option) => {
|
|
9933
9973
|
return parse(markdown).map((dirtree) => convert(dirtree, option));
|
|
9934
9974
|
};
|
|
9935
9975
|
|
|
9936
9976
|
exports.convert = convert;
|
|
9937
|
-
exports["default"] =
|
|
9977
|
+
exports["default"] = dirtreeist;
|
|
9938
9978
|
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
|
|
4
|
+
declare const dirtreeist: (markdown: string, option?: Options) => string[];
|
|
5
5
|
export { parse, convert };
|
|
6
|
-
export default
|
|
6
|
+
export default dirtreeist;
|
|
7
7
|
export type { DirTree, Options };
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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,
|
|
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;
|
|
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,MAMtD,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
package/dist/modules/convert.js
CHANGED
|
@@ -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) => {
|
|
@@ -20,11 +30,9 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
|
|
|
20
30
|
.reduce((prev, cur) => prev + cur, '');
|
|
21
31
|
const currentLine = `${currentPrefix}${options.spaceBeforeName ? ' ' : ''}${dirNode.name}`;
|
|
22
32
|
// 子
|
|
23
|
-
const spaces =
|
|
24
|
-
.
|
|
25
|
-
.
|
|
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 +=
|
|
@@ -38,7 +46,12 @@ const reduce = (dirTree, options, prefix, hie, isLastGroup) => {
|
|
|
38
46
|
return result.slice(0, hie === 0 ? -1 : result.length);
|
|
39
47
|
};
|
|
40
48
|
const convert = (dirTree, options) => {
|
|
41
|
-
|
|
49
|
+
try {
|
|
50
|
+
return reduce(dirTree, buildOption(options, defaultOptions), '', 0, false);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
return 'Some errors occurred!\n\n' + String(error) + '\n\n' + 'Please contact to developper.';
|
|
54
|
+
}
|
|
42
55
|
};
|
|
43
56
|
export { convert };
|
|
44
57
|
//# sourceMappingURL=convert.js.map
|
|
@@ -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,CACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE;iBACE,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,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/modules/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/modules/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/modules/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAuC5C,QAAA,MAAM,WAAW,YACN,OAAO,GAAG,SAAS,kBACZ,WAAW,KAC1B,WASF,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/modules/options.js
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
|
-
import { defaultOptions } from '../constants/constant.js';
|
|
1
|
+
import { defaultOptions, treeTypeValues } from '../constants/constant.js';
|
|
2
|
+
const optionGuard = (value, defaultValue, key) => {
|
|
3
|
+
if (key === 'spaceSize') {
|
|
4
|
+
if (typeof value !== 'number')
|
|
5
|
+
return defaultValue;
|
|
6
|
+
if (value < 1)
|
|
7
|
+
return defaultValue;
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
if (key === 'emptyBeforeUpperHierarche') {
|
|
11
|
+
if (typeof value !== 'boolean')
|
|
12
|
+
return defaultValue;
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
if (key === 'spaceBeforeName') {
|
|
16
|
+
if (typeof value !== 'boolean')
|
|
17
|
+
return defaultValue;
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
if (key === 'treeType') {
|
|
21
|
+
if (!treeTypeValues.includes(value))
|
|
22
|
+
return defaultValue;
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
return defaultValue;
|
|
26
|
+
};
|
|
2
27
|
const pickOption = (option, defaultOption, key) => {
|
|
3
28
|
if (option === undefined)
|
|
4
29
|
return defaultOptions[key];
|
|
5
|
-
if (option[key] !== undefined)
|
|
6
|
-
return option[key];
|
|
30
|
+
if (option[key] !== undefined) {
|
|
31
|
+
return optionGuard(option[key], defaultOption[key], key);
|
|
32
|
+
}
|
|
7
33
|
return defaultOption[key];
|
|
8
34
|
};
|
|
9
35
|
const buildOption = (options, defaultOptions) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/modules/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/modules/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtE,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,YAAiB,EAAE,GAAsB,EAAE,EAAE;IAC5E,IAAI,GAAG,KAAK,WAAW,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAA;QAClD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,YAAY,CAAA;QAClC,OAAO,KAAK,CAAA;KACb;IAED,IAAI,GAAG,KAAK,2BAA2B,EAAE;QACvC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,YAAY,CAAA;QACnD,OAAO,KAAK,CAAA;KACb;IAED,IAAI,GAAG,KAAK,iBAAiB,EAAE;QAC7B,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,YAAY,CAAA;QACnD,OAAO,KAAK,CAAA;KACb;IAED,IAAI,GAAG,KAAK,UAAU,EAAE;QACtB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,YAAY,CAAA;QACxD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CACjB,MAA2B,EAC3B,aAA0B,EAC1B,GAAsB,EACnB,EAAE;IACL,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,GAAG,CAAM,CAAA;IACzD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAM,CAAA;KAC9D;IACD,OAAO,aAAa,CAAC,GAAG,CAAM,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,OAA4B,EAC5B,cAA2B,EACd,EAAE;IACf,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClD,OAAO;YACL,GAAG;YACH,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAwB,CAAC;SAC9D,CAAA;IACH,CAAC,CAAC,CACY,CAAA;AAClB,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { treeTypeValues } from "constants/constant.js";
|
|
1
2
|
declare type DirNode = {
|
|
2
3
|
name: string;
|
|
3
4
|
children: DirNode[];
|
|
4
5
|
};
|
|
5
6
|
declare type DirTree = DirNode[];
|
|
6
7
|
declare type OptionsBase = {
|
|
7
|
-
treeType:
|
|
8
|
+
treeType: typeof treeTypeValues[number];
|
|
8
9
|
emptyBeforeUpperHierarche: boolean;
|
|
9
10
|
spaceBeforeName: boolean;
|
|
10
11
|
spaceSize: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,aAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AAED,aAAK,OAAO,GAAG,OAAO,EAAE,CAAA;AAExB,aAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,aAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AAED,aAAK,OAAO,GAAG,OAAO,EAAE,CAAA;AAExB,aAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;IACvC,yBAAyB,EAAE,OAAO,CAAA;IAClC,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,aAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,aAAK,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEnC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA"}
|