@ng-doc/builder 16.9.0 → 16.11.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.
Files changed (263) hide show
  1. package/browser/index.js +2 -1
  2. package/browser/index.js.map +1 -1
  3. package/browser/schema.json +7 -1
  4. package/classes/observable-set.d.ts +1 -0
  5. package/classes/observable-set.js +4 -0
  6. package/classes/observable-set.js.map +1 -1
  7. package/dev-server/index.js +2 -1
  8. package/dev-server/index.js.map +1 -1
  9. package/dev-server/schema.json +7 -1
  10. package/engine/.cache/apps/ng-doc/docs/ng-doc.api.js +3 -8
  11. package/engine/.cache/apps/ng-doc/docs/recipes/ignoring-file-lines/ng-doc.page.js +41 -0
  12. package/engine/.cache/apps/ng-doc/docs/recipes/ng-doc.category.js +30 -0
  13. package/engine/actions/playground.action.js +2 -2
  14. package/engine/actions/playground.action.js.map +1 -1
  15. package/engine/build-ng-doc.js +10 -2
  16. package/engine/build-ng-doc.js.map +1 -1
  17. package/engine/builder-operators/build.d.ts +2 -3
  18. package/engine/builder-operators/build.js +8 -4
  19. package/engine/builder-operators/build.js.map +1 -1
  20. package/engine/builder-operators/compile.d.ts +1 -1
  21. package/engine/builder-operators/compile.js.map +1 -1
  22. package/engine/builder-operators/emit.d.ts +2 -2
  23. package/engine/builder-operators/emit.js.map +1 -1
  24. package/engine/builder-operators/post-build.d.ts +6 -0
  25. package/engine/builder-operators/post-build.js +23 -0
  26. package/engine/builder-operators/post-build.js.map +1 -0
  27. package/engine/builder-operators/post-process.d.ts +2 -2
  28. package/engine/builder-operators/post-process.js +4 -5
  29. package/engine/builder-operators/post-process.js.map +1 -1
  30. package/engine/builder-operators/task.d.ts +1 -1
  31. package/engine/builder-operators/task.js.map +1 -1
  32. package/engine/builder-operators/to-builder-output.d.ts +6 -0
  33. package/engine/builder-operators/to-builder-output.js +13 -0
  34. package/engine/builder-operators/to-builder-output.js.map +1 -0
  35. package/engine/entities/abstractions/entity.d.ts +11 -11
  36. package/engine/entities/abstractions/entity.js +2 -5
  37. package/engine/entities/abstractions/entity.js.map +1 -1
  38. package/engine/entities/abstractions/file.entity.d.ts +2 -2
  39. package/engine/entities/abstractions/file.entity.js.map +1 -1
  40. package/engine/entities/abstractions/module.entity.d.ts +1 -1
  41. package/engine/entities/abstractions/module.entity.js.map +1 -1
  42. package/engine/entities/abstractions/navigation.entity.d.ts +1 -1
  43. package/engine/entities/abstractions/navigation.entity.js.map +1 -1
  44. package/engine/entities/abstractions/route.entity.d.ts +3 -4
  45. package/engine/entities/abstractions/route.entity.js +2 -2
  46. package/engine/entities/abstractions/route.entity.js.map +1 -1
  47. package/engine/entities/api-list.entity.d.ts +20 -0
  48. package/engine/entities/api-list.entity.js +69 -0
  49. package/engine/entities/api-list.entity.js.map +1 -0
  50. package/engine/entities/api-page.entity.d.ts +2 -3
  51. package/engine/entities/api-page.entity.js +26 -28
  52. package/engine/entities/api-page.entity.js.map +1 -1
  53. package/engine/entities/api-scope.entity.d.ts +2 -3
  54. package/engine/entities/api-scope.entity.js +13 -7
  55. package/engine/entities/api-scope.entity.js.map +1 -1
  56. package/engine/entities/api.entity.d.ts +3 -4
  57. package/engine/entities/api.entity.js +26 -29
  58. package/engine/entities/api.entity.js.map +1 -1
  59. package/engine/entities/category.entity.d.ts +2 -3
  60. package/engine/entities/category.entity.js +11 -13
  61. package/engine/entities/category.entity.js.map +1 -1
  62. package/engine/entities/context.entity.d.ts +11 -0
  63. package/engine/entities/context.entity.js +34 -0
  64. package/engine/entities/context.entity.js.map +1 -0
  65. package/engine/entities/generated-module.entity.d.ts +12 -0
  66. package/engine/entities/generated-module.entity.js +52 -0
  67. package/engine/entities/generated-module.entity.js.map +1 -0
  68. package/engine/entities/index-file.entity.d.ts +12 -0
  69. package/engine/entities/index-file.entity.js +52 -0
  70. package/engine/entities/index-file.entity.js.map +1 -0
  71. package/engine/entities/index.d.ts +8 -1
  72. package/engine/entities/index.js +8 -1
  73. package/engine/entities/index.js.map +1 -1
  74. package/engine/entities/indexes.entity.d.ts +3 -4
  75. package/engine/entities/indexes.entity.js +12 -14
  76. package/engine/entities/indexes.entity.js.map +1 -1
  77. package/engine/entities/keywords.entity.d.ts +12 -0
  78. package/engine/entities/keywords.entity.js +32 -0
  79. package/engine/entities/keywords.entity.js.map +1 -0
  80. package/engine/entities/page-demo.entity.d.ts +20 -0
  81. package/engine/entities/page-demo.entity.js +87 -0
  82. package/engine/entities/page-demo.entity.js.map +1 -0
  83. package/engine/entities/page-playground.entity.d.ts +21 -0
  84. package/engine/entities/page-playground.entity.js +80 -0
  85. package/engine/entities/page-playground.entity.js.map +1 -0
  86. package/engine/entities/page.entity.d.ts +6 -18
  87. package/engine/entities/page.entity.js +39 -107
  88. package/engine/entities/page.entity.js.map +1 -1
  89. package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.d.ts +5 -0
  90. package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.js +20 -0
  91. package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.js.map +1 -0
  92. package/engine/entities/plugins/entity-plugins/apply.plugin.d.ts +26 -0
  93. package/engine/entities/plugins/entity-plugins/apply.plugin.js +65 -0
  94. package/engine/entities/plugins/entity-plugins/apply.plugin.js.map +1 -0
  95. package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.d.ts +6 -0
  96. package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.js +23 -0
  97. package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.js.map +1 -0
  98. package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.d.ts +6 -0
  99. package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.js +27 -0
  100. package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.js.map +1 -0
  101. package/engine/entities/plugins/entity-plugins/index.d.ts +9 -0
  102. package/engine/entities/plugins/entity-plugins/index.js +13 -0
  103. package/engine/entities/plugins/entity-plugins/index.js.map +1 -0
  104. package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.d.ts +5 -0
  105. package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.js +21 -0
  106. package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.js.map +1 -0
  107. package/engine/entities/plugins/entity-plugins/post-process-html.plugin.d.ts +5 -0
  108. package/engine/entities/plugins/entity-plugins/post-process-html.plugin.js +18 -0
  109. package/engine/entities/plugins/entity-plugins/post-process-html.plugin.js.map +1 -0
  110. package/engine/entities/plugins/entity-plugins/process-html.plugin.d.ts +5 -0
  111. package/engine/entities/plugins/entity-plugins/process-html.plugin.js +18 -0
  112. package/engine/entities/plugins/entity-plugins/process-html.plugin.js.map +1 -0
  113. package/engine/entities/plugins/entity-plugins/remove-lines.plugin.d.ts +6 -0
  114. package/engine/entities/plugins/entity-plugins/remove-lines.plugin.js +23 -0
  115. package/engine/entities/plugins/entity-plugins/remove-lines.plugin.js.map +1 -0
  116. package/engine/entities/plugins/entity-plugins/wrap-code.plugin.d.ts +6 -0
  117. package/engine/entities/plugins/entity-plugins/wrap-code.plugin.js +21 -0
  118. package/engine/entities/plugins/entity-plugins/wrap-code.plugin.js.map +1 -0
  119. package/engine/entities/plugins/helpers/execute-plugins.d.ts +10 -0
  120. package/engine/entities/plugins/helpers/execute-plugins.js +18 -0
  121. package/engine/entities/plugins/helpers/execute-plugins.js.map +1 -0
  122. package/engine/entities/plugins/helpers/index.d.ts +1 -0
  123. package/engine/entities/plugins/helpers/index.js +5 -0
  124. package/engine/entities/plugins/helpers/index.js.map +1 -0
  125. package/engine/entities/plugins/index.d.ts +3 -0
  126. package/engine/entities/plugins/index.js +7 -0
  127. package/engine/entities/plugins/index.js.map +1 -0
  128. package/engine/entities/plugins/types/entity-plugin.d.ts +5 -0
  129. package/engine/entities/plugins/types/entity-plugin.js +3 -0
  130. package/engine/entities/plugins/types/entity-plugin.js.map +1 -0
  131. package/engine/entities/plugins/types/index.d.ts +1 -0
  132. package/engine/entities/plugins/types/index.js +5 -0
  133. package/engine/entities/plugins/types/index.js.map +1 -0
  134. package/engine/entities/routes.entity.d.ts +11 -0
  135. package/engine/entities/routes.entity.js +34 -0
  136. package/engine/entities/routes.entity.js.map +1 -0
  137. package/engine/entity-store.d.ts +1 -0
  138. package/engine/entity-store.js +3 -0
  139. package/engine/entity-store.js.map +1 -1
  140. package/engine/nunjucks/filters.d.ts +2 -2
  141. package/engine/nunjucks/filters.js +3 -2
  142. package/engine/nunjucks/filters.js.map +1 -1
  143. package/engine/variables.d.ts +1 -0
  144. package/engine/variables.js +1 -0
  145. package/engine/variables.js.map +1 -1
  146. package/helpers/angular/get-component-assets.d.ts +8 -0
  147. package/helpers/angular/get-component-assets.js +15 -0
  148. package/helpers/angular/get-component-assets.js.map +1 -0
  149. package/helpers/angular/get-component-source-files.d.ts +7 -0
  150. package/helpers/angular/get-component-source-files.js +23 -0
  151. package/helpers/angular/get-component-source-files.js.map +1 -0
  152. package/helpers/angular/index.d.ts +2 -0
  153. package/helpers/angular/index.js +2 -0
  154. package/helpers/angular/index.js.map +1 -1
  155. package/helpers/build-file-assets.d.ts +7 -0
  156. package/helpers/build-file-assets.js +25 -0
  157. package/helpers/build-file-assets.js.map +1 -0
  158. package/helpers/build-file-entity.js +14 -1
  159. package/helpers/build-file-entity.js.map +1 -1
  160. package/helpers/create-builder-context.d.ts +5 -5
  161. package/helpers/create-builder-context.js +6 -6
  162. package/helpers/create-builder-context.js.map +1 -1
  163. package/helpers/demo/assets-from-component-asset.d.ts +6 -0
  164. package/helpers/demo/assets-from-component-asset.js +14 -0
  165. package/helpers/demo/assets-from-component-asset.js.map +1 -0
  166. package/helpers/demo/index.d.ts +1 -0
  167. package/helpers/demo/index.js +5 -0
  168. package/helpers/demo/index.js.map +1 -0
  169. package/helpers/emit-built-output.d.ts +2 -2
  170. package/helpers/emit-built-output.js.map +1 -1
  171. package/helpers/entity-type.d.ts +1 -1
  172. package/helpers/extract-docs.js +4 -4
  173. package/helpers/extract-docs.js.map +1 -1
  174. package/helpers/format-code.d.ts +1 -1
  175. package/helpers/format-code.js +14 -3
  176. package/helpers/format-code.js.map +1 -1
  177. package/helpers/get-code-type-from-lang.d.ts +6 -0
  178. package/helpers/get-code-type-from-lang.js +31 -0
  179. package/helpers/get-code-type-from-lang.js.map +1 -0
  180. package/helpers/get-demo-class-declarations.d.ts +1 -1
  181. package/helpers/get-demo-class-declarations.js +18 -7
  182. package/helpers/get-demo-class-declarations.js.map +1 -1
  183. package/helpers/index.d.ts +7 -3
  184. package/helpers/index.js +7 -3
  185. package/helpers/index.js.map +1 -1
  186. package/helpers/load-config.d.ts +3 -2
  187. package/helpers/load-config.js +4 -3
  188. package/helpers/load-config.js.map +1 -1
  189. package/helpers/markdown-to-html.d.ts +10 -0
  190. package/helpers/{marked.js → markdown-to-html.js} +11 -8
  191. package/helpers/markdown-to-html.js.map +1 -0
  192. package/helpers/process-html.d.ts +3 -3
  193. package/helpers/process-html.js +14 -11
  194. package/helpers/process-html.js.map +1 -1
  195. package/helpers/process-legacy-snippets.d.ts +9 -0
  196. package/helpers/process-legacy-snippets.js +70 -0
  197. package/helpers/process-legacy-snippets.js.map +1 -0
  198. package/helpers/process-snippets.d.ts +5 -5
  199. package/helpers/process-snippets.js +63 -50
  200. package/helpers/process-snippets.js.map +1 -1
  201. package/helpers/remove-lines-from-code.d.ts +6 -0
  202. package/helpers/remove-lines-from-code.js +30 -0
  203. package/helpers/remove-lines-from-code.js.map +1 -0
  204. package/helpers/snippets-from-asset.d.ts +9 -0
  205. package/helpers/snippets-from-asset.js +26 -0
  206. package/helpers/snippets-from-asset.js.map +1 -0
  207. package/interfaces/asset.d.ts +5 -7
  208. package/interfaces/build-result.d.ts +10 -0
  209. package/{types/snippet-type.js → interfaces/build-result.js} +1 -1
  210. package/interfaces/build-result.js.map +1 -0
  211. package/interfaces/index.d.ts +3 -0
  212. package/interfaces/index.js +3 -0
  213. package/interfaces/index.js.map +1 -1
  214. package/interfaces/output.d.ts +1 -3
  215. package/interfaces/schema.d.ts +3 -0
  216. package/interfaces/snippet-config.d.ts +8 -0
  217. package/interfaces/snippet-config.js +3 -0
  218. package/interfaces/snippet-config.js.map +1 -0
  219. package/interfaces/snippet.d.ts +5 -4
  220. package/operators/error-handler.d.ts +1 -1
  221. package/package.json +6 -5
  222. package/parsers/helpers/index.d.ts +3 -0
  223. package/parsers/helpers/index.js +7 -0
  224. package/parsers/helpers/index.js.map +1 -0
  225. package/parsers/helpers/number.d.ts +2 -0
  226. package/parsers/helpers/number.js +7 -0
  227. package/parsers/helpers/number.js.map +1 -0
  228. package/parsers/helpers/param-value.d.ts +2 -0
  229. package/parsers/helpers/param-value.js +8 -0
  230. package/parsers/helpers/param-value.js.map +1 -0
  231. package/parsers/helpers/param.d.ts +7 -0
  232. package/parsers/helpers/param.js +19 -0
  233. package/parsers/helpers/param.js.map +1 -0
  234. package/parsers/parse-code-block-params.js +8 -13
  235. package/parsers/parse-code-block-params.js.map +1 -1
  236. package/parsers/parse-snippet.d.ts +6 -0
  237. package/parsers/parse-snippet.js +27 -0
  238. package/parsers/parse-snippet.js.map +1 -0
  239. package/schematics/category/files/ng-doc.category.ts.template +1 -1
  240. package/schematics/category/index.js +2 -1
  241. package/schematics/category/index.js.map +1 -1
  242. package/schematics/page/index.js +2 -1
  243. package/schematics/page/index.js.map +1 -1
  244. package/templates/demo-assets.ts.nunj +13 -4
  245. package/templates/page.module.ts.nunj +3 -2
  246. package/templates/parts/usage-notes.html.nunj +1 -1
  247. package/templates/playgrounds.ts.nunj +19 -9
  248. package/types/index.d.ts +0 -1
  249. package/types/index.js +0 -1
  250. package/types/index.js.map +1 -1
  251. package/engine/entities/skeleton.entity.d.ts +0 -16
  252. package/engine/entities/skeleton.entity.js +0 -44
  253. package/engine/entities/skeleton.entity.js.map +0 -1
  254. package/helpers/build-assets.d.ts +0 -10
  255. package/helpers/build-assets.js +0 -55
  256. package/helpers/build-assets.js.map +0 -1
  257. package/helpers/get-component-asset.d.ts +0 -10
  258. package/helpers/get-component-asset.js +0 -50
  259. package/helpers/get-component-asset.js.map +0 -1
  260. package/helpers/marked.d.ts +0 -9
  261. package/helpers/marked.js.map +0 -1
  262. package/types/snippet-type.d.ts +0 -1
  263. package/types/snippet-type.js.map +0 -1
