Skip to content

Commit ba5de68

Browse files
committed
add types
1 parent eb481cb commit ba5de68

File tree

43 files changed

+146
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+146
-2
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"semver": "^7.1.3"
2626
},
2727
"devDependencies": {
28+
"@types/bindings": "^1.5.5",
2829
"husky": "^4.3.0",
2930
"lint-staged": "^10.5.2"
3031
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('hello');
23

34
console.log(addon.hello()); // 'world'
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('hello');
23

34
console.log(addon.hello()); // 'world'
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('hello');
23

34
console.log(addon.hello()); // 'world'
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('hello');
23

34
console.log(addon.hello()); // 'world'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Returns the string "world".
3+
*/
4+
export function hello(): "world";
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('addon.node')
23

34
console.log('This should be eight:', addon.add(3, 5))
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type {import('../type')} */
12
var addon = require('bindings')('addon.node')
23

34
console.log('This should be eight:', addon.add(3, 5))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/**
2+
* add two digits
3+
* @param a first digit
4+
* @param b second digit
5+
*/
6+
export function add(a: number, b: number): number;

src/1-getting-started/3_callbacks/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
addon(function(msg){

src/1-getting-started/3_callbacks/napi/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
addon(function(msg){

src/1-getting-started/3_callbacks/node-addon-api/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
addon(function(msg){
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default function addon(callback: (msg: "hello world") => void): void;

src/1-getting-started/4_object_factory/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj1 = addon('hello');

src/1-getting-started/4_object_factory/napi/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj1 = addon('hello');

src/1-getting-started/4_object_factory/node-addon-api/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj1 = addon('hello');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Returns the string "world".
3+
*/
4+
export default function hello(msg: string): { msg: string };

src/1-getting-started/5_function_factory/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var fn = addon();

src/1-getting-started/5_function_factory/napi/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var fn = addon();

src/1-getting-started/5_function_factory/node-addon-api/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var fn = addon();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Returns the string "world".
3+
*/
4+
export default function factory(): ()=> "hello world";

src/1-getting-started/6_object_wrap/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj = new addon.MyObject(10);

src/1-getting-started/6_object_wrap/napi/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('./type')}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj = new addon.MyObject(10);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export class MyObject{
2+
public value: number;
3+
4+
constructor(num: number);
5+
public plusOne(): number;
6+
public multiply(num?: number): MyObject;
7+
}

src/1-getting-started/6_object_wrap/node-addon-api/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj = new addon.MyObject(10);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export class MyObject{
2+
constructor(num: number);
3+
public value(): number;
4+
public plusOne(): number;
5+
public multiply(num?: number): MyObject;
6+
}

src/1-getting-started/7_factory_wrap/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var createObject = require('bindings')('addon');
25

36
var obj = createObject(10);

src/1-getting-started/7_factory_wrap/napi/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var createObject = require('bindings')('addon');
25

36
var obj = createObject(10);

src/1-getting-started/7_factory_wrap/node-addon-api/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type').default}
3+
*/
14
var createObject = require('bindings')('addon');
25

36
var obj = createObject(10);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function createObject(number: number): {
2+
public plusOne(): number;
3+
}

src/1-getting-started/a-first-project/node-addon-api/lib/binding.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('./type')}
3+
*/
14
const addon = require('../build/Release/hello-world-native');
25

36
module.exports = addon.HelloWorld
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Returns the string "world".
3+
*/
4+
export function HelloWorld(notused?: unknown): "world";

src/1-getting-started/a-first-project/node-addon-api/test/test_binding.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ assert(HelloWorld, "The expected function is undefined");
55

66
function testBasic()
77
{
8-
const result = HelloWorld("hello");
8+
const result = HelloWorld("hello");
99
assert.strictEqual(result, "world", "Unexpected value returned");
1010
}
1111

src/2-js-to-native-conversion/8_passing_wrapped/nan/addon.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
var addon = require('bindings')('addon');
25

36
var obj1 = addon.createObject(10);

src/2-js-to-native-conversion/8_passing_wrapped/napi/addon.js

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
var addon = require('bindings')('addon');
25

6+
37
var obj1 = addon.createObject(10);
48
var obj2 = addon.createObject(20);
59
var result = addon.add(obj1, obj2);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export class MyObject {
2+
}
3+
4+
export function createObject(num: number): MyObject;
5+
export function add(obj1: MyObject, obj2: MyObject): number;
6+
/**
7+
* imported path ending by .node
8+
*/
9+
export const path: string;

src/2-js-to-native-conversion/array_buffer_to_native/node-addon-api/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('./type')}
3+
*/
14
const binding = require('bindings')('array_buffer_to_native');
25
const array = new Int32Array(10);
36

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/**
2+
* dump a buffer to the console
3+
* @param buffer buffer to dump
4+
*/
5+
export function AcceptArrayBuffer(buffer: ArrayBufferLike): void;

src/2-js-to-native-conversion/object-template-demo/nan/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
const addon = require('bindings')('object-template-demo');
25

36
const interceptor = addon.create();

src/2-js-to-native-conversion/object-template-demo/napi/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import('../type')}
3+
*/
14
const addon = require('bindings')('object_template_demo');
25

36
const interceptor = addon.create();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/**
2+
* proxy object template
3+
*/
4+
export type ObjectTemplate = any;
5+
6+
export function create() : ObjectTemplate;

src/2-js-to-native-conversion/object-wrap-demo/node-addon-api/lib/binding.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
/**
2+
* @type {import('./type')}
3+
*/
14
const addon = require('../build/Release/object-wrap-demo-native');
2-
5+
/**
6+
*
7+
* @param {string} name
8+
*/
39
function ObjectWrapDemo(name) {
410
this.greet = function(str) {
511
return _addonInstance.greet(str);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export class ObjectWrapDemo {
2+
constructor(name: string);
3+
/**
4+
* return a string like "Hello, ${str}\nI am ${name}\n"
5+
* @param str greeting string
6+
*/
7+
greet(str: string): string;
8+
}

0 commit comments

Comments
 (0)