0.0.0-3 • Published 3 months ago

@vltpkg/types v0.0.0-3

Weekly downloads
-
License
BSD-2-Clause-Pate...
Repository
github
Last release
3 months ago

types

@vltpkg/types

A module for a handful of core types that are used throughout vlt extensively, and don't belong to any one particular implementation.

Usage

import {
  type Manifest,
  type Packument,
  type Integrity,
  type Signature,
  isManifest,
  isPackument,
  isIntegrity,
} from '@vltpkg/types'

const mani: Manifest = {
  name: 'hello',
  version: '1.2.3',
  dist: {
    tarball: 'https://example.com/hello-1.2.3.tgz',
    integrity: 'sha512-3yWxPTq3Uq/imagine/if/this/was/the/integrity/wow/it/could/happen/just/very/unlikely/00==',
  },
}
mani.dist.integrity
//        ^? Integrity | undefined
const someRandomObject = {
  name: 'foo',
  version: '1.2.3',
}
if (isManifest(someRandomObject)) {
  someRandomObject
  // ^? Manifest
}