open-index/open-npm huggingface dataset:
npm package: @qatadaazzeh/atcoder-api
Description: Unofficial AtCoder API client for fetching contest and user data
Author: qatadaazzeh
Latest version: 1.0.1

# AtCoder API

An unofficial JavaScript/TypeScript client for fetching contest and user data from [AtCoder](https://atcoder.jp/).

## Features

- Fetch upcoming and recent contests
- Get detailed user profiles and statistics
- Retrieve user contest participation history
- Built-in rate limiting to avoid server overload
- Caching for better performance
- Full TypeScript support

## Installation

```bash
npm install @qatadaazzeh/atcoder-api
```

## Usage

### Fetching Contests

```typescript
import { fetchUpcomingContests, fetchRecentContests } from '@qatadaazzeh/atcoder-api';

// Get upcoming contests
const upcoming = await fetchUpcomingContests();
console.log(`Found ${upcoming.length} upcoming contests`);

// Get recent contests
const recent = await fetchRecentContests();
console.log(`Found ${recent.length} recent contests`);
```

### Getting User Information

```typescript
import { fetchUserInfo } from '@qatadaazzeh/atcoder-api';

// Get user profile
const user = await fetchUserInfo('tourist');
console.log(`${user.userName} has a rating of ${user.userRating}`);

// Access contest history
console.log(`Participated in ${user.userContests.length} contests`);
```

### Getting User's Contest History

```typescript
import { fetchUserContestList } from '@qatadaazzeh/atcoder-api';

// Get contest participation history for a user
const contestHistory = await fetchUserContestList('tourist');

// Find contests where the user's performance was above 3000
const highPerformance = contestHistory.filter(c => c.userPerformance > 3000);
console.log(`${highPerformance.length} contests with performance > 3000`);
```

## API Reference

### Contest Functions

- `fetchContestList(type?: 'upcoming' | 'recent')`: Fetch a list of contests
- `fetchUpcomingContests()`: Fetch upcoming contests
- `fetchRecentContests()`: Fetch recent contests

### User Functions

- `fetchUserInfo(userId: string)`: Get detailed user information
- `fetchUserContestList(userId: string)`: Get user's contest participation history

## Types

The library exports the following TypeScript types:

- `Contest`: Contest information
- `User`: User profile information
- `UserContest`: User's contest participation details

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT
npm package: @qatalog/react-flex
Description: A browser-agnostic flexbox component with CSS gap support
Author: Qatalog Engineers
Latest version: 0.2.2

<!-- omit in toc -->
# @qatalog/react-flex

1. [What's this?](#whats-this)
2. [Why should I use this package?](#why-should-i-use-this-package)
3. [What CSS-in-JS library does this package use?](#what-css-in-js-library-does-this-package-use)
4. [How do I use it?](#how-do-i-use-it)
5. [What is the full list of props?](#what-is-the-full-list-of-props)
6. [What versions of Node does it support?](#what-versions-of-node-does-it-support)
7. [Is there a changelog?](#is-there-a-changelog)
8. [What license is it released under?](#what-license-is-it-released-under)

## What's this?

A browser-agnostic flexbox component with CSS gap polyfill support. Uses feature detection to ensure consistent rendering across platforms.

## Why should I use this package?

There are 3 main reasons to use this package compared to other similar packages in the ecosystem.

1. **Simplicity**: This package provides only a single component called `Flex` which renders a single DOM element with flexbox. This allows users to compose however many layers of flexboxes they want. This package also keeps the props of the component simple and straightforward.
2. **Flexibility**: This package neither assumes any responsive design logic nor hardcodes measurements. This allows users to provide these values when using the component making it usable in all scenarios.
3. **Compatibility**: This package supports browsers that do not support `gap` CSS property by using `margin` CSS properties and custom calculation logic. This allows users to fearlessly use the flexbox grid design everywhere.

## What CSS-in-JS library does this package use?

While we do use [styled-components](https://styled-components.com/), we are open to any contributions that makes this package independent of styling libraries.

## How do I use it?

Simply import it and use it as any regular component.

```tsx
import Flex from '@qatalog/react-flex';

const Button = ({}) => {
  return (
    <Flex direction="row" alignItems="center" wrap="wrap" gap={8}>
      <div>One</div>
      <div>Two</div>
    </Flex>
  );
};

export default Button;
```

## What is the full list of props?

All the below props are optional.

- `alignContent`: Value for CSS style property `align-content`
- `alignItems`: Value for CSS style property `align-items`
- `justifyContent`: Value for CSS style property `justify-content`
- `direction`: Value for CSS style property `flex-direction`
- `wrap`: Value for CSS style property `flex-wrap`
- `inline`: Extrapolates value for CSS style property `display`. Defaults to `false`.
  + `false`: Value is `flex`
  + `true`: Value is `inline-flex`
- `gap`: Value of gap between children in `px` units. Defaults to `0`. Uses `gap` CSS style property if supported.
- `as`: Renders the component as this type of DOM element. Type of prop is `React.ElementType`. Defaults to `div`.

## What versions of Node does it support?

Minimum supported node version is `14`.

## Is there a changelog?

[Yes](CHANGELOG.md).

## What license is it released under?

[MIT](LICENSE).