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

@internetarchive/result-type

Package Overview
Dependencies
Maintainers
13
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@internetarchive/result-type

A generic Result interface for returning type-safe responses and errors.

  • 0.0.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
261
increased by150.96%
Maintainers
13
Weekly downloads
 
Created
Source

[Build Status) codecov

IAUX Result Type

A generic Result interface for returning type-safe responses and errors.

Installation

> yarn add @internetarchive/result-type

Usage

Result

Result is a generic interface for returning a response with typesafe value and error handling.

import { Result } from '@internetarchive/result-type';

enum FooErrorType {
  networkError,
  decodingError,
}

class FooError extends Error {
  type?: FooErrorType;

  constructor(type: FooErrorType, message: string?) {
    super(message);
    this.type = type;
  }
}

// success
const result: Result<string, FooError> = { success: 'foo' };

const value = result.success;
if (value) {
  console.debug('do something with `value`');
}

// error
const result: Result<string, FooError> = {
  error: new FooError(FooErrorType.decodingError),
};

if (result.error) {
  switch (result.error) {
    case FooErrorType.networkError:
      console.debug('handle network error');
      break;
    case FooErrorType.decodingError:
      console.debug('handle decoding error');
      break;
    default:
      console.debug('unknown error');
  }
}

Local Demo with web-dev-server

yarn start

To run a local development server that serves the basic demo located in demo/index.html

Testing with Web Test Runner

To run the suite of Web Test Runner tests, run

yarn run test

To run the tests in watch mode (for <abbr title="test driven development">TDD</abbr>, for example), run

yarn run test:watch

Linting with ESLint, Prettier, and Types

To scan the project for linting errors, run

yarn run lint

You can lint with ESLint and Prettier individually as well

yarn run lint:eslint
yarn run lint:prettier

To automatically fix many linting errors, run

yarn run format

You can format using ESLint and Prettier individually as well

yarn run format:eslint
yarn run format:prettier

Tooling configs

For most of the tools, the configuration is in the package.json to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.

FAQs

Package last updated on 28 Apr 2021

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