0.4.0 • Published 3 years ago

scratchlib v0.4.0

Weekly downloads
17
License
MIT
Repository
github
Last release
3 years ago

Table of contents

About

ScratchLib is a powerful Node.JS module to work with the Scratch API. It provides many methods and properties you never heard of, and does requests for you.

Installation

NPM

Open a terminal, and enter the following command: npm install scratchlib

How to use

Start by requiring the module.

const Scratchlib = require("scratchlib");

:tada: Congrats - you can now access to the many properties this module offers!

Documentation

In order to use a method, you must choose between creating an async function or by adding a callback with .then().

async function():

async function test() {
    try {
	    let info = await ScratchLib.getStatus();
	    console.log(info);
    } catch (err) {
        console.error(err);
    }
}

test();

.then() callback:

ScratchLib.getStatus().then(info => {
	console.log(info);
}).catch(err => {
	console.error(err);
});

Both equals to:

{
  version: '1d96065a1ea1d017949e2bd8e179762744d231f0',
  uptime: 1013664,
  load: [ 0.1611328125, 0.134765625, 0.09619140625 ],
  sql: { ssl: true, min: 0, max: 40 },
  cache: { connected: true, ready: true }
}

:warning: Don't forget to catch the promise.

ScratchLib.getUserFollowers().then(info => {
	console.log(info);
}).catch(err => {
	console.error(err);
});
Output: Parameter of type string is missing!

Methods

getFeatured() - Returns information regarding the projects currently visible on the front page of the website. getNews() - Returns information regarding the "Scratch News" section of the homepage. getProfile(username: string) - Returns information about the specified user. getProject(id: string) - Returns information relevant to the given project. getProjectsCount() - Returns the total number of shared projects on the Scratch website. getRoot() - The root of the api interface provides basic information regarding the API and the Scratch website. getStatus() - Used to return the status of the Scratch website. (really? :P) getUserFavorites(username: string) - Returns an array of details regarding the projects that a given user has favourited on the website. getUserFollowers(username: string) - Returns a list of a user's most recent followers. getUserFollowing(username: string) - Returns a list of the users that the specified user has most recently followed. getUserMessages(username: string) - This returns the number of unread messages a user currently has. getUserProjects(username: string) - Returns an array with information regarding the projects that a given user has shared on the Scratch website.

:warning: The following methods are returning JSON data.

TypeScript

:bulb: This module can be used with TypeScript! It even provides quality types that can be auto-completed from Visual Studio Code, or any editor that supports IntelliSense/autocompletion.

Web

:globe_with_meridians: This library can also be used on the Web! You'll need help from browserify though.

CORS

If you use this module in the browser, you'll probably encounter a problem: CORS, which means 'Cross-origin resource sharing'. Thanks to @locness3 (#3), this library now supports proxies. You just have to specify a parameter, which must be equal to your proxy URL as follows: http://host:port.

ScratchLib.getFeatured("http://localhost:8080").then(info => {
	console.log(info);
}).catch(err => {
	console.error(err);
});

Contributing

You can contribute to this project by doing a PR :heart:

Help

Do you need help? Create an issue!

0.4.0

3 years ago

0.3.9

3 years ago

0.3.8

4 years ago

0.3.6

4 years ago

0.3.7

4 years ago

0.3.5

4 years ago

0.3.4

4 years ago

0.3.2

4 years ago

0.3.3

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.9

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.4

4 years ago

0.1.0

4 years ago

0.1.1

4 years ago

0.0.1

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.0

4 years ago

1.0.1

4 years ago