Skip to content

convertJsonToResponse error when array property value is undefined #41

@peterprvy

Description

@peterprvy

when run flyway info, response not contains warnings

and response is:

2025-01-19T17:37:56: Migrate: start flyway info
2025-01-19T17:37:59: flyway resp info {
2025-01-19T17:37:59:   success: true,
2025-01-19T17:37:59:   error: {
2025-01-19T17:37:59:     errorCode: 'UNABLE_TO_PARSE_RESPONSE',
2025-01-19T17:37:59:     message: 'Command successful but unable to parse Flyway response.'
2025-01-19T17:37:59:   },
2025-01-19T17:37:59:   additionalDetails: {
2025-01-19T17:37:59:     executionTime: 3242,
2025-01-19T17:37:59:     flywayCli: {
2025-01-19T17:37:59:       location: 'C:\\Users\\<username>\\.node-flyway\\flyway-9.22.3',
2025-01-19T17:37:59:       source: 'FILE_SYSTEM',
2025-01-19T17:37:59:       version: 'V9.22.3',
2025-01-19T17:37:59:       hash: 'dded1ea374bc7311a61a725e6597e081'
2025-01-19T17:37:59:     }
2025-01-19T17:37:59:   }
2025-01-19T17:37:59: }

error is in function transformArray:

function transformArray(typ, val) {
    // val must be an array with no invalid elements
    if (!Array.isArray(val)) {
        return invalidValue("array", val);
    }
    return val.map(el => transform(el, typ, getProps));
}

fix the function:

function transformArray(typ, val) {
    // val must be an array with no invalid elements
    if (!Array.isArray(val)) {
        if(val === null || val === undefined) {
            return val;
        }
        return invalidValue("array", val);
    }
    return val.map(el => transform(el, typ, getProps));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions