function getMemberValidator()

in private/aws-restjson-validation-server/src/models/models_0.ts [1284:1409]


    function getMemberValidator<T extends keyof typeof memberValidators>(
      member: T
    ): NonNullable<(typeof memberValidators)[T]> {
      if (memberValidators[member] === undefined) {
        switch (member) {
          case "blobList": {
            memberValidators["blobList"] = new __CompositeCollectionValidator<Uint8Array>(
              new __CompositeValidator<Uint8Array[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "booleanList": {
            memberValidators["booleanList"] = new __CompositeCollectionValidator<boolean>(
              new __CompositeValidator<boolean[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "stringList": {
            memberValidators["stringList"] = new __CompositeCollectionValidator<string>(
              new __CompositeValidator<string[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "byteList": {
            memberValidators["byteList"] = new __CompositeCollectionValidator<number>(
              new __CompositeValidator<number[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "shortList": {
            memberValidators["shortList"] = new __CompositeCollectionValidator<number>(
              new __CompositeValidator<number[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "integerList": {
            memberValidators["integerList"] = new __CompositeCollectionValidator<number>(
              new __CompositeValidator<number[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "longList": {
            memberValidators["longList"] = new __CompositeCollectionValidator<number>(
              new __CompositeValidator<number[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "timestampList": {
            memberValidators["timestampList"] = new __CompositeCollectionValidator<Date>(
              new __CompositeValidator<Date[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "dateTimeList": {
            memberValidators["dateTimeList"] = new __CompositeCollectionValidator<Date>(
              new __CompositeValidator<Date[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "httpDateList": {
            memberValidators["httpDateList"] = new __CompositeCollectionValidator<Date>(
              new __CompositeValidator<Date[]>([new __UniqueItemsValidator()]),
              new __NoOpValidator()
            );
            break;
          }
          case "enumList": {
            memberValidators["enumList"] = new __CompositeCollectionValidator<string>(
              new __CompositeValidator<FooEnum[]>([new __UniqueItemsValidator()]),
              new __CompositeValidator<string>([
                new __EnumValidator(["Foo", "Baz", "Bar", "1", "0"], ["Foo", "Baz", "Bar", "1", "0"]),
              ])
            );
            break;
          }
          case "intEnumList": {
            memberValidators["intEnumList"] = new __CompositeCollectionValidator<number>(
              new __CompositeValidator<IntegerEnum[]>([new __UniqueItemsValidator()]),
              new __CompositeValidator<number>([new __IntegerEnumValidator([1, 2, 3])])
            );
            break;
          }
          case "listList": {
            memberValidators["listList"] = new __CompositeCollectionValidator<string[]>(
              new __CompositeValidator<string[][]>([new __UniqueItemsValidator()]),
              new __CompositeCollectionValidator<string>(new __NoOpValidator(), new __NoOpValidator())
            );
            break;
          }
          case "structureList": {
            memberValidators["structureList"] = new __CompositeCollectionValidator<GreetingStruct>(
              new __CompositeValidator<GreetingStruct[]>([new __UniqueItemsValidator()]),
              new __CompositeStructureValidator<GreetingStruct>(new __NoOpValidator(), GreetingStruct.validate)
            );
            break;
          }
          case "structureListWithNoKey": {
            memberValidators["structureListWithNoKey"] = new __CompositeCollectionValidator<MissingKeyStructure>(
              new __CompositeValidator<MissingKeyStructure[]>([new __UniqueItemsValidator()]),
              new __CompositeStructureValidator<MissingKeyStructure>(
                new __NoOpValidator(),
                MissingKeyStructure.validate
              )
            );
            break;
          }
          case "unionList": {
            memberValidators["unionList"] = new __CompositeCollectionValidator<FooUnion>(
              new __CompositeValidator<FooUnion[]>([new __UniqueItemsValidator()]),
              new __CompositeStructureValidator<FooUnion>(new __NoOpValidator(), FooUnion.validate)
            );
            break;
          }
        }
      }
      return memberValidators[member]!;
    }