Skip to content

Commit 72f3630

Browse files
author
Bart Koelman
committed
Use helpers to prevent multiple line breaks in array and list initializers
1 parent 9b544c8 commit 72f3630

File tree

57 files changed

+179
-208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+179
-208
lines changed

benchmarks/Query/QueryParserBenchmarks.cs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System;
2-
using System.Collections.Generic;
32
using System.ComponentModel.Design;
43
using BenchmarkDotNet.Attributes;
4+
using JsonApiDotNetCore;
55
using JsonApiDotNetCore.Configuration;
66
using JsonApiDotNetCore.Middleware;
77
using JsonApiDotNetCore.QueryStrings;
@@ -43,11 +43,8 @@ private static QueryStringReader CreateQueryParameterDiscoveryForSort(IResourceG
4343
JsonApiRequest request, IJsonApiOptions options, FakeRequestQueryStringAccessor queryStringAccessor)
4444
{
4545
var sortReader = new SortQueryStringParameterReader(request, resourceGraph);
46-
47-
var readers = new List<IQueryStringParameterReader>
48-
{
49-
sortReader
50-
};
46+
47+
var readers = sortReader.AsEnumerable();
5148

5249
return new QueryStringReader(options, queryStringAccessor, readers, NullLoggerFactory.Instance);
5350
}
@@ -65,10 +62,7 @@ private static QueryStringReader CreateQueryParameterDiscoveryForAll(IResourceGr
6562
var defaultsReader = new DefaultsQueryStringParameterReader(options);
6663
var nullsReader = new NullsQueryStringParameterReader(options);
6764

68-
var readers = new List<IQueryStringParameterReader>
69-
{
70-
includeReader, filterReader, sortReader, sparseFieldSetReader, paginationReader, defaultsReader, nullsReader
71-
};
65+
var readers = ArrayFactory.Create<IQueryStringParameterReader>(includeReader, filterReader, sortReader, sparseFieldSetReader, paginationReader, defaultsReader, nullsReader);
7266

7367
return new QueryStringReader(options, queryStringAccessor, readers, NullLoggerFactory.Instance);
7468
}

