test_class.file: recipe-generator/src/test/java/ca/derekcormier/recipe/generator/filter/TsTypeFilterTest.java
test_class.identifier: TsTypeFilterTest
test_case.body: @Test
    public void testApply_convertsVarargOfArraysOfStrings() {
      Cookbook cookbook = new Cookbook("test", new ArrayList<>(), new ArrayList<>());
      Filter filter = new TsTypeFilter(cookbook);
  
      assertEquals("(string | null)[][]", filter.apply("string[]..."));
    }
test_case.class_method_signature: TsTypeFilterTest.testApply_convertsVarargOfArraysOfStrings()
test_case.full_signature: @Test public void testApply_convertsVarargOfArraysOfStrings()
test_case.identifier: testApply_convertsVarargOfArraysOfStrings
test_case.invocations: assertEquals apply
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testApply_convertsVarargOfArraysOfStrings()
focal_class.file: recipe-generator/src/main/java/ca/derekcormier/recipe/generator/filter/TsTypeFilter.java
focal_class.identifier: TsTypeFilter
focal_class.class_method_signature: TsTypeFilter.TsTypeFilter(Cookbook cookbook)
focal_class.full_signature: public  TsTypeFilter(Cookbook cookbook)
focal_class.identifier: TsTypeFilter
focal_class.modifiers: public
focal_class.parameters: (Cookbook cookbook)
focal_class.signature:  TsTypeFilter(Cookbook cookbook)
focal_class.class_method_signature: TsTypeFilter.toTsType(ParamType type)
focal_class.full_signature: public static String toTsType(ParamType type)
focal_class.identifier: toTsType
focal_class.modifiers: public static
focal_class.parameters: (ParamType type)
focal_class.return: String
focal_class.signature: String toTsType(ParamType type)
focal_class.class_method_signature: TsTypeFilter._toTsType(Type type)
focal_class.full_signature: private static String _toTsType(Type type)
focal_class.identifier: _toTsType
focal_class.modifiers: private static
focal_class.parameters: (Type type)
focal_class.return: String
focal_class.signature: String _toTsType(Type type)
focal_class.class_method_signature: TsTypeFilter.apply(Object value, Object... params)
focal_class.full_signature: @Override public Object apply(Object value, Object... params)
focal_class.identifier: apply
focal_class.modifiers: @Override public
focal_class.parameters: (Object value, Object... params)
focal_class.return: Object
focal_class.signature: Object apply(Object value, Object... params)
focal_class.superclass: extends RecipeFilter
focal_method.body: @Override
    public Object apply(Object value, Object... params) {
      ParamType type = CookbookUtils.parseType(super.asString(value), getCookbook());
      return toTsType(type);
    }
focal_method.class_method_signature: TsTypeFilter.apply(Object value, Object... params)
focal_method.full_signature: @Override public Object apply(Object value, Object... params)
focal_method.identifier: apply
focal_method.invocations: parseType asString getCookbook toTsType
focal_method.modifiers: @Override public
focal_method.parameters: (Object value, Object... params)
focal_method.return: Object
focal_method.signature: Object apply(Object value, Object... params)