[BUG] TypeError in JsonDeserializer when handling Array of Maps
### Describe the bug

When using Ts.ED to handle an array of maps, a TypeError is thrown by the JsonDeserializer

### To Reproduce

```ts
import { Controller } from "@tsed/di";
import { BodyParams } from "@tsed/platform-params";
import { CollectionOf, Get, Post, Required } from "@tsed/schema";

class Test {
  @Required()
  @CollectionOf(Map<string, string>)
  fields: Array<Map<string, string>> = [];
}

@Controller("/hello-world")
export class HelloWorldController {
  @Post("/")
  post(@BodyParams() model: Test) {

    /*
    👎🏻 Throws:
    {
      "name": "TypeError",
      "message": "this.mappers[id] is not a function",
      "status": 500,
      "errors": [],
      "stack": "TypeError: this.mappers[id] is not a function\n    at JsonDeserializer.execMapper (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonMapperCompiler.ts:187:28)\n    at JsonDeserializer.mapItem (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:391:17)\n    at /private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:384:25\n    at Array.forEach (<anonymous>)\n    at JsonDeserializer.mapMap (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:383:23)\n    at JsonDeserializer.execMapper (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonMapperCompiler.ts:187:28)\n    at JsonDeserializer.mapItem (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:391:17)\n    at /private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:372:19\n    at Array.map (<anonymous>)\n    at JsonDeserializer.mapArray (/private/tmp/tsed-arrayofmaps/node_modules/@tsed/json-mapper/src/domain/JsonDeserializer.ts:371:29)"
    }
    */

    return model;
  }

  @Get("/")
  get() {
    const result = new Test();
    result.fields = [
      new Map(Object.entries({ de: "Deutsch", en: "English", fr: "Français" })),
      new Map(Object.entries({ es: "Español", it: "Italiano" })),
    ];
    return result;

    /*
    👍🏻  Returns:
    {
      "fields": [
          {
              "de": "Deutsch",
              "en": "English",
              "fr": "Français"
          },
          {
              "es": "Español",
              "it": "Italiano"
          }
      ]
    }
    */
  }
}
```

### Expected behavior

Should deserialize correctly

### Code snippets

_No response_

### Repository URL example

_No response_

### OS

macOS

### Node version

v18.18.2

### Library version

7.77.0

### Additional context

_No response_