1'use strict';
2
3const common = require('../common');
4const { strictEqual } = require('assert');
5const { AsyncLocalStorage } = require('async_hooks');
6
7const asyncLocalStorage = new AsyncLocalStorage();
8const runInAsyncScope =
9  asyncLocalStorage.run(123, common.mustCall(() => AsyncLocalStorage.snapshot()));
10const result =
11  asyncLocalStorage.run(321, common.mustCall(() => {
12    return runInAsyncScope(() => {
13      return asyncLocalStorage.getStore();
14    });
15  }));
16strictEqual(result, 123);
17