@types/jug
TypeScript icon, indicating that this package has built-in type declarations

0.0.34 • Public • Published

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

/**
 * 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.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/jug

Weekly Downloads

0

Version

0.0.34

License

MIT

Unpacked Size

7.1 kB

Total Files

5

Last publish

Collaborators

  • types