cf-wrapper

0.0.392 • Public • Published

The definitive CF js wrapper

Cf-wrapper is an attempt to programatically interact with codeforces as its current API lacks a lot of features.

Lots to add left, but slow and steady does the job.

Installation

Install with npm

  npm install cf-wrapper

Usage/Examples

import Cf from 'cf-wrapper';

const client = new Cf('username', 'password');

const main = async () => {
    const cf = new Cf('username', 'password');
    await cf.login();
    const submission = await cf.submit('1020', 'A', '61', 'int main(void) {\n    cin >> a >> b;\n    cout << a + b;\n    return 0;\n}');
    console.log(submission);
    const contestList = await cf.getContestList(false);
    console.log(contestList);
 }
 main();

Output:

167297949
[
  {
    id: 1699,
    name: 'Codeforces Round #804 (Div. 2)',
    type: 'CF',
    phase: 'BEFORE',
    frozen: false,
    durationSeconds: 7200,
    startTimeSeconds: 1656945300,
    relativeTimeSeconds: -762227
  },
  {
    id: 1698,
    name: 'Codeforces Round #803 (Div. 2)',
    type: 'CF',
    phase: 'BEFORE',
    frozen: false,
    durationSeconds: 7200,
    startTimeSeconds: 1656426900,
    relativeTimeSeconds: -243829
  },
...

Roadmap

  • Add CLI interface

  • Add methods for endpoints exposed by the official codeforces API.

  • Proper error handling + error types and messages.

  • Add other important methods (e.g. check submission status...)

Contributing

Contributions are always welcome!

License

MIT

Dependencies (5)

Dev Dependencies (6)

Package Sidebar

Install

npm i cf-wrapper

Weekly Downloads

20

Version

0.0.392

License

MIT

Unpacked Size

12.5 kB

Total Files

6

Last publish

Collaborators

  • abdelh2o