Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor/typescript rework #167

Draft
wants to merge 44 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
fdec54a
chore(npm): create TypeScript build setup
fh1ch Jul 2, 2021
4eb6681
refactor(apdu): rework to TypeScript
fh1ch Jul 2, 2021
eb527d5
refactor(bvlc): rework to TypeScript
fh1ch Jul 2, 2021
c8d3139
refactor(enum): rework to TypeScript
fh1ch Jul 2, 2021
15da097
refactor(transport): rework to TypeScript
fh1ch Jul 2, 2021
f0eea34
refactor(npdu): rework to TypeScript
fh1ch Jul 2, 2021
b3ec39b
refactor(asn1): rework to TypeScript
fh1ch Jul 2, 2021
6765d13
refactor(add-list-element): rework to TypeScript
fh1ch Jul 2, 2021
a5db512
refactor(alarm-acknowledge): rework to TypeScript
fh1ch Jul 2, 2021
46fd0b6
refactor(alarm-summary): rework to TypeScript
fh1ch Jul 2, 2021
682f152
refactor(atomic-read-file): rework to TypeScript
fh1ch Jul 2, 2021
fdcc7dc
refactor(atomic-write-file): rework to TypeScript
fh1ch Jul 2, 2021
32faf50
refactor(cov-notification): rework to TypeScript
fh1ch Jul 2, 2021
4d9e060
refactor(create-object): rework to TypeScript
fh1ch Jul 2, 2021
1ea6c50
refactor(delete-object): rework to TypeScript
fh1ch Jul 2, 2021
d211f9f
refactor(device-communiction-control): rework to TypeScript
fh1ch Jul 2, 2021
f54fd05
refactor(error): rework to TypeScript
fh1ch Jul 2, 2021
be19155
refactor(event-information): rework to TypeScript
fh1ch Jul 2, 2021
3ba8b16
refactor(event-notify-data): rework to TypeScript
fh1ch Jul 2, 2021
45760c9
refactor(get-enrollment-summary): rework to TypeScript
fh1ch Jul 2, 2021
f8e4d9b
refactor(get-event-information): rework to TypeScript
fh1ch Jul 2, 2021
b1e3fc1
refactor(i-am-broadcast): rework to TypeScript
fh1ch Jul 2, 2021
851c26d
refactor(i-have-broadcast): rework to TypeScript
fh1ch Jul 2, 2021
6dc940d
refactor(live-safety-operation): rework to TypeScript
fh1ch Jul 2, 2021
a73abce
refactor(private-transfer): rework to TypeScript
fh1ch Jul 2, 2021
ac22235
refactor(read-property-multiple): rework to TypeScript
fh1ch Jul 2, 2021
511d1ef
refactor(read-property): rework to TypeScript
fh1ch Jul 2, 2021
aa9dd99
refactor(read-range): rework to TypeScript
fh1ch Jul 2, 2021
2957ca7
refactor(reinitialize-device): rework to TypeScript
fh1ch Jul 2, 2021
0debc92
refactor(subscribe-cov): rework to TypeScript
fh1ch Jul 2, 2021
cb2467c
refactor(subscribe-property): rework to TypeScript
fh1ch Jul 2, 2021
5100233
refactor(time-sync): rework to TypeScript
fh1ch Jul 2, 2021
620e569
refactor(who-has): rework to TypeScript
fh1ch Jul 2, 2021
b291a7d
refactor(who-is): rework to TypeScript
fh1ch Jul 2, 2021
9853313
refactor(write-property-multiple): rework to TypeScript
fh1ch Jul 2, 2021
2b4d15d
refactor(write-property): rework to TypeScript
fh1ch Jul 2, 2021
bf6c135
refactor(client): rework to TypeScript
fh1ch Jul 2, 2021
65c733f
refactor(test-compliance): rework to TypeScript
fh1ch Jul 5, 2021
6d2bd3f
refactor(test-unit): rework to TypeScript
fh1ch Jul 5, 2021
30b253c
refactor(test-integration): rework to TypeScript
fh1ch Jul 5, 2021
620cc82
chore(npm): add Jest TypeScript compatibility
fh1ch Jul 5, 2021
bd3638d
chore(npm): adapt ESLint to support TypeScript linting
fh1ch Jul 5, 2021
645d335
style: adapt all files to new linting rules
fh1ch Jul 5, 2021
017ec62
chore(npm): replace JSDoc with TypeDocs docs parser
fh1ch Jul 5, 2021
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
16 changes: 10 additions & 6 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
extends:
- eslint:recommended
- google
- 'eslint:recommended'
- 'plugin:@typescript-eslint/recommended'
- 'google'
env:
node: true
jest: true
parser: '@typescript-eslint/parser'
parserOptions:
ecmaVersion: 2020
rules:
comma-dangle: [error, never]
max-len: [error, 320]
require-jsdoc: 0
new-cap: 0
'comma-dangle': [error, never]
'max-len': [error, 320]
'require-jsdoc': 0
'new-cap': 0
'@typescript-eslint/no-explicit-any': 0
'@typescript-eslint/explicit-function-return-type': 0
File renamed without changes.
37 changes: 19 additions & 18 deletions lib/apdu.js → lib/apdu.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
'use strict';

const baEnum = require('./enum');
import * as baEnum from './enum';
import { EncodeBuffer } from './types';

const getDecodedType = module.exports.getDecodedType = (buffer, offset) => {
export const getDecodedType = (buffer: Buffer, offset: number) => {
return buffer[offset];
};

module.exports.setDecodedType = (buffer, offset, type) => {
export const setDecodedType = (buffer: Buffer, offset: number, type: number) => {
buffer[offset] = type;
};

module.exports.getDecodedInvokeId = (buffer, offset) => {
export const getDecodedInvokeId = (buffer: Buffer, offset: number) => {
const type = getDecodedType(buffer, offset);
switch (type & baEnum.PDU_TYPE_MASK) {
case baEnum.PduTypes.SIMPLE_ACK:
Expand All @@ -26,7 +27,7 @@ module.exports.getDecodedInvokeId = (buffer, offset) => {
}
};

module.exports.encodeConfirmedServiceRequest = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
export const encodeConfirmedServiceRequest = (buffer: EncodeBuffer, type: number, service: number, maxSegments: number, maxApdu: number, invokeId: number, sequencenumber?: number, proposedWindowSize?: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
buffer.buffer[buffer.offset++] = invokeId;
Expand All @@ -37,7 +38,7 @@ module.exports.encodeConfirmedServiceRequest = (buffer, type, service, maxSegmen
buffer.buffer[buffer.offset++] = service;
};

module.exports.decodeConfirmedServiceRequest = (buffer, offset) => {
export const decodeConfirmedServiceRequest = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const maxSegments = buffer[offset] & 0xF0;
Expand All @@ -62,12 +63,12 @@ module.exports.decodeConfirmedServiceRequest = (buffer, offset) => {
};
};

module.exports.encodeUnconfirmedServiceRequest = (buffer, type, service) => {
export const encodeUnconfirmedServiceRequest = (buffer: EncodeBuffer, type: number, service: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = service;
};

module.exports.decodeUnconfirmedServiceRequest = (buffer, offset) => {
export const decodeUnconfirmedServiceRequest = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const service = buffer[offset++];
Expand All @@ -78,13 +79,13 @@ module.exports.decodeUnconfirmedServiceRequest = (buffer, offset) => {
};
};

module.exports.encodeSimpleAck = (buffer, type, service, invokeId) => {
export const encodeSimpleAck = (buffer: EncodeBuffer, type: number, service: number, invokeId: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};

module.exports.decodeSimpleAck = (buffer, offset) => {
export const decodeSimpleAck = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
Expand All @@ -97,7 +98,7 @@ module.exports.decodeSimpleAck = (buffer, offset) => {
};
};

module.exports.encodeComplexAck = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
export const encodeComplexAck = (buffer: EncodeBuffer, type: number, service: number, invokeId: number, sequencenumber?: number, proposedWindowNumber?: number) => {
let len = 3;
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
Expand All @@ -110,7 +111,7 @@ module.exports.encodeComplexAck = (buffer, type, service, invokeId, sequencenumb
return len;
};

module.exports.decodeComplexAck = (buffer, offset) => {
export const decodeComplexAck = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
Expand All @@ -131,14 +132,14 @@ module.exports.decodeComplexAck = (buffer, offset) => {
};
};

module.exports.encodeSegmentAck = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
export const encodeSegmentAck = (buffer: EncodeBuffer, type: number, originalInvokeId: number, sequencenumber: number, actualWindowSize: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = originalInvokeId;
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = actualWindowSize;
};

module.exports.decodeSegmentAck = (buffer, offset) => {
export const decodeSegmentAck = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const originalInvokeId = buffer[offset++];
Expand All @@ -153,13 +154,13 @@ module.exports.decodeSegmentAck = (buffer, offset) => {
};
};

module.exports.encodeError = (buffer, type, service, invokeId) => {
export const encodeError = (buffer: EncodeBuffer, type: number, service: number, invokeId: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};

module.exports.decodeError = (buffer, offset) => {
export const decodeError = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
Expand All @@ -172,13 +173,13 @@ module.exports.decodeError = (buffer, offset) => {
};
};

module.exports.encodeAbort = (buffer, type, invokeId, reason) => {
export const encodeAbort = (buffer: EncodeBuffer, type: number, invokeId: number, reason: number) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = reason;
};

module.exports.decodeAbort = (buffer, offset) => {
export const decodeAbort = (buffer: Buffer, offset: number) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
Expand Down
Loading