open-index/open-npm huggingface dataset:
npm package: @kylealanjeffrey/badge
Description: A "built by Kyle" badge component linking to kylejeffrey.com
Author: Kyle Jeffrey
Latest version: 0.0.2

# @kylealanjeffrey/badge

A "built by Kyle" badge component that links to [kylejeffrey.com](https://kylejeffrey.com). Works with any React project — no Tailwind or CSS imports needed.

## Install

```bash
npm install @kylealanjeffrey/badge
```

## Usage

```tsx
import { KyleBadge } from "@kylealanjeffrey/badge";

export default function App() {
  return (
    <div>
      <h1>My App</h1>
      <KyleBadge />
    </div>
  );
}
```

## Props

| Prop       | Type                                                         | Default          |
| ---------- | ------------------------------------------------------------ | ---------------- |
| `position` | `"bottom-right" \| "bottom-left" \| "top-right" \| "top-left"` | `"bottom-right"` |

```tsx
<KyleBadge position="bottom-left" />
```
npm package: @kylebarron/deck.gl-raster
Description: A collection of custom Deck.gl layers
Latest version: 0.3.1

# deck.gl-raster

![gzipped size](https://img.badgesize.io/https://unpkg.com/@kylebarron/deck.gl-raster@0.3.0/dist/deck.gl-raster.min.js.svg?compression=gzip)
![NPM](https://img.shields.io/npm/l/@kylebarron/deck.gl-raster)

deck.gl layers and WebGL modules for client-side satellite imagery processing on the GPU.

[![](assets/images/msavi_grca_cfastie.jpg)][docs_website]

Landsat 8 [Modified Soil Adjusted Vegetation Index][msavi] over the Grand Canyon and Kaibab Plateau, with the [`cfastie` colormap][cfastie].

[msavi]: https://www.usgs.gov/land-resources/nli/landsat/landsat-modified-soil-adjusted-vegetation-index
[cfastie]: /colormaps

## Overview

[deck.gl](https://deck.gl) is a great WebGL-accelerated geospatial rendering
engine for the browser. deck.gl layers are designed to be composable and easy to
extend. As such, small variations of the pre-built layers can do amazing new
things, while not being fit for inclusion in the standard layer library.

This repository contains deck.gl layers and reusable WebGL modules for rendering
and computation on rasters, especially satellite imagery.

[Documentation Website][docs_website]

[docs_website]: https://kylebarron.dev/deck.gl-raster
npm package: @kylebarron/snap-features-to-tin
Description: Snap vector features to the faces of a triangulated irregular network (TIN).
Author: Kyle Barron
Latest version: 0.1.0

# snap-features-to-tin

Snap vector features to the faces of a triangulated irregular network (TIN).

## Overview

Given a TIN representing a terrain mesh, this snaps 2D `Point` and `LineString`
features to the faces of that mesh.

For `Point` features, this finds the triangle containing that point and linearly
interpolates from the heights of the triangle's vertices to find the point's
elevation.

For `LineString` features, this finds the elevation of every vertex using the
same method as for `Point`s, but also finds every intersection between each
`LineString` segment and triangle edges. At each segment-edge intersection, a
new vertex is added to the resulting `LineString`, so that every part of the
`LineString` is attached to a face of the mesh.

## Install

```bash
yarn add @kylebarron/snap-features-to-tin
# or
npm install @kylebarron/snap-features-to-tin
```

## Usage

The single exported method is `snapFeatures`, which takes `indices`, `positions`, `features`,
and `bounds` as arguments.

- **`indices`**: a flattened Array or TypedArray with triples of indices referring to `positions`. Each triple refers to a triangle face. So `[1, 3, 4, ...]` would mean that the second, fourth, and fifth (since zero-indexed) set of coordinates in `positions` constitute a triangle face.
- **`positions`**: a flattened Array or TypedArray with x, y, z coordinates. So `[0.25, 0.5, 625, ...]` would mean that the first position, i.e. `0` in `indices`, has position `x=0.25`, `y=0.5`, `z=625` in the given coordinate space.
- **`features`**: an array of 2D `Point` and `LineString` GeoJSON features. Other geometry types will be silently skipped.
- **`bounds`**: an array of `[minX, minY, maxX, maxY]` to be used for clipping features. This is useful with features generated from vector tiles, since vector tiles usually have buffer outside the geographic extent it represents. But it's not possible to snap features outside the extent of the terrain mesh. Default: `null`.

**Note that the coordinates of both `features` and `positions` need to be in the
same coordinate system.**


### Example

```js
import {snapFeatures} from '@kylebarron/snap-features-to-tin'
import {load} from '@loaders.gl/core';
import {TerrainLoader} from '@loaders.gl/terrain';

// array of GeoJSON features
const features = [...]

// Terrain mesh, generated from MARTINI
const terrain = await load(terrainImage, TerrainLoader);

// triples of position indices that make up the faces of the terrain
const indices = terrain.indices.value;

// x, y, z positions in space of each index
const positions = terrain.attributes.POSITION.value;

// bounding box to clip features to
// to turn off clipping, pass `bounds: null` (the default).
const bounds = [0, 0, 1, 1]

// Snap GeoJSON features to the mesh
// snappedFeatures is an Array of Features
const snappedFeatures = snapFeatures({indices, positions, features, bounds})
```
npm package: @kylecarbs/http-parser-js
Description: A pure JS HTTP parser for node.
Author: Tim Caswell
Latest version: 0.5.9-6

![Node](https://github.com/creationix/http-parser-js/workflows/Node/badge.svg)
![Node-v12](https://github.com/creationix/http-parser-js/workflows/Node-v12/badge.svg)

# HTTP Parser

This library parses HTTP protocol for requests and responses.
It was created to replace `http_parser.c` since calling C++ functions from JS is really slow in V8.
However, it is now primarily useful in having a more flexible/tolerant HTTP parser when dealing with legacy services that do not meet the strict HTTP parsing rules Node's parser follows.

This is packaged as a standalone npm module.
To use in node, monkeypatch HTTPParser.

```js
// Monkey patch before you require http for the first time.
process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser;

var http = require('http');
// ...
```

## Testing

Simply run `npm test`.
The tests are copied from node and mscedex/io.js, with some modifcations.

## Status

This should now be usable in any node application, it now supports (nearly) everything `http_parser.c` does while still being tolerant with corrupted headers, and other kinds of malformed data.

### Node versions

`http-parser-js` should work via monkey-patching on Node v6-v11, and v13-14.

Node v12.x renamed the internal http parser, and did not expose it for monkey-patching, so to be able to monkey-patch on Node v12, you must run `node --http-parser=legacy file.js` to opt in to the old, monkey-patchable http_parser binding.

## Standalone usage

While this module is intended to be used as a replacement for the internal Node.js parser, it can be used as a standalone parser. The [`standalone-example.js`](standalone-example.js) demonstrates how to use the somewhat awkward API (coming from compatibility with the Node.js internals) to parse HTTP from raw Buffers.

## License

MIT.
See [LICENSE.md](LICENSE.md)