Helper functions for Sealious-made API

Usage no npm install needed!

<script type="module">
  import sealcodeCosealious from 'https://cdn.skypack.dev/@sealcode/cosealious';



Helper for using REST APIs build with Sealious in the web, with React hooks


Describe a collection

First, you need to tell Coselaious what is the structure of the collections on the back-end.

import {CollectionItem, CollectionClient} from "@sealcode/cosealious";

const MyCollectionFields = {
    name: "",
    age: "",
    best_friend: "" // a reference to other collection

export class MyCollectionItem extends CollectionItem<typeof MyCollectionFields> {
    getInfo() {
        return {
            collection_name: "my-collection",
            fields: MyCollectionFields,
            writable_fields: Object.keys(MyCollectionFields) as Array<
                keyof typeof MyCollectionFields
            fields_with_attachments: ["best_friend"] as Array<
                keyof typeof MyCollectionFields
    // you can extend the collection item class with your own methods, if you like

export class MyCollectionClient extends CollectionClient<MyCollectionItem> {
    collection_name = "my-collection";
    item_constructor = MyCollectionItem;

Then you can use it in a component:

import {useCollection} from "@sealcode/cosealious";

function component(){
    const [myCollectionClient, items, client_params] = useCollection(
            filter: { when: getDate()  },
            sort: { when: "asc" },
    // ...
    return items.map(item => <div>entry.data.when</div>);