@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.
- package/browser/index.js +2 -1
- package/browser/index.js.map +1 -1
- package/browser/schema.json +7 -1
- package/classes/observable-set.d.ts +1 -0
- package/classes/observable-set.js +4 -0
- package/classes/observable-set.js.map +1 -1
- package/dev-server/index.js +2 -1
- package/dev-server/index.js.map +1 -1
- package/dev-server/schema.json +7 -1
- package/engine/.cache/apps/ng-doc/docs/ng-doc.api.js +3 -8
- package/engine/.cache/apps/ng-doc/docs/recipes/ignoring-file-lines/ng-doc.page.js +41 -0
- package/engine/.cache/apps/ng-doc/docs/recipes/ng-doc.category.js +30 -0
- package/engine/actions/playground.action.js +2 -2
- package/engine/actions/playground.action.js.map +1 -1
- package/engine/build-ng-doc.js +10 -2
- package/engine/build-ng-doc.js.map +1 -1
- package/engine/builder-operators/build.d.ts +2 -3
- package/engine/builder-operators/build.js +8 -4
- package/engine/builder-operators/build.js.map +1 -1
- package/engine/builder-operators/compile.d.ts +1 -1
- package/engine/builder-operators/compile.js.map +1 -1
- package/engine/builder-operators/emit.d.ts +2 -2
- package/engine/builder-operators/emit.js.map +1 -1
- package/engine/builder-operators/post-build.d.ts +6 -0
- package/engine/builder-operators/post-build.js +23 -0
- package/engine/builder-operators/post-build.js.map +1 -0
- package/engine/builder-operators/post-process.d.ts +2 -2
- package/engine/builder-operators/post-process.js +4 -5
- package/engine/builder-operators/post-process.js.map +1 -1
- package/engine/builder-operators/task.d.ts +1 -1
- package/engine/builder-operators/task.js.map +1 -1
- package/engine/builder-operators/to-builder-output.d.ts +6 -0
- package/engine/builder-operators/to-builder-output.js +13 -0
- package/engine/builder-operators/to-builder-output.js.map +1 -0
- package/engine/entities/abstractions/entity.d.ts +11 -11
- package/engine/entities/abstractions/entity.js +2 -5
- package/engine/entities/abstractions/entity.js.map +1 -1
- package/engine/entities/abstractions/file.entity.d.ts +2 -2
- package/engine/entities/abstractions/file.entity.js.map +1 -1
- package/engine/entities/abstractions/module.entity.d.ts +1 -1
- package/engine/entities/abstractions/module.entity.js.map +1 -1
- package/engine/entities/abstractions/navigation.entity.d.ts +1 -1
- package/engine/entities/abstractions/navigation.entity.js.map +1 -1
- package/engine/entities/abstractions/route.entity.d.ts +3 -4
- package/engine/entities/abstractions/route.entity.js +2 -2
- package/engine/entities/abstractions/route.entity.js.map +1 -1
- package/engine/entities/api-list.entity.d.ts +20 -0
- package/engine/entities/api-list.entity.js +69 -0
- package/engine/entities/api-list.entity.js.map +1 -0
- package/engine/entities/api-page.entity.d.ts +2 -3
- package/engine/entities/api-page.entity.js +26 -28
- package/engine/entities/api-page.entity.js.map +1 -1
- package/engine/entities/api-scope.entity.d.ts +2 -3
- package/engine/entities/api-scope.entity.js +13 -7
- package/engine/entities/api-scope.entity.js.map +1 -1
- package/engine/entities/api.entity.d.ts +3 -4
- package/engine/entities/api.entity.js +26 -29
- package/engine/entities/api.entity.js.map +1 -1
- package/engine/entities/category.entity.d.ts +2 -3
- package/engine/entities/category.entity.js +11 -13
- package/engine/entities/category.entity.js.map +1 -1
- package/engine/entities/context.entity.d.ts +11 -0
- package/engine/entities/context.entity.js +34 -0
- package/engine/entities/context.entity.js.map +1 -0
- package/engine/entities/generated-module.entity.d.ts +12 -0
- package/engine/entities/generated-module.entity.js +52 -0
- package/engine/entities/generated-module.entity.js.map +1 -0
- package/engine/entities/index-file.entity.d.ts +12 -0
- package/engine/entities/index-file.entity.js +52 -0
- package/engine/entities/index-file.entity.js.map +1 -0
- package/engine/entities/index.d.ts +8 -1
- package/engine/entities/index.js +8 -1
- package/engine/entities/index.js.map +1 -1
- package/engine/entities/indexes.entity.d.ts +3 -4
- package/engine/entities/indexes.entity.js +12 -14
- package/engine/entities/indexes.entity.js.map +1 -1
- package/engine/entities/keywords.entity.d.ts +12 -0
- package/engine/entities/keywords.entity.js +32 -0
- package/engine/entities/keywords.entity.js.map +1 -0
- package/engine/entities/page-demo.entity.d.ts +20 -0
- package/engine/entities/page-demo.entity.js +87 -0
- package/engine/entities/page-demo.entity.js.map +1 -0
- package/engine/entities/page-playground.entity.d.ts +21 -0
- package/engine/entities/page-playground.entity.js +80 -0
- package/engine/entities/page-playground.entity.js.map +1 -0
- package/engine/entities/page.entity.d.ts +6 -18
- package/engine/entities/page.entity.js +39 -107
- package/engine/entities/page.entity.js.map +1 -1
- package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.d.ts +5 -0
- package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.js +20 -0
- package/engine/entities/plugins/entity-plugins/add-to-dependencies.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/apply.plugin.d.ts +26 -0
- package/engine/entities/plugins/entity-plugins/apply.plugin.js +65 -0
- package/engine/entities/plugins/entity-plugins/apply.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.d.ts +6 -0
- package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.js +23 -0
- package/engine/entities/plugins/entity-plugins/extract-snippets.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.d.ts +6 -0
- package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.js +27 -0
- package/engine/entities/plugins/entity-plugins/fill-indexes.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/index.d.ts +9 -0
- package/engine/entities/plugins/entity-plugins/index.js +13 -0
- package/engine/entities/plugins/entity-plugins/index.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.d.ts +5 -0
- package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.js +21 -0
- package/engine/entities/plugins/entity-plugins/markdown-to-html.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/post-process-html.plugin.d.ts +5 -0
- package/engine/entities/plugins/entity-plugins/post-process-html.plugin.js +18 -0
- package/engine/entities/plugins/entity-plugins/post-process-html.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/process-html.plugin.d.ts +5 -0
- package/engine/entities/plugins/entity-plugins/process-html.plugin.js +18 -0
- package/engine/entities/plugins/entity-plugins/process-html.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/remove-lines.plugin.d.ts +6 -0
- package/engine/entities/plugins/entity-plugins/remove-lines.plugin.js +23 -0
- package/engine/entities/plugins/entity-plugins/remove-lines.plugin.js.map +1 -0
- package/engine/entities/plugins/entity-plugins/wrap-code.plugin.d.ts +6 -0
- package/engine/entities/plugins/entity-plugins/wrap-code.plugin.js +21 -0
- package/engine/entities/plugins/entity-plugins/wrap-code.plugin.js.map +1 -0
- package/engine/entities/plugins/helpers/execute-plugins.d.ts +10 -0
- package/engine/entities/plugins/helpers/execute-plugins.js +18 -0
- package/engine/entities/plugins/helpers/execute-plugins.js.map +1 -0
- package/engine/entities/plugins/helpers/index.d.ts +1 -0
- package/engine/entities/plugins/helpers/index.js +5 -0
- package/engine/entities/plugins/helpers/index.js.map +1 -0
- package/engine/entities/plugins/index.d.ts +3 -0
- package/engine/entities/plugins/index.js +7 -0
- package/engine/entities/plugins/index.js.map +1 -0
- package/engine/entities/plugins/types/entity-plugin.d.ts +5 -0
- package/engine/entities/plugins/types/entity-plugin.js +3 -0
- package/engine/entities/plugins/types/entity-plugin.js.map +1 -0
- package/engine/entities/plugins/types/index.d.ts +1 -0
- package/engine/entities/plugins/types/index.js +5 -0
- package/engine/entities/plugins/types/index.js.map +1 -0
- package/engine/entities/routes.entity.d.ts +11 -0
- package/engine/entities/routes.entity.js +34 -0
- package/engine/entities/routes.entity.js.map +1 -0
- package/engine/entity-store.d.ts +1 -0
- package/engine/entity-store.js +3 -0
- package/engine/entity-store.js.map +1 -1
- package/engine/nunjucks/filters.d.ts +2 -2
- package/engine/nunjucks/filters.js +3 -2
- package/engine/nunjucks/filters.js.map +1 -1
- package/engine/variables.d.ts +1 -0
- package/engine/variables.js +1 -0
- package/engine/variables.js.map +1 -1
- package/helpers/angular/get-component-assets.d.ts +8 -0
- package/helpers/angular/get-component-assets.js +15 -0
- package/helpers/angular/get-component-assets.js.map +1 -0
- package/helpers/angular/get-component-source-files.d.ts +7 -0
- package/helpers/angular/get-component-source-files.js +23 -0
- package/helpers/angular/get-component-source-files.js.map +1 -0
- package/helpers/angular/index.d.ts +2 -0
- package/helpers/angular/index.js +2 -0
- package/helpers/angular/index.js.map +1 -1
- package/helpers/build-file-assets.d.ts +7 -0
- package/helpers/build-file-assets.js +25 -0
- package/helpers/build-file-assets.js.map +1 -0
- package/helpers/build-file-entity.js +14 -1
- package/helpers/build-file-entity.js.map +1 -1
- package/helpers/create-builder-context.d.ts +5 -5
- package/helpers/create-builder-context.js +6 -6
- package/helpers/create-builder-context.js.map +1 -1
- package/helpers/demo/assets-from-component-asset.d.ts +6 -0
- package/helpers/demo/assets-from-component-asset.js +14 -0
- package/helpers/demo/assets-from-component-asset.js.map +1 -0
- package/helpers/demo/index.d.ts +1 -0
- package/helpers/demo/index.js +5 -0
- package/helpers/demo/index.js.map +1 -0
- package/helpers/emit-built-output.d.ts +2 -2
- package/helpers/emit-built-output.js.map +1 -1
- package/helpers/entity-type.d.ts +1 -1
- package/helpers/extract-docs.js +4 -4
- package/helpers/extract-docs.js.map +1 -1
- package/helpers/format-code.d.ts +1 -1
- package/helpers/format-code.js +14 -3
- package/helpers/format-code.js.map +1 -1
- package/helpers/get-code-type-from-lang.d.ts +6 -0
- package/helpers/get-code-type-from-lang.js +31 -0
- package/helpers/get-code-type-from-lang.js.map +1 -0
- package/helpers/get-demo-class-declarations.d.ts +1 -1
- package/helpers/get-demo-class-declarations.js +18 -7
- package/helpers/get-demo-class-declarations.js.map +1 -1
- package/helpers/index.d.ts +7 -3
- package/helpers/index.js +7 -3
- package/helpers/index.js.map +1 -1
- package/helpers/load-config.d.ts +3 -2
- package/helpers/load-config.js +4 -3
- package/helpers/load-config.js.map +1 -1
- package/helpers/markdown-to-html.d.ts +10 -0
- package/helpers/{marked.js → markdown-to-html.js} +11 -8
- package/helpers/markdown-to-html.js.map +1 -0
- package/helpers/process-html.d.ts +3 -3
- package/helpers/process-html.js +14 -11
- package/helpers/process-html.js.map +1 -1
- package/helpers/process-legacy-snippets.d.ts +9 -0
- package/helpers/process-legacy-snippets.js +70 -0
- package/helpers/process-legacy-snippets.js.map +1 -0
- package/helpers/process-snippets.d.ts +5 -5
- package/helpers/process-snippets.js +63 -50
- package/helpers/process-snippets.js.map +1 -1
- package/helpers/remove-lines-from-code.d.ts +6 -0
- package/helpers/remove-lines-from-code.js +30 -0
- package/helpers/remove-lines-from-code.js.map +1 -0
- package/helpers/snippets-from-asset.d.ts +9 -0
- package/helpers/snippets-from-asset.js +26 -0
- package/helpers/snippets-from-asset.js.map +1 -0
- package/interfaces/asset.d.ts +5 -7
- package/interfaces/build-result.d.ts +10 -0
- package/{types/snippet-type.js → interfaces/build-result.js} +1 -1
- package/interfaces/build-result.js.map +1 -0
- package/interfaces/index.d.ts +3 -0
- package/interfaces/index.js +3 -0
- package/interfaces/index.js.map +1 -1
- package/interfaces/output.d.ts +1 -3
- package/interfaces/schema.d.ts +3 -0
- package/interfaces/snippet-config.d.ts +8 -0
- package/interfaces/snippet-config.js +3 -0
- package/interfaces/snippet-config.js.map +1 -0
- package/interfaces/snippet.d.ts +5 -4
- package/operators/error-handler.d.ts +1 -1
- package/package.json +6 -5
- package/parsers/helpers/index.d.ts +3 -0
- package/parsers/helpers/index.js +7 -0
- package/parsers/helpers/index.js.map +1 -0
- package/parsers/helpers/number.d.ts +2 -0
- package/parsers/helpers/number.js +7 -0
- package/parsers/helpers/number.js.map +1 -0
- package/parsers/helpers/param-value.d.ts +2 -0
- package/parsers/helpers/param-value.js +8 -0
- package/parsers/helpers/param-value.js.map +1 -0
- package/parsers/helpers/param.d.ts +7 -0
- package/parsers/helpers/param.js +19 -0
- package/parsers/helpers/param.js.map +1 -0
- package/parsers/parse-code-block-params.js +8 -13
- package/parsers/parse-code-block-params.js.map +1 -1
- package/parsers/parse-snippet.d.ts +6 -0
- package/parsers/parse-snippet.js +27 -0
- package/parsers/parse-snippet.js.map +1 -0
- package/schematics/category/files/ng-doc.category.ts.template +1 -1
- package/schematics/category/index.js +2 -1
- package/schematics/category/index.js.map +1 -1
- package/schematics/page/index.js +2 -1
- package/schematics/page/index.js.map +1 -1
- package/templates/demo-assets.ts.nunj +13 -4
- package/templates/page.module.ts.nunj +3 -2
- package/templates/parts/usage-notes.html.nunj +1 -1
- package/templates/playgrounds.ts.nunj +19 -9
- package/types/index.d.ts +0 -1
- package/types/index.js +0 -1
- package/types/index.js.map +1 -1
- package/engine/entities/skeleton.entity.d.ts +0 -16
- package/engine/entities/skeleton.entity.js +0 -44
- package/engine/entities/skeleton.entity.js.map +0 -1
- package/helpers/build-assets.d.ts +0 -10
- package/helpers/build-assets.js +0 -55
- package/helpers/build-assets.js.map +0 -1
- package/helpers/get-component-asset.d.ts +0 -10
- package/helpers/get-component-asset.js +0 -50
- package/helpers/get-component-asset.js.map +0 -1
- package/helpers/marked.d.ts +0 -9
- package/helpers/marked.js.map +0 -1
- package/types/snippet-type.d.ts +0 -1
- 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
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
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
|
-
*
|
|
15
|
+
* Process snippets from code
|
|
13
16
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @
|
|
17
|
+
* @param code - code to process
|
|
18
|
+
* @param basePath - base path to file
|
|
16
19
|
*/
|
|
17
|
-
function processSnippets(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 ((
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
|
70
|
+
return result;
|
|
53
71
|
}
|
|
72
|
+
exports.processSnippets = processSnippets;
|
|
54
73
|
/**
|
|
55
74
|
*
|
|
56
75
|
* @param code
|
|
57
76
|
*/
|
|
58
|
-
function
|
|
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":"
|
|
1
|
+
{"version":3,"file":"process-snippets.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/process-snippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/interfaces/asset.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-result.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/build-result.ts"],"names":[],"mappings":""}
|
package/interfaces/index.d.ts
CHANGED
|
@@ -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';
|
package/interfaces/index.js
CHANGED
|
@@ -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
|
package/interfaces/index.js.map
CHANGED
|
@@ -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"}
|
package/interfaces/output.d.ts
CHANGED
package/interfaces/schema.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet-config.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/snippet-config.ts"],"names":[],"mappings":""}
|
package/interfaces/snippet.d.ts
CHANGED
|
@@ -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<
|
|
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.
|
|
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
|
-
"@ng-doc/utils": "16.
|
|
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.
|
|
26
|
-
"cosmiconfig-typescript-loader": "
|
|
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,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,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,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,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: (
|
|
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: (
|
|
36
|
-
name: (
|
|
37
|
-
group: (
|
|
38
|
-
fileName: (
|
|
39
|
-
icon: (
|
|
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(
|
|
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":";;;;AAAA,qDAA+B;
|
|
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,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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"}
|