junkurihara/jscu

View on GitHub
packages/js-crypto-key-utils/src/key.ts

Summary

Maintainability
B
4 hrs
Test Coverage

Showing 3 of 3 total issues

Function export has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
Open

async export(format: KeyFormat = 'jwk', options: KeyExportOptions = {}): Promise<JsonWebKey|PEM|DER|OctetEC>{
// return 'as is' without passphrase when nothing is given as 'options'
// only for the case to export der key from der key (considering encrypted key). expect to be called from getter
if(this._isEncrypted && this._type === 'private'){
if((format === 'der' || format === 'pem') && Object.keys(options).length === 0 && this._current.der) {
Severity: Minor
Found in packages/js-crypto-key-utils/src/key.ts - About 1 hr to fix

Function constructor has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
Open

constructor(format: KeyFormat, key: JsonWebKey|PEM|DER|OctetEC, options: {namedCurve?: CurveTypes}={}){
const localKey = cloneDeep(key);
const localOpt = cloneDeep(options);
 
this._type = null;
Severity: Minor
Found in packages/js-crypto-key-utils/src/key.ts - About 1 hr to fix

Function export has 33 lines of code (exceeds 25 allowed). Consider refactoring.
Open

async export(format: KeyFormat = 'jwk', options: KeyExportOptions = {}): Promise<JsonWebKey|PEM|DER|OctetEC>{
// return 'as is' without passphrase when nothing is given as 'options'
// only for the case to export der key from der key (considering encrypted key). expect to be called from getter
if(this._isEncrypted && this._type === 'private'){
if((format === 'der' || format === 'pem') && Object.keys(options).length === 0 && this._current.der) {
Severity: Minor
Found in packages/js-crypto-key-utils/src/key.ts - About 1 hr to fix

    There are no issues that match your filters.

    Category
    Status