Giter VIP home page Giter VIP logo

Comments (2)

schang933 avatar schang933 commented on August 18, 2024

Edit: This could be a flat, AWS, or Node issue, but the workaround I used was more related to flat. Someone feel free to redirect if this post is in the wrong place.

Similar issue:
Upgraded from Node v5.10.1 to v6.0.0 and flat doesn't seem to play well with AWS. Works as intended after downgrading to v5.11.0. General idea of code below. AWS API call is here.

var flattened = flat(someObject, { maxDepth: N });
var values = {};
var count = 0;
for (var field in flattened) {
  values[":v" + count] = flattened[field];
  count += 1;
}
var params = {
  // ... stuff for AWS
  ExpressionAttributeValues: values,
  // ... more stuff for AWS
}
logger.info(params); // no issues logging the object
aDynamoDBObject.update(params); // AWS error: ExpressionAttributeValues must not be empty

It seems like the reference to the flattened object's value is lost. Tried using the deepcopy library to no avail. Works as intended after replacing

flattened[field]

with

Object.assign({}, flattened[field])

But this doesn't work when flattened[field] is not an object.

from flat.

jonkoops avatar jonkoops commented on August 18, 2024

Closing this as the issue was reported for currently ancient versions of Node.js and it is no longer possible to reproduce this. As far as I can tell this behavior is consistent in modern version of Node.js.

from flat.

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.