# @types/jug

> TypeScript definitions for jug

Latest version **0.0.34** (published 2023-11-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/jug
pnpm add @types/jug
yarn add @types/jug
bun add @types/jug
```

## Health

**Score 45/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.0.34 |
| Published | 2023-11-21 |
| First published | 2016-05-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 6.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51446 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/jug
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jug
- npm.io page: https://npm.io/package/@types/jug

## Recent versions

- 0.0.34 (latest) — 2023-11-21
- 0.0.30 (ts2.0) — 2016-09-19
- 0.0.33 — 2023-11-07
- 0.0.32 — 2023-10-18
- 0.0.31 — 2023-09-15
- 0.0.29 — 2016-07-14
- 0.0.28-alpha — 2016-07-08
- 0.0.27-alpha — 2016-07-04
- 0.0.26-alpha — 2016-07-02
- 0.0.25-alpha — 2016-07-01
- 0.0.24-alpha — 2016-07-01
- 0.0.23-alpha — 2016-05-25
- 0.0.22-alpha — 2016-05-20
- 0.0.17-alpha — 2016-05-19
- 0.0.16-alpha — 2016-05-17

## README

# Installation
> `npm install --save @types/jug`

# Summary
This package contains type definitions for jug (https://github.com/kaiquewdev/Graph).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jug.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jug/index.d.ts)
````ts
/**
 * Internal structure of a vertex
 */
interface VertexStructure {
    level: number;
    edge: Vertex[];
    data: VertexData;
    parent: Vertex;
}

/**
 * User data of a vertex.
 */
type VertexData = Object;

/**
 * Graph constructor function.
 */
interface GraphConstructor {
    new(): Graph;
}

/**
 * Creates root node of a graph.
 */
interface Graph {
    vertex: VertexConstructor;
    init(data?: VertexData): Vertex;
}

/**
 * Vertex constructor function.
 */
interface VertexConstructor {
    new(obj?: VertexData): Vertex;
}

/**
 * Represents one node of a graph.
 */
interface Vertex {
    /**
     * Initial vertex data.
     */
    internal: VertexStructure;

    /**
     * Verify the level.
     */
    level(): number;

    /**
     * Get edge count.
     */
    edge(): number;

    /**
     * Access node.
     * @param index - edge index.
     */
    edge(index: number): Vertex;

    /**
     * Seed node.
     * @param [data] - created vertex UserData.
     */
    seed(data?: VertexData): Vertex;

    /**
     * Verify if the current node is the root.
     */
    isRoot(): boolean;

    /**
     * Set node data.
     * @param obj - data to be set.
     */
    data(obj: VertexData): Vertex;

    /**
     * Get node data.
     */
    data(): VertexData;

    /**
     * Get distance between nodes.
     * @param from
     * @param to
     */
    proximity(from: string, to: string): number[];

    /**
     * Find a node.
     * @param {string} type - object type.
     * @param {Object} query - _.where query object.
     */
    find(type: string | void, query: Object): VertexData[];

    /**
     * Get siblings of specified edge.
     * @param {number} index - edge index.
     */
    getSiblingsOf(index: number): VertexData[];

    /**
     * Getting childs of an specified edge.
     * @param egde - target vertex;
     */
    getChildsOf(egde: number): VertexData[];

    /**
     * Getting parents of an specified level and edge.
     * @param {number} level - max level.
     * @param {number} edge - edge index.
     */
    getParentsFrom(level: number, edge: number): VertexData[];

    /**
     * Getting the length of childs of an specified edge.
     * @param {number} edge - edge index.
     */
    getScopeOf(edge: number): number;
}

declare var jug: Graph;

export = jug;

````

### Additional Details
 * Last updated: Mon, 20 Nov 2023 23:36:24 GMT
 * Dependencies: none

# Credits
These definitions were written by [yevt](https://github.com/yevt).

---
_Source: https://npm.io/package/@types/jug · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
