Skip to content

Examples: Get Namespace info

Chun Lam edited this page Feb 21, 2024 · 4 revisions
import { NamespaceHttp, NamespaceId, Address } from "tsjs-xpx-chain-sdk";

const API_URL = 'http://localhost:3000';

const namespaceHttp = new NamespaceHttp(API_URL);
const getNamespaceInformation = () => {
    const namespaceId = new NamespaceId([
        2434186742,
        3220914849
    ]);
    namespaceHttp.getNamespace(namespaceId).subscribe({
        next: namespaceInfo => {
            console.log(namespaceInfo);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    })
}

const getNamespacesAnAccountOwns = () => {
    const address = Address.createFromRawAddress('SARNASAS2BIAB6LMFA3FPMGBPGIJGK6IJETM3ZSP');
    namespaceHttp.getNamespacesFromAccount(address).subscribe({
        next: namespaceInfos => {
            console.log(namespaceInfos);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    })
}

const getNamespacesMultipleAccountsOwn = () => {
    const address = Address.createFromRawAddress('SARNASAS2BIAB6LMFA3FPMGBPGIJGK6IJETM3ZSP');
    namespaceHttp.getNamespacesFromAccounts([address]).subscribe({
        next: namespaceInfos => {
            console.log(namespaceInfos);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    })
}

const getReadableNamesForSetOfNamespaces = () => {
    const address = Address.createFromRawAddress('SARNASAS2BIAB6LMFA3FPMGBPGIJGK6IJETM3ZSP');
    namespaceHttp.getNamespacesFromAccount(address).subscribe({
        next: namespaceInfos => {
            namespaceHttp.getNamespacesName(namespaceInfos.map(namespaceInfo => namespaceInfo.id))
            .subscribe({
                next: namespaceNames => {
                    console.log(namespaceNames);
                }, 
                error: error => {
                    console.error(error);
                }, 
                complete: () => {
                    console.log('done.');
                }
            });
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            // console.log('done.');
        }
    })
}

getNamespaceInformation();
getNamespacesAnAccountOwns();
getNamespacesMultipleAccountsOwn();
getReadableNamesForSetOfNamespaces();