-
Notifications
You must be signed in to change notification settings - Fork 12k
/
Copy pathoptions.ts
34 lines (30 loc) · 1.02 KB
/
options.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { Schema as JestBuilderSchema } from './schema';
/**
* Options supported for the Jest builder. The schema is an approximate
* representation of the options type, but this is a more precise version.
*/
export type JestBuilderOptions = JestBuilderSchema & {
include: string[];
exclude: string[];
};
/**
* Normalizes input options validated by the schema to a more precise and useful
* options type in {@link JestBuilderOptions}.
*/
export function normalizeOptions(schema: JestBuilderSchema): JestBuilderOptions {
return {
// Options with default values can't actually be null, even if the types say so.
/* eslint-disable @typescript-eslint/no-non-null-assertion */
include: schema.include!,
exclude: schema.exclude!,
/* eslint-enable @typescript-eslint/no-non-null-assertion */
...schema,
};
}