assertIsOffchainMessageApplicationDomain

function assertIsOffchainMessageApplicationDomain(
    putativeApplicationDomain,
): asserts putativeApplicationDomain is OffchainMessageApplicationDomain;

From time to time you might acquire a string, that you expect to validate as an offchain message application domain, from an untrusted network API or user input. Use this function to assert that such an arbitrary string is a base58-encoded application domain.

Parameters

ParameterType
putativeApplicationDomainstring

Returns

asserts putativeApplicationDomain is OffchainMessageApplicationDomain

Example

import { assertIsOffchainMessageApplicationDomain, OffchainMessageV0 } from '@solana/offchain-messages';
 
// Imagine a function that determines whether an application domain is valid.
function handleSubmit() {
    // We know only that what the user typed conforms to the `string` type.
    const applicationDomain: string = applicationDomainInput.value;
    try {
        // If this type assertion function doesn't throw, then
        // Typescript will upcast `applicationDomain` to `OffchainMessageApplicationDomain`.
        assertIsOffchainMessageApplicationDomain(applicationDomain);
        // At this point, `applicationDomain` is a `OffchainMessageApplicationDomain` that can be
        // used to craft an offchain message.
        const offchainMessage: OffchainMessageV0 = {
            applicationDomain:
                offchainMessageApplicationDomain('HgHLLXT3BVA5m7x66tEp3YNatXLth1hJwVeCva2T9RNx'),
            // ...
        };
    } catch (e) {
        // `applicationDomain` turned out not to be a base58-encoded application domain
    }
}

On this page