in src/jsii/assemblies.ts [193:239]
export async function allTypeScriptSnippets(
assemblies: readonly LoadedAssembly[],
loose = false,
): Promise<TypeScriptSnippet[]> {
const sources = assemblies
.flatMap((loaded) => allSnippetSources(loaded.assembly).map((source) => ({ source, loaded })))
.flatMap(({ source, loaded }) => {
switch (source.type) {
case 'example':
return [
{
snippet: updateParameters(
typeScriptSnippetFromVisibleSource(
source.source,
{ api: source.location, field: { field: 'example' } },
isStrict(loaded),
),
source.metadata ?? {},
),
loaded,
},
];
case 'markdown':
return extractTypescriptSnippetsFromMarkdown(source.markdown, source.location, isStrict(loaded)).map(
(snippet) => ({ snippet, loaded }),
);
}
});
const fixtures = [];
for (let { snippet, loaded } of sources) {
const isInfused = snippet.parameters?.infused != null;
// Ignore fixturization errors if requested on this command, or if the snippet was infused
const ignoreFixtureErrors = loose || isInfused;
// Also if the snippet was infused: switch off 'strict' mode if it was set
if (isInfused) {
snippet = { ...snippet, strict: false };
}
snippet = await withDependencies(loaded, withProjectDirectory(loaded.directory, snippet));
fixtures.push(fixturize(snippet, ignoreFixtureErrors));
}
return fixtures;
}