* Returns a random file name with extension. * * @param options An options object. * @param options.extensionCount Define how many extensions the file name should have. Defaults to `1`. * * @example * faker.system.fileName() // 'faithfully_calculating.u8mdn' * faker.system.fileN
(
options: {
/**
* Define how many extensions the file name should have.
*
* @default 1
*/
extensionCount?:
| number
| {
/**
* Minimum number of extensions.
*/
min: number;
/**
* Maximum number of extensions.
*/
max: number;
};
} = {}
)
| 51 | * @since 3.1.0 |
| 52 | */ |
| 53 | fileName( |
| 54 | options: { |
| 55 | /** |
| 56 | * Define how many extensions the file name should have. |
| 57 | * |
| 58 | * @default 1 |
| 59 | */ |
| 60 | extensionCount?: |
| 61 | | number |
| 62 | | { |
| 63 | /** |
| 64 | * Minimum number of extensions. |
| 65 | */ |
| 66 | min: number; |
| 67 | /** |
| 68 | * Maximum number of extensions. |
| 69 | */ |
| 70 | max: number; |
| 71 | }; |
| 72 | } = {} |
| 73 | ): string { |
| 74 | const { extensionCount = 1 } = options; |
| 75 | |
| 76 | const baseName = this.faker.word |
| 77 | .words() |
| 78 | .toLowerCase() |
| 79 | .replaceAll(/\W/g, '_'); |
| 80 | |
| 81 | const extensionsSuffix = this.faker.helpers |
| 82 | .multiple(() => this.fileExt(), { count: extensionCount }) |
| 83 | .join('.'); |
| 84 | |
| 85 | if (extensionsSuffix.length === 0) { |
| 86 | return baseName; |
| 87 | } |
| 88 | |
| 89 | return `${baseName}.${extensionsSuffix}`; |
| 90 | } |
| 91 | |
| 92 | /** |
| 93 | * Returns a random file name with a given extension or a commonly used extension. |
no test coverage detected