pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/NPM-Workbench/dictionary-api-client

n="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-b69241e157469407.css" /> GitHub - NPM-Workbench/dictionary-api-client: A lightweight JavaScript & TypeScript client for the free Dictionary API (dictionaryapi.dev), built with native fetch · GitHub
Skip to content

NPM-Workbench/dictionary-api-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

banner npm downloads license NPM Unpacked Size

Dictionary API Client

A minimal, fetch-based JavaScript & TypeScript client for the free Dictionary API that uses native fetch, works in Node.js (18+) and modern browsers and supports javascript and typescript.

📦 Installation

npm install dictionary-api-client

Note: If you are using Node.js, ensure your project supports ES modules.

📘 Features

  1. Lookup word definitions using a public dictionary API
  2. Automatically encodes words with spaces or special characters
  3. Clean success / failure response contract

🔤 Example Usage

import { getDefinitionFor } from "dictionary-api-client";
const res = await getDefinitionFor({ word: "white" });
console.log(res);
  1. Success Response Schema
{
  "code": "api-ok",
  "message": "No error encountered",
  "payload": [
    {
      "word": "white",
      "phonetic": "/waɪt/",
      "phonetics": [
        {
          "text": "/waɪt/",
          "audio": "https://api.dictionaryapi.dev/media/pronunciations/en/white-uk.mp3"
        }
      ],
      "meanings": [
        {
          "partOfSpeech": "noun",
          "definitions": [
            {
              "definition": "The color of snow or milk; light containing all visible wavelengths."
            }
          ]
        },
        {
          "partOfSpeech": "adjective",
          "definitions": [
            {
              "definition": "Bright and colourless; reflecting equal quantities of visible light.",
              "example": "Write in black ink on white paper."
            }
          ]
        }
      ]
    }
  ]
}
  1. Error Response Schema
{
  "code":"api-fail",
  "message":"Not Found",
  "payload": {
    "title":"No Definitions Found",
    "message":"Sorry pal, we couldn't find definitions for the word you were looking for.",
    "resolution":"You can try the search again at later time or head to the web instead."
  }
}

📗 Test Coverage

PASS src/get-definition-for/test/index.test.ts
  getDefinitionFor
    ✓ throws when global fetch is unavailable
    ✓ returns api-ok and payload when response ok
    ✓ returns api-fail when response.ok is false
    ✓ returns api-fail when fetch throws
    ✓ targets the dictionary api root url

Test Suites: 1 passed, 1 total
Tests:       5 passed, 5 total
Snapshots:   0 total
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 index.ts |     100 |      100 |     100 |     100 |
----------|---------|----------|---------|---------|-------------------

Support

Like this project? Support it with a github star, it would mean a lot to me! Cheers and Happy Coding.

About

A lightweight JavaScript & TypeScript client for the free Dictionary API (dictionaryapi.dev), built with native fetch

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy