Skip to content

Commit 6948403

Browse files
authored
Merge pull request #66 from mizdra/add-read-file
Add `readFile`
2 parents 037d1b5 + 2df72ec commit 6948403

4 files changed

+41
-1
lines changed

docs/api/inline-fixture-files.createiffresult.md

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export interface CreateIFFResult<T extends Directory>
2626
| [addFixtures(additionalDirectory)](./inline-fixture-files.createiffresult.addfixtures.md) | Add fixtures to the fixture root directory. |
2727
| [fork(additionalDirectory, forkOptions)](./inline-fixture-files.createiffresult.fork.md) | Change the root directory and take over the fixture you created. |
2828
| [join(paths)](./inline-fixture-files.createiffresult.join.md) | Join <code>rootDir</code> and <code>paths</code>. It is equivalent to <code>require('path').join(rootDir, ...paths)</code>. |
29+
| [readFile(path)](./inline-fixture-files.createiffresult.readfile.md) | Read the file. |
2930
| [reset()](./inline-fixture-files.createiffresult.reset.md) | Delete the fixture root directory and write the fixtures specified in <code>directory</code> argument again. |
3031
| [rmFixtures()](./inline-fixture-files.createiffresult.rmfixtures.md) | Delete files under the fixture root directory. |
3132
| [rmRootDir()](./inline-fixture-files.createiffresult.rmrootdir.md) | Delete the fixture root directory. |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [@mizdra/inline-fixture-files](./inline-fixture-files.md) &gt; [CreateIFFResult](./inline-fixture-files.createiffresult.md) &gt; [readFile](./inline-fixture-files.createiffresult.readfile.md)
4+
5+
## CreateIFFResult.readFile() method
6+
7+
Read the file.
8+
9+
**Signature:**
10+
11+
```typescript
12+
readFile(path: string): Promise<string>;
13+
```
14+
15+
## Parameters
16+
17+
| Parameter | Type | Description |
18+
| --- | --- | --- |
19+
| path | string | The path to the file. |
20+
21+
**Returns:**
22+
23+
Promise&lt;string&gt;
24+
25+
The content of the file.
26+

src/index.test.ts

+4
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ describe('CreateIFFResult', () => {
240240
expect(iff.join('a.txt')).toBe(slash(join(fixtureDir, 'a.txt')));
241241
});
242242
});
243+
test('readFile', async () => {
244+
const iff = await createIFF({ 'a.txt': 'a' });
245+
expect(await iff.readFile('a.txt')).toMatchInlineSnapshot('"a"');
246+
});
243247
test('rmFixtures', async () => {
244248
const iff = await createIFF({
245249
'a.txt': 'a',

src/index.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* The utility for writing fixture files inline.
44
*/
55

6-
import { constants, cp, readdir, rm } from 'node:fs/promises';
6+
import { constants, cp, readdir, readFile, rm } from 'node:fs/promises';
77
import { join } from 'node:path';
88
import type { Directory, MergeDirectory } from './create-iff-impl.js';
99
import { createIFFImpl } from './create-iff-impl.js';
@@ -135,6 +135,12 @@ export interface CreateIFFResult<T extends Directory> {
135135
* ```
136136
*/
137137
join(...paths: string[]): string;
138+
/**
139+
* Read the file.
140+
* @param path - The path to the file.
141+
* @returns The content of the file.
142+
*/
143+
readFile(path: string): Promise<string>;
138144
/**
139145
* Delete the fixture root directory.
140146
*/
@@ -263,6 +269,9 @@ export function defineIFFCreator(defineIFFCreatorOptions: DefineIFFCreatorOption
263269
join(...paths) {
264270
return unixStylePath ? slash(join(rootDir, ...paths)) : join(rootDir, ...paths);
265271
},
272+
readFile: async (path) => {
273+
return await readFile(join(rootDir, path), 'utf-8');
274+
},
266275
async rmRootDir() {
267276
await rm(rootDir, { recursive: true, force: true });
268277
},

0 commit comments

Comments
 (0)