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

MONEI / dynamoose / 38800922246
100%
main: 99%

Build:
Build:
LAST BUILD BRANCH: docs/upstream-prs
DEFAULT BRANCH: main
Ran 15 Oct 2026 08:20PM 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 08:17PM UTC coverage: 99.877% (+0.05%) from 99.828%
38800922246

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,
  and required also on what a written object holds below it
- 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
- a malformed path throws (empty part, unclosed or non-numeric index, a
  name right after an index); checks use the parsed path, so every
  spelling of a path resolves to the same schema attribute

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.

1555 of 1559 branches covered (99.74%)

Branch coverage included in aggregate %.

153 of 154 new or added lines in 2 files covered. (99.35%)

2515 of 2516 relevant lines covered (99.96%)

77367.03 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
99.43
0.23% packages/dynamoose/lib/Model/index.ts
Jobs
ID Job ID Ran Files Coverage
1 38800922246.1 15 Oct 2026 08:20PM UTC 49
99.88
GitHub Action Run
Source Files on build 38800922246
  • Tree
  • List 49
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 0dabc5d8 on github
  • Prev Build on upstream-pr/feat-update-nested-paths (#38772966373)
  • Next Build on upstream-pr/feat-update-nested-paths (#38902333962)
  • 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