store-flows

Store extension for flows.network

15 releases

0.3.2 Mar 7, 2024
0.3.1 Apr 3, 2023
0.2.1 Mar 3, 2023
0.2.0 Feb 20, 2023
0.1.9 Jan 30, 2023
Download history 115/week @ 2024-07-20 136/week @ 2024-07-27 96/week @ 2024-08-03 144/week @ 2024-08-10 103/week @ 2024-08-17 104/week @ 2024-08-24 122/week @ 2024-08-31 190/week @ 2024-09-07 149/week @ 2024-09-14 148/week @ 2024-09-21 167/week @ 2024-09-28 66/week @ 2024-10-05 89/week @ 2024-10-12 107/week @ 2024-10-19 114/week @ 2024-10-26 127/week @ 2024-11-02

443 downloads per month

MIT/Apache

10KB
141 lines

This is a library for storing key/value in your flow function in flows.network.

Usage example

use serde_json::json;
use lambda_flows::{request_received, send_response};
use store_flows::{get, set, Expire, ExpireKind};

#[no_mangle]
pub fn run() {
    if let Some((_qry, _body)) = request_received() {
      let mut c = match get("count") {
          Some(v) => v.as_u64().unwrap_or_default(),
          None => 0,
      };

      c = c + 1;

      set(
          "count",
          json!(c),
          Some(Expire {
              kind: ExpireKind::Ex,
              value: 20,
          }),
      );

      send_response(
          200,
          vec![(String::from("content-type"), String::from("text/html"))],
          c.to_string().as_bytes().to_vec(),
      );
    }
}

This is a Lambda flow function. It can show the times it has been called. When a request is received, we get the previous count number from store, imcrement it by one, then set it back to store.

The whole document is here.

Dependencies

~1–2MB
~42K SLoC