@commont/sdk
v0.0.3
Published
Effortlessly add a comment section to your website, and start the discussion on your content.
Downloads
7
Readme
@commont/sdk
Getting set up
To use Commont, you need to create a new account via our signup page. You can sign up using an email and password or by using GitHub or Google. Once you have an account, you can access the Commont dashboard. Initially, you'll see one default project that you can configure as you need.
👀 Read the docs for more information.
Installing @commont/sdk
yarn add @commont/sdk commont # npm install @commont/sdk
The package exports a Commont
function that you can use to initialize the
client.
Using the Commont client
Commont
function takes two arguments:
- projectId — Your project ID.
- config — An optional argument of type
CommontSdkConfig
. You can configure whether commont client should return errors or throw errors. By default it does the former.
It returns an object with methods getComments
and addComment
.
Example usage
import { Commont } from '@commont/sdk';
const commont = Commont('my-project');
const res = await commont.getComments('my-blogpost');
if ('error' in res) {
console.error(res.error);
return;
}
console.log(res.comments, res.count);
const newComment = await commont.addComment('/my-blogpost', {
author: 'me',
content: 'Hello world!',
details: {
optionalKey: 'optional value',
},
});
With throwErrors: true
import { Commont } from '@commont/sdk';
const commont = Commont('my-project', { throwErrors: true });
try {
const res = await commont.getComments('my-project');
} catch (err) {
console.error(err);
}
Examples
API Reference
Comment
export interface Comment {
author: string;
content: string;
topic: string;
createdAt: string;
details?: Record<string, any>;
}
GetCommentsOptions
export interface GetCommentsOptions {
take?: number;
skip?: number;
}
GetCommentsResult
export type GetCommentsResult = {
comments: Comment[];
count: number;
};
CommontSdkConfig
export interface CommontSdkConfig {
/** @default false */
throwErrors?: boolean;
}
PossiblyCommontError
export type PossiblyCommontError<
TOptions extends CommontSdkConfig
> = TOptions['throwErrors'] extends true ? never : CommontSDKError;
CommontSDKError
export class CommontSDKError extends Error {
constructor(public error: string) {
super(error);
}
}