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

Latest commit

 

History

History

factorial

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

crates.io  TinyGo Version

wasmCloud Factorial Interface

This is the definition for the interface used for examples and illustrations with the contract ID of wasmcloud:example:factorial.

This is an interface for a simple service that calculates the factorial of a whole number.

NOTE that this is just an example, and we would not recommend a real-world production scenario where you use an interface and accompanying capability provider for factorial calculations.

Capability Provider Implementations

The following is a list of implementations of the wasmcloud:example:factorial contract. Feel free to submit a PR adding your implementation if you have a community/open source version.

Name Vendor Description
Factorial wasmCloud wasmCloud example implementation of the Factorial interface

Example Usage (🦀 Rust)

Calculate a factorial, handling the error case

use wasmbus_rpc::actor::prelude::Context;
use wasmcloud_interface_factorial::{Factorial, FactorialSender};

async fn factorial(ctx: &Context, n: u32) -> u64 {
    let factorial = FactorialSender::new();
    match factorial.calculate(ctx, &n).await {
        Ok(num) => num,
        // 0 is not a possible factorial so it's obvious that an error occurred
        Err(_e) => 0,
    }
}