epub2md 1.1.0 → 1.1.2
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 +28 -17
- package/lib/bin/cli.d.ts +8 -1
- package/lib/bin/cli.js +34 -14
- package/lib/bin/cli.js.map +1 -1
- package/lib/bin/convert.d.ts +16 -7
- package/lib/bin/convert.js +37 -18
- package/lib/bin/convert.js.map +1 -1
- package/lib/bin/parse.d.ts +8 -1
- package/lib/bin/parse.js +11 -7
- package/lib/bin/parse.js.map +1 -1
- package/lib/converter.js +10 -12
- package/lib/converter.js.map +1 -1
- package/lib/parseEpub.d.ts +1 -0
- package/lib/parseEpub.js +6 -4
- package/lib/parseEpub.js.map +1 -1
- package/lib/parseSection.js +1 -25
- package/lib/parseSection.js.map +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +4 -9
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,19 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
A epub parser that also can convert epub to markdown using the command line
|
|
4
4
|
|
|
5
|
-
# Global Install
|
|
5
|
+
# Global Install for CLI
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
#
|
|
8
|
+
# cli
|
|
9
9
|
npm install epub2md -g
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
## CLI
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
|
|
16
|
-
$ epub2md -
|
|
15
|
+
# show usage
|
|
16
|
+
$ epub2md -h
|
|
17
|
+
|
|
18
|
+
# Convert directly to markdown format
|
|
19
|
+
$ epub2md ../../fixtures/zhihu.epub
|
|
20
|
+
# or -m
|
|
17
21
|
$ epub2md -m ../../fixtures/zhihu.epub
|
|
22
|
+
|
|
23
|
+
# Convert directly to markdown format with autospace to handle spacing between CJK and English words and Correct punctuations Only for command line use
|
|
24
|
+
$ epub2md -M ../../fixtures/zhihu.epub
|
|
25
|
+
|
|
26
|
+
# show other info
|
|
27
|
+
$ epub2md -u ../../fixtures/zhihu.epub
|
|
18
28
|
$ epub2md -i ../../fixtures/zhihu.epub
|
|
19
29
|
$ epub2md -S ../../fixtures/zhihu.epub
|
|
20
30
|
$ epub2md -s ../../fixtures/zhihu.epub
|
|
@@ -25,8 +35,10 @@ $ epub2md -s ../../fixtures/zhihu.epub
|
|
|
25
35
|
```bash
|
|
26
36
|
# npm
|
|
27
37
|
npm install epub2md --save
|
|
38
|
+
|
|
28
39
|
# pnpm
|
|
29
40
|
pnpm add epub2md
|
|
41
|
+
|
|
30
42
|
# yarn
|
|
31
43
|
yarn add epub2md
|
|
32
44
|
```
|
|
@@ -41,42 +53,41 @@ const epubObj = await parseEpub('/path/to/file.epub')
|
|
|
41
53
|
console.log('epub content:', epubObj)
|
|
42
54
|
```
|
|
43
55
|
|
|
44
|
-
## parseEpub(target: string | buffer, options?: ParserOptions): EpubObject
|
|
56
|
+
## parseEpub(target: string | buffer, options ?: ParserOptions): EpubObject
|
|
45
57
|
|
|
46
58
|
### target
|
|
47
59
|
|
|
48
|
-
type: `string` or
|
|
60
|
+
type: `string` or`buffer`
|
|
49
61
|
|
|
50
62
|
It can be the path to the file or file's binary string or buffer
|
|
51
63
|
|
|
52
64
|
### options: `ParserOptions`
|
|
53
65
|
|
|
54
|
-
- type?: 'binaryString' | 'path' | 'buffer'
|
|
66
|
+
- type ?: 'binaryString' | 'path' | 'buffer'
|
|
55
67
|
|
|
56
|
-
It forces the parser to treat supplied target as the defined type, if not defined the parser itself will decide how to treat the file
|
|
68
|
+
It forces the parser to treat supplied target as the defined type, if not defined the parser itself will decide how to treat the file(useful when you are not sure if the path is valid).
|
|
57
69
|
|
|
58
|
-
- expand?: boolean
|
|
59
|
-
- convertToMarkdown?: (htmlstr: string) => string
|
|
70
|
+
- expand ?: boolean
|
|
71
|
+
- convertToMarkdown ?: (htmlstr: string) => string
|
|
60
72
|
|
|
61
|
-
use custom convert function, you can use turndown or node-html-markdown
|
|
73
|
+
use custom convert function, you can use turndown or node-html-markdown.etc.
|
|
62
74
|
|
|
63
75
|
### EpubObject
|
|
64
76
|
|
|
65
|
-
The return value is an object which contains
|
|
77
|
+
The return value is an object which contains`structure`, `sections`, `info`(private property names start with `_`.I don't recommend using them, since they are subscribed to change).
|
|
66
78
|
|
|
67
79
|
`structure` is the parsed `toc` of epub file, they contain information about how the book is constructed.
|
|
68
80
|
|
|
69
|
-
`sections` is an array of chapters or sections under chapters, they are referred in `structure`.
|
|
81
|
+
`sections` is an array of chapters or sections under chapters, they are referred in `structure`.Each section object contains the raw html string and a few handy methods.
|
|
70
82
|
|
|
71
83
|
- `Section.prototype.toMarkdown`: convert to markdown object.
|
|
72
|
-
|
|
84
|
+
|
|
85
|
+
- `Section.prototype.toHtmlObjects`: convert to html object. And a note about `src` and`href`, the`src` and`href` in raw html stay untouched, but the `toHtmlObjects` method resolves `src` to base64 string, and alters `href` so that they make sense in the parsed epub.And the parsed `href` is something like`#{sectionId},{hash}`.
|
|
73
86
|
|
|
74
87
|
# How to contribute
|
|
75
88
|
|
|
76
89
|
- Raise an issue in the issue section.
|
|
77
|
-
- PRs are the best.
|
|
78
|
-
|
|
79
|
-
❤️
|
|
90
|
+
- PRs are the best. ❤️
|
|
80
91
|
|
|
81
92
|
# Credits
|
|
82
93
|
|
package/lib/bin/cli.d.ts
CHANGED
package/lib/bin/cli.js
CHANGED
|
@@ -4,48 +4,68 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Commands = void 0;
|
|
7
8
|
var args_1 = __importDefault(require("args"));
|
|
8
9
|
var chalk_1 = __importDefault(require("chalk"));
|
|
9
10
|
// @ts-ignore
|
|
10
11
|
var beauty_json_1 = require("beauty-json");
|
|
11
12
|
var __1 = require("..");
|
|
12
13
|
var convert_1 = __importDefault(require("./convert"));
|
|
14
|
+
var Commands;
|
|
15
|
+
(function (Commands) {
|
|
16
|
+
Commands["markdown"] = "md";
|
|
17
|
+
Commands["autospace"] = "ma";
|
|
18
|
+
Commands["unzip"] = "unzip";
|
|
19
|
+
Commands["info"] = "info";
|
|
20
|
+
Commands["structure"] = "structure";
|
|
21
|
+
Commands["sections"] = "sections";
|
|
22
|
+
})(Commands || (exports.Commands = Commands = {}));
|
|
13
23
|
var name = "epub2md";
|
|
14
24
|
var commands = [
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
25
|
+
[Commands.markdown, 'convert the epub file to markdown format'],
|
|
26
|
+
[Commands.autospace, 'convert the epub file to markdown format with autospace'],
|
|
27
|
+
[Commands.unzip, 'unzip epub file'],
|
|
28
|
+
[Commands.info, 'get epub file basic info'],
|
|
29
|
+
[Commands.structure, 'get epub file structure'],
|
|
30
|
+
[Commands.sections, 'get epub file sections']
|
|
20
31
|
];
|
|
21
|
-
|
|
32
|
+
var DEFAULT_COMMAND = Commands.markdown;
|
|
33
|
+
// define options
|
|
22
34
|
commands.forEach(function (cmd) { return args_1.default.option(cmd[0], cmd[1]); });
|
|
23
35
|
// @ts-ignore
|
|
24
36
|
var flags = args_1.default.parse(process.argv, {
|
|
25
37
|
name: name,
|
|
26
38
|
});
|
|
27
|
-
commands.
|
|
39
|
+
commands.some(function (_a, i) {
|
|
40
|
+
var cmd = _a[0];
|
|
28
41
|
if (flags[cmd]) {
|
|
29
42
|
run(cmd);
|
|
30
43
|
return true;
|
|
31
44
|
}
|
|
32
45
|
else {
|
|
33
|
-
i === commands.length - 1
|
|
46
|
+
if (i === commands.length - 1) {
|
|
47
|
+
if (process.argv[2]) {
|
|
48
|
+
flags[DEFAULT_COMMAND] = process.argv[2];
|
|
49
|
+
run(DEFAULT_COMMAND);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
args_1.default.showHelp();
|
|
53
|
+
}
|
|
34
54
|
}
|
|
35
55
|
});
|
|
36
56
|
function run(cmd) {
|
|
37
|
-
|
|
38
|
-
throw new Error(chalk_1.default.red('The command input format is incorrect!'));
|
|
39
|
-
}
|
|
40
|
-
var epubPath = flags['md'] || flags['unzip'];
|
|
57
|
+
var epubPath = flags[Commands.markdown] || flags[Commands.autospace] || flags[Commands.unzip];
|
|
41
58
|
if (epubPath) {
|
|
42
|
-
// ======
|
|
59
|
+
// ====== convert to markdown ====
|
|
43
60
|
console.log(chalk_1.default.blueBright("[".concat(name, "]: converting...")));
|
|
44
|
-
(new convert_1.default(
|
|
61
|
+
(new convert_1.default({ eubPath: epubPath, cmd: cmd }))
|
|
62
|
+
.run(flags[Commands.unzip])
|
|
63
|
+
.then(function (outDir) {
|
|
45
64
|
console.log(chalk_1.default.greenBright("[".concat(name, "]: success! output: ").concat(outDir)));
|
|
46
65
|
});
|
|
47
66
|
return;
|
|
48
67
|
}
|
|
68
|
+
// just get some info to display
|
|
49
69
|
(0, __1.parseEpub)(flags[cmd])
|
|
50
70
|
.then(function (res) {
|
|
51
71
|
console.log(chalk_1.default.greenBright("[".concat(name, "]: This book ").concat(cmd, ":")));
|
package/lib/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
package/lib/bin/convert.d.ts
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
import type { Epub } from '../parseEpub';
|
|
2
|
-
|
|
2
|
+
import { Commands } from './cli';
|
|
3
|
+
interface Structure {
|
|
3
4
|
id: string;
|
|
4
5
|
outpath: string;
|
|
5
6
|
filepath: string;
|
|
6
|
-
}
|
|
7
|
+
}
|
|
8
|
+
interface Options {
|
|
9
|
+
/** epub file path */
|
|
10
|
+
eubPath: string;
|
|
11
|
+
/** the command */
|
|
12
|
+
cmd: Commands;
|
|
13
|
+
}
|
|
7
14
|
export default class Converter {
|
|
8
15
|
epub: Epub | undefined;
|
|
9
16
|
epubFilePath: string;
|
|
10
|
-
|
|
17
|
+
cmd: Commands;
|
|
18
|
+
MD_FILE_EXT: string;
|
|
11
19
|
outDir: string;
|
|
12
20
|
structure: Structure[];
|
|
13
|
-
constructor(
|
|
21
|
+
constructor({ eubPath, cmd }: Options);
|
|
14
22
|
private _checkFileType;
|
|
15
23
|
private _resolveHTMLId;
|
|
24
|
+
private getCleanFileName;
|
|
16
25
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @return
|
|
26
|
+
* Make a path,and normalize assets's path. normally markdowns dont need those css/js files, So i skip them
|
|
27
|
+
* @return these target file's path will be created,like "xxx/xxx.md","xxx/images"
|
|
19
28
|
*/
|
|
20
29
|
private _makePath;
|
|
21
30
|
getManifest(unzip?: boolean): Promise<void>;
|
|
22
31
|
/**
|
|
23
|
-
* Try to obtain a friendly output filename.
|
|
32
|
+
* Try to obtain a friendly output filename.
|
|
24
33
|
*/
|
|
25
34
|
private _getFileData;
|
|
26
35
|
run(unzip?: boolean): Promise<string>;
|
package/lib/bin/convert.js
CHANGED
|
@@ -69,12 +69,17 @@ var __1 = require("..");
|
|
|
69
69
|
var parse_1 = __importStar(require("./parse"));
|
|
70
70
|
var utils_1 = require("../utils");
|
|
71
71
|
var chalk_1 = __importDefault(require("chalk"));
|
|
72
|
+
var autoSpace = __importStar(require("autocorrect-node"));
|
|
73
|
+
var parseLink_1 = __importDefault(require("../parseLink"));
|
|
74
|
+
var cli_1 = require("./cli");
|
|
72
75
|
var Converter = /** @class */ (function () {
|
|
73
|
-
function Converter(
|
|
76
|
+
function Converter(_a) {
|
|
77
|
+
var eubPath = _a.eubPath, cmd = _a.cmd;
|
|
74
78
|
this.MD_FILE_EXT = '.md'; // out file extname
|
|
75
79
|
this.structure = []; // epub dir structure
|
|
76
|
-
this.epubFilePath =
|
|
77
|
-
this.
|
|
80
|
+
this.epubFilePath = eubPath;
|
|
81
|
+
this.cmd = cmd;
|
|
82
|
+
this.outDir = (0, node_path_1.dirname)(eubPath);
|
|
78
83
|
if (!(0, node_fs_1.existsSync)(this.outDir))
|
|
79
84
|
(0, node_fs_1.mkdirSync)(this.outDir);
|
|
80
85
|
}
|
|
@@ -96,9 +101,14 @@ var Converter = /** @class */ (function () {
|
|
|
96
101
|
Converter.prototype._resolveHTMLId = function (fileName) {
|
|
97
102
|
return fileName.replace(/\.x?html?(?:.*)/, '');
|
|
98
103
|
};
|
|
104
|
+
// 文件名处理
|
|
105
|
+
Converter.prototype.getCleanFileName = function (fileName, ext) {
|
|
106
|
+
if (ext === void 0) { ext = ''; }
|
|
107
|
+
return (0, utils_1.sanitizeFileName)(fileName).trim().replace(/\s/g, '_') + ext;
|
|
108
|
+
};
|
|
99
109
|
/**
|
|
100
|
-
*
|
|
101
|
-
* @return
|
|
110
|
+
* Make a path,and normalize assets's path. normally markdowns dont need those css/js files, So i skip them
|
|
111
|
+
* @return these target file's path will be created,like "xxx/xxx.md","xxx/images"
|
|
102
112
|
*/
|
|
103
113
|
Converter.prototype._makePath = function (filepath) {
|
|
104
114
|
var _a = this._checkFileType(filepath), isImage = _a.isImage, isHTML = _a.isHTML;
|
|
@@ -129,7 +139,7 @@ var Converter = /** @class */ (function () {
|
|
|
129
139
|
if (unzip)
|
|
130
140
|
outpath = (0, node_path_1.join)(_this.outDir, filepath);
|
|
131
141
|
else {
|
|
132
|
-
// remove this two file
|
|
142
|
+
// remove this two useless file
|
|
133
143
|
if (filepath.endsWith('ncx') || id === 'titlepage')
|
|
134
144
|
return;
|
|
135
145
|
outpath = _this._makePath(filepath);
|
|
@@ -147,22 +157,23 @@ var Converter = /** @class */ (function () {
|
|
|
147
157
|
});
|
|
148
158
|
};
|
|
149
159
|
/**
|
|
150
|
-
* Try to obtain a friendly output filename.
|
|
160
|
+
* Try to obtain a friendly output filename.
|
|
151
161
|
*/
|
|
152
162
|
Converter.prototype._getFileData = function (structure) {
|
|
153
163
|
var _this = this;
|
|
154
164
|
var _a, _b, _c;
|
|
155
165
|
var id = structure.id, filepath = structure.filepath, outpath = structure.outpath;
|
|
156
166
|
var content = '';
|
|
167
|
+
// with autospace maybe cause error... issues#5
|
|
168
|
+
var needAutospace = this.cmd === cli_1.Commands.autospace;
|
|
157
169
|
// Only manipulate files that you want to output in md format
|
|
158
170
|
if (((0, node_path_1.extname)(outpath) === '.md')) {
|
|
159
171
|
content = (_b = (_a = this.epub) === null || _a === void 0 ? void 0 : _a.getSection(id)) === null || _b === void 0 ? void 0 : _b.toMarkdown();
|
|
160
172
|
// Fixed all assets files
|
|
161
|
-
content = (0, parse_1.fixImagePath)(content, function (
|
|
173
|
+
content = (0, parse_1.fixImagePath)(content, function (link) { return ('./images/' + (0, node_path_1.basename)(link)); });
|
|
162
174
|
// Gets the content title as the file name
|
|
163
175
|
// const headTitles = content.match(/#+?\s+(.*?)\n/)
|
|
164
|
-
// get the title from toc, and sanitize fileName
|
|
165
|
-
// @ts-ignore
|
|
176
|
+
// @ts-expect-error get the title from toc, and sanitize fileName
|
|
166
177
|
function _matchNav(tocItems, id) {
|
|
167
178
|
if (Array.isArray(tocItems))
|
|
168
179
|
for (var i = 0; i < tocItems.length; i++) {
|
|
@@ -181,13 +192,21 @@ var Converter = /** @class */ (function () {
|
|
|
181
192
|
}
|
|
182
193
|
var nav = _matchNav((_c = this.epub) === null || _c === void 0 ? void 0 : _c.structure, id);
|
|
183
194
|
/** TODO: folder-level ? */
|
|
184
|
-
|
|
185
|
-
|
|
195
|
+
var cleanFilename_1 = this.getCleanFileName(nav ? nav.name + this.MD_FILE_EXT : (0, node_path_1.basename)(outpath));
|
|
196
|
+
outpath = (0, node_path_1.join)((0, node_path_1.dirname)(outpath), cleanFilename_1);
|
|
197
|
+
content = (0, parse_1.fixMDFilePath)(content, function (link, text) {
|
|
186
198
|
var _a;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
199
|
+
var _b = (0, parseLink_1.default)(link), hash = _b.hash, url = _b.url;
|
|
200
|
+
// 特殊处理hash链接
|
|
201
|
+
if (link.startsWith("#")) {
|
|
202
|
+
return './' + cleanFilename_1 + link;
|
|
203
|
+
}
|
|
204
|
+
link = _this._resolveHTMLId((0, node_path_1.basename)(url));
|
|
205
|
+
var anav = (0, utils_1.findRealPath)(link, (_a = _this.epub) === null || _a === void 0 ? void 0 : _a.structure) || { name: link };
|
|
206
|
+
// 处理 md 的 link 如果文件有空格不能识别
|
|
207
|
+
return './' + _this.getCleanFileName(anav.name, _this.MD_FILE_EXT) + "".concat(hash ? '#' + hash : '');
|
|
190
208
|
});
|
|
209
|
+
content = needAutospace ? autoSpace.format(content) : content;
|
|
191
210
|
}
|
|
192
211
|
else {
|
|
193
212
|
content = this.epub.resolve(filepath).asNodeBuffer();
|
|
@@ -208,17 +227,17 @@ var Converter = /** @class */ (function () {
|
|
|
208
227
|
case 1:
|
|
209
228
|
_a.sent();
|
|
210
229
|
num = 1, filterPool = {};
|
|
211
|
-
console.log(this.structure.length);
|
|
212
230
|
this.structure.forEach(function (s) {
|
|
213
231
|
var _a = _this._getFileData(s), outFilePath = _a.outFilePath, content = _a.content;
|
|
214
232
|
// empty file skipped
|
|
215
233
|
if (content.toString() === '')
|
|
216
234
|
return;
|
|
217
235
|
if (!filterPool[outFilePath] && (0, node_path_1.basename)(outFilePath).endsWith('.md')) {
|
|
218
|
-
|
|
236
|
+
// log converting info
|
|
237
|
+
console.log(chalk_1.default.yellow("".concat(num++, ": [").concat((0, node_path_1.basename)(outFilePath), "]")));
|
|
219
238
|
}
|
|
220
239
|
filterPool[outFilePath] = true;
|
|
221
|
-
(0, write_file_safe_1.writeFileSync)(outFilePath, content, { overwrite:
|
|
240
|
+
(0, write_file_safe_1.writeFileSync)(outFilePath, content, { overwrite: true });
|
|
222
241
|
});
|
|
223
242
|
return [2 /*return*/, this.outDir];
|
|
224
243
|
}
|
package/lib/bin/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":"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"}
|
package/lib/bin/parse.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matches the image syntax in Markdown
|
|
3
|
+
*/
|
|
1
4
|
export declare function fixImagePath(markdownContent: string, replaceFn: (imgUrl: string) => string): string;
|
|
2
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Matches the inline link syntax in Markdown
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export declare function fixMDFilePath(markdownContent: string, replaceFn: (url: string, text: string) => string): string;
|
|
3
10
|
export default function convertHTML(htmlString: string): string;
|
package/lib/bin/parse.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fixMDFilePath = exports.fixImagePath = void 0;
|
|
4
4
|
var converter_1 = require("../converter");
|
|
5
|
+
/**
|
|
6
|
+
* Matches the image syntax in Markdown
|
|
7
|
+
*/
|
|
5
8
|
function fixImagePath(markdownContent, replaceFn) {
|
|
6
|
-
// 匹配 Markdown 中的图片语法
|
|
7
9
|
var imgPattern = /!\[[^\]]*\]\(([^)]+)\)/g;
|
|
8
10
|
// 使用 replace 方法和提供的替换函数处理所有匹配项
|
|
9
11
|
return markdownContent.replace(imgPattern, function (match, imagePath) {
|
|
@@ -14,16 +16,19 @@ function fixImagePath(markdownContent, replaceFn) {
|
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
exports.fixImagePath = fixImagePath;
|
|
19
|
+
/**
|
|
20
|
+
* Matches the inline link syntax in Markdown
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
17
23
|
function fixMDFilePath(markdownContent, replaceFn) {
|
|
18
|
-
// 匹配 Markdown 中的内联链接语法
|
|
19
24
|
var inlineLinkPattern = /(.?)\[([^\]]*)]\(([^)]+)\)/g;
|
|
20
25
|
// 使用 replace 方法和提供的替换函数处理所有匹配项
|
|
21
|
-
return markdownContent.replace(inlineLinkPattern, function (match,
|
|
26
|
+
return markdownContent.replace(inlineLinkPattern, function (match, markWord, linkText, linkUrl) {
|
|
22
27
|
var newLinkUrl = linkUrl;
|
|
23
|
-
if (
|
|
28
|
+
if (markWord !== '!') {
|
|
24
29
|
// 替换函数应用逻辑,将原始URL替换为新的路径
|
|
25
|
-
newLinkUrl = replaceFn(linkUrl);
|
|
26
|
-
return "[".concat(linkText, "](").concat(newLinkUrl, ")");
|
|
30
|
+
newLinkUrl = replaceFn(linkUrl, linkText);
|
|
31
|
+
return "".concat(markWord, "[").concat(linkText, "](").concat(newLinkUrl, ")");
|
|
27
32
|
}
|
|
28
33
|
else {
|
|
29
34
|
return ".concat(newLinkUrl, ")");
|
|
@@ -37,7 +42,6 @@ function convertHTML(htmlString) {
|
|
|
37
42
|
.replace(/()/g, '()')
|
|
38
43
|
.replace(/::/g, '::');
|
|
39
44
|
// .replace(/<pre class="ziti1">([\s\S]*?)<\/pre>/g, '<pre><code class="language-rust">$1</code></pre>')
|
|
40
|
-
// TODO IMGAE
|
|
41
45
|
// html
|
|
42
46
|
// .replace(/<img.*?src="(.*?)"/, (_, match) => { return `<img src="images/${path.basename(match)}` })
|
|
43
47
|
return (0, converter_1.convert)(prunedHtml);
|
package/lib/bin/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/bin/parse.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AAGvC,SAAgB,YAAY,CAAC,eAAuB,EAAE,SAAqC;IACzF,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/bin/parse.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AAGvC;;GAEG;AACH,SAAgB,YAAY,CAAC,eAAuB,EAAE,SAAqC;IACzF,IAAM,UAAU,GAAG,yBAAyB,CAAC;IAE7C,+BAA+B;IAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,UAAC,KAAa,EAAE,SAAiB;QAC1E,2BAA2B;QAC3B,IAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,aAAa;QACb,OAAO,YAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAK,YAAY,MAAG,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,oCAWC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,eAAuB,EAAE,SAAgD;IACrG,IAAM,iBAAiB,GAAG,6BAA6B,CAAC;IAExD,+BAA+B;IAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;QACnF,IAAI,UAAU,GAAG,OAAO,CAAA;QACxB,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,yBAAyB;YACzB,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,UAAG,QAAQ,cAAI,QAAQ,eAAK,UAAU,MAAG,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,YAAK,QAAQ,eAAK,UAAU,MAAG,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,sCAcC;AAGD,mCAAmC;AACnC,SAAwB,WAAW,CAAC,UAAkB;IACpD,IAAM,UAAU,GAAG,UAAU;SAC1B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACvB,wGAAwG;IACxG,OAAO;IACP,sGAAsG;IACtG,OAAO,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAA;AAC5B,CAAC;AARD,8BAQC"}
|
package/lib/converter.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.convert = void 0;
|
|
7
|
-
//
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
headingStyle: 'atx',
|
|
13
|
-
codeBlockStyle: 'fenced',
|
|
14
|
-
bulletListMarker: '-',
|
|
15
|
-
}).turndown(str); };
|
|
4
|
+
// import TurndownService from 'turndown'
|
|
5
|
+
var node_html_markdown_1 = require("node-html-markdown");
|
|
6
|
+
var convert = function (str) { return node_html_markdown_1.NodeHtmlMarkdown.translate(str, {
|
|
7
|
+
useLinkReferenceDefinitions: false
|
|
8
|
+
}); };
|
|
16
9
|
exports.convert = convert;
|
|
10
|
+
// export const convert = (str: string) => new TurndownService({
|
|
11
|
+
// headingStyle: 'atx',
|
|
12
|
+
// codeBlockStyle: 'fenced',
|
|
13
|
+
// bulletListMarker: '-',
|
|
14
|
+
// }).turndown(str)
|
|
17
15
|
//# sourceMappingURL=converter.js.map
|
package/lib/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,yDAAqD;AAE9C,IAAM,OAAO,GAAG,UAAC,GAAW,IAAK,OAAA,qCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE;IACpE,2BAA2B,EAAE,KAAK;CACrC,CAAC,EAFsC,CAEtC,CAAA;AAFW,QAAA,OAAO,WAElB;AAEF,gEAAgE;AAChE,2BAA2B;AAC3B,gCAAgC;AAChC,6BAA6B;AAC7B,mBAAmB"}
|
package/lib/parseEpub.d.ts
CHANGED
package/lib/parseEpub.js
CHANGED
|
@@ -262,7 +262,7 @@ var Epub = /** @class */ (function () {
|
|
|
262
262
|
};
|
|
263
263
|
Epub.prototype.parse = function () {
|
|
264
264
|
return __awaiter(this, void 0, void 0, function () {
|
|
265
|
-
var _a, _b,
|
|
265
|
+
var _a, _b, toc;
|
|
266
266
|
return __generator(this, function (_c) {
|
|
267
267
|
switch (_c.label) {
|
|
268
268
|
case 0:
|
|
@@ -277,9 +277,11 @@ var Epub = /** @class */ (function () {
|
|
|
277
277
|
this._root = (0, utils_1.determineRoot)(this._opfPath);
|
|
278
278
|
this._manifest = this.getManifest(this._content);
|
|
279
279
|
this._metadata = lodash_1.default.get(this._content, ['package', 'metadata'], []);
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
// https://github.com/gaoxiaoliangz/epub-parser/issues/13
|
|
281
|
+
// https://www.w3.org/publishing/epub32/epub-packages.html#sec-spine-elem
|
|
282
|
+
this.tocFile = (lodash_1.default.find(this._manifest, { id: 'ncx' }) || {}).href;
|
|
283
|
+
if (!this.tocFile) return [3 /*break*/, 4];
|
|
284
|
+
return [4 /*yield*/, this._resolveXMLAsJsObject(this.tocFile)];
|
|
283
285
|
case 3:
|
|
284
286
|
toc = _c.sent();
|
|
285
287
|
this._toc = toc;
|
package/lib/parseEpub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseEpub.js","sourceRoot":"","sources":["../src/parseEpub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmB;AACnB,kDAAsB;AAGtB,aAAa;AACb,sDAA8B;AAC9B,0DAAmC;AACnC,gEAAsD;AACtD,iCAAgD;AAYhD,IAAM,aAAa,GAAG,UAAC,QAAyB;IAC9C,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,IAAM,IAAI,GAAa,EAAE,CAAC;IAEzB,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAwB,CAAC,OAAO,CAAC,UAAC,IAAoB;QACzH,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;aACI,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACzD,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAW,CAAA;QACvD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAC,CAAC,MAAM,CAAC,IAAI,EAAE,UAAC,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,gBAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEY,QAAA,cAAc,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAmB,CAAA;AAW9E;
|
|
1
|
+
{"version":3,"file":"parseEpub.js","sourceRoot":"","sources":["../src/parseEpub.ts"],"names":[],"mappings":"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"}
|
package/lib/parseSection.js
CHANGED
|
@@ -1,34 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.Section = void 0;
|
|
30
7
|
var path_1 = __importDefault(require("path"));
|
|
31
|
-
var autoSpace = __importStar(require("autocorrect-node"));
|
|
32
8
|
var parseLink_1 = __importDefault(require("./parseLink"));
|
|
33
9
|
var parseHTML_1 = __importDefault(require("./parseHTML"));
|
|
34
10
|
var converter_1 = require("./converter");
|
|
@@ -40,7 +16,7 @@ var Section = /** @class */ (function () {
|
|
|
40
16
|
var id = _a.id, htmlString = _a.htmlString, resourceResolver = _a.resourceResolver, idResolver = _a.idResolver, expand = _a.expand;
|
|
41
17
|
var _b;
|
|
42
18
|
this.id = id;
|
|
43
|
-
this.htmlString =
|
|
19
|
+
this.htmlString = htmlString;
|
|
44
20
|
this._resourceResolver = resourceResolver;
|
|
45
21
|
this._idResolver = idResolver;
|
|
46
22
|
if (expand) {
|
package/lib/parseSection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSection.js","sourceRoot":"","sources":["../src/parseSection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseSection.js","sourceRoot":"","sources":["../src/parseSection.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AACvB,0DAAmC;AACnC,0DAAmC;AACnC,yCAAqC;AAGrC,IAAM,aAAa,GAAG,UAAC,GAAW;IAChC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAUD;IAQE,iBAAY,EAA4E;YAA1E,EAAE,QAAA,EAAE,UAAU,gBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA;;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,0BAAQ,GAAR,UAAS,WAA6B;QACpC,IAAI,CAAC,kBAAkB,GAAG,WAAW,IAAI,mBAAO,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAAU,GAAV;;QACE,OAAO,MAAA,IAAI,CAAC,kBAAkB,0CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,+BAAa,GAAb;QAAA,iBAyBC;QAxBC,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,UAAU,EAAE;YAChC,WAAW,EAAE,UAAC,IAAI;;gBAChB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,IAAA,IAAI,GAAK,IAAA,mBAAS,EAAC,IAAI,CAAC,KAApB,CAAoB;oBAChC,gDAAgD;oBAChD,IAAM,SAAS,GAAG,MAAA,KAAI,CAAC,WAAW,sDAAG,IAAI,CAAC,CAAA;oBAC1C,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,WAAI,SAAS,cAAI,IAAI,CAAE,CAAA;oBAChC,CAAC;oBACD,OAAO,WAAI,SAAS,CAAE,CAAA;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,UAAU,EAAE,UAAC,GAAG;;gBACd,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,sBAAsB;oBACtB,IAAM,YAAY,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAC3D,IAAM,MAAM,GAAG,MAAA,MAAA,KAAI,CAAC,iBAAiB,sDAAG,YAAY,CAAC,0CAAE,YAAY,EAAE,CAAA;oBACrE,IAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBACxC,OAAO,gCAAyB,MAAM,CAAE,CAAA;gBAC1C,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,0BAAO;AAuDpB,IAAM,YAAY,GAAG,UAAC,MAA0B;IAC9C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,kBAAe,YAAY,CAAA"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface TraverseNestedObject {
|
|
|
11
11
|
* 根据 toc 对应的标题,修复对应的生成文件名
|
|
12
12
|
*/
|
|
13
13
|
export declare function findRealPath(filePath: string, navs?: TOCItem[]): TOCItem | undefined;
|
|
14
|
-
export declare
|
|
14
|
+
export declare const sanitizeFileName: (fileName: string, replacementChar?: string) => string;
|
|
15
15
|
export declare const xmlToJs: (xml: string) => Promise<any>;
|
|
16
16
|
export declare const determineRoot: (opfPath: string) => string;
|
|
17
17
|
/**
|
package/lib/utils.js
CHANGED
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.traverseNestedObject = exports.determineRoot = exports.xmlToJs = exports.
|
|
17
|
+
exports.traverseNestedObject = exports.determineRoot = exports.xmlToJs = exports.sanitizeFileName = exports.findRealPath = void 0;
|
|
18
18
|
var lodash_1 = __importDefault(require("lodash"));
|
|
19
19
|
var xml2js_1 = __importDefault(require("xml2js"));
|
|
20
20
|
var xmlParser = new xml2js_1.default.Parser();
|
|
@@ -46,17 +46,12 @@ function findRealPath(filePath, navs) {
|
|
|
46
46
|
exports.findRealPath = findRealPath;
|
|
47
47
|
// return findRealPath(children, filePath)
|
|
48
48
|
// 函数用于清理文件名,将非法字符替换为下划线
|
|
49
|
-
function
|
|
49
|
+
var sanitizeFileName = function (fileName, replacementChar) {
|
|
50
50
|
if (replacementChar === void 0) { replacementChar = '_'; }
|
|
51
51
|
var invalidCharsPattern = /[\\/:*?"<>|]/g;
|
|
52
52
|
return fileName.replace(invalidCharsPattern, replacementChar);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function getFileName(fileName, ext) {
|
|
56
|
-
if (ext === void 0) { ext = ''; }
|
|
57
|
-
return sanitizeFileName(fileName).trim() + ext;
|
|
58
|
-
}
|
|
59
|
-
exports.getFileName = getFileName;
|
|
53
|
+
};
|
|
54
|
+
exports.sanitizeFileName = sanitizeFileName;
|
|
60
55
|
var xmlToJs = function (xml) {
|
|
61
56
|
return new Promise(function (resolve, reject) {
|
|
62
57
|
// @ts-ignore
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAsB;AAEtB,kDAA2B;AAgB3B,IAAM,SAAS,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,CAAA;AAGrC,IAAM,cAAc,GAA4B,EAE/C,CAAA;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,QAAgB,EAAE,IAAgB;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAM,WAAW,GAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|