src/Examples/ReportsExample/Services/ReportService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public Task<IReadOnlyCollection<Report>> GetAsync(CancellationToken cancellation
2121
{
2222
_logger.LogInformation("GetAsync");
2323

24-
IReadOnlyCollection<Report> reports = GetReports().ToList();
24+
var reports = GetReports();
2525

2626
return Task.FromResult(reports);
2727
}
2828

29-
private IEnumerable<Report> GetReports()
29+
private IReadOnlyCollection<Report> GetReports()
3030
{
3131
return new List<Report>
3232
{

src/JsonApiDotNetCore/ArrayFactory.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace JsonApiDotNetCore
2+
{
3+
internal static class ArrayFactory
4+
{
5+
public static T[] Create<T>(params T[] items)
6+
{
7+
return items;
8+
}
9+
}
10+
}

src/JsonApiDotNetCore/Configuration/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static IServiceCollection AddJsonApi<TDbContext>(this IServiceCollection
4242
IMvcCoreBuilder mvcBuilder = null)
4343
where TDbContext : DbContext
4444
{
45-
return AddJsonApi(services, options, discovery, resources, mvcBuilder, new[] {typeof(TDbContext)});
45+
return AddJsonApi(services, options, discovery, resources, mvcBuilder, typeof(TDbContext).AsArray());
4646
}
4747

4848
private static void SetupApplicationBuilder(IServiceCollection services, Action<JsonApiOptions> configureOptions,

src/JsonApiDotNetCore/Configuration/ServiceDiscoveryFacade.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,10 @@ private void AddResourceDefinitions(Assembly assembly, ResourceDescriptor resour
187187

188188
private void RegisterImplementations(Assembly assembly, Type interfaceType, ResourceDescriptor resourceDescriptor)
189189
{
190-
var genericArguments = interfaceType.GetTypeInfo().GenericTypeParameters.Length == 2 ? new[] { resourceDescriptor.ResourceType, resourceDescriptor.IdType } : new[] { resourceDescriptor.ResourceType };
190+
var genericArguments = interfaceType.GetTypeInfo().GenericTypeParameters.Length == 2
191+
? ArrayFactory.Create(resourceDescriptor.ResourceType, resourceDescriptor.IdType)
192+
: ArrayFactory.Create(resourceDescriptor.ResourceType);
193+
191194
var result = TypeLocator.GetGenericInterfaceImplementation(assembly, interfaceType, genericArguments);
192195
if (result != null)
193196
{

src/JsonApiDotNetCore/Controllers/CoreJsonApiController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ protected IActionResult Error(Error error)
1313
{
1414
ArgumentGuard.NotNull(error, nameof(error));
1515

16-
return Error(new[] {error});
16+
return Error(error.AsEnumerable());
1717
}
1818

1919
protected IActionResult Error(IEnumerable<Error> errors)

src/JsonApiDotNetCore/Errors/JsonApiException.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public JsonApiException(Error error, Exception innerException = null)
2424
{
2525
ArgumentGuard.NotNull(error, nameof(error));
2626

27-
Errors = new[] {error};
27+
Errors = error.AsArray();
2828
}
2929

3030
public JsonApiException(IEnumerable<Error> errors, Exception innerException = null)

src/JsonApiDotNetCore/Hooks/Internal/Discovery/HooksDiscovery.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private void DiscoverImplementedHooks(Type containerType)
5656

5757
var implementedHooks = new List<ResourceHook>();
5858
// this hook can only be used with enabled database values
59-
var databaseValuesEnabledHooks = new List<ResourceHook> { ResourceHook.BeforeImplicitUpdateRelationship };
59+
var databaseValuesEnabledHooks = ResourceHook.BeforeImplicitUpdateRelationship.AsList();
6060
var databaseValuesDisabledHooks = new List<ResourceHook>();
6161
foreach (var hook in _allHooks)
6262
{

src/JsonApiDotNetCore/Hooks/Internal/Execution/HookExecutorHelper.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ public IResourceHookContainer GetResourceHookContainer(RightType targetResource,
5656

5757
// if there was a container, first check if it implements the hook we
5858
// want to use it for.
59-
List<ResourceHook> targetHooks;
59+
IEnumerable<ResourceHook> targetHooks;
6060
if (hook == ResourceHook.None)
6161
{
6262
CheckForTargetHookExistence();
6363
targetHooks = _targetedHooksForRelatedResources;
6464
}
6565
else
6666
{
67-
targetHooks = new List<ResourceHook> { hook };
67+
targetHooks = hook.AsEnumerable();
6868
}
6969

7070
foreach (ResourceHook targetHook in targetHooks)
@@ -91,7 +91,7 @@ public IEnumerable LoadDbValues(LeftType resourceTypeForRepository, IEnumerable
9191
.MakeGenericMethod(resourceTypeForRepository, idType);
9292
var cast = ((IEnumerable<object>)resources).Cast<IIdentifiable>();
9393
var ids = TypeHelper.CopyToList(cast.Select(i => i.GetTypedId()), idType);
94-
var values = (IEnumerable)parameterizedGetWhere.Invoke(this, new object[] { ids, relationshipsToNextLayer });
94+
var values = (IEnumerable)parameterizedGetWhere.Invoke(this, ArrayFactory.Create<object>(ids, relationshipsToNextLayer));
9595
if (values == null)
9696
{
9797
return null;

src/JsonApiDotNetCore/Hooks/Internal/ResourceHookExecutor.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void BeforeRead<TResource>(ResourcePipeline pipeline, string stringId = n
4343
{
4444
var hookContainer = _executorHelper.GetResourceHookContainer<TResource>(ResourceHook.BeforeRead);
4545
hookContainer?.BeforeRead(pipeline, false, stringId);
46-
var calledContainers = new List<LeftType> { typeof(TResource) };
46+
var calledContainers = typeof(TResource).AsList();
4747

4848
// @formatter:wrap_chained_method_calls chop_always
4949
// @formatter:keep_existing_linebreaks true
@@ -134,7 +134,7 @@ public IEnumerable<TResource> OnReturn<TResource>(IEnumerable<TResource> resourc
134134

135135
Traverse(_traversalHelper.CreateNextLayer(node), ResourceHook.OnReturn, (nextContainer, nextNode) =>
136136
{
137-
var filteredUniqueSet = CallHook(nextContainer, ResourceHook.OnReturn, new object[] { nextNode.UniqueResources, pipeline });
137+
var filteredUniqueSet = CallHook(nextContainer, ResourceHook.OnReturn, ArrayFactory.Create<object>(nextNode.UniqueResources, pipeline));
138138
nextNode.UpdateUnique(filteredUniqueSet);
139139
nextNode.Reassign();
140140
});
@@ -151,7 +151,7 @@ public void AfterRead<TResource>(IEnumerable<TResource> resources, ResourcePipel
151151

152152
Traverse(_traversalHelper.CreateNextLayer(node), ResourceHook.AfterRead, (nextContainer, nextNode) =>
153153
{
154-
CallHook(nextContainer, ResourceHook.AfterRead, new object[] { nextNode.UniqueResources, pipeline, true });
154+
CallHook(nextContainer, ResourceHook.AfterRead, ArrayFactory.Create<object>(nextNode.UniqueResources, pipeline, true));
155155
});
156156
}
157157

@@ -311,7 +311,7 @@ private void FireNestedBeforeUpdateHooks(ResourcePipeline pipeline, NodeLayer la
311311
currentResourcesGroupedInverse = ReplaceKeysWithInverseRelationships(currentResourcesGrouped);
312312

313313
var resourcesByRelationship = CreateRelationshipHelper(resourceType, currentResourcesGroupedInverse, dbValues);
314-
var allowedIds = CallHook(nestedHookContainer, ResourceHook.BeforeUpdateRelationship, new object[] { GetIds(uniqueResources), resourcesByRelationship, pipeline }).Cast<string>();
314+
var allowedIds = CallHook(nestedHookContainer, ResourceHook.BeforeUpdateRelationship, ArrayFactory.Create<object>(GetIds(uniqueResources), resourcesByRelationship, pipeline)).Cast<string>();
315315
var updated = GetAllowedResources(uniqueResources, allowedIds);
316316
node.UpdateUnique(updated);
317317
node.Reassign();
@@ -392,7 +392,7 @@ private void FireForAffectedImplicits(Type resourceTypeToInclude, Dictionary<Rel
392392

393393
var inverse = implicitAffected.ToDictionary(kvp => _resourceGraph.GetInverseRelationship(kvp.Key), kvp => kvp.Value);
394394
var resourcesByRelationship = CreateRelationshipHelper(resourceTypeToInclude, inverse);
395-
CallHook(container, ResourceHook.BeforeImplicitUpdateRelationship, new object[] { resourcesByRelationship, pipeline});
395+
CallHook(container, ResourceHook.BeforeImplicitUpdateRelationship, ArrayFactory.Create<object>(resourcesByRelationship, pipeline));
396396
}
397397

398398
/// <summary>
@@ -512,7 +512,7 @@ private void FireAfterUpdateRelationship(IResourceHookContainer container, IReso
512512
// For the nested hook we need to replace these attributes with their inverse.
513513
// See the FireNestedBeforeUpdateHooks method for a more detailed example.
514514
var resourcesByRelationship = CreateRelationshipHelper(node.ResourceType, ReplaceKeysWithInverseRelationships(currentResourcesGrouped));
515-
CallHook(container, ResourceHook.AfterUpdateRelationship, new object[] { resourcesByRelationship, pipeline });
515+
CallHook(container, ResourceHook.AfterUpdateRelationship, ArrayFactory.Create<object>(resourcesByRelationship, pipeline));
516516
}
517517

518518
/// <summary>

0 commit comments

Comments
 (0)