@sno2/pex
Version:
An unofficial promise-based Pexels API wrapper with top-notch TypeScript support.
187 lines (105 loc) • 5.57 kB
Markdown
[@sno2/pex](../README.md) / [Modules](../modules.md) / [index](../modules/index.md) / Pex
# Class: Pex
[index](../modules/index.md).Pex
The main class used to utilize the Pexels API.
## Example
```ts
const pex = new Pex({ key: "YOUR_API_KEY" });
const photo = await pex.getPhoto({ id: "" });
```
## Table of contents
### Constructors
- [constructor](index.pex.md#constructor)
### Properties
- [#axios](index.pex.md##axios)
- [#opts](index.pex.md##opts)
### Methods
- [getCuratedPhotos](index.pex.md#getcuratedphotos)
- [getPhoto](index.pex.md#getphoto)
- [getPhotos](index.pex.md#getphotos)
- [getPopularVideos](index.pex.md#getpopularvideos)
- [getVideo](index.pex.md#getvideo)
- [getVideos](index.pex.md#getvideos)
## Constructors
### constructor
\+ **new Pex**(`opts`: [*PexOpts*](../interfaces/index.pexopts.md)): [*Pex*](index.pex.md)
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`opts` | [*PexOpts*](../interfaces/index.pexopts.md) | The options that includes your Pexels API key. |
**Returns:** [*Pex*](index.pex.md)
Defined in: index.ts:31
## Properties
### #axios
• `Private` **#axios**: AxiosInstance
Defined in: index.ts:31
___
### #opts
• `Private` **#opts**: [*PexOpts*](../interfaces/index.pexopts.md)
Defined in: index.ts:30
## Methods
### getCuratedPhotos
▸ **getCuratedPhotos**(`paginatedOpts`: [*PaginatedOpts*](../interfaces/types.paginatedopts.md)): *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>\>
Gets the curated photos from the Pexels API.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`paginatedOpts` | [*PaginatedOpts*](../interfaces/types.paginatedopts.md) | The options to specify the behavior of the paginated response (limit per page, ect.). |
**Returns:** *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>\>
The paginated, curated photos.
Defined in: index.ts:78
___
### getPhoto
▸ **getPhoto**(`queryOpts`: [*PhotoQuery*](../modules/types.md#photoquery)): *Promise*<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>
Gets a single photo object.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`queryOpts` | [*PhotoQuery*](../modules/types.md#photoquery) | An object that includes the `id` of the specified photo and some other options. |
**Returns:** *Promise*<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>
The queried photo.
Defined in: index.ts:51
___
### getPhotos
▸ **getPhotos**(`queryOpts`: [*PhotosQuery*](../interfaces/types.photosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md)): *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>\>
Gets multiple photos based upon the search `query` specified in the `queryOpts` parameter and the other properties in `queryOpts`.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`queryOpts` | [*PhotosQuery*](../interfaces/types.photosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md) | The options used to search/filter/sort through the photos. |
**Returns:** *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*photos*, [*Photo*](../interfaces/types.photo.md)]\>\>
The paginated photos response.
Defined in: index.ts:63
___
### getPopularVideos
▸ **getPopularVideos**(`queryOpts`: [*PopularVideosQuery*](../interfaces/types.popularvideosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md)): *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*videos*, [*Photo*](../interfaces/types.photo.md)]\>\>
Gets the popular videos based upon the query options.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`queryOpts` | [*PopularVideosQuery*](../interfaces/types.popularvideosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md) | The options used to query for videos. |
**Returns:** *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*videos*, [*Photo*](../interfaces/types.photo.md)]\>\>
The paginated popular videos.
Defined in: index.ts:118
___
### getVideo
▸ **getVideo**(`queryOpts`: [*VideoQuery*](../modules/types.md#videoquery)): *Promise*<[*Video*](../interfaces/types.video.md)\>
Gets a given video based upon the `id` in the `queryOpts` parameter.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`queryOpts` | [*VideoQuery*](../modules/types.md#videoquery) | The options used to get the video data. |
**Returns:** *Promise*<[*Video*](../interfaces/types.video.md)\>
The video object.
Defined in: index.ts:93
___
### getVideos
▸ **getVideos**(`queryOpts`: [*VideosQuery*](../interfaces/types.videosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md)): *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*videos*, [*Photo*](../interfaces/types.photo.md)]\>\>
Gets multiple videos based upon the query options.
#### Parameters:
Name | Type | Description |
:------ | :------ | :------ |
`queryOpts` | [*VideosQuery*](../interfaces/types.videosquery.md) & [*PaginatedOpts*](../interfaces/types.paginatedopts.md) | The options used to query for videos. |
**Returns:** *Promise*<[*PaginatedData*](../modules/types.md#paginateddata)<[*videos*, [*Photo*](../interfaces/types.photo.md)]\>\>
The paginated videos the match your query options.
Defined in: index.ts:103