Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/keupoz/strict-queryselector

A simple typeguard wrapper around document.querySelector for TypeScript
https://github.com/keupoz/strict-queryselector

Last synced: about 1 month ago
JSON representation

A simple typeguard wrapper around document.querySelector for TypeScript

Awesome Lists containing this project

README

        

# strict-queryselector

## Usage
```typescript
import { querySelector } from "@keupoz/strict-queryselector";

// Same examples applies to querySelectorAll
// Gets body element with type of HTMLBodyElement
const body = querySelector("body", HTMLBodyElement);

// Throws TypeError as body element is not instance of HTMLDivElement
const bodyDiv = querySelector("body", HTMLDivElement);

// Throws Error if element doesn't exist
// If it exists, checks if it's instance of specified type
const meaningOfLife = querySelector(".life-meaning", HTMLDivElement);
```

### Wrappers
There are wrapper functions that allows to wrap the type guard around custom element. And they return the same function as regular `querySelector`.
```typescript
const bodyQuerySelector = wrapQuerySelector(document.body);
```