Skip to content

Commit 7591baa

Browse files
committed
fix: Small refactor
Signed-off-by: jamshale <[email protected]>
1 parent 01a139e commit 7591baa

File tree

1 file changed

+46
-61
lines changed

1 file changed

+46
-61
lines changed

packages/askar-nodejs/src/NodeJSAskar.ts

Lines changed: 46 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,6 @@ import {
8989
StoreHandle,
9090
handleInvalidNullResponse,
9191
} from '@openwallet-foundation/askar-shared'
92-
import type {
93-
ByteBufferType,
94-
EncryptedBufferType,
95-
NativeCallback,
96-
NativeCallbackWithResponse,
97-
SecretBufferType,
98-
} from './ffi'
9992
import {
10093
FFI_ENTRY_LIST_HANDLE,
10194
FFI_INT8,
@@ -121,8 +114,12 @@ import {
121114
toNativeCallback,
122115
toNativeCallbackWithResponse,
123116
toNativeLogCallback,
117+
NativeCallback,
118+
NativeCallbackWithResponse,
119+
ByteBufferType,
124120
} from './ffi'
125121
import { getNativeAskar } from './library'
122+
import { EncryptedBufferType } from './ffi/structures';
126123

127124
function handleNullableReturnPointer<Return>(returnValue: Buffer): Return | null {
128125
if (returnValue.address() === 0) return null
@@ -318,11 +315,10 @@ export class NodeJSAskar implements Askar {
318315
const errorCode = this.nativeAskar.askar_entry_list_get_value(entryListHandle, index, ret)
319316
this.handleError(errorCode)
320317
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
321-
const view = secretBufferToBuffer(byteBuffer)
322-
const result = Buffer.from(view)
323-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
318+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
319+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
324320

325-
return new Uint8Array(result)
321+
return bufferArray
326322
}
327323

328324
public keyAeadDecrypt(options: KeyAeadDecryptOptions): Uint8Array {
@@ -332,11 +328,10 @@ export class NodeJSAskar implements Askar {
332328
const errorCode = this.nativeAskar.askar_key_aead_decrypt(localKeyHandle, ciphertext, nonce, tag, aad, ret)
333329
this.handleError(errorCode)
334330
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
335-
const view = secretBufferToBuffer(byteBuffer)
336-
const result = Buffer.from(view)
337-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
331+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
332+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
338333

339-
return new Uint8Array(result)
334+
return bufferArray
340335
}
341336

342337
public keyAeadEncrypt(options: KeyAeadEncryptOptions): EncryptedBuffer {
@@ -346,10 +341,10 @@ export class NodeJSAskar implements Askar {
346341
const errorCode = this.nativeAskar.askar_key_aead_encrypt(localKeyHandle, message, nonce, aad, ret)
347342
this.handleError(errorCode)
348343
const encryptedBuffer = handleReturnPointer<EncryptedBufferType>(ret)
349-
const view = encryptedBufferStructToClass(encryptedBuffer)
350-
this.nativeAriesAskar.askar_buffer_free(encryptedBuffer.secretBuffer)
344+
const encryptedBufferClass = encryptedBufferStructToClass(encryptedBuffer)
345+
this.nativeAskar.askar_buffer_free(encryptedBuffer.secretBuffer as unknown as Buffer)
351346

352-
return view
347+
return encryptedBufferClass
353348
}
354349

355350
public keyAeadGetPadding(options: KeyAeadGetPaddingOptions): number {
@@ -379,11 +374,10 @@ export class NodeJSAskar implements Askar {
379374
const errorCode = this.nativeAskar.askar_key_aead_random_nonce(localKeyHandle, ret)
380375
this.handleError(errorCode)
381376
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
382-
const view = secretBufferToBuffer(byteBuffer)
383-
const result = Buffer.from(view)
384-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
377+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
378+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
385379

386-
return new Uint8Array(result)
380+
return bufferArray
387381
}
388382

389383
public keyConvert(options: KeyConvertOptions): LocalKeyHandle {
@@ -404,11 +398,10 @@ export class NodeJSAskar implements Askar {
404398
const errorCode = this.nativeAskar.askar_key_crypto_box(recipientKey, senderKey, message, nonce, ret)
405399
this.handleError(errorCode)
406400
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
407-
const view = secretBufferToBuffer(byteBuffer)
408-
const result = Buffer.from(view)
409-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
401+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
402+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
410403

411-
return new Uint8Array(result)
404+
return bufferArray
412405
}
413406

414407
public keyCryptoBoxOpen(options: KeyCryptoBoxOpenOptions): Uint8Array {
@@ -418,11 +411,10 @@ export class NodeJSAskar implements Askar {
418411
const errorCode = this.nativeAskar.askar_key_crypto_box_open(recipientKey, senderKey, message, nonce, ret)
419412
this.handleError(errorCode)
420413
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
421-
const view = secretBufferToBuffer(byteBuffer)
422-
const result = Buffer.from(view)
423-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
414+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
415+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
424416

425-
return new Uint8Array(result)
417+
return bufferArray
426418
}
427419

428420
public keyCryptoBoxRandomNonce(): Uint8Array {
@@ -431,11 +423,10 @@ export class NodeJSAskar implements Askar {
431423
const errorCode = this.nativeAskar.askar_key_crypto_box_random_nonce(ret)
432424
this.handleError(errorCode)
433425
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
434-
const view = secretBufferToBuffer(byteBuffer)
435-
const result = Buffer.from(view)
436-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
426+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
427+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
437428

438-
return new Uint8Array(result)
429+
return bufferArray
439430
}
440431

441432
public keyCryptoBoxSeal(options: KeyCryptoBoxSealOptions): Uint8Array {
@@ -445,11 +436,10 @@ export class NodeJSAskar implements Askar {
445436
const errorCode = this.nativeAskar.askar_key_crypto_box_seal(localKeyHandle, message, ret)
446437
this.handleError(errorCode)
447438
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
448-
const view = secretBufferToBuffer(byteBuffer)
449-
const result = Buffer.from(view)
450-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
439+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
440+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
451441

452-
return new Uint8Array(result)
442+
return bufferArray
453443
}
454444

455445
public keyCryptoBoxSealOpen(options: KeyCryptoBoxSealOpenOptions): Uint8Array {
@@ -459,11 +449,10 @@ export class NodeJSAskar implements Askar {
459449
const errorCode = this.nativeAskar.askar_key_crypto_box_seal_open(localKeyHandle, ciphertext, ret)
460450
this.handleError(errorCode)
461451
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
462-
const view = secretBufferToBuffer(byteBuffer)
463-
const result = Buffer.from(view)
464-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
452+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
453+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
465454

466-
return new Uint8Array(result)
455+
return bufferArray
467456
}
468457

469458
public keyDeriveEcdh1pu(options: KeyDeriveEcdh1puOptions): LocalKeyHandle {
@@ -686,11 +675,10 @@ export class NodeJSAskar implements Askar {
686675
const errorCode = this.nativeAskar.askar_key_get_jwk_secret(localKeyHandle, ret)
687676
this.handleError(errorCode)
688677
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
689-
const view = secretBufferToBuffer(byteBuffer)
690-
const result = Buffer.from(view)
691-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
678+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
679+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
692680

693-
return new Uint8Array(result)
681+
return bufferArray
694682
}
695683

696684
public keyGetJwkThumbprint(options: KeyGetJwkThumbprintOptions): string {
@@ -710,11 +698,10 @@ export class NodeJSAskar implements Askar {
710698
const errorCode = this.nativeAskar.askar_key_get_public_bytes(localKeyHandle, ret)
711699
this.handleError(errorCode)
712700
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
713-
const view = secretBufferToBuffer(byteBuffer)
714-
const result = Buffer.from(view)
715-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
701+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
702+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
716703

717-
return new Uint8Array(result)
704+
return bufferArray
718705
}
719706

720707
public keyGetSecretBytes(options: KeyGetSecretBytesOptions): Uint8Array {
@@ -724,11 +711,10 @@ export class NodeJSAskar implements Askar {
724711
const errorCode = this.nativeAskar.askar_key_get_secret_bytes(localKeyHandle, ret)
725712
this.handleError(errorCode)
726713
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
727-
const view = secretBufferToBuffer(byteBuffer)
728-
const result = Buffer.from(view)
729-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
714+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
715+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
730716

731-
return new Uint8Array(result)
717+
return bufferArray
732718
}
733719

734720
public keySignMessage(options: KeySignMessageOptions): Uint8Array {
@@ -738,11 +724,10 @@ export class NodeJSAskar implements Askar {
738724
const errorCode = this.nativeAskar.askar_key_sign_message(localKeyHandle, message, sigType, ret)
739725
this.handleError(errorCode)
740726
const byteBuffer = handleReturnPointer<ByteBufferType>(ret)
741-
const view = secretBufferToBuffer(byteBuffer)
742-
const result = Buffer.from(view)
743-
this.nativeAriesAskar.askar_buffer_free(byteBuffer)
727+
const bufferArray= new Uint8Array(Buffer.from(secretBufferToBuffer(byteBuffer)))
728+
this.nativeAskar.askar_buffer_free(byteBuffer as unknown as Buffer)
744729

745-
return new Uint8Array(result)
730+
return bufferArray
746731
}
747732

748733
public keyUnwrapKey(options: KeyUnwrapKeyOptions): LocalKeyHandle {
@@ -773,10 +758,10 @@ export class NodeJSAskar implements Askar {
773758
const errorCode = this.nativeAskar.askar_key_wrap_key(localKeyHandle, other, nonce, ret)
774759
this.handleError(errorCode)
775760
const encryptedBuffer = handleReturnPointer<EncryptedBufferType>(ret)
776-
const view = encryptedBufferStructToClass(encryptedBuffer)
777-
this.nativeAriesAskar.askar_buffer_free(encryptedBuffer.secretBuffer)
761+
const encryptedBufferClass = encryptedBufferStructToClass(encryptedBuffer)
762+
this.nativeAskar.askar_buffer_free(encryptedBuffer.secretBuffer as unknown as Buffer)
778763

779-
return view
764+
return encryptedBufferClass
780765
}
781766

782767
public keyGetSupportedBackends(): string[] {

0 commit comments

Comments
 (0)