On Tue, Oct 25, 2011 at 12:57 PM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:
> On Tue, Oct 25, 2011 at 12:53 PM, Ojan Vafai <ojan@chromium.org> wrote:
> > The new API is smaller and simpler. Less to implement and less for web
> > developers to understand. If it can meet all our use-cases without
> > significant performance problems, then it's a win and we should do it.
> >
> > For line-endings, you could have the Blob constructor also take an
> optional
> > endings argument:
> > new Blob(String|Array|Blob|ArrayBuffer data, [optional] String
> contentType,
> > [optional] String endings);
>
> I believe (or at least, I maintain) that we're trying to do
> dictionaries for this sort of thing. Multiple optional arguments are
> *horrible* unless they are truly, actually, order-dependent such that
> you wouldn't ever specify a later one without already specifying a
> former one.
>
I agree actually. So, it could be any of the following:
1. new Blob(data, [optional] options)
2. new Blob(options, data...)
3. new Blob([optional] dataAndOptions)
I don't feel strongly, but option 1 seems best to me since it allows simple
usages like 'new Blob("foo")'. On the other hand, option 2 lets you not have
to create an array to append multiple elements to the Blob.