Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

Generate Typescript Typings via JsDoc #111

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .jsdoc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"recurseDepth": 10,
"source": {
"include": ["src/"],
"exclude": ["node_modules"]
},
"opts": {
"destination": "src/",
"template": "./node_modules/tsd-jsdoc/dist",
"recurse": true
}
}
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
- npx aegir commitlint --travis
- npx aegir dep-check
- npm run lint
- npm run generate-typings

notifications:
email: false
8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"release-minor": "aegir release -t node --type minor --no-build",
"release-major": "aegir-release -t node --type major --no-build",
"coverage": "aegir coverage",
"coverage-publish": "aegir coverage --provider coveralls"
"coverage-publish": "aegir coverage --provider coveralls",
"generate-typings": "./node_modules/.bin/jsdoc -c ./.jsdoc.json"
},
"pre-push": [
"lint",
Expand All @@ -39,7 +40,10 @@
"chai": "^4.2.0",
"dirty-chai": "^2.0.1",
"interface-transport": "~0.3.6",
"pull-stream": "^3.6.14"
"jsdoc": "^3.6.3",
"pull-stream": "^3.6.14",
"tsd-jsdoc": "^2.3.1",
"typescript-definition-tester": "0.0.6"
},
"dependencies": {
"class-is": "^1.1.0",
Expand Down
13 changes: 11 additions & 2 deletions src/get-multiaddr.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
'use strict'

/**
* @module js-libp2p-tcp/get-multiaddr
*/
const multiaddr = require('multiaddr')
const Address6 = require('ip-address').Address6
const debug = require('debug')
const log = debug('libp2p:tcp:get-multiaddr')

module.exports = (socket) => {
/**
* @type {function}
* @param {*} socket
* @returns {*}
*/
function getMultiAddr (socket) {
let ma

try {
Expand All @@ -31,3 +38,5 @@ module.exports = (socket) => {
}
return ma
}

module.exports = getMultiAddr
25 changes: 24 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
'use strict'

/**
* @module js-libp2p-tcp
*/
const net = require('net')
const toPull = require('stream-to-pull-stream')
const mafmt = require('mafmt')
Expand All @@ -15,7 +17,17 @@ const createListener = require('./listener')

function noop () {}

/**
* @class
*/
class TCP {
/**
*
* @param {*} ma
* @param {object} options
* @param {function} callback
* @returns {*}
*/
dial (ma, options, callback) {
if (isFunction(options)) {
callback = options
Expand Down Expand Up @@ -52,6 +64,12 @@ class TCP {
return conn
}

/**
*
* @param {object} options
* @param {function} handler
* @returns {*}
*/
createListener (options, handler) {
if (isFunction(options)) {
handler = options
Expand All @@ -63,6 +81,11 @@ class TCP {
return createListener(handler)
}

/**
*
* @param {Array<*>|*} multiaddrs
* @returns {*}
*/
filter (multiaddrs) {
if (!Array.isArray(multiaddrs)) {
multiaddrs = [multiaddrs]
Expand Down
12 changes: 11 additions & 1 deletion src/listener.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
'use strict'
/**
* @module js-libp2p-tcp/listener
*/

const multiaddr = require('multiaddr')
const Connection = require('interface-connection').Connection
Expand All @@ -17,7 +20,12 @@ const CLOSE_TIMEOUT = 2000

function noop () {}

module.exports = (handler) => {
/**
* @type {function}
* @param {function} handler
* @returns {*}
*/
function listener (handler) {
const listener = new EventEmitter()

const server = net.createServer((socket) => {
Expand Down Expand Up @@ -140,6 +148,8 @@ module.exports = (handler) => {
return listener
}

module.exports = listener

function getIpfsId (ma) {
return ma.stringTuples().filter((tuple) => {
return tuple[0] === IPFS_CODE
Expand Down
53 changes: 53 additions & 0 deletions src/types.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**
* @module js-libp2p-tcp/get-multiaddr
*/
declare module "js-libp2p-tcp/get-multiaddr" {
/**
* @type {function}
* @param {*} socket
* @returns {*}
*/
function getMultiAddr(socket: any): any;
}

/**
* @module js-libp2p-tcp
*/
declare module "js-libp2p-tcp" {
/**
* @class
*/
class TCP {
/**
*
* @param {*} ma
* @param {object} options
* @param {function} callback
*/
dial(ma: any, options: any, callback: (...params: any[]) => any): void;
/**
*
* @param {object} options
* @param {function} handler
*/
createListener(options: any, handler: (...params: any[]) => any): void;
/**
*
* @param {Array<*>|*} multiaddrs
*/
filter(multiaddrs: any[] | any): void;
}
}

/**
* @module js-libp2p-tcp/listener
*/
declare module "js-libp2p-tcp/listener" {
/**
* @type {function}
* @param {function} handler
* @returns {*}
*/
function listener(handler: (...params: any[]) => any): any;
}