From bf35164dc05cdf1946118a6440bd854f2fb0a655 Mon Sep 17 00:00:00 2001 From: jinyang <961284688@qq.com> Date: Wed, 30 Jun 2021 23:08:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?docs(readme):=20=E6=96=87=E6=A1=A3=E7=BB=86?= =?UTF-8?q?=E8=8A=82=E8=AE=A2=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- src/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index af4abae..b6e81fa 100644 --- a/README.md +++ b/README.md @@ -307,7 +307,7 @@ const GenDoc = require('@agds/cli-plugin-doc'); | 属性 | 类型 | 描述 | | --- | --- | --- | -| [id] | string | 锚点的名称,填写之后可以支持 `href=\`#${id}\``锚点定位 | +| [id] | string | 锚点的名称,填写之后可以支持 `href="#${id}"`锚点定位 | | [title] | string | 内容的标题 | | [desc] | string | 内容的描述 | | [content] | string | 内容的正文 | diff --git a/src/index.js b/src/index.js index 7645771..712bd88 100644 --- a/src/index.js +++ b/src/index.js @@ -252,7 +252,7 @@ function execPromise(command) { * 后缀内容类型 * * @typedef {Object} Postfix - * @property {string} [id] 锚点的名称,填写之后可以支持 `href=\`#${id}\``锚点定位 + * @property {string} [id] 锚点的名称,填写之后可以支持 `href="#${id}"`锚点定位 * @property {string} [title] 内容的标题 * @property {string} [desc] 内容的描述 * @property {string} [content] 内容的正文 -- Gitee From 072fe9a4d21a26655ebc2d8422be60f643b9ac39 Mon Sep 17 00:00:00 2001 From: jinyang <961284688@qq.com> Date: Tue, 6 Jul 2021 01:14:57 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E5=B0=9D=E8=AF=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4coverage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - README.md | 39 +- agds.doc.config.js | 2 + coverage/clover.xml | 85 + coverage/coverage-final.json | 1462 +++++++++++++++++ coverage/lcov-report/base.css | 224 +++ coverage/lcov-report/block-navigation.js | 79 + coverage/lcov-report/favicon.png | Bin 0 -> 540 bytes coverage/lcov-report/index.html | 126 ++ coverage/lcov-report/prettify.css | 1 + coverage/lcov-report/prettify.js | 2 + coverage/lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes coverage/lcov-report/sorter.js | 170 ++ .../src/dmdRewrite/helpers/index.html | 111 ++ .../src/dmdRewrite/helpers/index.js.html | 221 +++ coverage/lcov-report/src/index.html | 111 ++ coverage/lcov-report/src/index.js.html | 857 ++++++++++ coverage/lcov-report/src/utils/config.js.html | 152 ++ .../src/utils/getFilesPath.js.html | 197 +++ coverage/lcov-report/src/utils/index.html | 156 ++ .../lcov-report/src/utils/jsdocRender.js.html | 152 ++ .../lcov-report/src/utils/renderCode.js.html | 188 +++ coverage/lcov.info | 149 ++ package.json | 1 + src/index.js | 1 + src/template/template.ejs | 5 +- 26 files changed, 4489 insertions(+), 3 deletions(-) create mode 100644 coverage/clover.xml create mode 100644 coverage/coverage-final.json create mode 100644 coverage/lcov-report/base.css create mode 100644 coverage/lcov-report/block-navigation.js create mode 100644 coverage/lcov-report/favicon.png create mode 100644 coverage/lcov-report/index.html create mode 100644 coverage/lcov-report/prettify.css create mode 100644 coverage/lcov-report/prettify.js create mode 100644 coverage/lcov-report/sort-arrow-sprite.png create mode 100644 coverage/lcov-report/sorter.js create mode 100644 coverage/lcov-report/src/dmdRewrite/helpers/index.html create mode 100644 coverage/lcov-report/src/dmdRewrite/helpers/index.js.html create mode 100644 coverage/lcov-report/src/index.html create mode 100644 coverage/lcov-report/src/index.js.html create mode 100644 coverage/lcov-report/src/utils/config.js.html create mode 100644 coverage/lcov-report/src/utils/getFilesPath.js.html create mode 100644 coverage/lcov-report/src/utils/index.html create mode 100644 coverage/lcov-report/src/utils/jsdocRender.js.html create mode 100644 coverage/lcov-report/src/utils/renderCode.js.html create mode 100644 coverage/lcov.info diff --git a/.gitignore b/.gitignore index 617d58d..401ce41 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,3 @@ lib/ node_modules/ .temp/ exa/ -coverage/ \ No newline at end of file diff --git a/README.md b/README.md index b6e81fa..e5b52f1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +

+ logo +

# @agds/cli-plugin-doc **版本** :1.0.9 @@ -296,6 +299,7 @@ const GenDoc = require('@agds/cli-plugin-doc'); | [remark] | string | 文档备注信息,md字符串 | | [renderCode] | [renderCode](#GenDoc.renderCode) | 将`GenDoc.getFileCodes`的返回值渲染成对应的代码段 | | [postfixes] | [Array.<Postfix>](#Postfix) | 后缀内容数组 | +| [logo] | string | logo | @@ -344,7 +348,10 @@ jsdocToMarkdown配置参数,具体可[👉参考文档](https://github.com/jsd ```ejs <% const {docs, codes, helpers, pkg} = locals -%># <%- pkg.name %> +%><% if(helpers.logo) { %>

+ logo +

+<% } %># <%- pkg.name %> **版本** :<%- pkg.version %> @@ -453,3 +460,33 @@ module.exports = defaultConfig; + + + + +## 许可证 + +[MIT License](https://gitee.com/agile-development-system/cli-plugin-doc/blob/master/LICENSE) +Copyright (c) 2021 锦阳 + + + + + + +## 请维护者喝杯咖啡 + + + + + + + + + + +## 加入钉钉群讨论或加入开发 + + + + diff --git a/agds.doc.config.js b/agds.doc.config.js index 4c9244e..1e7ebaa 100644 --- a/agds.doc.config.js +++ b/agds.doc.config.js @@ -5,6 +5,7 @@ const GenDoc = require('./lib/index'); const pkg = require('./package.json'); +const preset = require('@agds/agds-doc-preset'); module.exports = ( /** * 配置参数 @@ -22,6 +23,7 @@ module.exports = ( files: ['./src/**/*.js'], codesDir: './test/*', codesFiles: ['*.js'], + presets: [preset], helpers: { devInstall: true, postfixes: [ diff --git a/coverage/clover.xml b/coverage/clover.xml new file mode 100644 index 0000000..6ed7e23 --- /dev/null +++ b/coverage/clover.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json new file mode 100644 index 0000000..53b6929 --- /dev/null +++ b/coverage/coverage-final.json @@ -0,0 +1,1462 @@ +{ + "/Users/jinyang/code/ads/cli-plugin-doc/src/index.js": { + "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/index.js", + "statementMap": { + "0": { + "start": { + "line": 1, + "column": 12 + }, + "end": { + "line": 1, + "column": 26 + } + }, + "1": { + "start": { + "line": 2, + "column": 20 + }, + "end": { + "line": 2, + "column": 50 + } + }, + "2": { + "start": { + "line": 3, + "column": 21 + }, + "end": { + "line": 3, + "column": 52 + } + }, + "3": { + "start": { + "line": 4, + "column": 22 + }, + "end": { + "line": 4, + "column": 47 + } + }, + "4": { + "start": { + "line": 5, + "column": 13 + }, + "end": { + "line": 5, + "column": 28 + } + }, + "5": { + "start": { + "line": 6, + "column": 11 + }, + "end": { + "line": 6, + "column": 30 + } + }, + "6": { + "start": { + "line": 7, + "column": 42 + }, + "end": { + "line": 7, + "column": 69 + } + }, + "7": { + "start": { + "line": 8, + "column": 17 + }, + "end": { + "line": 8, + "column": 41 + } + }, + "8": { + "start": { + "line": 9, + "column": 19 + }, + "end": { + "line": 9, + "column": 48 + } + }, + "9": { + "start": { + "line": 27, + "column": 23 + }, + "end": { + "line": 27, + "column": 59 + } + }, + "10": { + "start": { + "line": 28, + "column": 27 + }, + "end": { + "line": 28, + "column": 66 + } + }, + "11": { + "start": { + "line": 29, + "column": 20 + }, + "end": { + "line": 29, + "column": 69 + } + }, + "12": { + "start": { + "line": 30, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "13": { + "start": { + "line": 31, + "column": 12 + }, + "end": { + "line": 31, + "column": 76 + } + }, + "14": { + "start": { + "line": 33, + "column": 12 + }, + "end": { + "line": 33, + "column": 23 + } + }, + "15": { + "start": { + "line": 48, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + }, + "16": { + "start": { + "line": 49, + "column": 12 + }, + "end": { + "line": 49, + "column": 59 + } + }, + "17": { + "start": { + "line": 51, + "column": 59 + }, + "end": { + "line": 51, + "column": 66 + } + }, + "18": { + "start": { + "line": 52, + "column": 25 + }, + "end": { + "line": 52, + "column": 27 + } + }, + "19": { + "start": { + "line": 54, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "20": { + "start": { + "line": 55, + "column": 12 + }, + "end": { + "line": 55, + "column": 85 + } + }, + "21": { + "start": { + "line": 55, + "column": 69 + }, + "end": { + "line": 55, + "column": 80 + } + }, + "22": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "23": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 89 + } + }, + "24": { + "start": { + "line": 59, + "column": 72 + }, + "end": { + "line": 59, + "column": 84 + } + }, + "25": { + "start": { + "line": 62, + "column": 24 + }, + "end": { + "line": 62, + "column": 59 + } + }, + "26": { + "start": { + "line": 67, + "column": 8 + }, + "end": { + "line": 67, + "column": 36 + } + }, + "27": { + "start": { + "line": 68, + "column": 8 + }, + "end": { + "line": 68, + "column": 45 + } + }, + "28": { + "start": { + "line": 79, + "column": 26 + }, + "end": { + "line": 79, + "column": 47 + } + }, + "29": { + "start": { + "line": 80, + "column": 8 + }, + "end": { + "line": 89, + "column": 11 + } + }, + "30": { + "start": { + "line": 81, + "column": 26 + }, + "end": { + "line": 81, + "column": 28 + } + }, + "31": { + "start": { + "line": 82, + "column": 12 + }, + "end": { + "line": 87, + "column": 15 + } + }, + "32": { + "start": { + "line": 83, + "column": 28 + }, + "end": { + "line": 83, + "column": 65 + } + }, + "33": { + "start": { + "line": 84, + "column": 29 + }, + "end": { + "line": 84, + "column": 72 + } + }, + "34": { + "start": { + "line": 85, + "column": 16 + }, + "end": { + "line": 85, + "column": 46 + } + }, + "35": { + "start": { + "line": 86, + "column": 16 + }, + "end": { + "line": 86, + "column": 38 + } + }, + "36": { + "start": { + "line": 88, + "column": 12 + }, + "end": { + "line": 88, + "column": 25 + } + }, + "37": { + "start": { + "line": 92, + "column": 24 + }, + "end": { + "line": 92, + "column": 34 + } + }, + "38": { + "start": { + "line": 101, + "column": 24 + }, + "end": { + "line": 101, + "column": 59 + } + }, + "39": { + "start": { + "line": 133, + "column": 8 + }, + "end": { + "line": 133, + "column": 85 + } + }, + "40": { + "start": { + "line": 137, + "column": 0 + }, + "end": { + "line": 137, + "column": 24 + } + } + }, + "fnMap": { + "0": { + "name": "(anonymous_0)", + "decl": { + "start": { + "line": 26, + "column": 4 + }, + "end": { + "line": 26, + "column": 5 + } + }, + "loc": { + "start": { + "line": 26, + "column": 33 + }, + "end": { + "line": 35, + "column": 5 + } + }, + "line": 26 + }, + "1": { + "name": "(anonymous_1)", + "decl": { + "start": { + "line": 46, + "column": 4 + }, + "end": { + "line": 46, + "column": 5 + } + }, + "loc": { + "start": { + "line": 46, + "column": 64 + }, + "end": { + "line": 69, + "column": 5 + } + }, + "line": 46 + }, + "2": { + "name": "(anonymous_2)", + "decl": { + "start": { + "line": 55, + "column": 60 + }, + "end": { + "line": 55, + "column": 61 + } + }, + "loc": { + "start": { + "line": 55, + "column": 67 + }, + "end": { + "line": 55, + "column": 82 + } + }, + "line": 55 + }, + "3": { + "name": "(anonymous_3)", + "decl": { + "start": { + "line": 59, + "column": 63 + }, + "end": { + "line": 59, + "column": 64 + } + }, + "loc": { + "start": { + "line": 59, + "column": 70 + }, + "end": { + "line": 59, + "column": 86 + } + }, + "line": 59 + }, + "4": { + "name": "(anonymous_4)", + "decl": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 5 + } + }, + "loc": { + "start": { + "line": 78, + "column": 39 + }, + "end": { + "line": 90, + "column": 5 + } + }, + "line": 78 + }, + "5": { + "name": "(anonymous_5)", + "decl": { + "start": { + "line": 80, + "column": 29 + }, + "end": { + "line": 80, + "column": 30 + } + }, + "loc": { + "start": { + "line": 80, + "column": 38 + }, + "end": { + "line": 89, + "column": 9 + } + }, + "line": 80 + }, + "6": { + "name": "(anonymous_6)", + "decl": { + "start": { + "line": 82, + "column": 26 + }, + "end": { + "line": 82, + "column": 27 + } + }, + "loc": { + "start": { + "line": 82, + "column": 34 + }, + "end": { + "line": 87, + "column": 13 + } + }, + "line": 82 + }, + "7": { + "name": "(anonymous_7)", + "decl": { + "start": { + "line": 100, + "column": 4 + }, + "end": { + "line": 100, + "column": 5 + } + }, + "loc": { + "start": { + "line": 100, + "column": 32 + }, + "end": { + "line": 124, + "column": 5 + } + }, + "line": 100 + }, + "8": { + "name": "(anonymous_8)", + "decl": { + "start": { + "line": 132, + "column": 4 + }, + "end": { + "line": 132, + "column": 5 + } + }, + "loc": { + "start": { + "line": 132, + "column": 36 + }, + "end": { + "line": 134, + "column": 5 + } + }, + "line": 132 + } + }, + "branchMap": { + "0": { + "loc": { + "start": { + "line": 30, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "type": "if", + "locations": [ + { + "start": { + "line": 30, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + { + "start": { + "line": 30, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + } + ], + "line": 30 + }, + "1": { + "loc": { + "start": { + "line": 46, + "column": 40 + }, + "end": { + "line": 46, + "column": 62 + } + }, + "type": "default-arg", + "locations": [ + { + "start": { + "line": 46, + "column": 58 + }, + "end": { + "line": 46, + "column": 62 + } + } + ], + "line": 46 + }, + "2": { + "loc": { + "start": { + "line": 48, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + }, + "type": "if", + "locations": [ + { + "start": { + "line": 48, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + }, + { + "start": { + "line": 48, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + } + ], + "line": 48 + }, + "3": { + "loc": { + "start": { + "line": 54, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "type": "if", + "locations": [ + { + "start": { + "line": 54, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + { + "start": { + "line": 54, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + } + ], + "line": 54 + }, + "4": { + "loc": { + "start": { + "line": 54, + "column": 12 + }, + "end": { + "line": 54, + "column": 84 + } + }, + "type": "binary-expr", + "locations": [ + { + "start": { + "line": 54, + "column": 12 + }, + "end": { + "line": 54, + "column": 27 + } + }, + { + "start": { + "line": 54, + "column": 31 + }, + "end": { + "line": 54, + "column": 52 + } + }, + { + "start": { + "line": 54, + "column": 56 + }, + "end": { + "line": 54, + "column": 84 + } + } + ], + "line": 54 + }, + "5": { + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "type": "if", + "locations": [ + { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + } + ], + "line": 58 + }, + "6": { + "loc": { + "start": { + "line": 58, + "column": 12 + }, + "end": { + "line": 58, + "column": 65 + } + }, + "type": "binary-expr", + "locations": [ + { + "start": { + "line": 58, + "column": 12 + }, + "end": { + "line": 58, + "column": 24 + } + }, + { + "start": { + "line": 58, + "column": 28 + }, + "end": { + "line": 58, + "column": 65 + } + } + ], + "line": 58 + }, + "7": { + "loc": { + "start": { + "line": 85, + "column": 29 + }, + "end": { + "line": 85, + "column": 45 + } + }, + "type": "binary-expr", + "locations": [ + { + "start": { + "line": 85, + "column": 29 + }, + "end": { + "line": 85, + "column": 39 + } + }, + { + "start": { + "line": 85, + "column": 43 + }, + "end": { + "line": 85, + "column": 45 + } + } + ], + "line": 85 + } + }, + "s": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1, + "7": 1, + "8": 1, + "9": 5, + "10": 5, + "11": 4, + "12": 4, + "13": 1, + "14": 3, + "15": 7, + "16": 1, + "17": 7, + "18": 7, + "19": 7, + "20": 5, + "21": 5, + "22": 7, + "23": 5, + "24": 4, + "25": 7, + "26": 7, + "27": 6, + "28": 17, + "29": 16, + "30": 17, + "31": 17, + "32": 26, + "33": 26, + "34": 26, + "35": 26, + "36": 17, + "37": 1, + "38": 6, + "39": 1, + "40": 1 + }, + "f": { + "0": 5, + "1": 7, + "2": 5, + "3": 4, + "4": 17, + "5": 17, + "6": 26, + "7": 6, + "8": 1 + }, + "b": { + "0": [ + 1, + 3 + ], + "1": [ + 1 + ], + "2": [ + 1, + 6 + ], + "3": [ + 5, + 2 + ], + "4": [ + 7, + 6, + 5 + ], + "5": [ + 5, + 2 + ], + "6": [ + 7, + 6 + ], + "7": [ + 26, + 26 + ] + }, + "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", + "hash": "833f95a61434ea76917494fc32c2298abc1475cb" + }, + "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/config.js": { + "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/config.js", + "statementMap": { + "0": { + "start": { + "line": 1, + "column": 13 + }, + "end": { + "line": 1, + "column": 28 + } + }, + "1": { + "start": { + "line": 2, + "column": 24 + }, + "end": { + "line": 2, + "column": 75 + } + }, + "2": { + "start": { + "line": 3, + "column": 19 + }, + "end": { + "line": 3, + "column": 42 + } + }, + "3": { + "start": { + "line": 4, + "column": 22 + }, + "end": { + "line": 22, + "column": 1 + } + }, + "4": { + "start": { + "line": 24, + "column": 0 + }, + "end": { + "line": 24, + "column": 31 + } + } + }, + "fnMap": {}, + "branchMap": {}, + "s": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1 + }, + "f": {}, + "b": {}, + "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", + "hash": "c56192b8a1fc6ce62f10a3a7a2c840c0129c9edc" + }, + "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/getFilesPath.js": { + "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/getFilesPath.js", + "statementMap": { + "0": { + "start": { + "line": 6, + "column": 16 + }, + "end": { + "line": 6, + "column": 35 + } + }, + "1": { + "start": { + "line": 7, + "column": 21 + }, + "end": { + "line": 7, + "column": 48 + } + }, + "2": { + "start": { + "line": 8, + "column": 13 + }, + "end": { + "line": 8, + "column": 28 + } + }, + "3": { + "start": { + "line": 17, + "column": 18 + }, + "end": { + "line": 17, + "column": 60 + } + }, + "4": { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 20, + "column": 5 + } + }, + "5": { + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 19, + "column": 44 + } + }, + "6": { + "start": { + "line": 21, + "column": 4 + }, + "end": { + "line": 28, + "column": 20 + } + }, + "7": { + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 28, + "column": 18 + } + }, + "8": { + "start": { + "line": 26, + "column": 24 + }, + "end": { + "line": 26, + "column": 47 + } + }, + "9": { + "start": { + "line": 31, + "column": 0 + }, + "end": { + "line": 31, + "column": 30 + } + } + }, + "fnMap": { + "0": { + "name": "getFilesPath", + "decl": { + "start": { + "line": 16, + "column": 9 + }, + "end": { + "line": 16, + "column": 21 + } + }, + "loc": { + "start": { + "line": 16, + "column": 38 + }, + "end": { + "line": 29, + "column": 1 + } + }, + "line": 16 + }, + "1": { + "name": "(anonymous_1)", + "decl": { + "start": { + "line": 21, + "column": 21 + }, + "end": { + "line": 21, + "column": 22 + } + }, + "loc": { + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 28, + "column": 18 + } + }, + "line": 22 + }, + "2": { + "name": "(anonymous_2)", + "decl": { + "start": { + "line": 25, + "column": 25 + }, + "end": { + "line": 25, + "column": 26 + } + }, + "loc": { + "start": { + "line": 26, + "column": 24 + }, + "end": { + "line": 26, + "column": 47 + } + }, + "line": 26 + } + }, + "branchMap": { + "0": { + "loc": { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 20, + "column": 5 + } + }, + "type": "if", + "locations": [ + { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 20, + "column": 5 + } + }, + { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 20, + "column": 5 + } + } + ], + "line": 18 + }, + "1": { + "loc": { + "start": { + "line": 18, + "column": 10 + }, + "end": { + "line": 18, + "column": 35 + } + }, + "type": "binary-expr", + "locations": [ + { + "start": { + "line": 18, + "column": 10 + }, + "end": { + "line": 18, + "column": 15 + } + }, + { + "start": { + "line": 18, + "column": 19 + }, + "end": { + "line": 18, + "column": 35 + } + } + ], + "line": 18 + } + }, + "s": { + "0": 1, + "1": 1, + "2": 1, + "3": 17, + "4": 17, + "5": 1, + "6": 16, + "7": 17, + "8": 17, + "9": 1 + }, + "f": { + "0": 17, + "1": 17, + "2": 17 + }, + "b": { + "0": [ + 1, + 16 + ], + "1": [ + 17, + 17 + ] + }, + "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", + "hash": "60ba6ae4fddec799cc686985858f6d001027d915" + }, + "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/jsdocRender.js": { + "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/jsdocRender.js", + "statementMap": { + "0": { + "start": { + "line": 6, + "column": 12 + }, + "end": { + "line": 6, + "column": 40 + } + }, + "1": { + "start": { + "line": 15, + "column": 4 + }, + "end": { + "line": 15, + "column": 31 + } + }, + "2": { + "start": { + "line": 18, + "column": 0 + }, + "end": { + "line": 18, + "column": 29 + } + } + }, + "fnMap": { + "0": { + "name": "jsdocRender", + "decl": { + "start": { + "line": 14, + "column": 9 + }, + "end": { + "line": 14, + "column": 20 + } + }, + "loc": { + "start": { + "line": 14, + "column": 30 + }, + "end": { + "line": 16, + "column": 1 + } + }, + "line": 14 + } + }, + "branchMap": {}, + "s": { + "0": 1, + "1": 5, + "2": 1 + }, + "f": { + "0": 5 + }, + "b": {}, + "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", + "hash": "b6ba7f8a3512f69b3dead72c22381bec45369203" + }, + "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/renderCode.js": { + "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/renderCode.js", + "statementMap": { + "0": { + "start": { + "line": 36, + "column": 0 + }, + "end": { + "line": 36, + "column": 28 + } + } + }, + "fnMap": {}, + "branchMap": {}, + "s": { + "0": 1 + }, + "f": {}, + "b": {}, + "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", + "hash": "8c0994c28d0ec1fb2f461f980f17d9e0a3cfb640" + } +} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000..c7ff5a5 --- /dev/null +++ b/coverage/lcov-report/block-navigation.js @@ -0,0 +1,79 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..6691817834a957c938e7f09640a37a645fb31457 GIT binary patch literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 100% + Statements + 60/60 +
+ + +
+ 100% + Branches + 20/20 +
+ + +
+ 100% + Functions + 13/13 +
+ + +
+ 100% + Lines + 58/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
100%41/41100%16/16100%9/9100%39/39
src/utils +
+
100%19/19100%4/4100%4/4100%19/19
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/dmdRewrite/helpers/index.html b/coverage/lcov-report/src/dmdRewrite/helpers/index.html new file mode 100644 index 0000000..a026cfc --- /dev/null +++ b/coverage/lcov-report/src/dmdRewrite/helpers/index.html @@ -0,0 +1,111 @@ + + + + + + Code coverage report for src/dmdRewrite/helpers + + + + + + + + + +
+
+

