ts-data-forge
    Preparing search index...
    • Sorts an array.

      Type Parameters

      • const Ar extends readonly unknown[]

      Parameters

      • ...__namedParameters: Ar extends readonly number[]
            ? readonly [
                Ar<Ar<Ar>>,
                ((x: Ar<Ar>[number], y: Ar<Ar>[number]) => number) | undefined,
            ]
            : readonly [Ar, (x: Ar[number], y: Ar[number]) => number]

      Returns IsFixedLengthList<Ar> extends true
          ? MakeTupleImpl<Ar[number], `${Ar["length"]}`, []>
          : Ar extends readonly [unknown, unknown]
              ? readonly [Ar<Ar>[number], Ar<Ar>[number]]
              : readonly Ar[number][]

      const numbers = [3, 1, 2] as const;
      const words = ['banana', 'apple', 'cherry'] as const;

      const ascendingNumbers = Arr.toSorted(numbers);
      const alphabetical = Arr.toSorted(words, (left, right) =>
      left.localeCompare(right),
      );

      const expectedNumbers = [1, 2, 3] as const;
      const expectedWords = ['apple', 'banana', 'cherry'] as const;

      assert.deepStrictEqual(ascendingNumbers, expectedNumbers);
      assert.deepStrictEqual(alphabetical, expectedWords);