functional-examples 0.0.1 → 0.1.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 +63 -44
- package/README.md.template +28 -54
- package/dist/cli/commands/scan.d.ts +1 -1
- package/dist/cli/index.d.ts +2 -2
- package/dist/config/resolver.d.ts.map +1 -1
- package/dist/config/resolver.js +25 -2
- package/dist/config/resolver.js.map +1 -1
- package/dist/config/schema.d.ts +10 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +6 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/files/reader.d.ts +4 -20
- package/dist/files/reader.d.ts.map +1 -1
- package/dist/files/reader.js +6 -22
- package/dist/files/reader.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/pipeline.d.ts +2 -1
- package/dist/plugins/pipeline.d.ts.map +1 -1
- package/dist/plugins/pipeline.js +4 -3
- package/dist/plugins/pipeline.js.map +1 -1
- package/dist/regions/defaults.d.ts +11 -0
- package/dist/regions/defaults.d.ts.map +1 -0
- package/dist/regions/defaults.js +20 -0
- package/dist/regions/defaults.js.map +1 -0
- package/dist/regions/parser.d.ts +18 -56
- package/dist/regions/parser.d.ts.map +1 -1
- package/dist/regions/parser.js +81 -149
- package/dist/regions/parser.js.map +1 -1
- package/dist/scanner/scanner.d.ts.map +1 -1
- package/dist/scanner/scanner.js +14 -5
- package/dist/scanner/scanner.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/config/index.spec.d.ts.map +0 -1
- package/dist/config/index.spec.js +0 -142
- package/dist/config/index.spec.js.map +0 -1
- package/dist/extractors/loader.d.ts.map +0 -1
- package/dist/extractors/loader.js +0 -120
- package/dist/extractors/loader.js.map +0 -1
- package/dist/extractors/meta-yml-fn.d.ts.map +0 -1
- package/dist/extractors/meta-yml-fn.js +0 -66
- package/dist/extractors/meta-yml-fn.js.map +0 -1
- package/dist/extractors/meta-yml.d.ts.map +0 -1
- package/dist/extractors/meta-yml.js +0 -65
- package/dist/extractors/meta-yml.js.map +0 -1
- package/dist/extractors/registry.d.ts.map +0 -1
- package/dist/extractors/registry.js +0 -114
- package/dist/extractors/registry.js.map +0 -1
- package/dist/extractors/registry.spec.d.ts.map +0 -1
- package/dist/extractors/registry.spec.js +0 -102
- package/dist/extractors/registry.spec.js.map +0 -1
- package/dist/extractors/yaml-frontmatter-fn.d.ts.map +0 -1
- package/dist/extractors/yaml-frontmatter-fn.js +0 -73
- package/dist/extractors/yaml-frontmatter-fn.js.map +0 -1
- package/dist/extractors/yaml-frontmatter.d.ts.map +0 -1
- package/dist/extractors/yaml-frontmatter.js +0 -83
- package/dist/extractors/yaml-frontmatter.js.map +0 -1
- package/dist/extractors/yaml-frontmatter.spec.d.ts.map +0 -1
- package/dist/extractors/yaml-frontmatter.spec.js +0 -134
- package/dist/extractors/yaml-frontmatter.spec.js.map +0 -1
- package/dist/regions/index.d.ts +0 -7
- package/dist/regions/index.d.ts.map +0 -1
- package/dist/regions/index.js +0 -6
- package/dist/regions/index.js.map +0 -1
- package/dist/regions/languages.d.ts +0 -15
- package/dist/regions/languages.d.ts.map +0 -1
- package/dist/regions/languages.js +0 -182
- package/dist/regions/languages.js.map +0 -1
- package/dist/regions/parser.spec.d.ts.map +0 -1
- package/dist/regions/parser.spec.js +0 -190
- package/dist/regions/parser.spec.js.map +0 -1
- package/dist/regions/types.d.ts +0 -37
- package/dist/regions/types.d.ts.map +0 -1
- package/dist/regions/types.js +0 -5
- package/dist/regions/types.js.map +0 -1
- package/dist/scanner/scanner.spec.d.ts.map +0 -1
- package/dist/scanner/scanner.spec.js +0 -262
- package/dist/scanner/scanner.spec.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { RegionConfig } from '@functional-examples/devkit';
|
|
1
2
|
import type { FileContentsParser, FileParseContext } from '../types/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* Create the initial parse context for a file.
|
|
4
5
|
*/
|
|
5
|
-
export declare function createInitialContext(filePath: string,
|
|
6
|
+
export declare function createInitialContext(filePath: string, raw: string, regionConfig: Required<Pick<RegionConfig, 'startTag' | 'endTag'>>, parsed?: string): FileParseContext;
|
|
6
7
|
/**
|
|
7
8
|
* Run file content through a parser pipeline.
|
|
8
9
|
* Parsers execute in order, each receiving the output of the previous.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/plugins/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE9E;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/plugins/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE9E;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,EACjE,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CASlB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,kBAAkB,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAa3B"}
|
package/dist/plugins/pipeline.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Create the initial parse context for a file.
|
|
3
3
|
*/
|
|
4
|
-
export function createInitialContext(filePath,
|
|
4
|
+
export function createInitialContext(filePath, raw, regionConfig, parsed) {
|
|
5
5
|
return {
|
|
6
|
-
raw
|
|
7
|
-
parsed:
|
|
6
|
+
raw,
|
|
7
|
+
parsed: parsed ?? raw,
|
|
8
8
|
hunks: [],
|
|
9
9
|
metadata: {},
|
|
10
10
|
filePath,
|
|
11
|
+
regionConfig,
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/plugins/pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/plugins/pipeline.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,GAAW,EACX,YAAiE,EACjE,MAAe;IAEf,OAAO;QACL,GAAG;QACH,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyB,EACzB,OAA6B;IAE7B,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,GAAG;YACP,GAAG,MAAM;YACT,KAAK,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default region marker patterns for common file extensions.
|
|
3
|
+
*
|
|
4
|
+
* Each entry maps a file extension to an array of regex patterns (RegExp or string).
|
|
5
|
+
* `{token}` in the pattern source is substituted at parse time with the configured
|
|
6
|
+
* startTag or endTag. The single capturing group `([\w-]+)` captures the region ID.
|
|
7
|
+
*
|
|
8
|
+
* Multiple patterns per extension support multiple comment styles.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFAULT_REGION_EXTENSION_MAP: Record<string, (string | RegExp)[]>;
|
|
11
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/regions/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAO3E,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default region marker patterns for common file extensions.
|
|
3
|
+
*
|
|
4
|
+
* Each entry maps a file extension to an array of regex patterns (RegExp or string).
|
|
5
|
+
* `{token}` in the pattern source is substituted at parse time with the configured
|
|
6
|
+
* startTag or endTag. The single capturing group `([\w-]+)` captures the region ID.
|
|
7
|
+
*
|
|
8
|
+
* Multiple patterns per extension support multiple comment styles.
|
|
9
|
+
*/
|
|
10
|
+
// #region default-extension-map
|
|
11
|
+
// Shared pattern arrays, referenced by multiple extensions below.
|
|
12
|
+
const C_LINE_AND_BLOCK = [/^\s*\/\/\s*{token}\s+([\w-]+)\s*$/, /^\s*\/\*\s*{token}\s+([\w-]+)\s*\*\/\s*$/];
|
|
13
|
+
const C_LINE = [/^\s*\/\/\s*{token}\s+([\w-]+)\s*$/];
|
|
14
|
+
const HASH_LINE = [/^\s*#\s*{token}\s+([\w-]+)\s*$/];
|
|
15
|
+
const HTML_COMMENT = [/^\s*<!--\s*{token}\s+([\w-]+)\s*-->\s*$/];
|
|
16
|
+
const CSS_BLOCK = [/^\s*\/\*\s*{token}\s+([\w-]+)\s*\*\/\s*$/];
|
|
17
|
+
const DOUBLE_DASH = [/^\s*--\s*{token}\s+([\w-]+)\s*$/];
|
|
18
|
+
export const DEFAULT_REGION_EXTENSION_MAP = Object.fromEntries(['ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', 'mts', 'cts'].map(ext => [`.${ext}`, C_LINE_AND_BLOCK]).concat(['py', 'rb', 'sh', 'bash', 'zsh', 'fish', 'ps1'].map(ext => [`.${ext}`, HASH_LINE]), ['html', 'xml'].map(ext => [`.${ext}`, HTML_COMMENT]), ['css', 'scss'].map(ext => [`.${ext}`, CSS_BLOCK]), ['sql', 'lua'].map(ext => [`.${ext}`, DOUBLE_DASH]), ['go', 'rs', 'swift', 'cs'].map(ext => [`.${ext}`, C_LINE])));
|
|
19
|
+
// #endregion default-extension-map
|
|
20
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/regions/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gCAAgC;AAChC,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,CAAC,mCAAmC,EAAE,0CAA0C,CAAC,CAAC;AAC3G,MAAM,MAAM,GAAc,CAAC,mCAAmC,CAAC,CAAC;AAChE,MAAM,SAAS,GAAW,CAAC,gCAAgC,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAQ,CAAC,yCAAyC,CAAC,CAAC;AACtE,MAAM,SAAS,GAAW,CAAC,0CAA0C,CAAC,CAAC;AACvE,MAAM,WAAW,GAAS,CAAC,iCAAiC,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAwC,MAAM,CAAC,WAAW,CACjG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CACvG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,EACnF,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,EACrD,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,EAClD,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,EACnD,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAC5D,CAAC,CAAC;AACH,mCAAmC"}
|
package/dist/regions/parser.d.ts
CHANGED
|
@@ -1,63 +1,25 @@
|
|
|
1
|
+
import type { FileContentsParser, ParsedRegion } from '../types/index.js';
|
|
2
|
+
interface RegionParseResult {
|
|
3
|
+
hunks: ParsedRegion[];
|
|
4
|
+
parsed: string;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
|
-
*
|
|
3
|
-
*/
|
|
4
|
-
import type { RegionMap, RegionOptions } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Parse all #region/#endregion pairs from code.
|
|
7
|
-
* Supports nested regions and language-specific comment syntax.
|
|
8
|
-
*
|
|
9
|
-
* @param code - The source code to parse
|
|
10
|
-
* @param options - Options including file extension for language detection
|
|
11
|
-
* @returns Map of region IDs to their content
|
|
12
|
-
* @throws Error on unclosed or mismatched regions
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const regions = parseRegions(tsCode, { extension: 'ts' });
|
|
17
|
-
* const setupCode = regions['setup']?.content;
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export declare function parseRegions(code: string, options?: RegionOptions): RegionMap;
|
|
21
|
-
/**
|
|
22
|
-
* Extract a specific region's content by ID.
|
|
7
|
+
* Extract region hunks from file content using the provided extension map.
|
|
23
8
|
*
|
|
24
|
-
*
|
|
25
|
-
* @param regionId - The ID of the region to extract
|
|
26
|
-
* @param options - Options including file extension for language detection
|
|
27
|
-
* @returns The region's content
|
|
28
|
-
* @throws Error if region not found
|
|
9
|
+
* Not exported from barrel files — used directly in tests and by createGenericRegionParser.
|
|
29
10
|
*
|
|
30
|
-
* @
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
11
|
+
* @param content - File content to parse (should be post-frontmatter-strip if applicable)
|
|
12
|
+
* @param fileName - File name (used to derive extension for map lookup)
|
|
13
|
+
* @param extensionMap - Map of extension → array of regex pattern strings with {token}
|
|
14
|
+
* @param startTag - Token substituted for region start markers
|
|
15
|
+
* @param endTag - Token substituted for region end markers
|
|
16
|
+
* @returns Extracted hunks and content with region marker lines stripped
|
|
34
17
|
*/
|
|
35
|
-
export declare function
|
|
18
|
+
export declare function extractRegionFromFileContent(content: string, fileName: string, extensionMap: Record<string, (string | RegExp)[]>, startTag: string, endTag: string): RegionParseResult;
|
|
36
19
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @param code - The source code to clean
|
|
40
|
-
* @param options - Options including file extension for language detection
|
|
41
|
-
* @returns Code with all region markers removed
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* const cleanCode = stripRegionMarkers(code, { extension: 'ts' });
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export declare function stripRegionMarkers(code: string, options?: RegionOptions): string;
|
|
49
|
-
/**
|
|
50
|
-
* List all region IDs found in code.
|
|
51
|
-
*
|
|
52
|
-
* @param code - The source code to scan
|
|
53
|
-
* @param options - Options including file extension for language detection
|
|
54
|
-
* @returns Array of region IDs
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* const regionIds = listRegions(code, { extension: 'ts' });
|
|
59
|
-
* // ['setup', 'main', 'cleanup']
|
|
60
|
-
* ```
|
|
20
|
+
* Create a FileContentsParser that extracts region hunks for any extension
|
|
21
|
+
* present in the provided extension map. Used by the scanner for all files.
|
|
61
22
|
*/
|
|
62
|
-
export declare function
|
|
23
|
+
export declare function createGenericRegionParser(extensionMap: Record<string, (string | RegExp)[]>, startTag: string, endTag: string): FileContentsParser;
|
|
24
|
+
export {};
|
|
63
25
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/regions/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/regions/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAElB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAmCD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,iBAAiB,CAiEnB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAcpB"}
|
package/dist/regions/parser.js
CHANGED
|
@@ -1,175 +1,107 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Get the pattern source string from a string or RegExp entry.
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Create regex patterns for region markers based on comment syntax
|
|
7
|
-
*/
|
|
8
|
-
function createRegionPatterns(lineComment, blockComment) {
|
|
9
|
-
const patterns = [];
|
|
10
|
-
// Line comment pattern: // #region name
|
|
11
|
-
if (lineComment) {
|
|
12
|
-
const escaped = escapeRegex(lineComment);
|
|
13
|
-
patterns.push(`^\\s*${escaped}\\s*#region\\s+(\\S+)\\s*$`);
|
|
14
|
-
}
|
|
15
|
-
// Block comment pattern: <!-- #region name -->
|
|
16
|
-
if (blockComment) {
|
|
17
|
-
const [start, end] = blockComment.map(escapeRegex);
|
|
18
|
-
patterns.push(`^\\s*${start}\\s*#region\\s+(\\S+)\\s*${end}\\s*$`);
|
|
19
|
-
}
|
|
20
|
-
// Combine patterns
|
|
21
|
-
const startPattern = patterns.length > 0
|
|
22
|
-
? new RegExp(patterns.join('|'))
|
|
23
|
-
: /^\s*\/\/\s*#region\s+(\S+)\s*$/;
|
|
24
|
-
// Create end patterns similarly
|
|
25
|
-
const endPatterns = [];
|
|
26
|
-
if (lineComment) {
|
|
27
|
-
const escaped = escapeRegex(lineComment);
|
|
28
|
-
endPatterns.push(`^\\s*${escaped}\\s*#endregion\\s+(\\S+)\\s*$`);
|
|
29
|
-
}
|
|
30
|
-
if (blockComment) {
|
|
31
|
-
const [start, end] = blockComment.map(escapeRegex);
|
|
32
|
-
endPatterns.push(`^\\s*${start}\\s*#endregion\\s+(\\S+)\\s*${end}\\s*$`);
|
|
33
|
-
}
|
|
34
|
-
const endPattern = endPatterns.length > 0
|
|
35
|
-
? new RegExp(endPatterns.join('|'))
|
|
36
|
-
: /^\s*\/\/\s*#endregion\s+(\S+)\s*$/;
|
|
37
|
-
return { start: startPattern, end: endPattern };
|
|
5
|
+
function patternSource(pattern) {
|
|
6
|
+
return typeof pattern === 'string' ? pattern : pattern.source;
|
|
38
7
|
}
|
|
39
8
|
/**
|
|
40
|
-
*
|
|
9
|
+
* Build the start-pattern regex by substituting {token} with startTag.
|
|
41
10
|
*/
|
|
42
|
-
function
|
|
43
|
-
return
|
|
11
|
+
function buildStartRegex(pattern, startTag) {
|
|
12
|
+
return new RegExp(patternSource(pattern).replace('{token}', startTag));
|
|
44
13
|
}
|
|
45
14
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
15
|
+
* Build the end-pattern regex by substituting {token} with endTag and
|
|
16
|
+
* making the ID capture group optional (since `// #endregion` with no ID is valid).
|
|
17
|
+
* Supports both `\s+(\w+)` and `\s+([\w-]+)` style ID captures.
|
|
48
18
|
*/
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
throw new Error('No region ID captured');
|
|
19
|
+
function buildEndRegex(pattern, endTag) {
|
|
20
|
+
const withToken = patternSource(pattern).replace('{token}', endTag);
|
|
21
|
+
const withOptional = withToken
|
|
22
|
+
.replace('\\s+([\\w-]+)', '(?:\\s+([\\w-]+))?')
|
|
23
|
+
.replace('\\s+(\\w+)', '(?:\\s+(\\w+))?');
|
|
24
|
+
return new RegExp(withOptional);
|
|
57
25
|
}
|
|
58
26
|
/**
|
|
59
|
-
*
|
|
60
|
-
* Supports nested regions and language-specific comment syntax.
|
|
27
|
+
* Extract region hunks from file content using the provided extension map.
|
|
61
28
|
*
|
|
62
|
-
*
|
|
63
|
-
* @param options - Options including file extension for language detection
|
|
64
|
-
* @returns Map of region IDs to their content
|
|
65
|
-
* @throws Error on unclosed or mismatched regions
|
|
29
|
+
* Not exported from barrel files — used directly in tests and by createGenericRegionParser.
|
|
66
30
|
*
|
|
67
|
-
* @
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
31
|
+
* @param content - File content to parse (should be post-frontmatter-strip if applicable)
|
|
32
|
+
* @param fileName - File name (used to derive extension for map lookup)
|
|
33
|
+
* @param extensionMap - Map of extension → array of regex pattern strings with {token}
|
|
34
|
+
* @param startTag - Token substituted for region start markers
|
|
35
|
+
* @param endTag - Token substituted for region end markers
|
|
36
|
+
* @returns Extracted hunks and content with region marker lines stripped
|
|
72
37
|
*/
|
|
73
|
-
export function
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
38
|
+
export function extractRegionFromFileContent(content, fileName, extensionMap, startTag, endTag) {
|
|
39
|
+
const ext = path.extname(fileName);
|
|
40
|
+
const patterns = extensionMap[ext];
|
|
41
|
+
if (!patterns || patterns.length === 0) {
|
|
42
|
+
return { hunks: [], parsed: content };
|
|
43
|
+
}
|
|
44
|
+
const startRegexes = patterns.map((p) => buildStartRegex(p, startTag));
|
|
45
|
+
const endRegexes = patterns.map((p) => buildEndRegex(p, endTag));
|
|
46
|
+
const lines = content.split('\n');
|
|
47
|
+
const outputLines = [];
|
|
48
|
+
const hunks = [];
|
|
78
49
|
const stack = [];
|
|
79
50
|
for (let i = 0; i < lines.length; i++) {
|
|
80
51
|
const line = lines[i];
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
52
|
+
const lineNum = i + 1;
|
|
53
|
+
// Try each start pattern
|
|
54
|
+
let startId;
|
|
55
|
+
for (const regex of startRegexes) {
|
|
56
|
+
const m = line.match(regex);
|
|
57
|
+
if (m?.[1]) {
|
|
58
|
+
startId = m[1];
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (startId !== undefined) {
|
|
63
|
+
stack.push({ id: startId, startLine: lineNum, lines: [] });
|
|
64
|
+
continue; // strip marker line from output
|
|
86
65
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
66
|
+
// Try each end pattern
|
|
67
|
+
let isEndMarker = false;
|
|
68
|
+
for (const regex of endRegexes) {
|
|
69
|
+
if (regex.test(line)) {
|
|
70
|
+
isEndMarker = true;
|
|
71
|
+
break;
|
|
93
72
|
}
|
|
94
|
-
|
|
95
|
-
|
|
73
|
+
}
|
|
74
|
+
if (isEndMarker) {
|
|
75
|
+
const entry = stack.pop();
|
|
76
|
+
if (entry) {
|
|
77
|
+
hunks.push({
|
|
78
|
+
id: entry.id,
|
|
79
|
+
content: entry.lines.join('\n'),
|
|
80
|
+
startLine: entry.startLine,
|
|
81
|
+
endLine: lineNum,
|
|
82
|
+
});
|
|
96
83
|
}
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
endLine: i + 1,
|
|
104
|
-
content: content.trim(),
|
|
105
|
-
};
|
|
84
|
+
continue; // strip marker line from output
|
|
85
|
+
}
|
|
86
|
+
// Regular line — add to output and to any open regions
|
|
87
|
+
outputLines.push(line);
|
|
88
|
+
for (const entry of stack) {
|
|
89
|
+
entry.lines.push(line);
|
|
106
90
|
}
|
|
107
91
|
}
|
|
108
|
-
|
|
109
|
-
const unclosed = stack[stack.length - 1];
|
|
110
|
-
throw new Error(`Unclosed region '${unclosed.id}' starting at line ${unclosed.startLine}`);
|
|
111
|
-
}
|
|
112
|
-
return regions;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Extract a specific region's content by ID.
|
|
116
|
-
*
|
|
117
|
-
* @param code - The source code to parse
|
|
118
|
-
* @param regionId - The ID of the region to extract
|
|
119
|
-
* @param options - Options including file extension for language detection
|
|
120
|
-
* @returns The region's content
|
|
121
|
-
* @throws Error if region not found
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```typescript
|
|
125
|
-
* const setupCode = extractRegion(code, 'setup', { extension: 'py' });
|
|
126
|
-
* ```
|
|
127
|
-
*/
|
|
128
|
-
export function extractRegion(code, regionId, options = {}) {
|
|
129
|
-
const regions = parseRegions(code, options);
|
|
130
|
-
if (!(regionId in regions)) {
|
|
131
|
-
const available = Object.keys(regions);
|
|
132
|
-
const hint = available.length > 0
|
|
133
|
-
? ` Available regions: ${available.join(', ')}`
|
|
134
|
-
: ' No regions found in code.';
|
|
135
|
-
throw new Error(`Region '${regionId}' not found.${hint}`);
|
|
136
|
-
}
|
|
137
|
-
return regions[regionId].content;
|
|
92
|
+
return { hunks, parsed: outputLines.join('\n') };
|
|
138
93
|
}
|
|
139
94
|
/**
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* @param code - The source code to clean
|
|
143
|
-
* @param options - Options including file extension for language detection
|
|
144
|
-
* @returns Code with all region markers removed
|
|
145
|
-
*
|
|
146
|
-
* @example
|
|
147
|
-
* ```typescript
|
|
148
|
-
* const cleanCode = stripRegionMarkers(code, { extension: 'ts' });
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
export function stripRegionMarkers(code, options = {}) {
|
|
152
|
-
const config = getLanguageConfig(options.extension ?? 'ts');
|
|
153
|
-
const { start: REGION_START, end: REGION_END } = createRegionPatterns(config.lineComment, config.blockComment);
|
|
154
|
-
const lines = code.split('\n');
|
|
155
|
-
const filtered = lines.filter((line) => !REGION_START.test(line) && !REGION_END.test(line));
|
|
156
|
-
return filtered.join('\n');
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* List all region IDs found in code.
|
|
160
|
-
*
|
|
161
|
-
* @param code - The source code to scan
|
|
162
|
-
* @param options - Options including file extension for language detection
|
|
163
|
-
* @returns Array of region IDs
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* ```typescript
|
|
167
|
-
* const regionIds = listRegions(code, { extension: 'ts' });
|
|
168
|
-
* // ['setup', 'main', 'cleanup']
|
|
169
|
-
* ```
|
|
95
|
+
* Create a FileContentsParser that extracts region hunks for any extension
|
|
96
|
+
* present in the provided extension map. Used by the scanner for all files.
|
|
170
97
|
*/
|
|
171
|
-
export function
|
|
172
|
-
|
|
173
|
-
|
|
98
|
+
export function createGenericRegionParser(extensionMap, startTag, endTag) {
|
|
99
|
+
return {
|
|
100
|
+
name: 'core-region-parser',
|
|
101
|
+
parse(context) {
|
|
102
|
+
const { hunks, parsed } = extractRegionFromFileContent(context.parsed, context.filePath, extensionMap, startTag, endTag);
|
|
103
|
+
return { ...context, parsed, hunks };
|
|
104
|
+
},
|
|
105
|
+
};
|
|
174
106
|
}
|
|
175
107
|
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/regions/parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/regions/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAOL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAA6B,UAAU,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CA+NhC"}
|
package/dist/scanner/scanner.js
CHANGED
|
@@ -5,9 +5,10 @@ import { minimatch } from 'minimatch';
|
|
|
5
5
|
import * as fs from 'node:fs/promises';
|
|
6
6
|
import * as path from 'node:path';
|
|
7
7
|
import { createInitialContext, runParsePipeline } from '../plugins/pipeline.js';
|
|
8
|
+
import { createGenericRegionParser } from '../regions/parser.js';
|
|
8
9
|
import { validateExampleMetadata } from '../plugins/validation.js';
|
|
9
10
|
import { createSchemaValidator } from '../schema/validator.js';
|
|
10
|
-
import { DefaultMap, iter, } from '../types/index.js';
|
|
11
|
+
import { DefaultMap, iter, ScannedExample, } from '../types/index.js';
|
|
11
12
|
import { resolveCandidates } from './candidates.js';
|
|
12
13
|
/**
|
|
13
14
|
* Scan a directory for examples using the provided extractors.
|
|
@@ -73,7 +74,7 @@ export async function scanExamples(config) {
|
|
|
73
74
|
const filteredExamples = filterExamplesByConflicts(allExamples, unresolvedConflicts, resolvedConflicts);
|
|
74
75
|
// Step 5: No post-extraction filtering - include/exclude only affect candidate resolution
|
|
75
76
|
// Step 6: Convert to ScannedExample (compute displayPath)
|
|
76
|
-
const scannedExamples = filteredExamples.map((example) => ({
|
|
77
|
+
const scannedExamples = filteredExamples.map((example) => new ScannedExample({
|
|
77
78
|
...example,
|
|
78
79
|
displayPath: path.relative(root, example.rootPath) || '.',
|
|
79
80
|
metadata: example.metadata,
|
|
@@ -99,16 +100,24 @@ export async function scanExamples(config) {
|
|
|
99
100
|
addError(displayPath, 'conflict', `File claimed by multiple extractors: ${conflict.claimants.join(', ')}. Add a pathMapping to resolve.`);
|
|
100
101
|
}
|
|
101
102
|
// Step 8: Process file contents through parser pipelines
|
|
103
|
+
const regionConfig = {
|
|
104
|
+
startTag: config.region.startTag,
|
|
105
|
+
endTag: config.region.endTag,
|
|
106
|
+
};
|
|
107
|
+
const genericRegionParser = createGenericRegionParser(config.region.fileExtensionMap, config.region.startTag, config.region.endTag);
|
|
102
108
|
for (const example of scannedExamples) {
|
|
103
109
|
for (const file of example.files) {
|
|
104
110
|
const ext = path.extname(file.absolutePath);
|
|
105
|
-
const
|
|
111
|
+
const pluginParsers = registry.getParsersForExtension(ext);
|
|
112
|
+
const hasRegionPatterns = ext in config.region.fileExtensionMap;
|
|
113
|
+
const parsers = hasRegionPatterns
|
|
114
|
+
? [...pluginParsers, genericRegionParser]
|
|
115
|
+
: pluginParsers;
|
|
106
116
|
if (parsers.length > 0) {
|
|
107
|
-
// Load file content if not already loaded
|
|
108
117
|
if (file.raw === undefined) {
|
|
109
118
|
file.raw = await fs.readFile(file.absolutePath, 'utf-8');
|
|
110
119
|
}
|
|
111
|
-
const ctx = createInitialContext(file.absolutePath, file.raw);
|
|
120
|
+
const ctx = createInitialContext(file.absolutePath, file.raw, regionConfig, file.parsed);
|
|
112
121
|
const result = await runParsePipeline(ctx, parsers);
|
|
113
122
|
file.parsed = result.parsed;
|
|
114
123
|
file.hunks = result.hunks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/scanner/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,IAAI,
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/scanner/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,IAAI,EAMJ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiC;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,YAAY,GAAG,EAAE,EACjB,QAAQ,EACR,QAAQ,EAAE,cAAc,GACzB,GAAG,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACzD,MAAM,IAAI,GAAG,QAAQ,IAAI,UAAU,CAAC;IAEpC,mDAAmD;IACnD,0EAA0E;IAC1E,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,IAAI,EACJ,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACpC,OAAO,CACR,CAAC;IAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,wBAAwB;iBAClC;aACF;YACD,SAAS,EAAE,EAAE;YACb,KAAK,EAAE;gBACL,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,iBAAiB,EAAE,CAAC;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC;SACF,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CACpD,aAAa,EACb,UAAU,EACV;QACE,QAAQ,EAAE,IAAI;QACd,OAAO;KACR,CACF,CAAC;IAEF,2DAA2D;IAC3D,MAAM,YAAY,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAEzD,uCAAuC;IACvC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GACzD,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAErD,uDAAuD;IACvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,yBAAyB,CAChD,WAAW,EACX,mBAAmB,EACnB,iBAAiB,CAClB,CAAC;IAEF,0FAA0F;IAE1F,0DAA0D;IAC1D,MAAM,eAAe,GAAgC,gBAAgB,CAAC,GAAG,CACvE,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,cAAc,CAAC;QACjB,GAAG,OAAO;QACV,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG;QACzD,QAAQ,EAAE,OAAO,CAAC,QAAqB;KACxC,CAAC,CACL,CAAC;IAEF,kCAAkC;IAClC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,UAAU,CACjC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,CACjD,CAAC;IAEF,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;QACxE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,2BAA2B;IAC3B,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAClE,QAAQ,CACN,WAAW,EACX,UAAU,EACV,wCAAwC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAC7D,IAAI,CACL,iCAAiC,CACnC,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;KAC7B,CAAC;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CACnD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAChE,MAAM,OAAO,GAAG,iBAAiB;gBAC/B,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,mBAAmB,CAAC;gBACzC,CAAC,CAAC,aAAa,CAAC;YAElB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,GAAG,GAAG,oBAAoB,CAC9B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,EACR,YAAY,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IAC5D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;YAC/C,UAAU,EAAE,kBAAkB;YAC9B,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAmC;aAChD,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAE7D,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,QAAQ,CACN,OAAO,CAAC,WAAW,EACnB,iBAAiB,EACjB,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAC9C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,MAAM,GAAqB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CACtB,IAAI,CAAC,IAAI,CAAC;aACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,MAAM,MAAM,IAAI,CAAC,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC;KACd,CAAC,CAAC;SACF,OAAO,EAAE,CAAC;IACb,sEAAsE;IACtE,gCAAgC;IAChC,2DAA2D;IAC3D,oCAAoC;IACpC,gCAAgC;IAChC,kCAAkC;IAClC,QAAQ;IACR,MAAM;IACN,mEAAmE;IACnE,IAAI;IAEJ,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,MAAM;QACN,SAAS;QACT,KAAK,EAAE;YACL,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,aAAa,EAAE,eAAe,CAAC,MAAM;YACrC,iBAAiB,EAAE,SAAS,CAAC,MAAM;YACnC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM;YAC3C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,UAAkC,EAClC,UAAoB,EACpB,OAAiD;IAEjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sDAAsD;YACtD,OAAO;gBACL,QAAQ,EAAE,EAA0B;gBACpC,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO,CAAC,QAAQ;wBACtB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,aAClC,KAAe,CAAC,OACnB,EAAE;wBACF,KAAK,EAAE,KAAc;qBACtB;iBACF;gBACD,YAAY,EAAE,IAAI,GAAG,EAAU;gBAC/B,aAAa,EAAE,SAAS,CAAC,IAAI;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,OAAsE;IAEtE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACpC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,YAAmC,EACnC,YAA2B,EAC3B,IAAY;IAMZ,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAmB,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAmB,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;QACjD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAEpC,wDAAwD;QACxD,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,MAAM,QAAQ,GAAiB;wBAC7B,QAAQ;wBACR,SAAS;wBACT,UAAU,EAAE,cAAc;wBAC1B,MAAM,EAAE,OAAO,CAAC,SAAS;qBAC1B,CAAC;oBACF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjC,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,QAAQ,GAAiB;gBAC7B,QAAQ;gBACR,SAAS;gBACT,UAAU,EAAE,OAAO;aACpB,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAChC,QAA8B,EAC9B,mBAAmC,EACnC,iBAAiC;IAEjC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5E,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CACpC,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,yCAAyC;QACzC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Types are defined in @functional-examples/devkit and re-exported here
|
|
5
5
|
* for backwards compatibility.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export { ExampleFile, ScannedExample } from '@functional-examples/devkit';
|
|
8
|
+
export type { ValidationError, ValidationResult, BaseMetadata, ExampleMetadata, ExampleMetadataRegistry, ParsedRegion, Example, ExtractorError, ExtractorOptions, ExtractorResult, Extractor, ExtractorFactory, FileParseContext, FileContentsParser, Plugin, PluginReference, PluginCommands, PluginSchemas, PluginValidators, PluginRegistryInterface, PluginValidatorEntry, PluginSchemaEntry, Config, ConfigWithRoot, ScanConfig, PathMapping, ConfigValidationError, ResolvedConfig, JSONSchemaObject, GenerateConfig, ExtractorConfig, ExtractorReference, ExtractorConfigOrFunction, } from '@functional-examples/devkit';
|
|
8
9
|
export type { TypeGuard } from './guards.js';
|
|
9
10
|
export { DefaultMap } from './default-map.js';
|
|
10
11
|
export { asSettled, AsyncExtendedIterable, asyncIter, ExtendedIterable, iter, } from './extended-iterable.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,uBAAuB,EAGvB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG1E,YAAY,EAEV,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,uBAAuB,EAGvB,YAAY,EACZ,OAAO,EAGP,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,gBAAgB,EAGhB,gBAAgB,EAChB,kBAAkB,EAGlB,MAAM,EACN,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAGjB,MAAM,EACN,cAAc,EACd,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,wBAAwB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Types are defined in @functional-examples/devkit and re-exported here
|
|
5
5
|
* for backwards compatibility.
|
|
6
6
|
*/
|
|
7
|
+
// Re-export classes (value + type exports)
|
|
8
|
+
export { ExampleFile, ScannedExample } from '@functional-examples/devkit';
|
|
7
9
|
// Re-export utility classes (internal to core, NOT in devkit)
|
|
8
10
|
export { DefaultMap } from './default-map.js';
|
|
9
11
|
export { asSettled, AsyncExtendedIterable, asyncIter, ExtendedIterable, iter, } from './extended-iterable.js';
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAuD1E,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,wBAAwB,CAAC"}
|