All files src/dmdRewrite/helpers

+
+ +
+ 57.69% + Statements + 15/26 +
+ + +
+ 46.34% + Branches + 19/41 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 57.69% + Lines + 15/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.js +
+
57.69%15/2646.34%19/41100%2/257.69%15/26
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html b/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html new file mode 100644 index 0000000..3af586d --- /dev/null +++ b/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/dmdRewrite/helpers/index.js + + + + + + + + + +
+
+

All files / src/dmdRewrite/helpers index.js

+
+ +
+ 57.69% + Statements + 15/26 +
+ + +
+ 46.34% + Branches + 19/41 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 57.69% + Lines + 15/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +1x +70x +30x +40x +  +40x +  +40x +  +40x +  +40x +35x +5x +5x +  +  +  +  +  +  +  +  +  +1x +70x +  +40x +  +30x +  +  +  +  +  +  + 
/*
+ * @Author: 锦阳
+ * @Create: 2021年05月09日
+ */
+/**
+ * returns a more appropriate 'kind', depending on context
+ *
+ * @param {object} options 参数
+ * @returns {string}
+ * @ignore
+ */
+exports.kindInThisContext = function kindInThisContext(options) {
+    if (this.kind === 'function' && this.memberof) {
+        return '方法';
+    } else Iif (this.kind === 'member' && !this.isEnum && this.memberof) {
+        return '属性';
+    } else Iif (this.kind === 'member' && this.isEnum && this.memberof) {
+        return '枚举属性';
+    } else Iif (this.kind === 'member' && this.isEnum && !this.memberof) {
+        return '枚举';
+    } else Iif (this.kind === 'member' && this.scope === 'global') {
+        return '变量';
+    } else if (this.kind === 'typedef') {
+        return '类型声明';
+    } else Eif (this.kind === 'class' && this.scope === 'global') {
+        return '类';
+    } else if (this.kind === 'function' && this.scope === 'global') {
+        return '函数';
+    } else if (this.kind === 'constant' && this.scope === 'global') {
+        return '常量';
+    } else {
+        return this.kind;
+    }
+};
+ 
+exports.scopeInThisContext = function () {
+    switch (this.scope) {
+        case 'global':
+            return '';
+        case 'static':
+            return '静态';
+        case 'inner':
+            return '内部';
+        default:
+            return this.scope;
+    }
+};
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html new file mode 100644 index 0000000..6cf2e50 --- /dev/null +++ b/coverage/lcov-report/src/index.html @@ -0,0 +1,111 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 100% + Statements + 41/41 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 39/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.js +
+
100%41/41100%16/16100%9/9100%39/39
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/index.js.html b/coverage/lcov-report/src/index.js.html new file mode 100644 index 0000000..594019c --- /dev/null +++ b/coverage/lcov-report/src/index.js.html @@ -0,0 +1,857 @@ + + + + + + Code coverage report for src/index.js + + + + + + + + + +
+
+

All files / src index.js

+
+ +
+ 100% + Statements + 41/41 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 39/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +2601x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +5x +4x +4x +1x +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +1x +  +7x +7x +  +7x +5x +  +  +7x +5x +  +  +7x +  +  +  +  +7x +6x +  +  +  +  +  +  +  +  +  +  +17x +16x +17x +17x +26x +26x +26x +26x +  +17x +  +  +  +1x +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
const ejs = require('ejs');
+const jsdocRender = require('./utils/jsdocRender');
+const getFilesPath = require('./utils/getFilesPath');
+const defaultConfig = require('./utils/config');
+const path = require('path');
+const fs = require('fs-extra');
+const { FastFs, FastPath, PresetUtils } = require('@agds/node-utils');
+const { exec } = require('child_process');
+const renderCode = require('./utils/renderCode');
+/**
+ * GenDoc 基于注释和可运行的示例代码自动生成文档的强大工具类
+ *
+ * #### 引入
+ * ```js
+ * const GenDoc = require('@agds/cli-plugin-doc');
+ * ```
+ *
+ */
+class GenDoc {
+    /**
+     * 基于ejs,用模板渲染文档
+     *
+     * @param {RenderOptions} options 获取用来渲染模板的数据
+     * @returns {Promise<string>} 异步返回基于ejs模板渲染的文档文本
+     */
+    static async render(options) {
+        const config = await _mergeToDefaultConfig(options);
+        const renderData = await this.getRenderData(config, false);
+        const res = await ejs.renderFile(config.template, renderData);
+        if (config.output) {
+            await FastFs.writeFile(FastPath.getCwdPath(config.output), res);
+        } else {
+            return res;
+        }
+    }
+ 
+    /**
+     * 获取用来渲染模板的数据(jsdoc生成的文档和示例代码的内容)
+     *
+     * @param {RenderOptions} options 配置参数
+     * @param {boolean} [needMergeConfig=true] 是否需要调用`_mergeToDefaultConfig`,
+     * options已经是merge处理过的就不需要调用,否则不推荐传入`false`
+     * 会导致别名不支持
+     * @returns {Promise<GetRenderDataResult>}
+     */
+    static async getRenderData(options, needMergeConfig = true) {
+        // node API调用时需要merge以附上默认配置
+        if (needMergeConfig) {
+            options = await _mergeToDefaultConfig(options);
+        }
+        const { jsdoc2mdOptions, codesOptions, helpers } = options;
+        const promises = [];
+        let docs;
+        if (jsdoc2mdOptions && jsdoc2mdOptions.files && jsdoc2mdOptions.files.length) {
+            promises.push(jsdocRender(jsdoc2mdOptions).then(res => { docs = res; }));
+        }
+        let codes;
+        if (codesOptions && JSON.stringify(codesOptions) !== '{}') {
+            promises.push(this.getFilesCode(codesOptions).then(res => { codes = res; }));
+        }
+        let pkg;
+        const pkgPath = FastPath.getCwdPath('package.json');
+        /* istanbul ignore next */
+        if (FastFs.getPathStatSync(pkgPath)) {
+            promises.push(FastFs.readJson(pkgPath).then(res => { pkg = res; }));
+        }
+        await Promise.all(promises);
+        return { docs, codes, helpers, pkg };
+    }
+ 
+    /**
+     * 基于glob的文件遍历函数,返回文件对应内容的数组,
+     * 以文件夹为单位返回文件内容对象,key是文件的extname
+     *
+     * @param {import('./utils/getFilesPath').GetFilesCodeOptions} options 获取源代码的文件路径配置参数
+     * @returns {Promise<Array<GetFilesCodeResult>>}
+     */
+    static async getFilesCode(options) {
+        const filesList = getFilesPath(options);
+        return filesList.map(files => {
+            const codes = {};
+            files.forEach(file => {
+                const ext = path.extname(file).replace(/^\./, '');
+                const code = fs.readFileSync(file, { encoding: 'utf8' });
+                codes[ext] = codes[ext] || [];
+                codes[ext].push(code);
+            });
+            return codes;
+        });
+    }
+ 
+    static renderCode = renderCode;
+    /**
+     * 获取命令行使用帮助文档
+     * 建议提前确保全局使用了最新的脚本
+     * 函数为异步函数,注意不能作为ejs帮助函数传入,可以获取返回值后,将返回值作为helpers的变量传入
+     *
+     * @returns {Promise<string[]>}
+     */
+    static async getCliUsages() {
+        const pkgPath = FastPath.getCwdPath('package.json');
+        /* istanbul ignore next */
+        if (FastFs.getPathStatSync(pkgPath)) {
+            const pkg = require(pkgPath);
+            const bin = pkg.bin;
+            try {
+                return await Promise.all(
+                    Object.keys(bin)
+                        .map(key => execPromise(`${key} -h`)),
+                ).then(res => res.filter(Boolean));
+            } catch (error) {
+                /* istanbul ignore next */
+                await Promise.all([
+                    execPromise('chmod -R 750 lib'),
+                    execPromise('npm link'),
+                ]);
+                /* istanbul ignore next */
+                return this.getCliUsages();
+            }
+        } else {
+            /* istanbul ignore next */
+            throw new Error('未检测到根目录下存在【package.json】文件');
+        }
+    }
+ 
+    /**
+     * 读取文件内容
+     *
+     * @param {string} filename 相对于运行目录的文件路径
+     * @returns {string}
+     */
+    static getFileContent(filename) {
+        return fs.readFileSync(FastPath.getCwdPath(filename), { encoding: 'utf-8' });
+    }
+};
+ 
+module.exports = GenDoc;
+ 
+/* istanbul ignore next */
+/**
+ * 将当前配置和默认配置合并
+ *
+ * @param {RenderOptions} options 获取用来渲染模板的数据
+ * @returns {RenderOptions} 异步返回基于ejs模板渲染的文档文本
+ * @ignore
+ */
+async function _mergeToDefaultConfig(options = {}) {
+    // 获取用户本地配置文件
+    const cwdConfPath = FastPath.getCwdPath(options.config || 'agds.doc.config.js');
+    options.presets = options.presets || [];
+    if (FastFs.getPathStatSync(cwdConfPath)) {
+        const userConfig = require(cwdConfPath);
+        options.presets.unshift(userConfig);
+    }
+    options.presets.push({ jsdoc2mdOptions: {}, codesOptions: {}, jsdocEngineOptions: {} });
+    let config = await PresetUtils.getDeepPresetMerge(options);
+    // 支持配置是否使用默认配置
+    if (config.default !== false) {
+        config.presets = config.presets || [];
+        config.presets.push(defaultConfig);
+    }
+    config = await PresetUtils.getDeepPresetMergeAndModify(config);
+    // files别名支持
+    if (config.files) {
+        config.jsdoc2mdOptions.files = config.files;
+    }
+    // codesDir&codesFiles别名支持
+    if (config.codesDir && config.codesFiles) {
+        config.codesOptions.dir = config.codesDir;
+        config.codesOptions.files = config.codesFiles;
+    }
+    // jsdocEngineOptions配置支持
+    if (config.jsdocEngineOptions && JSON.stringify(config.jsdocEngineOptions) !== '{}') {
+        const jsdocEngineConfigPath = path.join(__dirname, '../.temp/jsdoc.conf.json');
+        await FastFs.writeJsonFormat(jsdocEngineConfigPath, config.jsdocEngineOptions);
+        config.jsdoc2mdOptions.configure = jsdocEngineConfigPath;
+    }
+    return config;
+}
+/* istanbul ignore next */
+/**
+ * execPromise
+ *
+ * @param {string} command shell命令
+ * @returns {Promise<string>}
+ * @ignore
+ */
+function execPromise(command) {
+    return new Promise((resolve, reject) => {
+        exec(command, (error, stdout, stderr) => {
+            if (error) {
+                return reject(error);
+            }
+            return resolve(stdout);
+        });
+    });
+}
+ 
+/**
+ * 函数[GenDoc.getRenderData](#GenDoc.getRenderData)的返回值
+ *
+ * @typedef {object} GetRenderDataResult
+ * @property {string} docs 源码使用jsdoc渲染后的markdown文本
+ * @property {Array<GetFilesCodeResult>} codes 获取到的代码内容
+ */
+ 
+/**
+ * 渲染函数的配置参数
+ *
+ * @typedef {object} RenderOptions
+ * @property {string[]} files `jsdoc2mdOptions.files`的别名
+ * @property {fs.PathLike} output doc文档渲染导出的文件名称路径,相对于cwd目录
+ * @property {string} template ejs渲染的模板相对于cwd的路径或者绝对路径
+ * @property {string} [codesDir] `codesOptions.dir`的别名
+ * @property {string[]} [codesFiles] `codesOptions.codesFiles`的别名
+ * @property {fs.PathLike} [conifg=agds.doc.config.js] 配置文件路径,默认为运行目录下的`agds.doc.config.js`,仅支持`js`文件类型
+ * @property {boolean} [default] 是否合并默认配置,一般我们认为您是需要默认配置的,当默认配置和你的需求冲突时可以设置为`false`
+ * @property {import('./utils/jsdocRender').Jsdoc2mdOptions} [jsdoc2mdOptions] jsdocToMarkdown配置参数
+ * @property {import('./utils/getFilesPath').GetFilesCodeOptions} [codesOptions] 获取源代码的文件路径配置参数
+ * @property {object} [jsdocEngineOptions] jsdoc解析引擎的配置,实际上是`jsdoc.conf.js`的整合,
+ * 也可以使用  `RenderOptions.jsdoc2mdOptions.configure`字段来指定本地的jsdoc配置
+ * 配置选项[👉参考文档](https://jsdoc.app/about-configuring-jsdoc.html)
+ * @property {DefaultHelpers} [helpers] 注入ejs模板的`helpers`对象,提供模板使用的帮助函数和变量,配合模板使用
+ * @property {RenderOptions[]} [presets] 基于preset机制实现配置支持预设的功能,
+ * 具体[👉参考文档](https://gitee.com/agile-development-system/node-utils#presetutilsgetdeeppresetmergeconfig--config)`PresetUtils.getDeepPresetMerge`
+ * @property {boolean} [noDefault] 取消合并默认配置
+ * @property {import('@agds/node-utils').ConfigModify} [modify] 将默认配置和preset合并后生成的config再次处理的钩子
+ * 具体[👉参考文档](https://gitee.com/agile-development-system/node-utils#presetutilsgetdeeppresetmergeconfig--config)
+ */
+ 
+/**
+ * 获取文件的内容的返回值类型,key是文件的extname
+ *
+ * @typedef {Object.<string,string>} GetFilesCodeResult
+ */
+ 
+/**
+ * 默认模板所支持的`helpers`属性
+ *
+ * @typedef {Object} DefaultHelpers
+ * @property {string} [installCode] 安装脚本,bash脚本,默认为`npm i ${pkg.name}`,如不符合要求,可以通过此字段自行修改
+ * @property {boolean} [devInstall] 是否是作为开发依赖下载,`true`时,默认下载代码自动拼接npm `-D` 参数
+ * @property {string} [importCode] 引入代码示例,js字符串
+ * @property {string} [exportCode] 导出代码,js字符串
+ * @property {string[]} [cliUsages] cli命令行使用帮助文档,格式类似`agds-doc -h`的输出内容
+ * @property {string} [remark] 文档备注信息,md字符串
+ * @property {GenDoc.renderCode} [renderCode] 将`GenDoc.getFileCodes`的返回值渲染成对应的代码段
+ * @property {Postfix[]} [postfixes] 后缀内容数组
+ */
+ 
+/**
+ * 后缀内容类型
+ *
+ * @typedef {Object} Postfix
+ * @property {string} [id] 锚点的名称,填写之后可以支持 `href=\`#${id}\``锚点定位
+ * @property {string} [title] 内容的标题
+ * @property {string} [desc] 内容的描述
+ * @property {string} [content] 内容的正文
+ */
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/config.js.html b/coverage/lcov-report/src/utils/config.js.html new file mode 100644 index 0000000..f9d5e83 --- /dev/null +++ b/coverage/lcov-report/src/utils/config.js.html @@ -0,0 +1,152 @@ + + + + + + Code coverage report for src/utils/config.js + + + + + + + + + +
+
+

