@fyuld/snitch 1.6.1 → 2.0.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/.snitchconfig.json +25 -135
- package/dist/SnitchConfigManager.d.ts +9 -0
- package/dist/SnitchConfigManager.d.ts.map +1 -0
- package/dist/SnitchConfigManager.js +112 -0
- package/dist/SnitchConfigManager.js.map +1 -0
- package/dist/commands/dm.d.ts.map +1 -1
- package/dist/commands/dm.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/nocomments.d.ts +2 -0
- package/dist/commands/nocomments.d.ts.map +1 -0
- package/dist/commands/nocomments.js +59 -0
- package/dist/commands/nocomments.js.map +1 -0
- package/dist/commands/scan-commands.d.ts +7 -0
- package/dist/commands/scan-commands.d.ts.map +1 -0
- package/dist/commands/scan-commands.js +28 -0
- package/dist/commands/scan-commands.js.map +1 -0
- package/dist/commands/scan.d.ts +1 -1
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +170 -103
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/vocab.d.ts.map +1 -1
- package/dist/commands/vocab.js.map +1 -1
- package/dist/common/fs.d.ts +1 -0
- package/dist/common/fs.d.ts.map +1 -0
- package/dist/common/fs.js +2 -0
- package/dist/common/fs.js.map +1 -0
- package/dist/common/index.d.ts +2 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +18 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/json.d.ts +21 -0
- package/dist/common/json.d.ts.map +1 -0
- package/dist/common/json.js +41 -0
- package/dist/common/json.js.map +1 -0
- package/dist/common/strings.d.ts +8 -0
- package/dist/common/strings.d.ts.map +1 -0
- package/dist/common/strings.js +15 -0
- package/dist/common/strings.js.map +1 -0
- package/dist/config/policy-loader.d.ts +4 -0
- package/dist/config/policy-loader.d.ts.map +1 -0
- package/dist/config/policy-loader.js +21 -0
- package/dist/config/policy-loader.js.map +1 -0
- package/dist/datamodel/commands.d.ts +25 -0
- package/dist/datamodel/commands.d.ts.map +1 -0
- package/dist/datamodel/commands.js +31 -0
- package/dist/datamodel/commands.js.map +1 -0
- package/dist/datamodel/common.d.ts +11 -0
- package/dist/datamodel/common.d.ts.map +1 -0
- package/dist/datamodel/common.js +3 -0
- package/dist/datamodel/common.js.map +1 -0
- package/dist/datamodel/errors.d.ts +16 -0
- package/dist/datamodel/errors.d.ts.map +1 -0
- package/dist/datamodel/errors.js +51 -0
- package/dist/datamodel/errors.js.map +1 -0
- package/dist/datamodel/index.d.ts +9 -0
- package/dist/datamodel/index.d.ts.map +1 -0
- package/dist/datamodel/index.js +25 -0
- package/dist/datamodel/index.js.map +1 -0
- package/dist/datamodel/internal-configs.d.ts +14 -0
- package/dist/datamodel/internal-configs.d.ts.map +1 -0
- package/dist/datamodel/internal-configs.js +3 -0
- package/dist/datamodel/internal-configs.js.map +1 -0
- package/dist/datamodel/public-configs.d.ts +27 -0
- package/dist/datamodel/public-configs.d.ts.map +1 -0
- package/dist/datamodel/public-configs.js +3 -0
- package/dist/datamodel/public-configs.js.map +1 -0
- package/dist/datamodel/snitch-configuration.d.ts +16 -0
- package/dist/datamodel/snitch-configuration.d.ts.map +1 -0
- package/dist/datamodel/snitch-configuration.js +32 -0
- package/dist/datamodel/snitch-configuration.js.map +1 -0
- package/dist/datamodel/typeguards.d.ts +3 -0
- package/dist/datamodel/typeguards.d.ts.map +1 -0
- package/dist/datamodel/typeguards.js +7 -0
- package/dist/datamodel/typeguards.js.map +1 -0
- package/dist/datamodel/typescript-specific.d.ts +7 -0
- package/dist/datamodel/typescript-specific.d.ts.map +1 -0
- package/dist/datamodel/typescript-specific.js +11 -0
- package/dist/datamodel/typescript-specific.js.map +1 -0
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -11
- package/dist/index.js.map +1 -1
- package/dist/reporting/violation-reporter.d.ts +4 -0
- package/dist/reporting/violation-reporter.d.ts.map +1 -0
- package/dist/reporting/violation-reporter.js +45 -0
- package/dist/reporting/violation-reporter.js.map +1 -0
- package/dist/rules/policies/code-should-have-declarations.d.ts +3 -0
- package/dist/rules/policies/code-should-have-declarations.d.ts.map +1 -0
- package/dist/rules/policies/code-should-have-declarations.js +15 -0
- package/dist/rules/policies/code-should-have-declarations.js.map +1 -0
- package/dist/rules/policies/keep-tests-clean.d.ts +3 -0
- package/dist/rules/policies/keep-tests-clean.d.ts.map +1 -0
- package/dist/rules/policies/keep-tests-clean.js +21 -0
- package/dist/rules/policies/keep-tests-clean.js.map +1 -0
- package/dist/rules/policies/no-vars.d.ts +3 -0
- package/dist/rules/policies/no-vars.d.ts.map +1 -0
- package/dist/rules/policies/no-vars.js +19 -0
- package/dist/rules/policies/no-vars.js.map +1 -0
- package/dist/rules/policy-executor.d.ts +5 -0
- package/dist/rules/policy-executor.d.ts.map +1 -0
- package/dist/rules/policy-executor.js +10 -0
- package/dist/rules/policy-executor.js.map +1 -0
- package/dist/rules/policy.d.ts +7 -0
- package/dist/rules/policy.d.ts.map +1 -0
- package/dist/rules/policy.js +3 -0
- package/dist/rules/policy.js.map +1 -0
- package/dist/rules/provider-executor.d.ts +5 -0
- package/dist/rules/provider-executor.d.ts.map +1 -0
- package/dist/rules/provider-executor.js +105 -0
- package/dist/rules/provider-executor.js.map +1 -0
- package/dist/rules/provider.d.ts +26 -0
- package/dist/rules/provider.d.ts.map +1 -0
- package/dist/rules/provider.js +3 -0
- package/dist/rules/provider.js.map +1 -0
- package/dist/rules/providers/filter-by-declaration-type-provider.d.ts +8 -0
- package/dist/rules/providers/filter-by-declaration-type-provider.d.ts.map +1 -0
- package/dist/rules/providers/filter-by-declaration-type-provider.js +15 -0
- package/dist/rules/providers/filter-by-declaration-type-provider.js.map +1 -0
- package/dist/rules/providers/filter-by-file-provider.d.ts +8 -0
- package/dist/rules/providers/filter-by-file-provider.d.ts.map +1 -0
- package/dist/rules/providers/filter-by-file-provider.js +16 -0
- package/dist/rules/providers/filter-by-file-provider.js.map +1 -0
- package/dist/rules/providers/filter-exclude-function-names-provider.d.ts +8 -0
- package/dist/rules/providers/filter-exclude-function-names-provider.d.ts.map +1 -0
- package/dist/rules/providers/filter-exclude-function-names-provider.js +15 -0
- package/dist/rules/providers/filter-exclude-function-names-provider.js.map +1 -0
- package/dist/rules/providers/filter-has-literal-arguments-provider.d.ts +8 -0
- package/dist/rules/providers/filter-has-literal-arguments-provider.d.ts.map +1 -0
- package/dist/rules/providers/filter-has-literal-arguments-provider.js +26 -0
- package/dist/rules/providers/filter-has-literal-arguments-provider.js.map +1 -0
- package/dist/rules/providers/identity-provider.d.ts +8 -0
- package/dist/rules/providers/identity-provider.d.ts.map +1 -0
- package/dist/rules/providers/identity-provider.js +30 -0
- package/dist/rules/providers/identity-provider.js.map +1 -0
- package/dist/rules/violation-rule.d.ts +7 -0
- package/dist/rules/violation-rule.d.ts.map +1 -0
- package/dist/rules/violation-rule.js +3 -0
- package/dist/rules/violation-rule.js.map +1 -0
- package/dist/rules/violation.d.ts +12 -0
- package/dist/rules/violation.d.ts.map +1 -0
- package/dist/rules/violation.js +3 -0
- package/dist/rules/violation.js.map +1 -0
- package/dist/snitch.js +97 -44
- package/dist/snitch.js.map +1 -1
- package/dist/snitch.old.d.ts +3 -0
- package/dist/snitch.old.d.ts.map +1 -0
- package/dist/snitch.old.js +71 -0
- package/dist/snitch.old.js.map +1 -0
- package/dist/utils/AstAnalysis.d.ts +28 -0
- package/dist/utils/AstAnalysis.d.ts.map +1 -0
- package/dist/utils/AstAnalysis.js +117 -0
- package/dist/utils/AstAnalysis.js.map +1 -0
- package/dist/utils/ast-parser.d.ts +68 -0
- package/dist/utils/ast-parser.d.ts.map +1 -0
- package/dist/utils/ast-parser.js +364 -0
- package/dist/utils/ast-parser.js.map +1 -0
- package/dist/utils/fs.d.ts +8 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +93 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/pattern-scanner.d.ts +5 -21
- package/dist/utils/pattern-scanner.d.ts.map +1 -1
- package/dist/utils/pattern-scanner.js +13 -17
- package/dist/utils/pattern-scanner.js.map +1 -1
- package/dist/utils/ts-parser.d.ts.map +1 -1
- package/dist/utils/ts-parser.js +5 -12
- package/dist/utils/ts-parser.js.map +1 -1
- package/package.json +13 -6
- package/snitchconfig.schema.json +107 -51
- package/dist/commands/badimports.d.ts +0 -2
- package/dist/commands/badimports.d.ts.map +0 -1
- package/dist/commands/badimports.js +0 -8
- package/dist/commands/badimports.js.map +0 -1
- package/dist/commands/dirtydefaults.d.ts +0 -2
- package/dist/commands/dirtydefaults.d.ts.map +0 -1
- package/dist/commands/dirtydefaults.js +0 -8
- package/dist/commands/dirtydefaults.js.map +0 -1
- package/dist/commands/enumerate.d.ts +0 -2
- package/dist/commands/enumerate.d.ts.map +0 -1
- package/dist/commands/enumerate.js +0 -8
- package/dist/commands/enumerate.js.map +0 -1
- package/dist/commands/expectmagic.d.ts +0 -2
- package/dist/commands/expectmagic.d.ts.map +0 -1
- package/dist/commands/expectmagic.js +0 -8
- package/dist/commands/expectmagic.js.map +0 -1
- package/dist/commands/fixtures.d.ts +0 -2
- package/dist/commands/fixtures.d.ts.map +0 -1
- package/dist/commands/fixtures.js +0 -8
- package/dist/commands/fixtures.js.map +0 -1
- package/dist/datamodel.d.ts +0 -18
- package/dist/datamodel.d.ts.map +0 -1
- package/dist/datamodel.js +0 -23
- package/dist/datamodel.js.map +0 -1
package/dist/commands/scan.js
CHANGED
|
@@ -1,108 +1,175 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
// import * as path from 'path'
|
|
3
|
+
// import * as fs from 'fs'
|
|
4
|
+
// import {
|
|
5
|
+
// scanFiles,
|
|
6
|
+
// findViolations,
|
|
7
|
+
// printReport,
|
|
8
|
+
// FILE_FILTERS,
|
|
9
|
+
// } from '../utils/pattern-scanner'
|
|
10
|
+
// import {
|
|
11
|
+
// PublicScanConfig,
|
|
12
|
+
// PublicViolationRule,
|
|
13
|
+
// NoCommentsScanConfig,
|
|
14
|
+
// } from '../datamodel/public-configs'
|
|
15
|
+
// import { InternalScanConfig } from '../datamodel/internal-configs'
|
|
16
|
+
// import { isNoCommentsScanConfig } from '../datamodel/typeguards'
|
|
17
|
+
// import { SnitchConfiguration } from '../datamodel'
|
|
18
|
+
// import { SnitchConfigManager } from '../SnitchConfigManager'
|
|
35
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
20
|
exports.scanCommand = scanCommand;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
21
|
+
// function translateAsIsConfig(
|
|
22
|
+
// config: PublicScanConfig
|
|
23
|
+
// ): InternalScanConfig {
|
|
24
|
+
// return {
|
|
25
|
+
// description: config.description,
|
|
26
|
+
// fileFilter: config.fileFilter,
|
|
27
|
+
// violations: config.violations.map(
|
|
28
|
+
// (rule: PublicViolationRule) => ({
|
|
29
|
+
// message: rule.message,
|
|
30
|
+
// regexes: rule.regexes || [],
|
|
31
|
+
// recommendation: rule.recommendation,
|
|
32
|
+
// })
|
|
33
|
+
// ),
|
|
34
|
+
// }
|
|
35
|
+
// }
|
|
36
|
+
// function translateNoCommentsConfig(
|
|
37
|
+
// config: NoCommentsScanConfig
|
|
38
|
+
// ): InternalScanConfig {
|
|
39
|
+
// const escapedApologies = config.acceptedApologies.map(
|
|
40
|
+
// (apology) =>
|
|
41
|
+
// apology.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
|
42
|
+
// )
|
|
43
|
+
// const negativeApologiesPattern =
|
|
44
|
+
// escapedApologies.join('|')
|
|
45
|
+
// return {
|
|
46
|
+
// description: config.description,
|
|
47
|
+
// fileFilter: config.fileFilter,
|
|
48
|
+
// violations: config.violations.map((rule) => ({
|
|
49
|
+
// message: rule.message,
|
|
50
|
+
// regexes: [
|
|
51
|
+
// `//(?!\\s*(${negativeApologiesPattern})).*`,
|
|
52
|
+
// ],
|
|
53
|
+
// recommendation: rule.recommendation,
|
|
54
|
+
// })),
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
// function translateConfig(
|
|
58
|
+
// config: PublicScanConfig
|
|
59
|
+
// ): InternalScanConfig {
|
|
60
|
+
// if (isNoCommentsScanConfig(config)) {
|
|
61
|
+
// return translateNoCommentsConfig(config)
|
|
62
|
+
// }
|
|
63
|
+
// return translateAsIsConfig(config)
|
|
64
|
+
// }
|
|
65
|
+
// async function runScan(
|
|
66
|
+
// scanName: string,
|
|
67
|
+
// scanDef: PublicScanConfig,
|
|
68
|
+
// absolutePath: string
|
|
69
|
+
// ): Promise<void> {
|
|
70
|
+
// const translatedConfig = translateConfig(scanDef)
|
|
71
|
+
// const fileFilter =
|
|
72
|
+
// FILE_FILTERS[
|
|
73
|
+
// translatedConfig.fileFilter as keyof typeof FILE_FILTERS
|
|
74
|
+
// ]
|
|
75
|
+
// if (!fileFilter) {
|
|
76
|
+
// throw new Error(
|
|
77
|
+
// `Invalid file filter: ${translatedConfig.fileFilter}\nAvailable filters: ${Object.keys(FILE_FILTERS).join(', ')}`
|
|
78
|
+
// )
|
|
79
|
+
// }
|
|
80
|
+
// console.log(`Running scan: ${scanName}`)
|
|
81
|
+
// console.log(`Scanning directory: ${absolutePath}\n`)
|
|
82
|
+
// const files = scanFiles(absolutePath, fileFilter)
|
|
83
|
+
// const violations = findViolations(files, {
|
|
84
|
+
// violations: translatedConfig.violations,
|
|
85
|
+
// })
|
|
86
|
+
// printReport(violations, `${scanName} violations report`)
|
|
87
|
+
// }
|
|
88
|
+
// async function executeCommand(
|
|
89
|
+
// commandName: string,
|
|
90
|
+
// config: SnitchConfiguration,
|
|
91
|
+
// absolutePath: string,
|
|
92
|
+
// visited: Set<string> = new Set()
|
|
93
|
+
// ): Promise<void> {
|
|
94
|
+
// if (visited.has(commandName)) {
|
|
95
|
+
// throw new Error(
|
|
96
|
+
// `Circular dependency detected: ${commandName}`
|
|
97
|
+
// )
|
|
98
|
+
// }
|
|
99
|
+
// visited.add(commandName)
|
|
100
|
+
// const commandDef = config.commands[commandName]
|
|
101
|
+
// if (!commandDef) {
|
|
102
|
+
// throw new Error(
|
|
103
|
+
// `Command '${commandName}' not found in config.\nAvailable commands: ${Object.keys(config.commands).join(', ')}`
|
|
104
|
+
// )
|
|
105
|
+
// }
|
|
106
|
+
// if (Array.isArray(commandDef)) {
|
|
107
|
+
// console.log(
|
|
108
|
+
// `\nExecuting composite command: ${commandName}`
|
|
109
|
+
// )
|
|
110
|
+
// console.log(
|
|
111
|
+
// `Running commands: ${commandDef.join(', ')}\n`
|
|
112
|
+
// )
|
|
113
|
+
// for (const subCommand of commandDef) {
|
|
114
|
+
// await executeCommand(
|
|
115
|
+
// subCommand,
|
|
116
|
+
// config,
|
|
117
|
+
// absolutePath,
|
|
118
|
+
// visited
|
|
119
|
+
// )
|
|
120
|
+
// }
|
|
121
|
+
// } else {
|
|
122
|
+
// await runScan(commandName, commandDef, absolutePath)
|
|
123
|
+
// }
|
|
124
|
+
// }
|
|
125
|
+
// export async function scanCommand(commandName: string): Promise<void> {
|
|
126
|
+
// if (!commandName) {
|
|
127
|
+
// console.error('Error: Command name is required')
|
|
128
|
+
// console.log(
|
|
129
|
+
// '\nUsage: snitch scan <command-name> [directory]'
|
|
130
|
+
// )
|
|
131
|
+
// console.log('\nAvailable commands:')
|
|
132
|
+
// const configPath = path.resolve('.snitchconfig.json')
|
|
133
|
+
// if (fs.existsSync(configPath)) {
|
|
134
|
+
// const config: SnitchConfig = JSON.parse(
|
|
135
|
+
// fs.readFileSync(configPath, 'utf-8')
|
|
136
|
+
// )
|
|
137
|
+
// for (const [name, cmd] of Object.entries(
|
|
138
|
+
// config.commands
|
|
139
|
+
// )) {
|
|
140
|
+
// if (Array.isArray(cmd)) {
|
|
141
|
+
// console.log(
|
|
142
|
+
// ` ${name} - [Composite: ${cmd.join(', ')}]`
|
|
143
|
+
// )
|
|
144
|
+
// } else {
|
|
145
|
+
// console.log(` ${name} - ${cmd.description}`)
|
|
146
|
+
// }
|
|
147
|
+
// }
|
|
148
|
+
// }
|
|
149
|
+
// process.exit(1)
|
|
150
|
+
// }
|
|
151
|
+
// const configPath = path.resolve('.snitchconfig.json')
|
|
152
|
+
// if (!fs.existsSync(configPath)) {
|
|
153
|
+
// throw new Error(
|
|
154
|
+
// `Config file not found: ${configPath}\nPlease create .snitchconfig.json in your project root.`
|
|
155
|
+
// )
|
|
156
|
+
// }
|
|
157
|
+
// const config: SnitchConfig = JSON.parse(
|
|
158
|
+
// fs.readFileSync(configPath, 'utf-8')
|
|
159
|
+
// )
|
|
160
|
+
// if (!config.sourceDirectory) {
|
|
161
|
+
// throw new Error('sourceDirectory must be defined in .snitchconfig.json')
|
|
162
|
+
// }
|
|
163
|
+
// const absolutePath = path.resolve(config.sourceDirectory)
|
|
164
|
+
// if (!fs.existsSync(absolutePath)) {
|
|
165
|
+
// throw new Error(`Directory not found: ${absolutePath}`)
|
|
166
|
+
// }
|
|
167
|
+
// if (!fs.statSync(absolutePath).isDirectory()) {
|
|
168
|
+
// throw new Error(`Not a directory: ${absolutePath}`)
|
|
169
|
+
// }
|
|
170
|
+
// await executeCommand(commandName, config, absolutePath)
|
|
171
|
+
// }
|
|
172
|
+
async function scanCommand(_commandName) {
|
|
173
|
+
throw new Error('scanCommand temporarily disabled during refactoring');
|
|
107
174
|
}
|
|
108
175
|
//# sourceMappingURL=scan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocab.d.ts","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vocab.d.ts","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,eAAe,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocab.js","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"vocab.js","sourceRoot":"","sources":["../../src/commands/vocab.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/common/fs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/common/fs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./strings"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { JSONSchemaType as AjvJSONSchemaType } from 'ajv';
|
|
2
|
+
import { ErrorTag, FyuldError } from '@fyuld/errors';
|
|
3
|
+
/**
|
|
4
|
+
* JSON Schema type definition for validation.
|
|
5
|
+
* This is a wrapper around the underlying validation library's schema type.
|
|
6
|
+
*/
|
|
7
|
+
export type JsonSchema<T> = AjvJSONSchemaType<T>;
|
|
8
|
+
/**
|
|
9
|
+
* Validates a raw JSON object against a schema.
|
|
10
|
+
* @param raw - The raw JSON object to validate
|
|
11
|
+
* @param schema - The JSON schema to validate against
|
|
12
|
+
* @returns The validated and typed object
|
|
13
|
+
* @throws JsonValidationError if validation fails
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateJson<T>(raw: unknown, schema: JsonSchema<T>): T;
|
|
16
|
+
export declare class JsonValidationError extends FyuldError {
|
|
17
|
+
static validationFailed(validationErrors: string[]): JsonValidationError;
|
|
18
|
+
constructor(message: string, causes?: string[], tags?: ErrorTag[]);
|
|
19
|
+
get causes(): string[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/common/json.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAEhD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CActE;AAED,qBAAa,mBAAoB,SAAQ,UAAU;WACnC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE;gBAI7C,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,EAAE,IAAI,GAAE,QAAQ,EAAO;IAIzE,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.JsonValidationError = void 0;
|
|
7
|
+
exports.validateJson = validateJson;
|
|
8
|
+
const ajv_1 = __importDefault(require("ajv"));
|
|
9
|
+
const errors_1 = require("@fyuld/errors");
|
|
10
|
+
/**
|
|
11
|
+
* Validates a raw JSON object against a schema.
|
|
12
|
+
* @param raw - The raw JSON object to validate
|
|
13
|
+
* @param schema - The JSON schema to validate against
|
|
14
|
+
* @returns The validated and typed object
|
|
15
|
+
* @throws JsonValidationError if validation fails
|
|
16
|
+
*/
|
|
17
|
+
function validateJson(raw, schema) {
|
|
18
|
+
const ajv = new ajv_1.default({ allErrors: true });
|
|
19
|
+
const validate = ajv.compile(schema);
|
|
20
|
+
if (!validate(raw)) {
|
|
21
|
+
if (!validate.errors) {
|
|
22
|
+
throw new Error('Validation failed but no errors were provided');
|
|
23
|
+
}
|
|
24
|
+
const validationErrors = validate.errors.map((err) => `${err.instancePath} ${err.message}`);
|
|
25
|
+
throw JsonValidationError.validationFailed(validationErrors);
|
|
26
|
+
}
|
|
27
|
+
return raw;
|
|
28
|
+
}
|
|
29
|
+
class JsonValidationError extends errors_1.FyuldError {
|
|
30
|
+
static validationFailed(validationErrors) {
|
|
31
|
+
return new JsonValidationError('JSON validation failed', validationErrors, [errors_1.ErrorTag.Validation, errors_1.ErrorTag.Json]);
|
|
32
|
+
}
|
|
33
|
+
constructor(message, causes = [], tags = []) {
|
|
34
|
+
super(message, causes, tags);
|
|
35
|
+
}
|
|
36
|
+
get causes() {
|
|
37
|
+
return this._causes;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.JsonValidationError = JsonValidationError;
|
|
41
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/common/json.ts"],"names":[],"mappings":";;;;;;AAgBA,oCAcC;AA9BD,8CAA8D;AAC9D,0CAAoD;AAQpD;;;;;;GAMG;AACH,SAAgB,YAAY,CAAI,GAAY,EAAE,MAAqB;IACjE,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3F,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAa,mBAAoB,SAAQ,mBAAU;IAC1C,MAAM,CAAC,gBAAgB,CAAC,gBAA0B;QACvD,OAAO,IAAI,mBAAmB,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,CAAC,iBAAQ,CAAC,UAAU,EAAE,iBAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAClH,CAAC;IAED,YAAY,OAAe,EAAE,SAAmB,EAAE,EAAE,OAAmB,EAAE;QACvE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAZD,kDAYC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare enum Strings {
|
|
2
|
+
Empty = "",
|
|
3
|
+
Numbers = "0123456789",
|
|
4
|
+
EnglishAlphabetLowercase = "abcdefghijklmnopqrstuvwxyz",
|
|
5
|
+
EnglishAlphabetUppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
6
|
+
}
|
|
7
|
+
export declare function isNotEmptyString(candidate: any): boolean;
|
|
8
|
+
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/common/strings.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO;IACjB,KAAK,KAAK;IACV,OAAO,eAAe;IACtB,wBAAwB,+BAA+B;IACvD,wBAAwB,+BAA+B;CACxD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAExD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Strings = void 0;
|
|
4
|
+
exports.isNotEmptyString = isNotEmptyString;
|
|
5
|
+
var Strings;
|
|
6
|
+
(function (Strings) {
|
|
7
|
+
Strings["Empty"] = "";
|
|
8
|
+
Strings["Numbers"] = "0123456789";
|
|
9
|
+
Strings["EnglishAlphabetLowercase"] = "abcdefghijklmnopqrstuvwxyz";
|
|
10
|
+
Strings["EnglishAlphabetUppercase"] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
11
|
+
})(Strings || (exports.Strings = Strings = {}));
|
|
12
|
+
function isNotEmptyString(candidate) {
|
|
13
|
+
return typeof candidate !== 'string' && candidate.length > 0;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/common/strings.ts"],"names":[],"mappings":";;;AAOA,4CAEC;AATD,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,qBAAU,CAAA;IACV,iCAAsB,CAAA;IACtB,kEAAuD,CAAA;IACvD,kEAAuD,CAAA;AACzD,CAAC,EALW,OAAO,uBAAP,OAAO,QAKlB;AAED,SAAgB,gBAAgB,CAAC,SAAc;IAC7C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;AAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-loader.d.ts","sourceRoot":"","sources":["../../src/config/policy-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAgB,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAErF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAY5E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadPoliciesFromConfig = loadPoliciesFromConfig;
|
|
4
|
+
function loadPoliciesFromConfig(config) {
|
|
5
|
+
if (!config.policies) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const policies = [];
|
|
9
|
+
for (const [id, policyConfig] of Object.entries(config.policies)) {
|
|
10
|
+
policies.push(convertToPolicyObject(id, policyConfig));
|
|
11
|
+
}
|
|
12
|
+
return policies;
|
|
13
|
+
}
|
|
14
|
+
function convertToPolicyObject(id, config) {
|
|
15
|
+
return {
|
|
16
|
+
id,
|
|
17
|
+
title: config.title,
|
|
18
|
+
violations: config.violations,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=policy-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-loader.js","sourceRoot":"","sources":["../../src/config/policy-loader.ts"],"names":[],"mappings":";;AAGA,wDAYC;AAZD,SAAgB,sBAAsB,CAAC,MAA2B;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAU,EAAE,MAAoB;IAC7D,OAAO;QACL,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare enum SnitchApi {
|
|
2
|
+
Init = "init",
|
|
3
|
+
Scan = "scan",
|
|
4
|
+
Dirtydefaults = "dirtydefaults",
|
|
5
|
+
Dm = "dm",
|
|
6
|
+
Expectmagic = "expectmagic",
|
|
7
|
+
Fixtures = "fixtures",
|
|
8
|
+
Enumerate = "enumerate",
|
|
9
|
+
Badimports = "badimports",
|
|
10
|
+
Vocab = "vocab",
|
|
11
|
+
Nocomments = "nocomments"
|
|
12
|
+
}
|
|
13
|
+
export declare enum SnitchInternalInterface {
|
|
14
|
+
Prehook = "prehook",
|
|
15
|
+
Posthook = "posthook"
|
|
16
|
+
}
|
|
17
|
+
export type SnitchInterface = SnitchApi & SnitchInternalInterface;
|
|
18
|
+
export declare enum SnitchPrehookInterface {
|
|
19
|
+
CleanTree = "cleantree",
|
|
20
|
+
BoundedFiles = "boundedfiles"
|
|
21
|
+
}
|
|
22
|
+
export declare enum SnitchPosthookInterface {
|
|
23
|
+
BoundedFiles = "boundedfiles"
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/datamodel/commands.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,EAAE,OAAO;IACT,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B;AAED,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,uBAAuB,CAAA;AAEjE,oBAAY,sBAAsB;IAChC,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,oBAAY,uBAAuB;IACjC,YAAY,iBAAiB;CAC9B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SnitchPosthookInterface = exports.SnitchPrehookInterface = exports.SnitchInternalInterface = exports.SnitchApi = void 0;
|
|
4
|
+
var SnitchApi;
|
|
5
|
+
(function (SnitchApi) {
|
|
6
|
+
SnitchApi["Init"] = "init";
|
|
7
|
+
SnitchApi["Scan"] = "scan";
|
|
8
|
+
SnitchApi["Dirtydefaults"] = "dirtydefaults";
|
|
9
|
+
SnitchApi["Dm"] = "dm";
|
|
10
|
+
SnitchApi["Expectmagic"] = "expectmagic";
|
|
11
|
+
SnitchApi["Fixtures"] = "fixtures";
|
|
12
|
+
SnitchApi["Enumerate"] = "enumerate";
|
|
13
|
+
SnitchApi["Badimports"] = "badimports";
|
|
14
|
+
SnitchApi["Vocab"] = "vocab";
|
|
15
|
+
SnitchApi["Nocomments"] = "nocomments";
|
|
16
|
+
})(SnitchApi || (exports.SnitchApi = SnitchApi = {}));
|
|
17
|
+
var SnitchInternalInterface;
|
|
18
|
+
(function (SnitchInternalInterface) {
|
|
19
|
+
SnitchInternalInterface["Prehook"] = "prehook";
|
|
20
|
+
SnitchInternalInterface["Posthook"] = "posthook";
|
|
21
|
+
})(SnitchInternalInterface || (exports.SnitchInternalInterface = SnitchInternalInterface = {}));
|
|
22
|
+
var SnitchPrehookInterface;
|
|
23
|
+
(function (SnitchPrehookInterface) {
|
|
24
|
+
SnitchPrehookInterface["CleanTree"] = "cleantree";
|
|
25
|
+
SnitchPrehookInterface["BoundedFiles"] = "boundedfiles";
|
|
26
|
+
})(SnitchPrehookInterface || (exports.SnitchPrehookInterface = SnitchPrehookInterface = {}));
|
|
27
|
+
var SnitchPosthookInterface;
|
|
28
|
+
(function (SnitchPosthookInterface) {
|
|
29
|
+
SnitchPosthookInterface["BoundedFiles"] = "boundedfiles";
|
|
30
|
+
})(SnitchPosthookInterface || (exports.SnitchPosthookInterface = SnitchPosthookInterface = {}));
|
|
31
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/datamodel/commands.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4CAA+B,CAAA;IAC/B,sBAAS,CAAA;IACT,wCAA2B,CAAA;IAC3B,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,4BAAe,CAAA;IACf,sCAAyB,CAAA;AAC3B,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,gDAAqB,CAAA;AACvB,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAID,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;AAC/B,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,wDAA6B,CAAA;AAC/B,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/datamodel/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE;QACf,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,MAAM,EAAE,CAAA;KAC1B,CAAA;CACF,CAAA"}
|