createScriptProcessor method Null safety

ScriptProcessorNode createScriptProcessor (
  1. [int? bufferSize,
  2. int? numberOfInputChannels,
  3. int? numberOfOutputChannels]
)
override

Implementation

ScriptProcessorNode createScriptProcessor(
    [int? bufferSize,
    int? numberOfInputChannels,
    int? numberOfOutputChannels]) {
  var function = JS(
      '=Object',
      '#.createScriptProcessor || '
          '#.createJavaScriptNode',
      this,
      this);
  if (numberOfOutputChannels != null) {
    return JS('ScriptProcessorNode', '#.call(#, #, #, #)', function, this,
        bufferSize, numberOfInputChannels, numberOfOutputChannels);
  } else if (numberOfInputChannels != null) {
    return JS('ScriptProcessorNode', '#.call(#, #, #)', function, this,
        bufferSize, numberOfInputChannels);
  } else if (bufferSize != null) {
    return JS(
        'ScriptProcessorNode', '#.call(#, #)', function, this, bufferSize);
  } else {
    return JS('ScriptProcessorNode', '#.call(#)', function, this);
  }
}