Ajuda com atividade em JS

Boa tarde preciso de ajuda com a atividade abaixo:

Dado um array de inteiros nums classificados em ordem não decrescente , retorne um array dos quadrados de cada número classificados em ordem não decrescente .

Exemplo 1:

Entrada: nums = [-4,-1,0,3,10] Saída: [0,1,9,16,100] Explicação: Após o quadrado, a matriz se torna [16,1,0,9,100]. Após a classificação, torna-se [0,1,9,16,100].

Exemplo 2:

Entrada: nums = [-7,-3,2,3,11] Saída: [4,9,9,49,121]

Restrições:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums é classificado em ordem não decrescente .

Acompanhamento: Elevar cada elemento ao quadrado e ordenar a nova matriz é muito trivial. Você conseguiria encontrar uma O(n) solução usando uma abordagem diferente?
Segue o código em JS que desenvolvi o qual não consigo enxergar onde estou errando, será que alguém consegue dar uma olhadinha no código e ver onde está o erro?

function numerosAleatorios(numbers) {
const numero = numbers.length;
const resultado = new Array(numero);
let esquerda = 0;
let direita = numero - 1;
let posicao = numero - 1;

while (esquerda <= direita) {
    const quadradoEsquerda = numbers[esquerda] ** 2;
    const quadradoDireita = numbers[direita] ** 2;

    if (quadradoEsquerda > quadradoDireita) {
        resultado[posicao] = quadradoEsquerda;
        esquerda++;
    } else {
        resultado[posicao] = quadradoDireita;
        direita--;
    }
    posicao--;
}

return resultado;

}

const numbers1 = [-4, -1, 0, 3, 10];
const numbers2 = [-7, -3, 2, 3, 11];

console.log(sortedSquares(numbers1));
console.log(sortedSquares(numbers2));

Você criou uma função "function numerosAleatorios(numbers), mas la em baixo você chama "console.log(sortedSquares(numbers1)); sortedSquares é uma função que não existe no seu código, renomeia a função pra "function sortedSquares(numbers)