Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

synonymdev/slashtags-profile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slashtags-profile

Slashtags Profile helper module.

Install

npm install @synonymdev/slashtags-profile

Usage

Initialize

const { Client } = require('@synonymdev/web-relay')
const SlashtagsProfile = require('@synonymdev/slashtags-profile')

const client = new Client({ storage: "path/to/storage", relay: address })
const writer = new SlashtagsProfile(client)

const profile = { name: 'foo' }

await writer.put(profile)

const url = await writer.createURL()

Resolve profile as a reader

const { Client } = require('@synonymdev/web-relay')
const SlashtagsProfile = require('@synonymdev/slashtags-profile')

const client = new Client({ storage: "path/to/storage "})
const reader = new SlashtagsProfile(client)

const resolved = await reader.get(url) // URL from writer side
// {name: 'foo'}

API

const profile = new SlashtagsProfile(WebRelayClient)

Create a new SlashtagsProfile instance.

const url = await profile.createURL()

Creates a sharable url to allow remote readers to read this profile.

await profile.close()

Closes the underlying web relay client.

await profile.put(profile)

Puts a new profile value. profile param should be an object following its type definition.

await profile.del()

Deletes the value from the underlying hyperdrive.

await profile.get([url])

Read a local profile if no url is passed, or a remote one if url is passed.

await profile.subscribe(url, onupdate)

Watch updates to a remote file, and call onupdate(profile) function with current profile.

About

Slashtags Profiles library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published