Skip to content

empty string is converted to empty object in LoopBack3 #560

Description

@KrautRock

Steps to reproduce

LookBack version: 3.28.0
loopback-connector-mysql version: 7.0.5

This bug occurred after we upgraded the version of loopback-connector-mysql from 4.1.0 to 7.0.5.

define a nullable property in lb3 model like this:

"properties": {
    "id": {
      "type": "string",
      "required": false,
      "length": 255,
      "precision": null,
      "scale": null,
      "default":null,
      "mysql": {
        "columnName": "id",
        "dataType": "VARCHAR",
        "dataLength": 255,
        "dataPrecision": null,
        "dataScale": null,
        "nullable": "Y"
      }
    }
}

And then simply get this model from lb.

Bbserved Result

If id is an empty string, it will be converted to empty object. If id is null or non-empty string, it will be returned directly.

Expected Behavior

Empty string shouldn't be converted to empty object, and should be returned directly as null or non-empty string.

Additional information

node -e 'console.log(process.platform, process.arch, process.versions.node)'

darwin arm64 20.9.0

npm ls --prod --depth 0 | grep loopback

npm WARN config production Use --omit=dev instead.
├── loopback-boot@3.3.1
├── loopback-component-explorer@6.5.1
├── loopback-component-storage@3.7.0
├── loopback-connector-mongodb@5.6.0
├── loopback-connector-mysql@7.0.5
├── loopback-connector-rest@2.1.0
├── loopback-filters@1.1.1
├── loopback-i18n@1.1.4
├── loopback@3.28.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions