Giter VIP home page Giter VIP logo

Comments (3)

rhalff avatar rhalff commented on August 16, 2024

If you would like type checking like that you could consider using typescript.

Somebody made a definition available at: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dot-object

Although I do notice the types there should be updated, because the argument type is currently defined there as any which really should be an object.

Perhaps I'll do a pull request there later, however I'm not really using typescript at the moment.

from dot-object.

v1d3rm3 avatar v1d3rm3 commented on August 16, 2024

Hi, @rhalff. But, i think is not a problem with the Typescript. I'm using the type definition. Like i said, it's just a definition of a behavior to dotobject.object(obj), when obj is null or undefined. Actually, the library is giving an error of nullor undefined. I think you just need to define a standard behavior, example:

DotObject.prototype.object = function (obj, mods) {
  var self = this

  // HERE COMES THE FILTER EXAMPLE
  // I think if it's null or undefined, just return undefined
  if (!obj) { // or, more readable, if (obj === null || obj === undefined)
    return undefined;
  }

  Object.keys(obj).forEach(function (k) {
    var mod = mods === undefined ? null : mods[k]
    // normalize array notation.
    var ok = parsePath(k, self.seperator).join(self.seperator)

    if (ok.indexOf(self.seperator) !== -1) {
      self._fill(ok.split(self.seperator), obj, obj[k], mod)
      delete obj[k]
    } else if (self.override) {
      obj[k] = _process(obj[k], mod)
    }
  })

  return obj
}

from dot-object.

rhalff avatar rhalff commented on August 16, 2024

I think updating the type definition would be enough else every single function should always test the type of each and every argument during runtime.

If in your code obj could be undefined or null you should test it before making a call to .object

from dot-object.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.