@ng-doc/builder 16.8.0 → 16.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,25 +1,23 @@
1
- [![GitHub Workflow Status][build-shield]][build-url]
2
- [![NPM][npm-shield]][npm-url]
3
- [![MIT License][license-shield]][license-url]
4
-
5
1
  <!-- PROJECT LOGO -->
6
2
  <br />
7
3
  <div align="center">
8
4
  <a href="https://github.com/ng-doc/ng-doc">
9
- <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="100px">
5
+ <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px">
10
6
  </a>
11
7
 
12
- <h3 align="center">NgDoc</h3>
13
-
8
+ <h1 align="center" style="margin-bottom: 0; border-bottom: 0">NgDoc</h1>
14
9
  <p align="center">
15
10
  Create user-friendly documentation for your projects with ease!
16
11
  <br />
17
- <a href="https://ng-doc.com/"><strong>Explore the docs »</strong></a>
18
- <br />
19
- <br />
20
- <a href="https://github.com/ng-doc/ng-doc/issues">Report Bug</a>
12
+ <a href="https://ng-doc.com/">Documentation</a>
13
+ ·
14
+ <a href="https://github.com/ng-doc/ng-doc/issues/new/choose">Report Bug</a>
21
15
  ·
22
- <a href="https://github.com/ng-doc/ng-doc/issues">Request Feature</a>
16
+ <a href="https://github.com/ng-doc/ng-doc/issues/new/choose">Request Feature</a>
17
+
18
+ [![GitHub Workflow Status][build-shield]][build-url]
19
+ [![NPM][npm-shield]][npm-url]
20
+ [![MIT License][license-shield]][license-url]
23
21
  </p>
24
22
  </div>
25
23
 
@@ -0,0 +1,42 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // apps/ng-doc/docs/customization/icons/apps/ng-doc/docs/customization/icons/ng-doc.page.ts
20
+ var ng_doc_page_exports = {};
21
+ __export(ng_doc_page_exports, {
22
+ default: () => ng_doc_page_default
23
+ });
24
+ module.exports = __toCommonJS(ng_doc_page_exports);
25
+
26
+ // apps/ng-doc/docs/customization/ng-doc.category.ts
27
+ var CustomizationCategory = {
28
+ title: "Customization",
29
+ order: 6,
30
+ expandable: true
31
+ };
32
+ var ng_doc_category_default = CustomizationCategory;
33
+
34
+ // apps/ng-doc/docs/customization/icons/apps/ng-doc/docs/customization/icons/ng-doc.page.ts
35
+ var IconsPage = {
36
+ title: `Icons`,
37
+ mdFile: "./index.md",
38
+ category: ng_doc_category_default,
39
+ order: 4,
40
+ keyword: "Icons"
41
+ };
42
+ var ng_doc_page_default = IconsPage;
@@ -36,7 +36,6 @@ var TypeControlsPage = {
36
36
  title: "Type Controls",
37
37
  mdFile: "./index.md",
38
38
  category: ng_doc_category_default,
39
- order: 4,
40
39
  keyword: "CustomizationTypeControls"
41
40
  };
42
41
  var ng_doc_page_default = TypeControlsPage;
@@ -0,0 +1,8 @@
1
+ import { ClassDeclaration, PropertyDeclaration } from 'ts-morph';
2
+ /**
3
+ * Retrieve all existing `@Input` of an Angular component, up through ascendant classes
4
+ *
5
+ * @param cls - ClassDeclaration
6
+ * @param condition - (cls: ClassDeclaration) => boolean
7
+ */
8
+ export declare function getComponentInputs(cls: ClassDeclaration): PropertyDeclaration[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getComponentInputs = void 0;
4
+ const for_all_classes_1 = require("../typescript/class/for-all-classes");
5
+ /**
6
+ * Retrieve all existing `@Input` of an Angular component, up through ascendant classes
7
+ *
8
+ * @param cls - ClassDeclaration
9
+ * @param condition - (cls: ClassDeclaration) => boolean
10
+ */
11
+ function getComponentInputs(cls) {
12
+ const properties = new Map();
13
+ (0, for_all_classes_1.forAllClasses)(cls, (c) => {
14
+ c.getProperties().forEach((p) => {
15
+ if (!properties.has(p.getName()) && p.getDecorator('Input')) {
16
+ properties.set(p.getName(), p);
17
+ }
18
+ });
19
+ });
20
+ return Array.from(properties.values());
21
+ }
22
+ exports.getComponentInputs = getComponentInputs;
23
+ //# sourceMappingURL=get-component-inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-component-inputs.js","sourceRoot":"","sources":["../../../../../libs/builder/helpers/angular/get-component-inputs.ts"],"names":[],"mappings":";;;AAEA,yEAAkE;AAElE;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,GAAqB;IACvD,MAAM,UAAU,GAAqC,IAAI,GAAG,EAAE,CAAC;IAE/D,IAAA,+BAAa,EAAC,GAAG,EAAE,CAAC,CAAmB,EAAE,EAAE;QAC1C,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;gBAC5D,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;aAC/B;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC;AAZD,gDAYC"}
@@ -1,4 +1,5 @@
1
1
  export * from './get-component-decorator';
2
+ export * from './get-component-inputs';
2
3
  export * from './get-directive-decorator';
3
4
  export * from './get-input-name';
4
5
  export * from './get-pipe-decorator';
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./get-component-decorator"), exports);
5
+ tslib_1.__exportStar(require("./get-component-inputs"), exports);
5
6
  tslib_1.__exportStar(require("./get-directive-decorator"), exports);
6
7
  tslib_1.__exportStar(require("./get-input-name"), exports);
7
8
  tslib_1.__exportStar(require("./get-pipe-decorator"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/builder/helpers/angular/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,oEAA0C;AAC1C,2DAAiC;AACjC,+DAAqC;AACrC,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/builder/helpers/angular/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,iEAAsC;AACtC,oEAA0C;AAC1C,2DAAiC;AACjC,+DAAqC;AACrC,0DAAgC"}
package/helpers/marked.js CHANGED
@@ -21,7 +21,7 @@ function marked(markdown, page) {
21
21
  const renderer = {
22
22
  code(code, lang) {
23
23
  var _a;
24
- const { language, file, name, highlightedLines, fileLineStart, fileLineEnd, group, active } = (0, builder_1.parseCodeBlockParams)((_a = lang === null || lang === void 0 ? void 0 : lang.trim()) !== null && _a !== void 0 ? _a : 'typescript');
24
+ const { language, file, name, highlightedLines, fileLineStart, fileLineEnd, group, active, icon, } = (0, builder_1.parseCodeBlockParams)((_a = lang === null || lang === void 0 ? void 0 : lang.trim()) !== null && _a !== void 0 ? _a : 'typescript');
25
25
  if (file && page) {
26
26
  const relativeFilePath = path.join(page.mdFolder, file);
27
27
  const fileContent = fs
@@ -36,8 +36,11 @@ function marked(markdown, page) {
36
36
  const codeElement = `<pre><code class="language-${language !== null && language !== void 0 ? language : 'ts'}"
37
37
  lang="${language}"
38
38
  name="${!group && name ? name : ''}"
39
+ icon="${!group && icon ? icon : ''}"
39
40
  highlightedLines="${JSON.stringify(highlightedLines !== null && highlightedLines !== void 0 ? highlightedLines : [])}">${(0, core_1.escapeHtml)(code)}</code></pre>`;
40
- return group ? `<ng-doc-tab group="${group}" name="${name}" ${active ? 'active' : ''}>${codeElement}</ng-doc-tab>` : codeElement;
41
+ return group
42
+ ? `<ng-doc-tab group="${group}" name="${name}" icon="${icon !== null && icon !== void 0 ? icon : ''}" ${active ? 'active' : ''}>${codeElement}</ng-doc-tab>`
43
+ : codeElement;
41
44
  },
42
45
  blockquote(quote) {
43
46
  if (new RegExp(`^${NOTE_ANCHOR}`).test(quote)) {
@@ -1 +1 @@
1
- {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/marked.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAC3E,uCAAwC;AACxC,+CAAyB;AACzB,mCAA8C;AAC9C,qCAA4B;AAC5B,mDAA6B;AAI7B,MAAM,WAAW,GAAW,0BAA0B,CAAC;AACvD,MAAM,cAAc,GAAW,6BAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,QAAgB,EAAE,IAAsB;IAC9D,MAAM,QAAQ,GAAgC;QAC7C,IAAI,CAAC,IAAY,EAAE,IAAwB;;YAC1C,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAC,GACxF,IAAA,8BAAoB,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,mCAAI,YAAY,CAAC,CAAC;YAEpD,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAW,EAAE;qBAC5B,YAAY,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,EAAE,MAAM,CAAC;qBAC5C,KAAK,CAAC,aAAG,CAAC;qBACV,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC;qBACjC,IAAI,CAAC,aAAG,CAAC;qBACT,IAAI,EAAE,CAAC;gBAET,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAExC,IAAI,GAAG,WAAW,CAAC;aACnB;YAED,MAAM,WAAW,GAAY,8BAA8B,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI;eAC/D,QAAQ;eACR,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;2BACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,KAAK,IAAA,iBAAU,EAAC,IAAI,CAAC,eAAe,CAAC;YAEnG,OAAO,KAAK,CAAC,CAAC,CAAC,sBAAsB,KAAK,WAAW,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAClI,CAAC;QACD,UAAU,CAAC,KAAa;YACvB,IAAI,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,kCAAkC,KAAK,CAAC,OAAO,CACrD,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,EACjC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,IAAI,IAAI,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,qCAAqC,KAAK,CAAC,OAAO,CACxD,IAAI,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,EACpC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,OAAO,sBAAsB,KAAK,sBAAsB,CAAC;QAC1D,CAAC;KACD,CAAC;IAEF,eAAY,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IAE7B,OAAO,eAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;AACzD,CAAC;AAjDD,wBAiDC"}
1
+ {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/marked.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAC3E,uCAAwC;AACxC,+CAAyB;AACzB,mCAA8C;AAC9C,qCAA4B;AAC5B,mDAA6B;AAI7B,MAAM,WAAW,GAAW,0BAA0B,CAAC;AACvD,MAAM,cAAc,GAAW,6BAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,QAAgB,EAAE,IAAsB;IAC9D,MAAM,QAAQ,GAAgC;QAC7C,IAAI,CAAC,IAAY,EAAE,IAAwB;;YAC1C,MAAM,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,KAAK,EACL,MAAM,EACN,IAAI,GACJ,GAAyB,IAAA,8BAAoB,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,mCAAI,YAAY,CAAC,CAAC;YAE7E,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAW,EAAE;qBAC5B,YAAY,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,EAAE,MAAM,CAAC;qBAC5C,KAAK,CAAC,aAAG,CAAC;qBACV,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC;qBACjC,IAAI,CAAC,aAAG,CAAC;qBACT,IAAI,EAAE,CAAC;gBAET,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAExC,IAAI,GAAG,WAAW,CAAC;aACnB;YAED,MAAM,WAAW,GAAW,8BAA8B,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI;eAC9D,QAAQ;eACR,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;eAC1B,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;2BACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,KAAK,IAAA,iBAAU,EAAC,IAAI,CAAC,eAAe,CAAC;YAEnG,OAAO,KAAK;gBACX,CAAC,CAAC,sBAAsB,KAAK,WAAW,IAAI,WAAW,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,KAC/D,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpB,IAAI,WAAW,eAAe;gBAChC,CAAC,CAAC,WAAW,CAAC;QAChB,CAAC;QACD,UAAU,CAAC,KAAa;YACvB,IAAI,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,kCAAkC,KAAK,CAAC,OAAO,CACrD,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,EACjC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,IAAI,IAAI,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,qCAAqC,KAAK,CAAC,OAAO,CACxD,IAAI,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,EACpC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,OAAO,sBAAsB,KAAK,sBAAsB,CAAC;QAC1D,CAAC;KACD,CAAC;IAEF,eAAY,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IAE7B,OAAO,eAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;AACzD,CAAC;AA/DD,wBA+DC"}
@@ -10,10 +10,7 @@ const typescript_1 = require("../typescript");
10
10
  * @param declaration
11
11
  */
12
12
  function getPlaygroundComponentInputs(declaration) {
13
- return declaration
14
- .getProperties()
15
- .filter((property) => !!property.getDecorator('Input'))
16
- .reduce((properties, property) => {
13
+ return (0, angular_1.getComponentInputs)(declaration).reduce((properties, property) => {
17
14
  const inputName = (0, angular_1.getInputName)(property);
18
15
  return Object.assign(Object.assign({}, properties), propOrParamToPlaygroundProperty(property, inputName));
19
16
  }, {});
@@ -1 +1 @@
1
- {"version":3,"file":"get-playground-inputs.js","sourceRoot":"","sources":["../../../../../libs/builder/helpers/playground/get-playground-inputs.ts"],"names":[],"mappings":";;;AACA,uCAQkB;AAElB,wCAAwC;AACxC,kDAAkE;AAClE,8CAA0C;AAE1C;;;GAGG;AACH,SAAgB,4BAA4B,CAAC,WAA6B;IACzE,OAAO,WAAW;SAChB,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,QAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC3E,MAAM,CAAC,CAAC,UAAqC,EAAE,QAA6B,EAAE,EAAE;QAChF,MAAM,SAAS,GAAW,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC;QAEjD,uCAAW,UAAU,GAAK,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;IACjF,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AATD,oEASC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,WAA6B;IACpE,OAAO,WAAW;SAChB,gBAAgB,CAAC,WAAW,CAAC;SAC7B,aAAa,EAAE;SACf,KAAK,CAAC,CAAC,CAAC;SACR,MAAM,CAAC,CAAC,UAAqC,EAAE,SAA+B,EAAE,EAAE;QAClF,uCAAW,UAAU,GAAK,+BAA+B,CAAC,SAAS,CAAC,EAAE;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AARD,0DAQC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CACvC,WAAuD,EACvD,SAAkB;IAElB,MAAM,IAAI,GAAW,IAAA,wBAAW,EAC/B,WAAW,EACX,0BAAe,CAAC,YAAY,GAAG,0BAAe,CAAC,mCAAmC,CAClF,CAAC;IAEF,OAAO;QACN,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE;YACxB,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,WAAW,CAAC,OAAO,EAAE;YAC7C,IAAI;YACJ,WAAW,EAAE,eAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;gBACnD,CAAC,CAAC,IAAA,0BAAW,EAAC,WAAW,CAAC;gBAC1B,CAAC,CAAC,IAAA,mCAAoB,EAAC,WAAW,CAAC,sBAAsB,CAAC,qBAAU,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;YAChH,OAAO,EAAE,WAAW;iBAClB,OAAO,EAAE;iBACT,aAAa,EAAE;iBACf,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAAe,CAAC,YAAY,GAAG,0BAAe,CAAC,mCAAmC,CAAC,CAC3G;SACF;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get-playground-inputs.js","sourceRoot":"","sources":["../../../../../libs/builder/helpers/playground/get-playground-inputs.ts"],"names":[],"mappings":";;;AACA,uCAQkB;AAElB,wCAA4D;AAC5D,kDAAkE;AAClE,8CAA0C;AAE1C;;;GAGG;AACH,SAAgB,4BAA4B,CAAC,WAA6B;IACzE,OAAO,IAAA,4BAAkB,EAAC,WAAW,CAAC,CAAC,MAAM,CAC5C,CAAC,UAAqC,EAAE,QAA6B,EAAE,EAAE;QACxE,MAAM,SAAS,GAAW,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC;QACjD,uCAAW,UAAU,GAAK,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;IACjF,CAAC,EACD,EAAE,CACF,CAAC;AACH,CAAC;AARD,oEAQC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,WAA6B;IACpE,OAAO,WAAW;SAChB,gBAAgB,CAAC,WAAW,CAAC;SAC7B,aAAa,EAAE;SACf,KAAK,CAAC,CAAC,CAAC;SACR,MAAM,CAAC,CAAC,UAAqC,EAAE,SAA+B,EAAE,EAAE;QAClF,uCAAW,UAAU,GAAK,+BAA+B,CAAC,SAAS,CAAC,EAAE;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AARD,0DAQC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CACvC,WAAuD,EACvD,SAAkB;IAElB,MAAM,IAAI,GAAW,IAAA,wBAAW,EAC/B,WAAW,EACX,0BAAe,CAAC,YAAY,GAAG,0BAAe,CAAC,mCAAmC,CAClF,CAAC;IAEF,OAAO;QACN,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE;YACxB,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,WAAW,CAAC,OAAO,EAAE;YAC7C,IAAI;YACJ,WAAW,EAAE,eAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;gBACnD,CAAC,CAAC,IAAA,0BAAW,EAAC,WAAW,CAAC;gBAC1B,CAAC,CAAC,IAAA,mCAAoB,EAAC,WAAW,CAAC,sBAAsB,CAAC,qBAAU,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;YAChH,OAAO,EAAE,WAAW;iBAClB,OAAO,EAAE;iBACT,aAAa,EAAE;iBACf,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAAe,CAAC,YAAY,GAAG,0BAAe,CAAC,mCAAmC,CAAC,CAC3G;SACF;KACD,CAAC;AACH,CAAC"}
@@ -5,6 +5,7 @@ export interface NgDocCodeBlockParams {
5
5
  group?: string;
6
6
  active?: boolean;
7
7
  file?: string;
8
+ icon?: string;
8
9
  fileLineStart?: number;
9
10
  fileLineEnd?: number;
10
11
  highlightedLines?: number[];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ng-doc/builder",
3
- "version": "16.8.0",
3
+ "version": "16.9.0",
4
4
  "type": "commonjs",
5
5
  "builders": "./builders.json",
6
6
  "schematics": "./schematics/collection.json",
7
7
  "dependencies": {
8
- "@ng-doc/core": "16.8.0",
9
- "@ng-doc/utils": "16.8.0",
8
+ "@ng-doc/core": "16.9.0",
9
+ "@ng-doc/utils": "16.9.0",
10
10
  "@angular-devkit/architect": ">=0.1600.0",
11
11
  "chokidar": "3.5.3",
12
12
  "minimatch": "9.0.1",
@@ -9,6 +9,10 @@ const P = tslib_1.__importStar(require("parsimmon"));
9
9
  * @param options - Options string to parse
10
10
  */
11
11
  function parseCodeBlockParams(options) {
12
+ const keyValueParser = (key, p, mappedKey) => P.string(key)
13
+ .then(P.string('='))
14
+ .then(p['content'])
15
+ .map((value) => ({ [mappedKey !== null && mappedKey !== void 0 ? mappedKey : key]: value }));
12
16
  const parser = P.createLanguage({
13
17
  language: () => P.regexp(/[a-zA-Z-]+/)
14
18
  .skip(P.optWhitespace)
@@ -25,26 +29,15 @@ function parseCodeBlockParams(options) {
25
29
  .map((num) => num - 1)
26
30
  .map((fileLineStart) => ({ fileLineStart, fileLineEnd: fileLineStart + 1 })),
27
31
  lineParams: (p) => p['fileLineRange'].or(p['fileLineStart']).fallback({}),
28
- filePath: (p) => P.string('file')
29
- .then(P.string('='))
30
- .then(p['content'])
31
- .map((file) => ({ file })),
32
32
  highlightedLinesRange: (p) => P.seqMap(p['number'].skip(P.string('-')), p['number'], (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
33
33
  // Main Parsers
34
34
  lineNumbers: () => P.string('lineNumbers').map(() => ({ lineNumbers: true })),
35
- name: (p) => P.string('name')
36
- .then(P.string('='))
37
- .then(p['content'])
38
- .map((name) => ({ name })),
39
- group: (p) => P.string('group')
40
- .then(P.string('='))
41
- .then(p['content'])
42
- .map((group) => ({ group })),
35
+ filePath: (p) => keyValueParser('file', p),
36
+ name: (p) => keyValueParser('name', p),
37
+ group: (p) => keyValueParser('group', p),
38
+ fileName: (p) => keyValueParser('fileName', p, 'name'),
39
+ icon: (p) => keyValueParser('icon', p),
43
40
  active: () => P.string('active').map(() => ({ active: true })),
44
- fileName: (p) => P.string('fileName')
45
- .then(P.string('='))
46
- .then(p['content'])
47
- .map((name) => ({ name })),
48
41
  file: (p) => P.seq(p['filePath'], p['lineParams'].map(({ fileLineStart, fileLineEnd }) => ({ fileLineStart, fileLineEnd }))).map(([file, lineParams]) => (Object.assign(Object.assign({}, file), lineParams))),
49
42
  highlightedLines: (p) => p['highlightedLinesRange']
50
43
  .or(p['number'])
@@ -53,7 +46,7 @@ function parseCodeBlockParams(options) {
53
46
  .map((a) => Array.from(new Set(a.flat())))
54
47
  .map((highlightedLines) => ({ highlightedLines })),
55
48
  // Combined Parsers
56
- paramsParser: (p) => p['lineNumbers'].or(p['fileName']).or(p['file']).or(p['name']).or(p['group']).or(p['active']).or(p['highlightedLines']).sepBy(P.whitespace),
49
+ paramsParser: (p) => p['lineNumbers'].or(p['fileName']).or(p['file']).or(p['name']).or(p['group']).or(p['active']).or(p['icon']).or(p['highlightedLines']).sepBy(P.whitespace),
57
50
  languageWithParamsParser: (p) => P.seq(p['language'], p['paramsParser']).map((v) => v.flat()),
58
51
  });
59
52
  let result = parser['paramsParser'].parse(options);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-code-block-params.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-code-block-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-code-block-params.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-code-block-params.ts"],"names":[],"mappings":"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"}