All files / src/utils config.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x + 
const path = require('path');
+const defaultTemplate = path.resolve(__dirname, '../template/template.ejs');
+const renderCode = require('./renderCode');
+const defaultConfig = {
+    template: defaultTemplate,
+    jsdoc2mdOptions: {
+        // 'no-cache': true,
+        partial: [path.resolve(__dirname, '../dmdRewrite/partials/*.hbs')],
+        helper: [path.resolve(__dirname, '../dmdRewrite/helpers/*.js')],
+        'heading-depth': 3,
+    },
+    // 默认`jsdocEngineOptions`配置一般只能增加无法删除,
+    // 但是可以在配置noDefault来去除默认配置
+    jsdocEngineOptions: {
+        plugins: [
+            require.resolve('jsdoc-tsimport-plugin'),
+        ],
+    },
+    helpers: {
+        renderCode,
+    },
+};
+ 
+module.exports = defaultConfig;
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/getFilesPath.js.html b/coverage/lcov-report/src/utils/getFilesPath.js.html new file mode 100644 index 0000000..4ef7621 --- /dev/null +++ b/coverage/lcov-report/src/utils/getFilesPath.js.html @@ -0,0 +1,197 @@ + + + + + + Code coverage report for src/utils/getFilesPath.js + + + + + + + + + +
+
+

All files / src/utils getFilesPath.js

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +17x +17x +1x +  +16x +17x +  +  +  +17x +  +  +  +  +1x +  +  +  +  +  +  +  +  + 
/*
+ * @Author: 锦阳
+ * @Create: 2021年04月25日
+ */
+ 
+const FileSet = require('file-set');
+const { FastPath } = require('@agds/node-utils');
+const path = require('path');
+/**
+ * 基于glob的文件遍历函数,返回基于目录分类的二维数组
+ *
+ * @param {GetFilesCodeOptions} options 配置参数
+ * @returns {string[][]}
+ * @ignore
+ */
+function getFilesPath({ dir, files }) {
+    const _dirs = new FileSet(FastPath.getCwdPath(dir)).dirs;
+    if (!(_dirs && _dirs.length > 0)) {
+        throw new Error('未匹配到任何目录,请确认输入路径');
+    }
+    return _dirs.map(dir =>
+        (
+            new FileSet(
+                files
+                    .map(file =>
+                        path.resolve(dir, file)))
+        )
+            .files);
+}
+ 
+module.exports = getFilesPath;
+ 
+/**
+ * 获取源代码的文件路径配置参数
+ *
+ * @typedef {object} GetFilesCodeOptions
+ * @property {string} dir glob路径
+ * @property {string[]} files glob文件名称数组
+ */
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/index.html b/coverage/lcov-report/src/utils/index.html new file mode 100644 index 0000000..8dea2a9 --- /dev/null +++ b/coverage/lcov-report/src/utils/index.html @@ -0,0 +1,156 @@ + + + + + + Code coverage report for src/utils + + + + + + + + + +
+
+

All files src/utils

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
config.js +
+
100%5/5100%0/0100%0/0100%5/5
getFilesPath.js +
+
100%10/10100%4/4100%3/3100%10/10
jsdocRender.js +
+
100%3/3100%0/0100%1/1100%3/3
renderCode.js +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/jsdocRender.js.html b/coverage/lcov-report/src/utils/jsdocRender.js.html new file mode 100644 index 0000000..82c5fd5 --- /dev/null +++ b/coverage/lcov-report/src/utils/jsdocRender.js.html @@ -0,0 +1,152 @@ + + + + + + Code coverage report for src/utils/jsdocRender.js + + + + + + + + + +
+
+

All files / src/utils jsdocRender.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25  +  +  +  +  +1x +  +  +  +  +  +  +  +  +5x +  +  +1x +  +  +  +  +  +  + 
/*
+ * @Author: 锦阳
+ * @Create: 2021年04月22日
+ */
+ 
+const doc = require('jsdoc-to-markdown');
+/**
+ *  渲染jsdoc文档
+ *
+ * @param {Jsdoc2mdOptions} options jsdocToMarkdown配置参数
+ * @returns {Promise<string>} 异步返回jsdoc文档文本
+ * @ignore
+ */
+function jsdocRender(options) {
+    return doc.render(options);
+}
+ 
+module.exports = jsdocRender;
+ 
+/**
+ * jsdocToMarkdown配置参数,具体可[👉参考文档](https://github.com/jsdoc2md/jsdoc-to-markdown/blob/master/docs/API.md)
+ *
+ * @typedef {object} Jsdoc2mdOptions
+ */
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/renderCode.js.html b/coverage/lcov-report/src/utils/renderCode.js.html new file mode 100644 index 0000000..743ae3a --- /dev/null +++ b/coverage/lcov-report/src/utils/renderCode.js.html @@ -0,0 +1,188 @@ + + + + + + Code coverage report for src/utils/renderCode.js + + + + + + + + + +
+
+

