New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

as-container

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

as-container

assemblyscript version of Rust Option<T> and Result<T, E> and Box<T> etc.

  • 0.8.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
14
decreased by-26.32%
Maintainers
1
Weekly downloads
 
Created
Source

as-container

CI npm version GitHub release (latest by date)

as-container provides some utils such as Option and Result inspired by Rust for other people to use.

APIs

Box

Box is used to wrap non-nullable(or primitive) value such as i32. Box offers all operator overloads to call the inner type operator.

Box usage scenarios are mainly used when a function or field needs to be null. This is very common in the case of generic functions and generic classes. The generics you write for reference types cannot be used for basic types, and Box is a reference type.

import { Box } from "as-container";

let box = Box.from(2);
let box2 = Box.from(1);
expect(box == box2).toStrictEqual(false);
expect(box != box2).toStrictEqual(true);

More examples can be found in unit tests

Option

Option offers some operations inspired by Rust.

import { Option } from "as-container";

const x = Option.Some("some");
expect(x.map<string>((s) => s + s).unwrap()).toBe("somesome");

More examples can be found in unit tests

Result

Result offers some operations inspired by Rust.

import { Result } from "as-container";

const x = Result.Ok<string, string>("233");
expect(x.map<string>((s) => s + s).unwrap()).toBe("233233");

More examples can be found in unit tests

Others

as-container offers two versions of Result/Option. They provide the same API, but different implementations.

The default version can handle any type including primitive type. But because the primitive types need one more byte to record state, it may take more overhead.

If you always use reference types as Option/Result parameters and need better performance, then you can use the type with the same name under as-container/reference.

Keywords

FAQs

Package last updated on 03 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc