Fast and simple package to get and create bins from https://sourceb.in/
npm install sourcebin


Fast and simple package to get and create bins from sourcebin
```
NodeJS >= 14.x
``
npm install sourcebin
This README is the best place to learn how to use this package, you can also take a look at our API docs
`js
// Import individual methods
import { create, get, url } from 'sourcebin';
// Import all methods
import * as sourcebin from 'sourcebin';
// Use required
const { create, get, url } = require('sourcebin');
`
get(options)
`js`
const bin = await get({
key: 'qXO2NVhRc6'
});
| Option | Description | Default | Required |
|----------------|-----------------------------------|---------|----------|
| key | The key to get | n/a | ✅ |fetchContent
| | Should the bin content be fetched | true | ❌ |
create(options)
`js`
const bin = await create(
{
title: 'bin name',
description: 'test bin',
files: [
{
content: 'Hello World',
language: 'text',
},
],
},
);
| Option | Description | Required |
|----------------|------------------------|----------|
| title | Title of the bin | ❌ |description
| | Description of the bin | ❌ |files
| | Bin files - see below | ✅ |
| Option | Description | Default | Required |
|----------------|----------------------------------|---------|----------|
| content | Contents of the file | n/a | ✅ |language
| | What language should the file be | text | ❌ |
If you want to get information about a bin try the url function.
`js
const urlData = url('iQznILdZRP');
// or
const urlData = url('https://sourceb.in/iQznILdZRP');
`
This returns an object that looks like:
`js`
{
key: 'iQznILdZRP',
url: 'https://sourceb.in/iQznILdZRP',
short: 'http://srcb.in/iQznILdZRP'
}
- ## Multiple files in one bin
This is not currently possible with this wrapper as sourcebin doesn't have a token system for authentication, only pro users are able to have multiple files in one bin. This may come in the future
- ## Migrate from v4 to v5
v5 is a overhaull of sourcebin so we changed some apis.
### Get a bin
Instead of passing the key then options it's now one object.
`diff
- const bin = await get('qXO2NVhRc6');
+ const bin = await get({ key: 'qXO2NVhRc6' });
- const bin = await get('qXO2NVhRc6', { fetchContent: false });
+ const bin = await get({ key: 'qXO2NVhRc6', fetchContent: false });
`
### Create a bin
We also unified the options for this function:
`diff
- const bin = await create(
- [
- {
- content: 'Hello World',
- language: 'text',
- },
- ],
- {
- title: 'bin name',
- description: 'test bin',
- },
- );
+ const bin = await create(
+ {
+ title: 'bin name',
+ description: 'test bin',
+ files: [
+ {
+ content: 'Hello World',
+ language: 'text',
+ },
+ ],
+ }
+ );
``