# dosya

> Module for creating buffer for the requested file type.

Latest version **1.4.0** (published 2022-06-16) · WTFPL license · 0 weekly downloads

## Install

```sh
npm install dosya
pnpm add dosya
yarn add dosya
bun add dosya
```

Provides the command `dosya`.

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.0 |
| Published | 2022-06-16 |
| First published | 2022-06-08 |
| Weekly downloads | 0 |
| License | WTFPL |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 65.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Ilya Medvedev |
| Maintainers | imedvedev |

## Links

- npm: https://www.npmjs.com/package/dosya
- Repository: https://github.com/iam-medvedev/dosya
- Homepage: https://github.com/iam-medvedev/dosya#readme
- Issues: https://github.com/iam-medvedev/dosya/issues
- npm.io page: https://npm.io/package/dosya

## Dependencies (1)

- [@deno/shim-deno](https://npm.io/package/@deno/shim-deno.md) ~0.6.0

## Recent versions

- 1.4.0 (latest) — 2022-06-16
- 1.3.0 — 2022-06-08
- 1.2.0 — 2022-06-08

## README

# `dosya`

`dosya` (Turkish) — file _n._

Module for creating buffer for the requested file type.

This module is heavily inspired by [`file-type`](https://github.com/sindresorhus/file-type) and does the reverse work.

For example:

```ts
import { createFile } from "dosya";
import { fileTypeFromBuffer } from "file-type";

const buffer = createFile("mp4");
console.log(await fileTypeFromBuffer(buffer));
// => { ext: 'mp4', mime: 'video/mp4' }
```

## Benefits

- 130 extensions are available
- Written in Deno
- Fully typed
- Available for Deno / Node.js / CLI

## Node.js Usage

```bash
$ yarn add -D dosya
```

```ts
import { createFile } from "dosya";

const buffer = createFile("mp4");
```

## Deno Usage

```ts
import { createFile } from "https://deno.land/x/dosya/mod.ts";

const buffer = createFile("mp4");
```

## CLI Usage

```bash
$ deno install -n dosya --allow-write --allow-read https://deno.land/x/dosya/cli.ts
$ dosya --ext mp3 ./example.mp3
$ file ./example.mp3
example.mp3: Audio file with ID3 version 2.0.0
```

## Why?

This module is very useful for writing tests.

```ts
import { createFile } from "dosya";
import nock from "nock";
import fetch from "isomorphic-fetch";

nock("https://example.com")
  .get("/video.mp4")
  .replyWithFile(200, createFile("mp4"));

it("should get video from url", async () => {
  const buffer = await fetch("https://example.com/video.mp4").then((res) =>
    res.arrayBuffer()
  );

  const fileType = await fileTypeFromBuffer(buffer);
  expect(fileType.ext).toEqual("mp4"); // true
});
```

## License

`dosya` is [WTFPL licensed](./LICENSE).

---
_Source: https://npm.io/package/dosya · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
