Sharing data between parts

Sometimes, you’ll want to access data from one part into another part. For example, you may store the length of the armhole in your front and back parts, and then read that value when drafting the sleeve so you can verify the sleeve fits the armhole.

For this, you should use the Store, which is available via destructuring in your part’s draft method.

Setting a value in one part:

mjs
function draftPartA({
store,
part, }
) {
store.set('hello', 'world')
return part() }

Reading a value in another part:

mjs
function draftPartB({
store,
part, }
) {
const value = store.get('hello') // value now contains 'world'
return part() }

In a case like this, the order in which parts are drafted becomes important, so you should reflect that in the part dependencies.