metabase-lib/lib/metadata:
- "Base" base class
- copies properties
- also includes "_plainObject"
- external logic sets up references, lame: "metabase/selectors/metadata"
metabase-lib/lib/Dimension.js:
- "Dimension" base class, encode each clause as a different subclass
- also includes optional "_parent" (actually a child in the tree, i.e.
["field-id", 1]
is a_parent
in["datetime-field", ["field-id", 1], "month"]
) and "_args" which are rest of clause args (month
thedatetime-field
or1
in thefield-id
) - also includes "_metadata" and "_query" properties