All files / src/utils renderCode.js

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x + 
/*
+ * @Author: 锦阳
+ * @Create: 2021年05月31日
+ */
+/* istanbul ignore next */
+/**
+ * 将codes渲染成md代码片段
+ *
+ * @param {Array<import('../index.js').GetFilesCodeResult>} codes `GenDoc.getFilesCode`函数获取到的codes数组
+ * @param {string[]} [extSort= ['md', 'vue', 'jsx', 'js']] 优先并且按照`extSort`数组顺序获取遍历codes
+ * @param {Object<string,string>} [extTrans={vue:'html'}] ext转换的映射map
+ * 简单示例`{vue:'html'}`
+ * @returns {string}
+ * @alias GenDoc.renderCode
+ */
+function renderCode(codes, extSort = ['md', 'vue', 'jsx', 'js'], extTrans = { vue: 'html' }) {
+    let result = '';
+    codes && codes.forEach((item) => {
+        extSort.concat(Object.keys(item).filter(ext => !extSort.includes(ext))).forEach((ext) => {
+            const code = item[ext];
+            if (code) {
+                code.forEach(c => {
+                    if (ext === 'md') {
+                        result += c + '\n';
+                    } else {
+                        const _ext = extTrans[ext] || ext;
+                        result += `\`\`\`${_ext}\n` + c + '\n```\n';
+                    }
+                });
+            }
+        });
+    });
+    return result;
+}
+ 
+module.exports = renderCode;
+ 
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 0000000..e88399e --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,149 @@ +TN: +SF:src/index.js +FN:26,(anonymous_0) +FN:46,(anonymous_1) +FN:55,(anonymous_2) +FN:59,(anonymous_3) +FN:78,(anonymous_4) +FN:80,(anonymous_5) +FN:82,(anonymous_6) +FN:100,(anonymous_7) +FN:132,(anonymous_8) +FNF:9 +FNH:9 +FNDA:5,(anonymous_0) +FNDA:7,(anonymous_1) +FNDA:5,(anonymous_2) +FNDA:4,(anonymous_3) +FNDA:17,(anonymous_4) +FNDA:17,(anonymous_5) +FNDA:26,(anonymous_6) +FNDA:6,(anonymous_7) +FNDA:1,(anonymous_8) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:27,5 +DA:28,5 +DA:29,4 +DA:30,4 +DA:31,1 +DA:33,3 +DA:48,7 +DA:49,1 +DA:51,7 +DA:52,7 +DA:54,7 +DA:55,5 +DA:58,7 +DA:59,5 +DA:62,7 +DA:67,7 +DA:68,6 +DA:79,17 +DA:80,16 +DA:81,17 +DA:82,17 +DA:83,26 +DA:84,26 +DA:85,26 +DA:86,26 +DA:88,17 +DA:92,1 +DA:101,6 +DA:133,1 +DA:137,1 +LF:39 +LH:39 +BRDA:30,0,0,1 +BRDA:30,0,1,3 +BRDA:46,1,0,1 +BRDA:48,2,0,1 +BRDA:48,2,1,6 +BRDA:54,3,0,5 +BRDA:54,3,1,2 +BRDA:54,4,0,7 +BRDA:54,4,1,6 +BRDA:54,4,2,5 +BRDA:58,5,0,5 +BRDA:58,5,1,2 +BRDA:58,6,0,7 +BRDA:58,6,1,6 +BRDA:85,7,0,26 +BRDA:85,7,1,26 +BRF:16 +BRH:16 +end_of_record +TN: +SF:src/utils/config.js +FNF:0 +FNH:0 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:24,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/getFilesPath.js +FN:16,getFilesPath +FN:21,(anonymous_1) +FN:25,(anonymous_2) +FNF:3 +FNH:3 +FNDA:17,getFilesPath +FNDA:17,(anonymous_1) +FNDA:17,(anonymous_2) +DA:6,1 +DA:7,1 +DA:8,1 +DA:17,17 +DA:18,17 +DA:19,1 +DA:21,16 +DA:22,17 +DA:26,17 +DA:31,1 +LF:10 +LH:10 +BRDA:18,0,0,1 +BRDA:18,0,1,16 +BRDA:18,1,0,17 +BRDA:18,1,1,17 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/utils/jsdocRender.js +FN:14,jsdocRender +FNF:1 +FNH:1 +FNDA:5,jsdocRender +DA:6,1 +DA:15,5 +DA:18,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/renderCode.js +FNF:0 +FNH:0 +DA:36,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record diff --git a/package.json b/package.json index c2d6681..5d35a5a 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "author": "junyang", "license": "MIT", "devDependencies": { + "@agds/agds-doc-preset": "^1.0.4", "@agds/babel-preset-base": "^1.0.0", "@agds/cli-plugin-doc": "^1.0.0", "@agds/eslint-config-js": "^1.0.0", diff --git a/src/index.js b/src/index.js index 712bd88..45658b2 100644 --- a/src/index.js +++ b/src/index.js @@ -246,6 +246,7 @@ function execPromise(command) { * @property {string} [remark] 文档备注信息,md字符串 * @property {GenDoc.renderCode} [renderCode] 将`GenDoc.getFileCodes`的返回值渲染成对应的代码段 * @property {Postfix[]} [postfixes] 后缀内容数组 + * @property {string} [logo] logo */ /** diff --git a/src/template/template.ejs b/src/template/template.ejs index f0fa80f..db419ac 100644 --- a/src/template/template.ejs +++ b/src/template/template.ejs @@ -1,6 +1,9 @@ <% const {docs, codes, helpers, pkg} = locals -%># <%- pkg.name %> +%><% if(helpers.logo) { %>

+ logo +

+<% } %># <%- pkg.name %> **版本** :<%- pkg.version %> -- Gitee From 99c575c966b3ec23589c2b722e85dc646a2f7acb Mon Sep 17 00:00:00 2001 From: jinyang <961284688@qq.com> Date: Tue, 6 Jul 2021 01:18:50 +0800 Subject: [PATCH 3/4] =?UTF-8?q?test(coverage):=20=E5=88=A0=E9=99=A4coverag?= =?UTF-8?q?e=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- coverage/clover.xml | 85 - coverage/coverage-final.json | 1462 ----------------- coverage/lcov-report/base.css | 224 --- coverage/lcov-report/block-navigation.js | 79 - coverage/lcov-report/favicon.png | Bin 540 -> 0 bytes coverage/lcov-report/index.html | 126 -- coverage/lcov-report/prettify.css | 1 - coverage/lcov-report/prettify.js | 2 - coverage/lcov-report/sort-arrow-sprite.png | Bin 209 -> 0 bytes coverage/lcov-report/sorter.js | 170 -- .../src/dmdRewrite/helpers/index.html | 111 -- .../src/dmdRewrite/helpers/index.js.html | 221 --- coverage/lcov-report/src/index.html | 111 -- coverage/lcov-report/src/index.js.html | 857 ---------- coverage/lcov-report/src/utils/config.js.html | 152 -- .../src/utils/getFilesPath.js.html | 197 --- coverage/lcov-report/src/utils/index.html | 156 -- .../lcov-report/src/utils/jsdocRender.js.html | 152 -- .../lcov-report/src/utils/renderCode.js.html | 188 --- coverage/lcov.info | 149 -- 20 files changed, 4443 deletions(-) delete mode 100644 coverage/clover.xml delete mode 100644 coverage/coverage-final.json delete mode 100644 coverage/lcov-report/base.css delete mode 100644 coverage/lcov-report/block-navigation.js delete mode 100644 coverage/lcov-report/favicon.png delete mode 100644 coverage/lcov-report/index.html delete mode 100644 coverage/lcov-report/prettify.css delete mode 100644 coverage/lcov-report/prettify.js delete mode 100644 coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 coverage/lcov-report/sorter.js delete mode 100644 coverage/lcov-report/src/dmdRewrite/helpers/index.html delete mode 100644 coverage/lcov-report/src/dmdRewrite/helpers/index.js.html delete mode 100644 coverage/lcov-report/src/index.html delete mode 100644 coverage/lcov-report/src/index.js.html delete mode 100644 coverage/lcov-report/src/utils/config.js.html delete mode 100644 coverage/lcov-report/src/utils/getFilesPath.js.html delete mode 100644 coverage/lcov-report/src/utils/index.html delete mode 100644 coverage/lcov-report/src/utils/jsdocRender.js.html delete mode 100644 coverage/lcov-report/src/utils/renderCode.js.html delete mode 100644 coverage/lcov.info diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index 6ed7e23..0000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index 53b6929..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,1462 +0,0 @@ -{ - "/Users/jinyang/code/ads/cli-plugin-doc/src/index.js": { - "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/index.js", - "statementMap": { - "0": { - "start": { - "line": 1, - "column": 12 - }, - "end": { - "line": 1, - "column": 26 - } - }, - "1": { - "start": { - "line": 2, - "column": 20 - }, - "end": { - "line": 2, - "column": 50 - } - }, - "2": { - "start": { - "line": 3, - "column": 21 - }, - "end": { - "line": 3, - "column": 52 - } - }, - "3": { - "start": { - "line": 4, - "column": 22 - }, - "end": { - "line": 4, - "column": 47 - } - }, - "4": { - "start": { - "line": 5, - "column": 13 - }, - "end": { - "line": 5, - "column": 28 - } - }, - "5": { - "start": { - "line": 6, - "column": 11 - }, - "end": { - "line": 6, - "column": 30 - } - }, - "6": { - "start": { - "line": 7, - "column": 42 - }, - "end": { - "line": 7, - "column": 69 - } - }, - "7": { - "start": { - "line": 8, - "column": 17 - }, - "end": { - "line": 8, - "column": 41 - } - }, - "8": { - "start": { - "line": 9, - "column": 19 - }, - "end": { - "line": 9, - "column": 48 - } - }, - "9": { - "start": { - "line": 27, - "column": 23 - }, - "end": { - "line": 27, - "column": 59 - } - }, - "10": { - "start": { - "line": 28, - "column": 27 - }, - "end": { - "line": 28, - "column": 66 - } - }, - "11": { - "start": { - "line": 29, - "column": 20 - }, - "end": { - "line": 29, - "column": 69 - } - }, - "12": { - "start": { - "line": 30, - "column": 8 - }, - "end": { - "line": 34, - "column": 9 - } - }, - "13": { - "start": { - "line": 31, - "column": 12 - }, - "end": { - "line": 31, - "column": 76 - } - }, - "14": { - "start": { - "line": 33, - "column": 12 - }, - "end": { - "line": 33, - "column": 23 - } - }, - "15": { - "start": { - "line": 48, - "column": 8 - }, - "end": { - "line": 50, - "column": 9 - } - }, - "16": { - "start": { - "line": 49, - "column": 12 - }, - "end": { - "line": 49, - "column": 59 - } - }, - "17": { - "start": { - "line": 51, - "column": 59 - }, - "end": { - "line": 51, - "column": 66 - } - }, - "18": { - "start": { - "line": 52, - "column": 25 - }, - "end": { - "line": 52, - "column": 27 - } - }, - "19": { - "start": { - "line": 54, - "column": 8 - }, - "end": { - "line": 56, - "column": 9 - } - }, - "20": { - "start": { - "line": 55, - "column": 12 - }, - "end": { - "line": 55, - "column": 85 - } - }, - "21": { - "start": { - "line": 55, - "column": 69 - }, - "end": { - "line": 55, - "column": 80 - } - }, - "22": { - "start": { - "line": 58, - "column": 8 - }, - "end": { - "line": 60, - "column": 9 - } - }, - "23": { - "start": { - "line": 59, - "column": 12 - }, - "end": { - "line": 59, - "column": 89 - } - }, - "24": { - "start": { - "line": 59, - "column": 72 - }, - "end": { - "line": 59, - "column": 84 - } - }, - "25": { - "start": { - "line": 62, - "column": 24 - }, - "end": { - "line": 62, - "column": 59 - } - }, - "26": { - "start": { - "line": 67, - "column": 8 - }, - "end": { - "line": 67, - "column": 36 - } - }, - "27": { - "start": { - "line": 68, - "column": 8 - }, - "end": { - "line": 68, - "column": 45 - } - }, - "28": { - "start": { - "line": 79, - "column": 26 - }, - "end": { - "line": 79, - "column": 47 - } - }, - "29": { - "start": { - "line": 80, - "column": 8 - }, - "end": { - "line": 89, - "column": 11 - } - }, - "30": { - "start": { - "line": 81, - "column": 26 - }, - "end": { - "line": 81, - "column": 28 - } - }, - "31": { - "start": { - "line": 82, - "column": 12 - }, - "end": { - "line": 87, - "column": 15 - } - }, - "32": { - "start": { - "line": 83, - "column": 28 - }, - "end": { - "line": 83, - "column": 65 - } - }, - "33": { - "start": { - "line": 84, - "column": 29 - }, - "end": { - "line": 84, - "column": 72 - } - }, - "34": { - "start": { - "line": 85, - "column": 16 - }, - "end": { - "line": 85, - "column": 46 - } - }, - "35": { - "start": { - "line": 86, - "column": 16 - }, - "end": { - "line": 86, - "column": 38 - } - }, - "36": { - "start": { - "line": 88, - "column": 12 - }, - "end": { - "line": 88, - "column": 25 - } - }, - "37": { - "start": { - "line": 92, - "column": 24 - }, - "end": { - "line": 92, - "column": 34 - } - }, - "38": { - "start": { - "line": 101, - "column": 24 - }, - "end": { - "line": 101, - "column": 59 - } - }, - "39": { - "start": { - "line": 133, - "column": 8 - }, - "end": { - "line": 133, - "column": 85 - } - }, - "40": { - "start": { - "line": 137, - "column": 0 - }, - "end": { - "line": 137, - "column": 24 - } - } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { - "start": { - "line": 26, - "column": 4 - }, - "end": { - "line": 26, - "column": 5 - } - }, - "loc": { - "start": { - "line": 26, - "column": 33 - }, - "end": { - "line": 35, - "column": 5 - } - }, - "line": 26 - }, - "1": { - "name": "(anonymous_1)", - "decl": { - "start": { - "line": 46, - "column": 4 - }, - "end": { - "line": 46, - "column": 5 - } - }, - "loc": { - "start": { - "line": 46, - "column": 64 - }, - "end": { - "line": 69, - "column": 5 - } - }, - "line": 46 - }, - "2": { - "name": "(anonymous_2)", - "decl": { - "start": { - "line": 55, - "column": 60 - }, - "end": { - "line": 55, - "column": 61 - } - }, - "loc": { - "start": { - "line": 55, - "column": 67 - }, - "end": { - "line": 55, - "column": 82 - } - }, - "line": 55 - }, - "3": { - "name": "(anonymous_3)", - "decl": { - "start": { - "line": 59, - "column": 63 - }, - "end": { - "line": 59, - "column": 64 - } - }, - "loc": { - "start": { - "line": 59, - "column": 70 - }, - "end": { - "line": 59, - "column": 86 - } - }, - "line": 59 - }, - "4": { - "name": "(anonymous_4)", - "decl": { - "start": { - "line": 78, - "column": 4 - }, - "end": { - "line": 78, - "column": 5 - } - }, - "loc": { - "start": { - "line": 78, - "column": 39 - }, - "end": { - "line": 90, - "column": 5 - } - }, - "line": 78 - }, - "5": { - "name": "(anonymous_5)", - "decl": { - "start": { - "line": 80, - "column": 29 - }, - "end": { - "line": 80, - "column": 30 - } - }, - "loc": { - "start": { - "line": 80, - "column": 38 - }, - "end": { - "line": 89, - "column": 9 - } - }, - "line": 80 - }, - "6": { - "name": "(anonymous_6)", - "decl": { - "start": { - "line": 82, - "column": 26 - }, - "end": { - "line": 82, - "column": 27 - } - }, - "loc": { - "start": { - "line": 82, - "column": 34 - }, - "end": { - "line": 87, - "column": 13 - } - }, - "line": 82 - }, - "7": { - "name": "(anonymous_7)", - "decl": { - "start": { - "line": 100, - "column": 4 - }, - "end": { - "line": 100, - "column": 5 - } - }, - "loc": { - "start": { - "line": 100, - "column": 32 - }, - "end": { - "line": 124, - "column": 5 - } - }, - "line": 100 - }, - "8": { - "name": "(anonymous_8)", - "decl": { - "start": { - "line": 132, - "column": 4 - }, - "end": { - "line": 132, - "column": 5 - } - }, - "loc": { - "start": { - "line": 132, - "column": 36 - }, - "end": { - "line": 134, - "column": 5 - } - }, - "line": 132 - } - }, - "branchMap": { - "0": { - "loc": { - "start": { - "line": 30, - "column": 8 - }, - "end": { - "line": 34, - "column": 9 - } - }, - "type": "if", - "locations": [ - { - "start": { - "line": 30, - "column": 8 - }, - "end": { - "line": 34, - "column": 9 - } - }, - { - "start": { - "line": 30, - "column": 8 - }, - "end": { - "line": 34, - "column": 9 - } - } - ], - "line": 30 - }, - "1": { - "loc": { - "start": { - "line": 46, - "column": 40 - }, - "end": { - "line": 46, - "column": 62 - } - }, - "type": "default-arg", - "locations": [ - { - "start": { - "line": 46, - "column": 58 - }, - "end": { - "line": 46, - "column": 62 - } - } - ], - "line": 46 - }, - "2": { - "loc": { - "start": { - "line": 48, - "column": 8 - }, - "end": { - "line": 50, - "column": 9 - } - }, - "type": "if", - "locations": [ - { - "start": { - "line": 48, - "column": 8 - }, - "end": { - "line": 50, - "column": 9 - } - }, - { - "start": { - "line": 48, - "column": 8 - }, - "end": { - "line": 50, - "column": 9 - } - } - ], - "line": 48 - }, - "3": { - "loc": { - "start": { - "line": 54, - "column": 8 - }, - "end": { - "line": 56, - "column": 9 - } - }, - "type": "if", - "locations": [ - { - "start": { - "line": 54, - "column": 8 - }, - "end": { - "line": 56, - "column": 9 - } - }, - { - "start": { - "line": 54, - "column": 8 - }, - "end": { - "line": 56, - "column": 9 - } - } - ], - "line": 54 - }, - "4": { - "loc": { - "start": { - "line": 54, - "column": 12 - }, - "end": { - "line": 54, - "column": 84 - } - }, - "type": "binary-expr", - "locations": [ - { - "start": { - "line": 54, - "column": 12 - }, - "end": { - "line": 54, - "column": 27 - } - }, - { - "start": { - "line": 54, - "column": 31 - }, - "end": { - "line": 54, - "column": 52 - } - }, - { - "start": { - "line": 54, - "column": 56 - }, - "end": { - "line": 54, - "column": 84 - } - } - ], - "line": 54 - }, - "5": { - "loc": { - "start": { - "line": 58, - "column": 8 - }, - "end": { - "line": 60, - "column": 9 - } - }, - "type": "if", - "locations": [ - { - "start": { - "line": 58, - "column": 8 - }, - "end": { - "line": 60, - "column": 9 - } - }, - { - "start": { - "line": 58, - "column": 8 - }, - "end": { - "line": 60, - "column": 9 - } - } - ], - "line": 58 - }, - "6": { - "loc": { - "start": { - "line": 58, - "column": 12 - }, - "end": { - "line": 58, - "column": 65 - } - }, - "type": "binary-expr", - "locations": [ - { - "start": { - "line": 58, - "column": 12 - }, - "end": { - "line": 58, - "column": 24 - } - }, - { - "start": { - "line": 58, - "column": 28 - }, - "end": { - "line": 58, - "column": 65 - } - } - ], - "line": 58 - }, - "7": { - "loc": { - "start": { - "line": 85, - "column": 29 - }, - "end": { - "line": 85, - "column": 45 - } - }, - "type": "binary-expr", - "locations": [ - { - "start": { - "line": 85, - "column": 29 - }, - "end": { - "line": 85, - "column": 39 - } - }, - { - "start": { - "line": 85, - "column": 43 - }, - "end": { - "line": 85, - "column": 45 - } - } - ], - "line": 85 - } - }, - "s": { - "0": 1, - "1": 1, - "2": 1, - "3": 1, - "4": 1, - "5": 1, - "6": 1, - "7": 1, - "8": 1, - "9": 5, - "10": 5, - "11": 4, - "12": 4, - "13": 1, - "14": 3, - "15": 7, - "16": 1, - "17": 7, - "18": 7, - "19": 7, - "20": 5, - "21": 5, - "22": 7, - "23": 5, - "24": 4, - "25": 7, - "26": 7, - "27": 6, - "28": 17, - "29": 16, - "30": 17, - "31": 17, - "32": 26, - "33": 26, - "34": 26, - "35": 26, - "36": 17, - "37": 1, - "38": 6, - "39": 1, - "40": 1 - }, - "f": { - "0": 5, - "1": 7, - "2": 5, - "3": 4, - "4": 17, - "5": 17, - "6": 26, - "7": 6, - "8": 1 - }, - "b": { - "0": [ - 1, - 3 - ], - "1": [ - 1 - ], - "2": [ - 1, - 6 - ], - "3": [ - 5, - 2 - ], - "4": [ - 7, - 6, - 5 - ], - "5": [ - 5, - 2 - ], - "6": [ - 7, - 6 - ], - "7": [ - 26, - 26 - ] - }, - "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", - "hash": "833f95a61434ea76917494fc32c2298abc1475cb" - }, - "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/config.js": { - "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/config.js", - "statementMap": { - "0": { - "start": { - "line": 1, - "column": 13 - }, - "end": { - "line": 1, - "column": 28 - } - }, - "1": { - "start": { - "line": 2, - "column": 24 - }, - "end": { - "line": 2, - "column": 75 - } - }, - "2": { - "start": { - "line": 3, - "column": 19 - }, - "end": { - "line": 3, - "column": 42 - } - }, - "3": { - "start": { - "line": 4, - "column": 22 - }, - "end": { - "line": 22, - "column": 1 - } - }, - "4": { - "start": { - "line": 24, - "column": 0 - }, - "end": { - "line": 24, - "column": 31 - } - } - }, - "fnMap": {}, - "branchMap": {}, - "s": { - "0": 1, - "1": 1, - "2": 1, - "3": 1, - "4": 1 - }, - "f": {}, - "b": {}, - "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", - "hash": "c56192b8a1fc6ce62f10a3a7a2c840c0129c9edc" - }, - "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/getFilesPath.js": { - "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/getFilesPath.js", - "statementMap": { - "0": { - "start": { - "line": 6, - "column": 16 - }, - "end": { - "line": 6, - "column": 35 - } - }, - "1": { - "start": { - "line": 7, - "column": 21 - }, - "end": { - "line": 7, - "column": 48 - } - }, - "2": { - "start": { - "line": 8, - "column": 13 - }, - "end": { - "line": 8, - "column": 28 - } - }, - "3": { - "start": { - "line": 17, - "column": 18 - }, - "end": { - "line": 17, - "column": 60 - } - }, - "4": { - "start": { - "line": 18, - "column": 4 - }, - "end": { - "line": 20, - "column": 5 - } - }, - "5": { - "start": { - "line": 19, - "column": 8 - }, - "end": { - "line": 19, - "column": 44 - } - }, - "6": { - "start": { - "line": 21, - "column": 4 - }, - "end": { - "line": 28, - "column": 20 - } - }, - "7": { - "start": { - "line": 22, - "column": 8 - }, - "end": { - "line": 28, - "column": 18 - } - }, - "8": { - "start": { - "line": 26, - "column": 24 - }, - "end": { - "line": 26, - "column": 47 - } - }, - "9": { - "start": { - "line": 31, - "column": 0 - }, - "end": { - "line": 31, - "column": 30 - } - } - }, - "fnMap": { - "0": { - "name": "getFilesPath", - "decl": { - "start": { - "line": 16, - "column": 9 - }, - "end": { - "line": 16, - "column": 21 - } - }, - "loc": { - "start": { - "line": 16, - "column": 38 - }, - "end": { - "line": 29, - "column": 1 - } - }, - "line": 16 - }, - "1": { - "name": "(anonymous_1)", - "decl": { - "start": { - "line": 21, - "column": 21 - }, - "end": { - "line": 21, - "column": 22 - } - }, - "loc": { - "start": { - "line": 22, - "column": 8 - }, - "end": { - "line": 28, - "column": 18 - } - }, - "line": 22 - }, - "2": { - "name": "(anonymous_2)", - "decl": { - "start": { - "line": 25, - "column": 25 - }, - "end": { - "line": 25, - "column": 26 - } - }, - "loc": { - "start": { - "line": 26, - "column": 24 - }, - "end": { - "line": 26, - "column": 47 - } - }, - "line": 26 - } - }, - "branchMap": { - "0": { - "loc": { - "start": { - "line": 18, - "column": 4 - }, - "end": { - "line": 20, - "column": 5 - } - }, - "type": "if", - "locations": [ - { - "start": { - "line": 18, - "column": 4 - }, - "end": { - "line": 20, - "column": 5 - } - }, - { - "start": { - "line": 18, - "column": 4 - }, - "end": { - "line": 20, - "column": 5 - } - } - ], - "line": 18 - }, - "1": { - "loc": { - "start": { - "line": 18, - "column": 10 - }, - "end": { - "line": 18, - "column": 35 - } - }, - "type": "binary-expr", - "locations": [ - { - "start": { - "line": 18, - "column": 10 - }, - "end": { - "line": 18, - "column": 15 - } - }, - { - "start": { - "line": 18, - "column": 19 - }, - "end": { - "line": 18, - "column": 35 - } - } - ], - "line": 18 - } - }, - "s": { - "0": 1, - "1": 1, - "2": 1, - "3": 17, - "4": 17, - "5": 1, - "6": 16, - "7": 17, - "8": 17, - "9": 1 - }, - "f": { - "0": 17, - "1": 17, - "2": 17 - }, - "b": { - "0": [ - 1, - 16 - ], - "1": [ - 17, - 17 - ] - }, - "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", - "hash": "60ba6ae4fddec799cc686985858f6d001027d915" - }, - "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/jsdocRender.js": { - "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/jsdocRender.js", - "statementMap": { - "0": { - "start": { - "line": 6, - "column": 12 - }, - "end": { - "line": 6, - "column": 40 - } - }, - "1": { - "start": { - "line": 15, - "column": 4 - }, - "end": { - "line": 15, - "column": 31 - } - }, - "2": { - "start": { - "line": 18, - "column": 0 - }, - "end": { - "line": 18, - "column": 29 - } - } - }, - "fnMap": { - "0": { - "name": "jsdocRender", - "decl": { - "start": { - "line": 14, - "column": 9 - }, - "end": { - "line": 14, - "column": 20 - } - }, - "loc": { - "start": { - "line": 14, - "column": 30 - }, - "end": { - "line": 16, - "column": 1 - } - }, - "line": 14 - } - }, - "branchMap": {}, - "s": { - "0": 1, - "1": 5, - "2": 1 - }, - "f": { - "0": 5 - }, - "b": {}, - "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", - "hash": "b6ba7f8a3512f69b3dead72c22381bec45369203" - }, - "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/renderCode.js": { - "path": "/Users/jinyang/code/ads/cli-plugin-doc/src/utils/renderCode.js", - "statementMap": { - "0": { - "start": { - "line": 36, - "column": 0 - }, - "end": { - "line": 36, - "column": 28 - } - } - }, - "fnMap": {}, - "branchMap": {}, - "s": { - "0": 1 - }, - "f": {}, - "b": {}, - "_coverageSchema": "1a1c01bbd47fc00a2c39e90264f33305004495a9", - "hash": "8c0994c28d0ec1fb2f461f980f17d9e0a3cfb640" - } -} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index f418035..0000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js deleted file mode 100644 index c7ff5a5..0000000 --- a/coverage/lcov-report/block-navigation.js +++ /dev/null @@ -1,79 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png deleted file mode 100644 index 6691817834a957c938e7f09640a37a645fb31457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 100% - Statements - 60/60 -
- - -
- 100% - Branches - 20/20 -
- - -
- 100% - Functions - 13/13 -
- - -
- 100% - Lines - 58/58 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
src -
-
100%41/41100%16/16100%9/9100%39/39
src/utils -
-
100%19/19100%4/4100%4/4100%19/19
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index b322523..0000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 03f704a609c6fd0dbfdac63466a7d7c958b5cbf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/dmdRewrite/helpers/index.html b/coverage/lcov-report/src/dmdRewrite/helpers/index.html deleted file mode 100644 index a026cfc..0000000 --- a/coverage/lcov-report/src/dmdRewrite/helpers/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - Code coverage report for src/dmdRewrite/helpers - - - - - - - - - -
-
-

All files src/dmdRewrite/helpers

-
- -
- 57.69% - Statements - 15/26 -
- - -
- 46.34% - Branches - 19/41 -
- - -
- 100% - Functions - 2/2 -
- - -
- 57.69% - Lines - 15/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.js -
-
57.69%15/2646.34%19/41100%2/257.69%15/26
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html b/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html deleted file mode 100644 index 3af586d..0000000 --- a/coverage/lcov-report/src/dmdRewrite/helpers/index.js.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - Code coverage report for src/dmdRewrite/helpers/index.js - - - - - - - - - -
-
-

All files / src/dmdRewrite/helpers index.js

-
- -
- 57.69% - Statements - 15/26 -
- - -
- 46.34% - Branches - 19/41 -
- - -
- 100% - Functions - 2/2 -
- - -
- 57.69% - Lines - 15/26 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48  -  -  -  -  -  -  -  -  -  -  -1x -70x -30x -40x -  -40x -  -40x -  -40x -  -40x -35x -5x -5x -  -  -  -  -  -  -  -  -  -1x -70x -  -40x -  -30x -  -  -  -  -  -  - 
/*
- * @Author: 锦阳
- * @Create: 2021年05月09日
- */
-/**
- * returns a more appropriate 'kind', depending on context
- *
- * @param {object} options 参数
- * @returns {string}
- * @ignore
- */
-exports.kindInThisContext = function kindInThisContext(options) {
-    if (this.kind === 'function' && this.memberof) {
-        return '方法';
-    } else Iif (this.kind === 'member' && !this.isEnum && this.memberof) {
-        return '属性';
-    } else Iif (this.kind === 'member' && this.isEnum && this.memberof) {
-        return '枚举属性';
-    } else Iif (this.kind === 'member' && this.isEnum && !this.memberof) {
-        return '枚举';
-    } else Iif (this.kind === 'member' && this.scope === 'global') {
-        return '变量';
-    } else if (this.kind === 'typedef') {
-        return '类型声明';
-    } else Eif (this.kind === 'class' && this.scope === 'global') {
-        return '类';
-    } else if (this.kind === 'function' && this.scope === 'global') {
-        return '函数';
-    } else if (this.kind === 'constant' && this.scope === 'global') {
-        return '常量';
-    } else {
-        return this.kind;
-    }
-};
- 
-exports.scopeInThisContext = function () {
-    switch (this.scope) {
-        case 'global':
-            return '';
-        case 'static':
-            return '静态';
-        case 'inner':
-            return '内部';
-        default:
-            return this.scope;
-    }
-};
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html deleted file mode 100644 index 6cf2e50..0000000 --- a/coverage/lcov-report/src/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - Code coverage report for src - - - - - - - - - -
-
-

All files src

-
- -
- 100% - Statements - 41/41 -
- - -
- 100% - Branches - 16/16 -
- - -
- 100% - Functions - 9/9 -
- - -
- 100% - Lines - 39/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.js -
-
100%41/41100%16/16100%9/9100%39/39
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/index.js.html b/coverage/lcov-report/src/index.js.html deleted file mode 100644 index 594019c..0000000 --- a/coverage/lcov-report/src/index.js.html +++ /dev/null @@ -1,857 +0,0 @@ - - - - - - Code coverage report for src/index.js - - - - - - - - - -
-
-

All files / src index.js

-
- -
- 100% - Statements - 41/41 -
- - -
- 100% - Branches - 16/16 -
- - -
- 100% - Functions - 9/9 -
- - -
- 100% - Lines - 39/39 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -2601x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -5x -4x -4x -1x -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -7x -1x -  -7x -7x -  -7x -5x -  -  -7x -5x -  -  -7x -  -  -  -  -7x -6x -  -  -  -  -  -  -  -  -  -  -17x -16x -17x -17x -26x -26x -26x -26x -  -17x -  -  -  -1x -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
const ejs = require('ejs');
-const jsdocRender = require('./utils/jsdocRender');
-const getFilesPath = require('./utils/getFilesPath');
-const defaultConfig = require('./utils/config');
-const path = require('path');
-const fs = require('fs-extra');
-const { FastFs, FastPath, PresetUtils } = require('@agds/node-utils');
-const { exec } = require('child_process');
-const renderCode = require('./utils/renderCode');
-/**
- * GenDoc 基于注释和可运行的示例代码自动生成文档的强大工具类
- *
- * #### 引入
- * ```js
- * const GenDoc = require('@agds/cli-plugin-doc');
- * ```
- *
- */
-class GenDoc {
-    /**
-     * 基于ejs,用模板渲染文档
-     *
-     * @param {RenderOptions} options 获取用来渲染模板的数据
-     * @returns {Promise<string>} 异步返回基于ejs模板渲染的文档文本
-     */
-    static async render(options) {
-        const config = await _mergeToDefaultConfig(options);
-        const renderData = await this.getRenderData(config, false);
-        const res = await ejs.renderFile(config.template, renderData);
-        if (config.output) {
-            await FastFs.writeFile(FastPath.getCwdPath(config.output), res);
-        } else {
-            return res;
-        }
-    }
- 
-    /**
-     * 获取用来渲染模板的数据(jsdoc生成的文档和示例代码的内容)
-     *
-     * @param {RenderOptions} options 配置参数
-     * @param {boolean} [needMergeConfig=true] 是否需要调用`_mergeToDefaultConfig`,
-     * options已经是merge处理过的就不需要调用,否则不推荐传入`false`
-     * 会导致别名不支持
-     * @returns {Promise<GetRenderDataResult>}
-     */
-    static async getRenderData(options, needMergeConfig = true) {
-        // node API调用时需要merge以附上默认配置
-        if (needMergeConfig) {
-            options = await _mergeToDefaultConfig(options);
-        }
-        const { jsdoc2mdOptions, codesOptions, helpers } = options;
-        const promises = [];
-        let docs;
-        if (jsdoc2mdOptions && jsdoc2mdOptions.files && jsdoc2mdOptions.files.length) {
-            promises.push(jsdocRender(jsdoc2mdOptions).then(res => { docs = res; }));
-        }
-        let codes;
-        if (codesOptions && JSON.stringify(codesOptions) !== '{}') {
-            promises.push(this.getFilesCode(codesOptions).then(res => { codes = res; }));
-        }
-        let pkg;
-        const pkgPath = FastPath.getCwdPath('package.json');
-        /* istanbul ignore next */
-        if (FastFs.getPathStatSync(pkgPath)) {
-            promises.push(FastFs.readJson(pkgPath).then(res => { pkg = res; }));
-        }
-        await Promise.all(promises);
-        return { docs, codes, helpers, pkg };
-    }
- 
-    /**
-     * 基于glob的文件遍历函数,返回文件对应内容的数组,
-     * 以文件夹为单位返回文件内容对象,key是文件的extname
-     *
-     * @param {import('./utils/getFilesPath').GetFilesCodeOptions} options 获取源代码的文件路径配置参数
-     * @returns {Promise<Array<GetFilesCodeResult>>}
-     */
-    static async getFilesCode(options) {
-        const filesList = getFilesPath(options);
-        return filesList.map(files => {
-            const codes = {};
-            files.forEach(file => {
-                const ext = path.extname(file).replace(/^\./, '');
-                const code = fs.readFileSync(file, { encoding: 'utf8' });
-                codes[ext] = codes[ext] || [];
-                codes[ext].push(code);
-            });
-            return codes;
-        });
-    }
- 
-    static renderCode = renderCode;
-    /**
-     * 获取命令行使用帮助文档
-     * 建议提前确保全局使用了最新的脚本
-     * 函数为异步函数,注意不能作为ejs帮助函数传入,可以获取返回值后,将返回值作为helpers的变量传入
-     *
-     * @returns {Promise<string[]>}
-     */
-    static async getCliUsages() {
-        const pkgPath = FastPath.getCwdPath('package.json');
-        /* istanbul ignore next */
-        if (FastFs.getPathStatSync(pkgPath)) {
-            const pkg = require(pkgPath);
-            const bin = pkg.bin;
-            try {
-                return await Promise.all(
-                    Object.keys(bin)
-                        .map(key => execPromise(`${key} -h`)),
-                ).then(res => res.filter(Boolean));
-            } catch (error) {
-                /* istanbul ignore next */
-                await Promise.all([
-                    execPromise('chmod -R 750 lib'),
-                    execPromise('npm link'),
-                ]);
-                /* istanbul ignore next */
-                return this.getCliUsages();
-            }
-        } else {
-            /* istanbul ignore next */
-            throw new Error('未检测到根目录下存在【package.json】文件');
-        }
-    }
- 
-    /**
-     * 读取文件内容
-     *
-     * @param {string} filename 相对于运行目录的文件路径
-     * @returns {string}
-     */
-    static getFileContent(filename) {
-        return fs.readFileSync(FastPath.getCwdPath(filename), { encoding: 'utf-8' });
-    }
-};
- 
-module.exports = GenDoc;
- 
-/* istanbul ignore next */
-/**
- * 将当前配置和默认配置合并
- *
- * @param {RenderOptions} options 获取用来渲染模板的数据
- * @returns {RenderOptions} 异步返回基于ejs模板渲染的文档文本
- * @ignore
- */
-async function _mergeToDefaultConfig(options = {}) {
-    // 获取用户本地配置文件
-    const cwdConfPath = FastPath.getCwdPath(options.config || 'agds.doc.config.js');
-    options.presets = options.presets || [];
-    if (FastFs.getPathStatSync(cwdConfPath)) {
-        const userConfig = require(cwdConfPath);
-        options.presets.unshift(userConfig);
-    }
-    options.presets.push({ jsdoc2mdOptions: {}, codesOptions: {}, jsdocEngineOptions: {} });
-    let config = await PresetUtils.getDeepPresetMerge(options);
-    // 支持配置是否使用默认配置
-    if (config.default !== false) {
-        config.presets = config.presets || [];
-        config.presets.push(defaultConfig);
-    }
-    config = await PresetUtils.getDeepPresetMergeAndModify(config);
-    // files别名支持
-    if (config.files) {
-        config.jsdoc2mdOptions.files = config.files;
-    }
-    // codesDir&codesFiles别名支持
-    if (config.codesDir && config.codesFiles) {
-        config.codesOptions.dir = config.codesDir;
-        config.codesOptions.files = config.codesFiles;
-    }
-    // jsdocEngineOptions配置支持
-    if (config.jsdocEngineOptions && JSON.stringify(config.jsdocEngineOptions) !== '{}') {
-        const jsdocEngineConfigPath = path.join(__dirname, '../.temp/jsdoc.conf.json');
-        await FastFs.writeJsonFormat(jsdocEngineConfigPath, config.jsdocEngineOptions);
-        config.jsdoc2mdOptions.configure = jsdocEngineConfigPath;
-    }
-    return config;
-}
-/* istanbul ignore next */
-/**
- * execPromise
- *
- * @param {string} command shell命令
- * @returns {Promise<string>}
- * @ignore
- */
-function execPromise(command) {
-    return new Promise((resolve, reject) => {
-        exec(command, (error, stdout, stderr) => {
-            if (error) {
-                return reject(error);
-            }
-            return resolve(stdout);
-        });
-    });
-}
- 
-/**
- * 函数[GenDoc.getRenderData](#GenDoc.getRenderData)的返回值
- *
- * @typedef {object} GetRenderDataResult
- * @property {string} docs 源码使用jsdoc渲染后的markdown文本
- * @property {Array<GetFilesCodeResult>} codes 获取到的代码内容
- */
- 
-/**
- * 渲染函数的配置参数
- *
- * @typedef {object} RenderOptions
- * @property {string[]} files `jsdoc2mdOptions.files`的别名
- * @property {fs.PathLike} output doc文档渲染导出的文件名称路径,相对于cwd目录
- * @property {string} template ejs渲染的模板相对于cwd的路径或者绝对路径
- * @property {string} [codesDir] `codesOptions.dir`的别名
- * @property {string[]} [codesFiles] `codesOptions.codesFiles`的别名
- * @property {fs.PathLike} [conifg=agds.doc.config.js] 配置文件路径,默认为运行目录下的`agds.doc.config.js`,仅支持`js`文件类型
- * @property {boolean} [default] 是否合并默认配置,一般我们认为您是需要默认配置的,当默认配置和你的需求冲突时可以设置为`false`
- * @property {import('./utils/jsdocRender').Jsdoc2mdOptions} [jsdoc2mdOptions] jsdocToMarkdown配置参数
- * @property {import('./utils/getFilesPath').GetFilesCodeOptions} [codesOptions] 获取源代码的文件路径配置参数
- * @property {object} [jsdocEngineOptions] jsdoc解析引擎的配置,实际上是`jsdoc.conf.js`的整合,
- * 也可以使用  `RenderOptions.jsdoc2mdOptions.configure`字段来指定本地的jsdoc配置
- * 配置选项[👉参考文档](https://jsdoc.app/about-configuring-jsdoc.html)
- * @property {DefaultHelpers} [helpers] 注入ejs模板的`helpers`对象,提供模板使用的帮助函数和变量,配合模板使用
- * @property {RenderOptions[]} [presets] 基于preset机制实现配置支持预设的功能,
- * 具体[👉参考文档](https://gitee.com/agile-development-system/node-utils#presetutilsgetdeeppresetmergeconfig--config)`PresetUtils.getDeepPresetMerge`
- * @property {boolean} [noDefault] 取消合并默认配置
- * @property {import('@agds/node-utils').ConfigModify} [modify] 将默认配置和preset合并后生成的config再次处理的钩子
- * 具体[👉参考文档](https://gitee.com/agile-development-system/node-utils#presetutilsgetdeeppresetmergeconfig--config)
- */
- 
-/**
- * 获取文件的内容的返回值类型,key是文件的extname
- *
- * @typedef {Object.<string,string>} GetFilesCodeResult
- */
- 
-/**
- * 默认模板所支持的`helpers`属性
- *
- * @typedef {Object} DefaultHelpers
- * @property {string} [installCode] 安装脚本,bash脚本,默认为`npm i ${pkg.name}`,如不符合要求,可以通过此字段自行修改
- * @property {boolean} [devInstall] 是否是作为开发依赖下载,`true`时,默认下载代码自动拼接npm `-D` 参数
- * @property {string} [importCode] 引入代码示例,js字符串
- * @property {string} [exportCode] 导出代码,js字符串
- * @property {string[]} [cliUsages] cli命令行使用帮助文档,格式类似`agds-doc -h`的输出内容
- * @property {string} [remark] 文档备注信息,md字符串
- * @property {GenDoc.renderCode} [renderCode] 将`GenDoc.getFileCodes`的返回值渲染成对应的代码段
- * @property {Postfix[]} [postfixes] 后缀内容数组
- */
- 
-/**
- * 后缀内容类型
- *
- * @typedef {Object} Postfix
- * @property {string} [id] 锚点的名称,填写之后可以支持 `href=\`#${id}\``锚点定位
- * @property {string} [title] 内容的标题
- * @property {string} [desc] 内容的描述
- * @property {string} [content] 内容的正文
- */
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/config.js.html b/coverage/lcov-report/src/utils/config.js.html deleted file mode 100644 index f9d5e83..0000000 --- a/coverage/lcov-report/src/utils/config.js.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - Code coverage report for src/utils/config.js - - - - - - - - - -
-
-

All files / src/utils config.js

-
- -
- 100% - Statements - 5/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 5/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -251x -1x -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x - 
const path = require('path');
-const defaultTemplate = path.resolve(__dirname, '../template/template.ejs');
-const renderCode = require('./renderCode');
-const defaultConfig = {
-    template: defaultTemplate,
-    jsdoc2mdOptions: {
-        // 'no-cache': true,
-        partial: [path.resolve(__dirname, '../dmdRewrite/partials/*.hbs')],
-        helper: [path.resolve(__dirname, '../dmdRewrite/helpers/*.js')],
-        'heading-depth': 3,
-    },
-    // 默认`jsdocEngineOptions`配置一般只能增加无法删除,
-    // 但是可以在配置noDefault来去除默认配置
-    jsdocEngineOptions: {
-        plugins: [
-            require.resolve('jsdoc-tsimport-plugin'),
-        ],
-    },
-    helpers: {
-        renderCode,
-    },
-};
- 
-module.exports = defaultConfig;
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/getFilesPath.js.html b/coverage/lcov-report/src/utils/getFilesPath.js.html deleted file mode 100644 index 4ef7621..0000000 --- a/coverage/lcov-report/src/utils/getFilesPath.js.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - Code coverage report for src/utils/getFilesPath.js - - - - - - - - - -
-
-

All files / src/utils getFilesPath.js

-
- -
- 100% - Statements - 10/10 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 10/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40  -  -  -  -  -1x -1x -1x -  -  -  -  -  -  -  -  -17x -17x -1x -  -16x -17x -  -  -  -17x -  -  -  -  -1x -  -  -  -  -  -  -  -  - 
/*
- * @Author: 锦阳
- * @Create: 2021年04月25日
- */
- 
-const FileSet = require('file-set');
-const { FastPath } = require('@agds/node-utils');
-const path = require('path');
-/**
- * 基于glob的文件遍历函数,返回基于目录分类的二维数组
- *
- * @param {GetFilesCodeOptions} options 配置参数
- * @returns {string[][]}
- * @ignore
- */
-function getFilesPath({ dir, files }) {
-    const _dirs = new FileSet(FastPath.getCwdPath(dir)).dirs;
-    if (!(_dirs && _dirs.length > 0)) {
-        throw new Error('未匹配到任何目录,请确认输入路径');
-    }
-    return _dirs.map(dir =>
-        (
-            new FileSet(
-                files
-                    .map(file =>
-                        path.resolve(dir, file)))
-        )
-            .files);
-}
- 
-module.exports = getFilesPath;
- 
-/**
- * 获取源代码的文件路径配置参数
- *
- * @typedef {object} GetFilesCodeOptions
- * @property {string} dir glob路径
- * @property {string[]} files glob文件名称数组
- */
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/index.html b/coverage/lcov-report/src/utils/index.html deleted file mode 100644 index 8dea2a9..0000000 --- a/coverage/lcov-report/src/utils/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - Code coverage report for src/utils - - - - - - - - - -
-
-

All files src/utils

-
- -
- 100% - Statements - 19/19 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 19/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
config.js -
-
100%5/5100%0/0100%0/0100%5/5
getFilesPath.js -
-
100%10/10100%4/4100%3/3100%10/10
jsdocRender.js -
-
100%3/3100%0/0100%1/1100%3/3
renderCode.js -
-
100%1/1100%0/0100%0/0100%1/1
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/jsdocRender.js.html b/coverage/lcov-report/src/utils/jsdocRender.js.html deleted file mode 100644 index 82c5fd5..0000000 --- a/coverage/lcov-report/src/utils/jsdocRender.js.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - Code coverage report for src/utils/jsdocRender.js - - - - - - - - - -
-
-

All files / src/utils jsdocRender.js

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25  -  -  -  -  -1x -  -  -  -  -  -  -  -  -5x -  -  -1x -  -  -  -  -  -  - 
/*
- * @Author: 锦阳
- * @Create: 2021年04月22日
- */
- 
-const doc = require('jsdoc-to-markdown');
-/**
- *  渲染jsdoc文档
- *
- * @param {Jsdoc2mdOptions} options jsdocToMarkdown配置参数
- * @returns {Promise<string>} 异步返回jsdoc文档文本
- * @ignore
- */
-function jsdocRender(options) {
-    return doc.render(options);
-}
- 
-module.exports = jsdocRender;
- 
-/**
- * jsdocToMarkdown配置参数,具体可[👉参考文档](https://github.com/jsdoc2md/jsdoc-to-markdown/blob/master/docs/API.md)
- *
- * @typedef {object} Jsdoc2mdOptions
- */
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/utils/renderCode.js.html b/coverage/lcov-report/src/utils/renderCode.js.html deleted file mode 100644 index 743ae3a..0000000 --- a/coverage/lcov-report/src/utils/renderCode.js.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - Code coverage report for src/utils/renderCode.js - - - - - - - - - -
-
-

All files / src/utils renderCode.js

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x - 
/*
- * @Author: 锦阳
- * @Create: 2021年05月31日
- */
-/* istanbul ignore next */
-/**
- * 将codes渲染成md代码片段
- *
- * @param {Array<import('../index.js').GetFilesCodeResult>} codes `GenDoc.getFilesCode`函数获取到的codes数组
- * @param {string[]} [extSort= ['md', 'vue', 'jsx', 'js']] 优先并且按照`extSort`数组顺序获取遍历codes
- * @param {Object<string,string>} [extTrans={vue:'html'}] ext转换的映射map
- * 简单示例`{vue:'html'}`
- * @returns {string}
- * @alias GenDoc.renderCode
- */
-function renderCode(codes, extSort = ['md', 'vue', 'jsx', 'js'], extTrans = { vue: 'html' }) {
-    let result = '';
-    codes && codes.forEach((item) => {
-        extSort.concat(Object.keys(item).filter(ext => !extSort.includes(ext))).forEach((ext) => {
-            const code = item[ext];
-            if (code) {
-                code.forEach(c => {
-                    if (ext === 'md') {
-                        result += c + '\n';
-                    } else {
-                        const _ext = extTrans[ext] || ext;
-                        result += `\`\`\`${_ext}\n` + c + '\n```\n';
-                    }
-                });
-            }
-        });
-    });
-    return result;
-}
- 
-module.exports = renderCode;
- 
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index e88399e..0000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,149 +0,0 @@ -TN: -SF:src/index.js -FN:26,(anonymous_0) -FN:46,(anonymous_1) -FN:55,(anonymous_2) -FN:59,(anonymous_3) -FN:78,(anonymous_4) -FN:80,(anonymous_5) -FN:82,(anonymous_6) -FN:100,(anonymous_7) -FN:132,(anonymous_8) -FNF:9 -FNH:9 -FNDA:5,(anonymous_0) -FNDA:7,(anonymous_1) -FNDA:5,(anonymous_2) -FNDA:4,(anonymous_3) -FNDA:17,(anonymous_4) -FNDA:17,(anonymous_5) -FNDA:26,(anonymous_6) -FNDA:6,(anonymous_7) -FNDA:1,(anonymous_8) -DA:1,1 -DA:2,1 -DA:3,1 -DA:4,1 -DA:5,1 -DA:6,1 -DA:7,1 -DA:8,1 -DA:9,1 -DA:27,5 -DA:28,5 -DA:29,4 -DA:30,4 -DA:31,1 -DA:33,3 -DA:48,7 -DA:49,1 -DA:51,7 -DA:52,7 -DA:54,7 -DA:55,5 -DA:58,7 -DA:59,5 -DA:62,7 -DA:67,7 -DA:68,6 -DA:79,17 -DA:80,16 -DA:81,17 -DA:82,17 -DA:83,26 -DA:84,26 -DA:85,26 -DA:86,26 -DA:88,17 -DA:92,1 -DA:101,6 -DA:133,1 -DA:137,1 -LF:39 -LH:39 -BRDA:30,0,0,1 -BRDA:30,0,1,3 -BRDA:46,1,0,1 -BRDA:48,2,0,1 -BRDA:48,2,1,6 -BRDA:54,3,0,5 -BRDA:54,3,1,2 -BRDA:54,4,0,7 -BRDA:54,4,1,6 -BRDA:54,4,2,5 -BRDA:58,5,0,5 -BRDA:58,5,1,2 -BRDA:58,6,0,7 -BRDA:58,6,1,6 -BRDA:85,7,0,26 -BRDA:85,7,1,26 -BRF:16 -BRH:16 -end_of_record -TN: -SF:src/utils/config.js -FNF:0 -FNH:0 -DA:1,1 -DA:2,1 -DA:3,1 -DA:4,1 -DA:24,1 -LF:5 -LH:5 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/getFilesPath.js -FN:16,getFilesPath -FN:21,(anonymous_1) -FN:25,(anonymous_2) -FNF:3 -FNH:3 -FNDA:17,getFilesPath -FNDA:17,(anonymous_1) -FNDA:17,(anonymous_2) -DA:6,1 -DA:7,1 -DA:8,1 -DA:17,17 -DA:18,17 -DA:19,1 -DA:21,16 -DA:22,17 -DA:26,17 -DA:31,1 -LF:10 -LH:10 -BRDA:18,0,0,1 -BRDA:18,0,1,16 -BRDA:18,1,0,17 -BRDA:18,1,1,17 -BRF:4 -BRH:4 -end_of_record -TN: -SF:src/utils/jsdocRender.js -FN:14,jsdocRender -FNF:1 -FNH:1 -FNDA:5,jsdocRender -DA:6,1 -DA:15,5 -DA:18,1 -LF:3 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/utils/renderCode.js -FNF:0 -FNH:0 -DA:36,1 -LF:1 -LH:1 -BRF:0 -BRH:0 -end_of_record -- Gitee From f2503492636e2a00750ab830a13643cece26a322 Mon Sep 17 00:00:00 2001 From: jinyang <961284688@qq.com> Date: Tue, 6 Jul 2021 01:19:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?docs:=20=E5=BF=BD=E7=95=A5coverage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 401ce41..617d58d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ lib/ node_modules/ .temp/ exa/ +coverage/ \ No newline at end of file -- Gitee