• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MONEI / dynamoose / 38771885179
100%
main: 99%

Build:
Build:
LAST BUILD BRANCH: docs/upstream-prs
DEFAULT BRANCH: main
Ran 15 Oct 2026 04:48PM UTC
Jobs 1
Files 49
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 04:46PM UTC coverage: 99.828%. First build
38771885179

push

github

jimmyn
Adding nested path support to Model.update

An update key can now be a path into a nested attribute: dots for map keys
and brackets for list indexes (address.city, tags[0], friends[0].name), for
$SET, $ADD, $REMOVE and $DELETE. Before, such a key was sent as one
attribute name, so DynamoDB created a top-level attribute literally named
"address.city".

The expression gets one name per path part, with list indexes literal
(#a0[0].#a1). Each nested value is wrapped in the object its path
describes and converted by objectFromSchema, so type checks, enum,
validate, set modifiers and custom types (Date storage, sets) apply as for
a full write. A new nestedScope setting limits defaults to the written
path and stops an ancestor rule from seeing a partial object:
- default and required are checked on the nested attribute, not its parent
- a nested key the schema drops (undeclared, not covered by saveUnknown)
  is skipped, as a full write would drop it; an update that writes
  nothing else throws instead of sending only timestamps
- a parent with declared children and its own set or validate refuses
  the nested write; a record or schemaless parent runs its rule on the
  written entry
- a value no definition of a multi-type parent accepts throws instead of
  removing the stored value
- __proto__ and constructor path parts throw

Combine sources and forced defaults now match only the top-level name of
each expression term, since a nested path part can share a name with a
top-level attribute.

1547 of 1552 branches covered (99.68%)

Branch coverage included in aggregate %.

145 of 147 new or added lines in 2 files covered. (98.64%)

2508 of 2510 relevant lines covered (99.92%)

76765.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
99.2
packages/dynamoose/lib/Model/index.ts
Jobs
ID Job ID Ran Files Coverage
1 38771885179.1 15 Oct 2026 04:48PM UTC 49
99.83
GitHub Action Run
Source Files on build 38771885179
  • Tree
  • List 49
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • e656f728 on github
  • Next Build on upstream-pr/feat-update-nested-paths (#38772476355)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc