@@ -11,6 +11,7 @@ const defaultIosVisitorSetings = {
1111 handleListNullabilityTransparently : true ,
1212 transformerVersion : 1 ,
1313 respectPrimaryKeyAttributesOnConnectionField : false ,
14+ improvePluralization : true ,
1415 generateModelsForLazyLoadAndCustomSelectionSet : true ,
1516} ;
1617const buildSchemaWithDirectives = ( schema : String ) : GraphQLSchema => {
@@ -118,7 +119,8 @@ describe('AppSyncSwiftVisitor', () => {
118119 public static let schema = defineSchema { model in
119120 let simpleModel = SimpleModel.keys
120121
121- model.pluralName = \\"SimpleModels\\"
122+ model.listPluralName = \\"SimpleModels\\"
123+ model.syncPluralName = \\"SimpleModels\\"
122124
123125 model.fields(
124126 .id(),
@@ -244,7 +246,8 @@ describe('AppSyncSwiftVisitor', () => {
244246 public static let schema = defineSchema { model in
245247 let snake_case = snake_case.keys
246248
247- model.pluralName = \\"snake_cases\\"
249+ model.listPluralName = \\"snake_cases\\"
250+ model.syncPluralName = \\"snake_cases\\"
248251
249252 model.fields(
250253 .id(),
@@ -397,7 +400,8 @@ describe('AppSyncSwiftVisitor', () => {
397400 public static let schema = defineSchema { model in
398401 let authorBook = authorBook.keys
399402
400- model.pluralName = \\"authorBooks\\"
403+ model.listPluralName = \\"authorBooks\\"
404+ model.syncPluralName = \\"authorBooks\\"
401405
402406 model.attributes(
403407 .index(fields: [\\"author_id\\"], name: \\"byAuthor\\"),
@@ -701,7 +705,8 @@ describe('AppSyncSwiftVisitor', () => {
701705 public static let schema = defineSchema { model in
702706 let todo = Todo.keys
703707
704- model.pluralName = \\"Todos\\"
708+ model.listPluralName = \\"Todos\\"
709+ model.syncPluralName = \\"Todos\\"
705710
706711 model.fields(
707712 .id(),
@@ -864,7 +869,8 @@ describe('AppSyncSwiftVisitor', () => {
864869 public static let schema = defineSchema { model in
865870 let task = task.keys
866871
867- model.pluralName = \\"tasks\\"
872+ model.listPluralName = \\"tasks\\"
873+ model.syncPluralName = \\"tasks\\"
868874
869875 model.fields(
870876 .id(),
@@ -1029,7 +1035,8 @@ describe('AppSyncSwiftVisitor', () => {
10291035 public static let schema = defineSchema { model in
10301036 let post = Post.keys
10311037
1032- model.pluralName = \\"Posts\\"
1038+ model.listPluralName = \\"Posts\\"
1039+ model.syncPluralName = \\"Posts\\"
10331040
10341041 model.fields(
10351042 .id(),
@@ -1120,7 +1127,8 @@ describe('AppSyncSwiftVisitor', () => {
11201127 public static let schema = defineSchema { model in
11211128 let post = Post.keys
11221129
1123- model.pluralName = \\"Posts\\"
1130+ model.listPluralName = \\"Posts\\"
1131+ model.syncPluralName = \\"Posts\\"
11241132
11251133 model.fields(
11261134 .id(),
@@ -1256,7 +1264,8 @@ describe('AppSyncSwiftVisitor', () => {
12561264 public static let schema = defineSchema { model in
12571265 let objectWithNativeTypes = ObjectWithNativeTypes.keys
12581266
1259- model.pluralName = \\"ObjectWithNativeTypes\\"
1267+ model.listPluralName = \\"ObjectWithNativeTypes\\"
1268+ model.syncPluralName = \\"ObjectWithNativeTypes\\"
12601269
12611270 model.fields(
12621271 .id(),
@@ -1407,7 +1416,8 @@ describe('AppSyncSwiftVisitor', () => {
14071416 public static let schema = defineSchema { model in
14081417 let attraction = Attraction.keys
14091418
1410- model.pluralName = \\"Attractions\\"
1419+ model.listPluralName = \\"Attractions\\"
1420+ model.syncPluralName = \\"Attractions\\"
14111421
14121422 model.fields(
14131423 .id(),
@@ -1489,7 +1499,8 @@ describe('AppSyncSwiftVisitor', () => {
14891499 public static let schema = defineSchema { model in
14901500 let location = Location.keys
14911501
1492- model.pluralName = \\"Locations\\"
1502+ model.listPluralName = \\"Locations\\"
1503+ model.syncPluralName = \\"Locations\\"
14931504
14941505 model.fields(
14951506 .field(location.lat, is: .required, ofType: .string),
@@ -1676,7 +1687,8 @@ describe('AppSyncSwiftVisitor', () => {
16761687 rule(allow: .owner, ownerField: \\"owner\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.create, .update, .delete, .read])
16771688 ]
16781689
1679- model.pluralName = \\"Posts\\"
1690+ model.listPluralName = \\"Posts\\"
1691+ model.syncPluralName = \\"Posts\\"
16801692
16811693 model.fields(
16821694 .id(),
@@ -1745,7 +1757,8 @@ describe('AppSyncSwiftVisitor', () => {
17451757 rule(allow: .owner, ownerField: \\"author\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.create, .update, .delete, .read])
17461758 ]
17471759
1748- model.pluralName = \\"Posts\\"
1760+ model.listPluralName = \\"Posts\\"
1761+ model.syncPluralName = \\"Posts\\"
17491762
17501763 model.fields(
17511764 .id(),
@@ -1815,7 +1828,8 @@ describe('AppSyncSwiftVisitor', () => {
18151828 rule(allow: .owner, ownerField: \\"author\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.create, .update, .delete])
18161829 ]
18171830
1818- model.pluralName = \\"Posts\\"
1831+ model.listPluralName = \\"Posts\\"
1832+ model.syncPluralName = \\"Posts\\"
18191833
18201834 model.fields(
18211835 .id(),
@@ -1885,7 +1899,8 @@ describe('AppSyncSwiftVisitor', () => {
18851899 rule(allow: .owner, ownerField: \\"author\\", identityClaim: \\"sub\\", provider: .userPools, operations: [.create, .update, .delete, .read])
18861900 ]
18871901
1888- model.pluralName = \\"Posts\\"
1902+ model.listPluralName = \\"Posts\\"
1903+ model.syncPluralName = \\"Posts\\"
18891904
18901905 model.fields(
18911906 .id(),
@@ -1952,7 +1967,8 @@ describe('AppSyncSwiftVisitor', () => {
19521967 rule(allow: .owner, ownerField: \\"owner\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.create, .update, .delete, .read])
19531968 ]
19541969
1955- model.pluralName = \\"Posts\\"
1970+ model.listPluralName = \\"Posts\\"
1971+ model.syncPluralName = \\"Posts\\"
19561972
19571973 model.fields(
19581974 .id(),
@@ -2015,7 +2031,8 @@ describe('AppSyncSwiftVisitor', () => {
20152031 rule(allow: .owner, ownerField: \\"customField\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.create, .update, .delete, .read])
20162032 ]
20172033
2018- model.pluralName = \\"Posts\\"
2034+ model.listPluralName = \\"Posts\\"
2035+ model.syncPluralName = \\"Posts\\"
20192036
20202037 model.fields(
20212038 .id(),
@@ -2085,7 +2102,8 @@ describe('AppSyncSwiftVisitor', () => {
20852102 rule(allow: .owner, ownerField: \\"editors\\", identityClaim: \\"cognito:username\\", provider: .userPools, operations: [.update, .read])
20862103 ]
20872104
2088- model.pluralName = \\"Posts\\"
2105+ model.listPluralName = \\"Posts\\"
2106+ model.syncPluralName = \\"Posts\\"
20892107
20902108 model.fields(
20912109 .id(),
@@ -2161,7 +2179,8 @@ describe('AppSyncSwiftVisitor', () => {
21612179 rule(allow: .groups, groupClaim: \\"cognito:groups\\", groups: [\\"Admins\\"], provider: .userPools, operations: [.create, .update, .delete, .read])
21622180 ]
21632181
2164- model.pluralName = \\"Employees\\"
2182+ model.listPluralName = \\"Employees\\"
2183+ model.syncPluralName = \\"Employees\\"
21652184
21662185 model.fields(
21672186 .id(),
@@ -2235,7 +2254,8 @@ describe('AppSyncSwiftVisitor', () => {
22352254 rule(allow: .groups, groupClaim: \\"cognito:groups\\", groups: [\\"admin\\", \\"editors\\"], provider: .userPools, operations: [.create, .update, .delete, .read])
22362255 ]
22372256
2238- model.pluralName = \\"Posts\\"
2257+ model.listPluralName = \\"Posts\\"
2258+ model.syncPluralName = \\"Posts\\"
22392259
22402260 model.fields(
22412261 .id(),
@@ -2300,7 +2320,8 @@ describe('AppSyncSwiftVisitor', () => {
23002320 rule(allow: .groups, groupClaim: \\"cognito:groups\\", groupsField: \\"groups\\", provider: .userPools, operations: [.create, .update, .delete, .read])
23012321 ]
23022322
2303- model.pluralName = \\"Posts\\"
2323+ model.listPluralName = \\"Posts\\"
2324+ model.syncPluralName = \\"Posts\\"
23042325
23052326 model.fields(
23062327 .id(),
@@ -2368,7 +2389,8 @@ describe('AppSyncSwiftVisitor', () => {
23682389 rule(allow: .groups, groupClaim: \\"cognito:groups\\", groups: [\\"admin\\"], provider: .userPools, operations: [.create, .update, .delete])
23692390 ]
23702391
2371- model.pluralName = \\"Posts\\"
2392+ model.listPluralName = \\"Posts\\"
2393+ model.syncPluralName = \\"Posts\\"
23722394
23732395 model.fields(
23742396 .id(),
@@ -2432,7 +2454,8 @@ describe('AppSyncSwiftVisitor', () => {
24322454 rule(allow: .groups, groupClaim: \\"custom:groups\\", groups: [\\"admin\\"], provider: .userPools, operations: [.create, .update, .delete, .read])
24332455 ]
24342456
2435- model.pluralName = \\"Posts\\"
2457+ model.listPluralName = \\"Posts\\"
2458+ model.syncPluralName = \\"Posts\\"
24362459
24372460 model.fields(
24382461 .id(),
@@ -2495,7 +2518,8 @@ describe('AppSyncSwiftVisitor', () => {
24952518 rule(allow: .private, operations: [.create, .update, .delete, .read])
24962519 ]
24972520
2498- model.pluralName = \\"Posts\\"
2521+ model.listPluralName = \\"Posts\\"
2522+ model.syncPluralName = \\"Posts\\"
24992523
25002524 model.fields(
25012525 .id(),
@@ -2571,7 +2595,8 @@ describe('AppSyncSwiftVisitor', () => {
25712595 rule(allow: .public, operations: [.read])
25722596 ]
25732597
2574- model.pluralName = \\"Posts\\"
2598+ model.listPluralName = \\"Posts\\"
2599+ model.syncPluralName = \\"Posts\\"
25752600
25762601 model.fields(
25772602 .id(),
@@ -2651,7 +2676,8 @@ describe('AppSyncSwiftVisitor', () => {
26512676 rule(allow: .public, provider: .apiKey, operations: [.read])
26522677 ]
26532678
2654- model.pluralName = \\"Posts\\"
2679+ model.listPluralName = \\"Posts\\"
2680+ model.syncPluralName = \\"Posts\\"
26552681
26562682 model.fields(
26572683 .id(),
0 commit comments