Proxies

Most built-in types in Modélico (List, Set, Map, EnumMap and Date) are wrappers around native structures. Except for a few built-in basic methods, it is necessary to retrieve those structures to access their properties and methods (eg. list.inner().reduce).

However, if your environment supports ES2015 proxiesarrow-up-right, Modélico provides utilities to get around this:

  • M.proxyDate

  • M.proxyList

  • M.proxySet

  • M.proxyMap, M.proxyEnumMap, M.proxyStringMap

Example:

import M from 'modelico'
const p = M.proxyDate

const defaultDate = M.Date.of(new Date('1988-04-16'))
const proxiedDate = p(defaultDate)

// without proxies
defaultDate.inner().getFullYear() // => 1988

// with proxies
proxiedDate.getFullYear() // => 1988

Please note that native methods that modify the structure in place will instead return a new Modélico object:

See proxy testsarrow-up-right for more details.

Last updated