These changes transfer the decision that was done in JS to the Objective-C side. The arguments are passed in as-is, if an object is passed in as an array element, it is converted to a NSDictionary in objective-C. So if you use the new plugin signature, you can pass in as many objects as you want to the plugin method, they will be in order in the arguments array as NSDictionary-s.
The "extraction" occurs when we compare the plugin method signature - if its a legacy signature, we extract the first NSDictionary from the arguments, like we did in JS. If its not a legacy signature, we pass the arguments unchanged. re: https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec#L3R63 On Fri, Jul 27, 2012 at 5:26 PM, Jesse <[email protected]> wrote: > Wait! > > Can we discuss the EXACT nature of the command array? > I have had to work through a similar issue on WP7, it would be > extremely valuable if we could agree on what the args to exec looks > like. > > It looks like your changes are all inside and beyond exec, but I want > to make sure. > > In the past we discussed removing the array altogether and passing > named objects as args. > On WP7 it is extremely difficult to interpret arrays that do not > contain the same types of object. > For example, if the command has args of ['what',23,{obj:literal},[1,2,3]] > > Do we still have a limitation of only passing 1 object literal? > > > > On Fri, Jul 27, 2012 at 5:08 PM, Andrew Grieve <[email protected]> wrote: >> Committed. >> Sounds good! You update the dev guide, and I'll work to update the existing >> core plugins. >> >> >> On Fri, Jul 27, 2012 at 6:22 PM, Shazron <[email protected]> wrote: >> >>> Thanks Andrew, this looks good! >>> >>> Once you merge it in, I'll add the doc issues, especially the Plugin >>> Dev Guide, we don't want people to start using the old way. I was >>> thinking, a deprecation NSLog would be great if they are using the old >>> way, but that will just be too much noise at this point... >>> >>> On Fri, Jul 27, 2012 at 2:06 PM, Andrew Grieve <[email protected]> >>> wrote: >>> > Shaz, >>> > >>> > I mentioned doing such a change during PGD, but was hoping you could >>> give it >>> > a sanity check over: >>> > >>> > https://issues.apache.org/jira/browse/CB-1150 >>> > https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec >>> > https://github.com/agrieve/incubator-cordova-js/tree/better_exec >>> > >>> > I ensured mobile-spec and unit tests pass, so should be good to go I >>> think. >>> > >>> > Andrew >>> > > > > -- > @purplecabbage > risingj.com
