# neataptic-typed

This is typescript typed wrapping for https://github.com/wagenaartje/neataptic package
I made it for personal usage, case often used original package, and lack of typing have slowed my development process


# The original package links:
github: https://github.com/wagenaartje/neataptic
website: https://wagenaartje.github.io/neataptic/docs/
author: https://github.com/wagenaartje


## !WARNING!
Now package on beta tesing!


## API
On most files this package repeat api of original.
Exceptions is packages default exports class constructors. They was reworked like:
```typescript
//File: /architect/layer.ts
import * as neataptic from "neataptic"
import { Group } from "./group"
import { Node } from "./node"
import { Connection } from "./connection"

/**
 * Exports interface, but not class
 */
export interface Layer extends Group {
    nodes: Node[]
    connections: {
        in: Connection[],
        out: Connection[],
        self: Connection[],
    }
}

/**
 * Static methods of original class realized like a wrapper-funcitons
 */
export function createDense(size: number): Layer {
    return new neataptic.Layer.Dense(size)
}
export function createLSTM(size: number): Layer {
    return new neataptic.Layer.LSTM(size)
}
export function createGRU(size: number): Layer {
    return new neataptic.Layer.GRU(size)
}
export function createMemory(size: number): Layer {
    return new neataptic.Layer.Memory(size)
}

/**
 * This method wraps original constructor calling
 */
export function create(): Layer {
    return new neataptic.Layer()
}

/**
 * This is the link on the original constructor function of class Layer
 */
export const classConstructor: () => void = neataptic.Layer
```


## Author
Anatoly Starodubtsev


## License
MIT