@sealcode/cosealious
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

Cosealious

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

Usage

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(
		MyCollectionClient,
		{
			filter: { when: getDate()  },
			sort: { when: "asc" },
		}
	);
	
	// ...
	
	return items.map(item => <div>entry.data.when</div>);
}

Readme

Keywords

none

Package Sidebar

Install

npm i @sealcode/cosealious

Weekly Downloads

22

Version

0.4.0

License

ISC

Unpacked Size

62.8 kB

Total Files

44

Last publish

Collaborators

  • kuba-orlik