@@ -1,67 +1,80 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processSnippets = void 0;
4
- const escape_regexp_1 = require("@ng-doc/core/helpers/escape-regexp");
5
- const HTMLSnippetStart = /^.*(<!--\s*NgDocHTMLSnippetStart(\(.+\))?\s*-->).*$/gm;
6
- const StylesSnippetStart = /^.*(\/\*\s*NgDocStyleSnippetStart(\(.+\))?\s*\*\/).*$/gm;
7
- const TypeScriptSnippetStart = /^.*(\/\*\s*NgDocCodeSnippetStart(\(.+\))?\s*\*\/).*$/gm;
8
- const HTMLSnippetEnd = (group = '', escape = true) => new RegExp(`^.*(<!--\\s*NgDocHTMLSnippetEnd(\\(${escape ? (0, escape_regexp_1.escapeRegexp)(group) : group}\\))?\\s*-->).*$`, 'gm');
9
- const StylesSnippetEnd = (group = '', escape = true) => new RegExp(`^.*(\\/\\*\\s*NgDocStyleSnippetEnd(\\(${escape ? (0, escape_regexp_1.escapeRegexp)(group) : group}\\))?\\s*\\*\\/).*$`, 'gm');
10
- const TypeScriptSnippetEnd = (group = '', escape = true) => new RegExp(`^.*(\\/\\*\\s*NgDocCodeSnippetEnd(\\(${escape ? (0, escape_regexp_1.escapeRegexp)(group) : group}\\))?\\s*\\*\\/).*$`, 'gm');
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@ng-doc/core");
6
+ const fs = tslib_1.__importStar(require("fs"));
7
+ const path_1 = tslib_1.__importDefault(require("path"));
8
+ const parse_snippet_1 = require("../parsers/parse-snippet");
9
+ const format_code_1 = require("./format-code");
10
+ const get_code_type_from_lang_1 = require("./get-code-type-from-lang");
11
+ const snippet = (id) => id
12
+ ? new RegExp(`\\n?\\r?^.*((\\/\\/|<!--|\\/\\*)\\s*)(snippet#${(0, core_1.escapeRegexp)(id)}.*?(?=(-->|\\*\\/)?))\\s*(-->|\\*\\/)?$`, 'gm')
13
+ : new RegExp(`\\n?\\r?^.*((\\/\\/|<!--|\\/\\*)\\s*)(snippet.*?(?=(-->|\\*\\/)?))\\s*(-->|\\*\\/)?$`, 'gm');
11
14
  /**
12
- * Finds and return all the snippets in the given string.
15
+ * Process snippets from code
13
16
  *
14
- * @param {string} content - Content
15
- * @returns {NgDocSnippet[]} - Array of snippets
17
+ * @param code - code to process
18
+ * @param basePath - base path to file
16
19
  */
