All files / lib/core/reactive symbols.js

100% Statements 35/35
100% Branches 1/1
100% Functions 0/0
100% Lines 35/35

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x 428x  
/**
 * @file symbols.js
 * @description The symbols that mark and unwrap reactive values.
 *
 * These live in their own module so that consumers which only need to
 * recognise a reactive value — rather than create one — can do so without
 * importing `proxyHandler.js`. `proxyHandler.js` re-exports every name here,
 * so this split is invisible to existing importers.
 * @module lib/core/reactive/symbols
 */
 
/**
 * Reads the raw target behind a reactive proxy.
 * @type {symbol}
 */
export const RAW_SYMBOL = Symbol('raw');
 
/**
 * Marks a value as an Avenx reactive proxy.
 * @type {symbol}
 */
export const IS_REACTIVE_PROXY = Symbol('avenx.reactive.proxy');
 
/**
 * Links a raw target back to the proxy that wraps it, so a value reached by
 * two routes yields one stable proxy identity.
 * @type {symbol}
 */
export const PROXY_REF_SYMBOL = Symbol.for('__avenx_proxy_ref__');
 
/**
 * Marks a value that must never be wrapped in a reactive proxy.
 * @type {symbol}
 */
export const NON_REACTIVE_SYMBOL = Symbol.for('avenx.reactive.skip');