Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch tests & internal funcs to accept ReadonlyArrays #3181

Merged
merged 1 commit into from Jun 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/__testUtils__/__tests__/genFuzzStrings-test.ts
Expand Up @@ -4,7 +4,7 @@ import { describe, it } from 'mocha';
import { genFuzzStrings } from '../genFuzzStrings';

function expectFuzzStrings(options: {
allowedChars: Array<string>;
allowedChars: ReadonlyArray<string>;
maxLength: number;
}) {
return expect([...genFuzzStrings(options)]);
Expand Down
2 changes: 1 addition & 1 deletion src/__testUtils__/genFuzzStrings.ts
Expand Up @@ -2,7 +2,7 @@
* Generator that produces all possible combinations of allowed characters.
*/
export function* genFuzzStrings(options: {
allowedChars: Array<string>;
allowedChars: ReadonlyArray<string>;
maxLength: number;
}): Generator<string, void, void> {
const { allowedChars, maxLength } = options;
Expand Down
12 changes: 6 additions & 6 deletions src/__tests__/starWarsData.ts
Expand Up @@ -5,25 +5,25 @@
export interface Character {
id: string;
name: string;
friends: Array<string>;
appearsIn: Array<number>;
friends: ReadonlyArray<string>;
appearsIn: ReadonlyArray<number>;
}

export interface Human {
type: 'Human';
id: string;
name: string;
friends: Array<string>;
appearsIn: Array<number>;
friends: ReadonlyArray<string>;
appearsIn: ReadonlyArray<number>;
homePlanet?: string;
}

export interface Droid {
type: 'Droid';
id: string;
name: string;
friends: Array<string>;
appearsIn: Array<number>;
friends: ReadonlyArray<string>;
appearsIn: ReadonlyArray<number>;
primaryFunction: string;
}

Expand Down
2 changes: 1 addition & 1 deletion src/execution/__tests__/lists-test.ts
Expand Up @@ -37,7 +37,7 @@ describe('Execute: Accepts any iterable as list value', () => {
});

it('Accepts function arguments as a List value', () => {
function getArgs(..._args: Array<string>) {
function getArgs(..._args: ReadonlyArray<string>) {
return arguments;
}
const listField = getArgs('one', 'two');
Expand Down
12 changes: 6 additions & 6 deletions src/execution/__tests__/union-interface-test.ts
Expand Up @@ -19,7 +19,7 @@ class Dog {
barks: boolean;
mother?: Dog;
father?: Dog;
progeny: Array<Dog>;
progeny: ReadonlyArray<Dog>;

constructor(name: string, barks: boolean) {
this.name = name;
Expand All @@ -33,7 +33,7 @@ class Cat {
meows: boolean;
mother?: Cat;
father?: Cat;
progeny: Array<Cat>;
progeny: ReadonlyArray<Cat>;

constructor(name: string, meows: boolean) {
this.name = name;
Expand All @@ -44,13 +44,13 @@ class Cat {

class Person {
name: string;
pets?: Array<Dog | Cat>;
friends?: Array<Dog | Cat | Person>;
pets?: ReadonlyArray<Dog | Cat>;
friends?: ReadonlyArray<Dog | Cat | Person>;

constructor(
name: string,
pets?: Array<Dog | Cat>,
friends?: Array<Dog | Cat | Person>,
pets?: ReadonlyArray<Dog | Cat>,
friends?: ReadonlyArray<Dog | Cat | Person>,
) {
this.name = name;
this.pets = pets;
Expand Down
8 changes: 4 additions & 4 deletions src/execution/execute.ts
Expand Up @@ -375,7 +375,7 @@ function executeFieldsSerially(
parentType: GraphQLObjectType,
sourceValue: unknown,
path: Path | undefined,
fields: Map<string, Array<FieldNode>>,
fields: Map<string, ReadonlyArray<FieldNode>>,
): PromiseOrValue<ObjMap<unknown>> {
return promiseReduce(
fields.entries(),
Expand Down Expand Up @@ -413,7 +413,7 @@ function executeFields(
parentType: GraphQLObjectType,
sourceValue: unknown,
path: Path | undefined,
fields: Map<string, Array<FieldNode>>,
fields: Map<string, ReadonlyArray<FieldNode>>,
): PromiseOrValue<ObjMap<unknown>> {
const results = Object.create(null);
let containsPromise = false;
Expand Down Expand Up @@ -463,7 +463,7 @@ export function collectFields(
selectionSet: SelectionSetNode,
fields: Map<string, Array<FieldNode>>,
visitedFragmentNames: Set<string>,
): Map<string, Array<FieldNode>> {
): Map<string, ReadonlyArray<FieldNode>> {
for (const selection of selectionSet.selections) {
switch (selection.kind) {
case Kind.FIELD: {
Expand Down Expand Up @@ -1075,7 +1075,7 @@ function _collectSubfields(
exeContext: ExecutionContext,
returnType: GraphQLObjectType,
fieldNodes: ReadonlyArray<FieldNode>,
): Map<string, Array<FieldNode>> {
): Map<string, ReadonlyArray<FieldNode>> {
let subFieldNodes = new Map();
const visitedFragmentNames = new Set<string>();
for (const node of fieldNodes) {
Expand Down
2 changes: 1 addition & 1 deletion src/jsutils/__tests__/suggestionList-test.ts
Expand Up @@ -3,7 +3,7 @@ import { describe, it } from 'mocha';

import { suggestionList } from '../suggestionList';

function expectSuggestions(input: string, options: Array<string>) {
function expectSuggestions(input: string, options: ReadonlyArray<string>) {
return expect(suggestionList(input, options));
}

Expand Down
16 changes: 11 additions & 5 deletions src/jsutils/inspect.ts
Expand Up @@ -8,7 +8,10 @@ export function inspect(value: unknown): string {
return formatValue(value, []);
}

function formatValue(value: unknown, seenValues: Array<unknown>): string {
function formatValue(
value: unknown,
seenValues: ReadonlyArray<unknown>,
): string {
switch (typeof value) {
case 'string':
return JSON.stringify(value);
Expand All @@ -23,7 +26,7 @@ function formatValue(value: unknown, seenValues: Array<unknown>): string {

function formatObjectValue(
value: object | null,
previouslySeenValues: Array<unknown>,
previouslySeenValues: ReadonlyArray<unknown>,
): string {
if (value === null) {
return 'null';
Expand Down Expand Up @@ -55,7 +58,10 @@ function isJSONable(value: any): value is { toJSON: () => unknown } {
return typeof value.toJSON === 'function';
}

function formatObject(object: object, seenValues: Array<unknown>): string {
function formatObject(
object: object,
seenValues: ReadonlyArray<unknown>,
): string {
const entries = Object.entries(object);
if (entries.length === 0) {
return '{}';
Expand All @@ -72,8 +78,8 @@ function formatObject(object: object, seenValues: Array<unknown>): string {
}

function formatArray(
array: Array<unknown>,
seenValues: Array<unknown>,
array: ReadonlyArray<unknown>,
seenValues: ReadonlyArray<unknown>,
): string {
if (array.length === 0) {
return '[]';
Expand Down
2 changes: 1 addition & 1 deletion src/language/__tests__/blockString-test.ts
Expand Up @@ -7,7 +7,7 @@ import {
printBlockString,
} from '../blockString';

function joinLines(...args: Array<string>) {
function joinLines(...args: ReadonlyArray<string>) {
return args.join('\n');
}

Expand Down
8 changes: 4 additions & 4 deletions src/type/__tests__/validation-test.ts
Expand Up @@ -79,7 +79,7 @@ function withModifiers<T extends GraphQLNamedType>(
];
}

const outputTypes: Array<GraphQLOutputType> = [
const outputTypes: ReadonlyArray<GraphQLOutputType> = [
...withModifiers(GraphQLString),
...withModifiers(SomeScalarType),
...withModifiers(SomeEnumType),
Expand All @@ -88,18 +88,18 @@ const outputTypes: Array<GraphQLOutputType> = [
...withModifiers(SomeInterfaceType),
];

const notOutputTypes: Array<GraphQLInputType> = [
const notOutputTypes: ReadonlyArray<GraphQLInputType> = [
...withModifiers(SomeInputObjectType),
];

const inputTypes: Array<GraphQLInputType> = [
const inputTypes: ReadonlyArray<GraphQLInputType> = [
...withModifiers(GraphQLString),
...withModifiers(SomeScalarType),
...withModifiers(SomeEnumType),
...withModifiers(SomeInputObjectType),
];

const notInputTypes: Array<GraphQLOutputType> = [
const notInputTypes: ReadonlyArray<GraphQLOutputType> = [
...withModifiers(SomeObjectType),
...withModifiers(SomeUnionType),
...withModifiers(SomeInterfaceType),
Expand Down
6 changes: 3 additions & 3 deletions src/utilities/findBreakingChanges.ts
Expand Up @@ -557,9 +557,9 @@ function diff<T extends { name: string }>(
oldArray: ReadonlyArray<T>,
newArray: ReadonlyArray<T>,
): {
added: Array<T>;
removed: Array<T>;
persisted: Array<[T, T]>;
added: ReadonlyArray<T>;
removed: ReadonlyArray<T>;
persisted: ReadonlyArray<[T, T]>;
} {
const added: Array<T> = [];
const removed: Array<T> = [];
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/separateOperations.ts
Expand Up @@ -63,7 +63,7 @@ export function separateOperations(
return separatedDocumentASTs;
}

type DepGraph = ObjMap<Array<string>>;
type DepGraph = ObjMap<ReadonlyArray<string>>;

// From a dependency graph, collects a list of transitive dependencies by
// recursing through a dependency graph.
Expand Down