Skip to content
Snippets Groups Projects
Commit 6970964c authored by Éloïs's avatar Éloïs
Browse files

[ref] neon: migrate javascript binding code into pure typescript

parent 23a8d899
Branches
Tags
No related merge requests found
......@@ -36,14 +36,15 @@ coverage/
# typecode
typedoc/
# files generated by tsc
/index.js*
/index.d.ts
/server.js*
/server.d.ts
app/**/*.js*
*/**/*.js*
app/**/*.d.ts
neon/lib/*.d.ts
test/**/*.d.ts
test/**/*.js*
# files generated by neon tests
test2.bin.gz
......
const addon = require('../native/index.node');
const { Ed25519Signator, generateRandomSeed, seedToSecretKey, sha256, verify } = addon;
class KeyPairBuilder {
static fromSeed(seed) {
return new Ed25519Signator(seed);
}
static fromSecretKey(secretKey) {
return new Ed25519Signator(secretKey);
}
static random() {
return addon.generateRandomSeed();
}
}
module.exports = { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify };
import { Ed25519Signator, generateRandomSeed } from "../native";
export class KeyPairBuilder {
static fromSeed(seed: Buffer): Ed25519Signator {
return new Ed25519Signator(seed);
}
static fromSecretKey(secretKey: string): Ed25519Signator {
return new Ed25519Signator(secretKey);
}
static random(): Ed25519Signator {
return new Ed25519Signator(generateRandomSeed());
}
}
const { Wot, WotBuilder } = require('./wot');
const { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify } = require('./crypto');
module.exports = { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify, Wot, WotBuilder };
export { Ed25519Signator, generateRandomSeed, seedToSecretKey, sha256, verify, Wot } from "../native";
export { KeyPairBuilder } from "./crypto";
export { WotBuilder } from "./wot";
const addon = require('../native/index.node');
import { Wot } from "../native";
const { Wot } = addon;
export class WotBuilder {
class WotBuilder {
static fromWot(wot) {
static fromWot(wot: Wot): Wot {
return new Wot(wot.toBytes());
}
static fromFile(filePath) {
static fromFile(filePath: string): Wot {
return new Wot(filePath)
}
}
module.exports = { Wot, WotBuilder };
/* tslint:disable */
export class KeyPairBuilder {
static fromSeed(seed: Buffer): Ed25519Signator;
static fromSecretKey(secretKey: string): Ed25519Signator;
static random(): Ed25519Signator;
}
export class Ed25519Signator {
constructor(seedOrSecretKey: Buffer | string);
getPublicKey(): string;
sign(message: Buffer | string): string;
......
......@@ -3,7 +3,6 @@
import * as _crypto from './crypto';
import * as _wot from './wot';
export import KeyPairBuilder = _crypto.KeyPairBuilder;
export import Ed25519Signator = _crypto.Ed25519Signator;
export import generateRandomSeed = _crypto.generateRandomSeed;
export import seedToSecretKey = _crypto.seedToSecretKey;
......@@ -11,4 +10,4 @@ export import sha256 = _crypto.sha256;
export import verify = _crypto.verify;
export import Wot = _wot.Wot;
export import WotBuilder = _wot.WotBuilder;
export import DetailedDistance = _wot.DetailedDistance;
......@@ -9,14 +9,8 @@ export class DetailedDistance {
isOutdistanced: number;
}
export class WotBuilder {
static fromWot(wot: Wot): Wot;
static fromFile(filePath: string): Wot;
}
export class Wot {
constructor(maxCert: number);
constructor(maxCertOrFilePathOrBytes: number | string | Buffer);
clear(): void;
......@@ -66,5 +60,7 @@ export class Wot {
writeInFile(file_path: string): boolean;
toBytes(): Buffer;
dump(): string;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment