2020-08-06 13:03:42 -05:00
|
|
|
// With the API support for Polyglot, we lost the ability to expose
|
|
|
|
|
// map operations (underlying Java Map API) as well as proxy methods
|
|
|
|
|
// on ECMA objects. What works now is object semantics + non-map methods.
|
|
|
|
|
// More testing and refinement may be needed to clarify the rules here.
|
|
|
|
|
|
|
|
|
|
// previously:
|
|
|
|
|
// print('params.get("one")=\'' + params.get("one") + "'"); // worked with nashorn
|
|
|
|
|
// print('params.get("three")=\'' + params.get("three") + "'");
|
|
|
|
|
// print('params.size()=' + params.size());
|
|
|
|
|
|
|
|
|
|
// Called with one=two three=four
|
|
|
|
|
|
|
|
|
|
print('params["one"]=\'' + params["one"] + "'");
|
2020-08-06 13:49:55 -05:00
|
|
|
print('params["three"]=\'' + params["three"] + "'");
|
2020-02-20 15:37:57 -06:00
|
|
|
|
|
|
|
|
var overrides = {
|
|
|
|
|
'three': "five"
|
|
|
|
|
};
|
2020-08-06 13:03:42 -05:00
|
|
|
|
|
|
|
|
var overridden = params.withOverrides(overrides);
|
|
|
|
|
|
|
|
|
|
print('overridden["three"] [overridden-three-five]=\'' + overridden["three"] + "'");
|
|
|
|
|
|
2020-02-20 15:37:57 -06:00
|
|
|
var defaults = {
|
|
|
|
|
'four': "niner"
|
|
|
|
|
};
|
2020-08-06 13:03:42 -05:00
|
|
|
|
|
|
|
|
var defaulted = params.withDefaults(defaults);
|
|
|
|
|
|
|
|
|
|
print('defaulted.get["four"] [defaulted-four-niner]=\'' + defaulted["four"] + "'");
|
2020-02-20 15:37:57 -06:00
|
|
|
|