17
- function processSnippets(content) {
18
- return [
19
- ...findSnippet(content, 'HTML', HTMLSnippetStart, HTMLSnippetEnd),
20
- ...findSnippet(content, 'styles', StylesSnippetStart, StylesSnippetEnd),
21
- ...findSnippet(content, 'TypeScript', TypeScriptSnippetStart, TypeScriptSnippetEnd),
22
- ];
23
- }
24
- exports.processSnippets = processSnippets;
25
- /**
26
- *
27
- * @param content
28
- * @param type
29
- * @param snippetStart
30
- * @param snippetEnd
31
- */
32
- function findSnippet(content, type, snippetStart, snippetEnd) {
33
- let snippetCounter = 0;
34
- const snippets = [];
35
- const startRegexp = new RegExp(snippetStart);
36
- let matchStart;
20
+ function processSnippets(code, basePath) {
21
+ var _a;
22
+ const result = [];
23
+ const endings = new Set();
24
+ const startRegexp = snippet();
25
+ let match;
37
26
  // eslint-disable-next-line no-cond-assign
38
- while ((matchStart = startRegexp.exec(content))) {
39
- const group = matchStart[2] ? matchStart[2].slice(1, matchStart[2].length - 1) : `Code Snippet ${++snippetCounter}`;
40
- const matchEnd = snippetEnd(group).exec(content);
41
- if (matchEnd) {
42
- const snippetCode = content.slice(matchStart.index + matchStart[0].length, matchEnd.index).trim();
43
- if (snippetCode) {
44
- snippets.push({
45
- content: removeSnippetsInCode(snippetCode),
46
- name: group,
47
- type,
48
- });
27
+ while ((match = startRegexp.exec(code))) {
28
+ const isHTMLComment = match[2] === '<!--';
29
+ if (((_a = match[3]) === null || _a === void 0 ? void 0 : _a.includes('snippet-from-file=')) && basePath) {
30
+ const config = (0, parse_snippet_1.parseSnippet)(match[3].trim());
31
+ if (config) {
32
+ const { title, lang, icon, opened, fromFile } = config;
33
+ const language = lang || (isHTMLComment ? 'html' : 'ts');
34
+ if (fromFile) {
35
+ const snippetCode = fs.readFileSync(path_1.default.join(basePath, fromFile), 'utf-8');
36
+ result.push({
37
+ title: title !== null && title !== void 0 ? title : path_1.default.basename(fromFile),
38
+ lang: language,
39
+ icon,
40
+ opened,
41
+ code: (0, format_code_1.formatCode)(removeSnippets(snippetCode), (0, get_code_type_from_lang_1.getCodeTypeFromLang)(language)).trim(),
42
+ });
43
+ }
44
+ }
45
+ }
46
+ else if (!endings.has(match.index)) {
47
+ const config = (0, parse_snippet_1.parseSnippet)(match[3].trim());
48
+ if (config) {
49
+ const { id, title, lang, icon, opened } = config;
50
+ const endRegexp = snippet(id);
51
+ endRegexp.lastIndex = match.index + match[0].length;
52
+ const matchEnd = endRegexp.exec(code);
53
+ if (matchEnd) {
54
+ endings.add(matchEnd.index);
55
+ const snippetCode = code.slice(match.index + match[0].length, matchEnd.index);
56
+ const language = lang || (isHTMLComment ? 'html' : 'ts');
57
+ if (snippetCode) {
58
+ result.push({
59
+ title,
60
+ lang: language,
61
+ icon,
62
+ opened,
63
+ code: (0, format_code_1.formatCode)(removeSnippets(snippetCode), (0, get_code_type_from_lang_1.getCodeTypeFromLang)(language)).trim(),
64
+ });
65
+ }
66
+ }
49
67
  }
50
68
  }
51
69
  }
52
- return snippets;
70
+ return result;
53
71
  }
72
+ exports.processSnippets = processSnippets;
54
73
  /**
55
74
  *
56
75
  * @param code
57
76
  */
58
- function removeSnippetsInCode(code) {
59
- return code
60
- .replace(HTMLSnippetStart, '')
61
- .replace(StylesSnippetStart, '')
62
- .replace(TypeScriptSnippetStart, '')
63
- .replace(HTMLSnippetEnd('.*', false), '')
64
- .replace(StylesSnippetEnd('.*', false), '')
65
- .replace(TypeScriptSnippetEnd('.*', false), '');
77
+ function removeSnippets(code) {
78
+ return code.replace(snippet(), '');
66
79
  }
67
80
  //# sourceMappingURL=process-snippets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-snippets.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/process-snippets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-snippets.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/process-snippets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Remove lines from code that are marked with `ng-doc-ignore-line`
3
+ *
4
+ * @param code - The code to remove lines from
5
+ */
6
+ export declare function removeLinesFromCode(code: string): string;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeLinesFromCode = void 0;
4
+ const LINE_BREAK = /\r?\n/;
5
+ const IGNORE_COMMENT = /\n?\r?^.*((\/\/|<!--|\/\*)\s*)(ng-doc-ignore-line)(\s*([0-9]))?.*$/;
6
+ /**
7
+ * Remove lines from code that are marked with `ng-doc-ignore-line`
8
+ *
9
+ * @param code - The code to remove lines from
10
+ */
11
+ function removeLinesFromCode(code) {
12
+ const lines = code.split(LINE_BREAK);
13
+ let linesToIgnore = 0;
14
+ return lines.reduce((lines, line, i) => {
15
+ var _a;
16
+ const match = IGNORE_COMMENT.exec(line);
17
+ if (match) {
18
+ linesToIgnore = Math.max(linesToIgnore, parseInt((_a = match[5]) !== null && _a !== void 0 ? _a : '1'));
19
+ }
20
+ else if (linesToIgnore === 0) {
21
+ lines.push(line);
22
+ }
23
+ else if (linesToIgnore > 0) {
24
+ linesToIgnore--;
25
+ }
26
+ return lines;
27
+ }, []).join('\n');
28
+ }
29
+ exports.removeLinesFromCode = removeLinesFromCode;
30
+ //# sourceMappingURL=remove-lines-from-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-lines-from-code.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/remove-lines-from-code.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,cAAc,GAAG,oEAAoE,CAAA;AAE3F;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;;QACtC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,EAAE;YACV,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,GAAG,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,aAAa,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;aAAM,IAAI,aAAa,GAAG,CAAC,EAAE;YAC7B,aAAa,EAAE,CAAC;SAChB;QAED,OAAO,KAAK,CAAC;IAEd,CAAC,EAAE,EAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAlBD,kDAkBC"}
@@ -0,0 +1,9 @@
1
+ import { NgDocStyleType } from '@ng-doc/core';
2
+ import { NgDocAsset } from '../interfaces';
3
+ /**
4
+ * Finds all snippets in an asset and returns them as assets.
5
+ *
6
+ * @param asset - Asset
7
+ * @param inlineStylesType - Inline styles type
8
+ */
9
+ export declare function snippetsFromAsset(asset: NgDocAsset, inlineStylesType: NgDocStyleType): NgDocAsset[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snippetsFromAsset = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const code_type_from_ext_1 = require("./code-type-from-ext");
7
+ const process_legacy_snippets_1 = require("./process-legacy-snippets");
8
+ const process_snippets_1 = require("./process-snippets");
9
+ /**
10
+ * Finds all snippets in an asset and returns them as assets.
11
+ *
12
+ * @param asset - Asset
13
+ * @param inlineStylesType - Inline styles type
14
+ */
15
+ function snippetsFromAsset(asset, inlineStylesType) {
16
+ const snippets = (0, process_legacy_snippets_1.processLegacySnippets)(asset.code).concat((0, process_snippets_1.processSnippets)(asset.code, path_1.default.dirname(asset.filePath)));
17
+ const codeType = (0, code_type_from_ext_1.codeTypeFromExt)(asset.filePath);
18
+ const isStylesFile = ['CSS', 'SCSS', 'LESS', 'SASS'].includes(codeType.toUpperCase());
19
+ return snippets.map(({ code, title, lang, icon, opened }, i) => {
20
+ const language = lang === 'styles' ? (isStylesFile ? codeType : inlineStylesType) : lang;
21
+ return Object.assign(Object.assign({}, asset), { code, title: title !== null && title !== void 0 ? title : `Snippet #${i + 1}`, icon,
22
+ opened, lang: language });
23
+ });
24
+ }
25
+ exports.snippetsFromAsset = snippetsFromAsset;
26
+ //# sourceMappingURL=snippets-from-asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippets-from-asset.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/snippets-from-asset.ts"],"names":[],"mappings":";;;;AACA,wDAAwB;AAGxB,6DAAqD;AACrD,uEAAgE;AAChE,yDAAmD;AAEnD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAiB,EAAE,gBAAgC;IACpF,MAAM,QAAQ,GAAG,IAAA,+CAAqB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAA,kCAAe,EAAC,KAAK,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,IAAA,oCAAe,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzF,uCACI,KAAK,KACR,IAAI,EACJ,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,YAAY,CAAC,GAAG,CAAC,EAAE,EACnC,IAAI;YACJ,MAAM,EACN,IAAI,EAAE,QAAQ,IACb;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAjBD,8CAiBC"}
@@ -1,10 +1,8 @@
1
- import { NgDocCodeType } from '@ng-doc/core';
2
1
  export interface NgDocAsset {
3
- originalPath: string;
4
- outputPath: string;
5
- name: string;
6
- code: string;
7
- output: string;
8
2
  title: string;
9
- type: NgDocCodeType;
3
+ code: string;
4
+ filePath: string;
5
+ isEmpty: boolean;
6
+ icon?: string;
7
+ lang: string;
10
8
  }
@@ -0,0 +1,10 @@
1
+ import { NgDocEntity } from '../engine/entities/abstractions/entity';
2
+ import { NgDocEntityPlugin } from '../engine/entities/plugins';
3
+ import { NgDocBuilderOutput } from './output';
4
+ export interface NgDocBuildResult<T = unknown, TEntity extends NgDocEntity = NgDocEntity> {
5
+ toBuilderOutput: (content: T) => Promise<NgDocBuilderOutput>;
6
+ postBuildPlugins?: Array<NgDocEntityPlugin<T, TEntity>>;
7
+ postProcessPlugins?: Array<NgDocEntityPlugin<T, TEntity>>;
8
+ result: T;
9
+ entity: TEntity;
10
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=snippet-type.js.map
3
+ //# sourceMappingURL=build-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-result.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/build-result.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  export * from './action-output';
2
2
  export * from './asset';
3
+ export * from './build-result';
3
4
  export * from './builder-context';
4
5
  export * from './code-block-options';
5
6
  export * from './configuration';
@@ -10,3 +11,5 @@ export * from './playground-metadata';
10
11
  export * from './renderer-options';
11
12
  export * from './repo-config';
12
13
  export * from './schema';
14
+ export * from './snippet';
15
+ export * from './snippet-config';
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./action-output"), exports);
5
5
  tslib_1.__exportStar(require("./asset"), exports);
6
+ tslib_1.__exportStar(require("./build-result"), exports);
6
7
  tslib_1.__exportStar(require("./builder-context"), exports);
7
8
  tslib_1.__exportStar(require("./code-block-options"), exports);
8
9
  tslib_1.__exportStar(require("./configuration"), exports);
@@ -13,4 +14,6 @@ tslib_1.__exportStar(require("./playground-metadata"), exports);
13
14
  tslib_1.__exportStar(require("./renderer-options"), exports);
14
15
  tslib_1.__exportStar(require("./repo-config"), exports);
15
16
  tslib_1.__exportStar(require("./schema"), exports);
17
+ tslib_1.__exportStar(require("./snippet"), exports);
18
+ tslib_1.__exportStar(require("./snippet-config"), exports);
16
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,4DAAkC;AAClC,+DAAqC;AACrC,0DAAgC;AAChC,2DAAiC;AACjC,mDAAyB;AACzB,wDAA8B;AAC9B,gEAAsC;AACtC,6DAAmC;AACnC,wDAA8B;AAC9B,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,yDAA+B;AAC/B,4DAAkC;AAClC,+DAAqC;AACrC,0DAAgC;AAChC,2DAAiC;AACjC,mDAAyB;AACzB,wDAA8B;AAC9B,gEAAsC;AACtC,6DAAmC;AACnC,wDAA8B;AAC9B,mDAAyB;AACzB,oDAA0B;AAC1B,2DAAiC"}
@@ -1,6 +1,4 @@
1
- import { Observable } from 'rxjs';
2
- export interface NgDocBuildOutput {
1
+ export interface NgDocBuilderOutput {
3
2
  content: string;
4
3
  filePath: string;
5
- postProcessFn?: (content: string) => Observable<string>;
6
4
  }
@@ -1,4 +1,7 @@
1
1
  export interface NgDocSchema {
2
2
  browserTarget: string;
3
3
  main: string;
4
+ ngDoc: {
5
+ config: string;
6
+ };
4
7
  }
@@ -0,0 +1,8 @@
1
+ export interface NgDocSnippetConfig {
2
+ id: string | null;
3
+ fromFile?: string;
4
+ opened?: boolean;
5
+ lang?: string;
6
+ icon?: string;
7
+ title?: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=snippet-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet-config.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/snippet-config.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
- import { NgDocSnippetType } from '../types';
2
1
  export interface NgDocSnippet {
3
- content: string;
4
- name: string;
5
- type: NgDocSnippetType;
2
+ lang: string;
3
+ code: string;
4
+ opened?: boolean;
5
+ icon?: string;
6
+ title?: string;
6
7
  }
@@ -5,4 +5,4 @@ import { OperatorFunction } from 'rxjs';
5
5
  * @param errorResult - The result to return in case of an error.
6
6
  * @param print - Whether to print the error to the console.
7
7
  */
8
- export declare function errorHandler<T, TError>(errorResult: TError, print?: boolean): OperatorFunction<T, T | TError>;
8
+ export declare function errorHandler<TError, T>(errorResult: TError, print?: boolean): OperatorFunction<T, T | TError>;
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@ng-doc/builder",
3
- "version": "16.9.0",
3
+ "version": "16.11.0",
4
4
  "type": "commonjs",
5
5
  "builders": "./builders.json",
6
6
  "schematics": "./schematics/collection.json",
7
7
  "dependencies": {
8
- "@ng-doc/core": "16.9.0",
9
- "@ng-doc/utils": "16.9.0",
8
+ "@ng-doc/core": "16.11.0",
9
+ "@ng-doc/utils": "16.11.0",
10
10
  "@angular-devkit/architect": ">=0.1600.0",
11
+ "@angular-devkit/build-angular": ">=16.0.0",
11
12
  "chokidar": "3.5.3",
12
13
  "minimatch": "9.0.1",
13
14
  "rxjs": "^7.0.0",
@@ -22,8 +23,8 @@
22
23
  "highlight.js": "11.5.1",
23
24
  "esbuild": "0.17.8",
24
25
  "@microsoft/tsdoc": "0.14.2",
25
- "cosmiconfig": "8.1.0",
26
- "cosmiconfig-typescript-loader": "4.3.0",
26
+ "cosmiconfig": "8.2.0",
27
+ "cosmiconfig-typescript-loader": "5.0.0",
27
28
  "find-cache-dir": "3.3.2",
28
29
  "tslib": "^2.3.0",
29
30
  "ng-morph": "2.2.5",
@@ -0,0 +1,3 @@
1
+ export * from './number';
2
+ export * from './param';
3
+ export * from './param-value';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./number"), exports);
5
+ tslib_1.__exportStar(require("./param"), exports);
6
+ tslib_1.__exportStar(require("./param-value"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB;AACxB,wDAA8B"}
@@ -0,0 +1,2 @@
1
+ import * as P from 'parsimmon';
2
+ export declare const number: P.Parser<number>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.number = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const P = tslib_1.__importStar(require("parsimmon"));
6
+ exports.number = P.digits.map(Number);
7
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/number.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAElB,QAAA,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as P from 'parsimmon';
2
+ export declare const paramValue: () => P.Parser<string>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paramValue = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const P = tslib_1.__importStar(require("parsimmon"));
6
+ const paramValue = () => P.regexp(/.+?(?=")/).wrap(P.string('"'), P.string('"'));
7
+ exports.paramValue = paramValue;
8
+ //# sourceMappingURL=param-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-value.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param-value.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAExB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAA3E,QAAA,UAAU,cAAiE"}
@@ -0,0 +1,7 @@
1
+ import { Parser } from 'parsimmon';
2
+ /**
3
+ *
4
+ * @param key
5
+ * @param newKeyName
6
+ */
7
+ export declare function param<T extends string, N extends string | undefined = undefined>(key: T, newKeyName?: N): Parser<Record<N extends string ? N : T, string>>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.param = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const P = tslib_1.__importStar(require("parsimmon"));
6
+ const param_value_1 = require("./param-value");
7
+ /**
8
+ *
9
+ * @param key
10
+ * @param newKeyName
11
+ */
12
+ function param(key, newKeyName) {
13
+ return P.string(key)
14
+ .then(P.string('='))
15
+ .then((0, param_value_1.paramValue)())
16
+ .map((value) => ({ [newKeyName !== null && newKeyName !== void 0 ? newKeyName : key]: value }));
17
+ }
18
+ exports.param = param;
19
+ //# sourceMappingURL=param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAG/B,+CAAyC;AAEzC;;;;GAIG;AACH,SAAgB,KAAK,CAA6D,GAAM,EAAE,UAAc;IACvG,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACnB,IAAI,CAAC,IAAA,wBAAU,GAAE,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,GAAG,CAAC,EAAE,KAAK,EAA8C,CAAA,CAAC,CAAA;AAC7F,CAAC;AALD,sBAKC"}
@@ -3,22 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseCodeBlockParams = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const P = tslib_1.__importStar(require("parsimmon"));
6
+ const helpers_1 = require("./helpers");
6
7
  /**
7
8
  * Code block options parser
8
9
  *
9
10
  * @param options - Options string to parse
10
11
  */
11
12
  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 }));
16
13
  const parser = P.createLanguage({
17
14
  language: () => P.regexp(/[a-zA-Z-]+/)
18
15
  .skip(P.optWhitespace)
19
16
  .map((language) => ({ language })),
20
- content: () => P.regexp(/.+?(?=")/).wrap(P.string('"'), P.string('"')),
21
- number: () => P.digits.map(Number),
22
17
  // File Parsers
23
18
  fileLineNumber: () => P.string('L').then(P.digits).map(Number),
24
19
  fileLineRange: (p) => P.seqMap(P.string('#')
@@ -29,18 +24,18 @@ function parseCodeBlockParams(options) {
29
24
  .map((num) => num - 1)
30
25
  .map((fileLineStart) => ({ fileLineStart, fileLineEnd: fileLineStart + 1 })),
31
26
  lineParams: (p) => p['fileLineRange'].or(p['fileLineStart']).fallback({}),
32
- highlightedLinesRange: (p) => P.seqMap(p['number'].skip(P.string('-')), p['number'], (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
27
+ highlightedLinesRange: () => P.seqMap(helpers_1.number.skip(P.string('-')), helpers_1.number, (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
33
28
  // Main Parsers
34
29
  lineNumbers: () => P.string('lineNumbers').map(() => ({ lineNumbers: true })),
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),
30
+ filePath: () => (0, helpers_1.param)('file'),
31
+ name: () => (0, helpers_1.param)('name'),
32
+ group: () => (0, helpers_1.param)('group'),
33
+ fileName: () => (0, helpers_1.param)('fileName', 'name'),
34
+ icon: () => (0, helpers_1.param)('icon'),
40
35
  active: () => P.string('active').map(() => ({ active: true })),
41
36
  file: (p) => P.seq(p['filePath'], p['lineParams'].map(({ fileLineStart, fileLineEnd }) => ({ fileLineStart, fileLineEnd }))).map(([file, lineParams]) => (Object.assign(Object.assign({}, file), lineParams))),
42
37
  highlightedLines: (p) => p['highlightedLinesRange']
43
- .or(p['number'])
38
+ .or(helpers_1.number)
44
39
  .sepBy(P.string(',').then(P.optWhitespace))
45
40
  .wrap(P.string('{'), P.string('}'))
46
41
  .map((a) => Array.from(new Set(a.flat())))
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ import { NgDocSnippetConfig } from '../interfaces';
2
+ /**
3
+ *
4
+ * @param string - string to parse
5
+ */
6
+ export declare function parseSnippet(string: string): NgDocSnippetConfig | undefined;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseSnippet = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const P = tslib_1.__importStar(require("parsimmon"));
6
+ const helpers_1 = require("./helpers");
7
+ /**
8
+ *
9
+ * @param string - string to parse
10
+ */
11
+ function parseSnippet(string) {
12
+ const parser = P.createLanguage({
13
+ keyword: () => P.string('snippet'),
14
+ id: () => P.string('#').then(P.regexp(/[a-zA-Z0-9-]+/)).fallback(null).map((id) => ({ id })),
15
+ lang: () => P.string(':').then(P.regexp(/[a-zA-Z0-9-]+/)).fallback(undefined).map((lang) => ({ lang })),
16
+ icon: () => (0, helpers_1.param)('icon'),
17
+ title: () => (0, helpers_1.paramValue)().map((title) => ({ title })),
18
+ opened: () => P.string('opened').result(true).fallback(undefined).map((opened) => ({ opened })),
19
+ snippet: ({ keyword, id, lang, icon, title, opened }) => keyword.then(P.seq(id, lang, P.whitespace.then(title.or(icon).or(opened).sepBy(P.whitespace)).fallback([])).map(([id, lang, rest]) => (Object.assign(Object.assign(Object.assign({}, id), lang), Object.assign({}, ...rest))))),
20
+ snippetFromFile: ({ lang, icon, title, opened }) => P.seq((0, helpers_1.param)('snippet-from-file', 'fromFile'), lang, P.whitespace.then(title.or(icon).or(opened).sepBy(P.whitespace)).fallback([])).map(([id, lang, rest]) => (Object.assign(Object.assign(Object.assign({}, id), lang), Object.assign({}, ...rest)))),
21
+ anySnippet: ({ snippet, snippetFromFile }) => snippetFromFile.or(snippet),
22
+ });
23
+ const result = parser.anySnippet.parse(string);
24
+ return result.status ? result.value : undefined;
25
+ }
26
+ exports.parseSnippet = parseSnippet;
27
+ //# sourceMappingURL=parse-snippet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-snippet.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-snippet.ts"],"names":[],"mappings":"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"}