Skip to content

Commit a233c9e

Browse files
authored
Rename internal cache helpers (#20410)
1 parent 6a4b12b commit a233c9e

File tree

4 files changed

+145
-138
lines changed

4 files changed

+145
-138
lines changed

packages/react-fetch/src/ReactFetchBrowser.js

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,63 +15,63 @@ const Pending = 0;
1515
const Resolved = 1;
1616
const Rejected = 2;
1717

18-
type PendingResult = {|
18+
type PendingRecord = {|
1919
status: 0,
2020
value: Wakeable,
2121
|};
2222

23-
type ResolvedResult = {|
23+
type ResolvedRecord = {|
2424
status: 1,
2525
value: mixed,
2626
|};
2727

28-
type RejectedResult = {|
28+
type RejectedRecord = {|
2929
status: 2,
3030
value: mixed,
3131
|};
3232

33-
type Result = PendingResult | ResolvedResult | RejectedResult;
33+
type Record = PendingRecord | ResolvedRecord | RejectedRecord;
3434

3535
// TODO: this is a browser-only version. Add a separate Node entry point.
3636
const nativeFetch = window.fetch;
3737

38-
function getResultMap(): Map<string, Result> {
39-
return unstable_getCacheForType(createResultMap);
38+
function getRecordMap(): Map<string, Record> {
39+
return unstable_getCacheForType(createRecordMap);
4040
}
4141

42-
function createResultMap(): Map<string, Result> {
42+
function createRecordMap(): Map<string, Record> {
4343
return new Map();
4444
}
4545

46-
function toResult(thenable): Result {
47-
const result: Result = {
46+
function createRecordFromThenable(thenable): Record {
47+
const record: Record = {
4848
status: Pending,
4949
value: thenable,
5050
};
5151
thenable.then(
5252
value => {
53-
if (result.status === Pending) {
54-
const resolvedResult = ((result: any): ResolvedResult);
55-
resolvedResult.status = Resolved;
56-
resolvedResult.value = value;
53+
if (record.status === Pending) {
54+
const resolvedRecord = ((record: any): ResolvedRecord);
55+
resolvedRecord.status = Resolved;
56+
resolvedRecord.value = value;
5757
}
5858
},
5959
err => {
60-
if (result.status === Pending) {
61-
const rejectedResult = ((result: any): RejectedResult);
62-
rejectedResult.status = Rejected;
63-
rejectedResult.value = err;
60+
if (record.status === Pending) {
61+
const rejectedRecord = ((record: any): RejectedRecord);
62+
rejectedRecord.status = Rejected;
63+
rejectedRecord.value = err;
6464
}
6565
},
6666
);
67-
return result;
67+
return record;
6868
}
6969

70-
function readResult(result: Result) {
71-
if (result.status === Resolved) {
72-
return result.value;
70+
function readRecordValue(record: Record) {
71+
if (record.status === Resolved) {
72+
return record.value;
7373
} else {
74-
throw result.value;
74+
throw record.value;
7575
}
7676
}
7777

@@ -94,32 +94,37 @@ function Response(nativeResponse) {
9494
Response.prototype = {
9595
constructor: Response,
9696
arrayBuffer() {
97-
return readResult(
97+
return readRecordValue(
9898
this._arrayBuffer ||
99-
(this._arrayBuffer = toResult(this._response.arrayBuffer())),
99+
(this._arrayBuffer = createRecordFromThenable(
100+
this._response.arrayBuffer(),
101+
)),
100102
);
101103
},
102104
blob() {
103-
return readResult(
104-
this._blob || (this._blob = toResult(this._response.blob())),
105+
return readRecordValue(
106+
this._blob ||
107+
(this._blob = createRecordFromThenable(this._response.blob())),
105108
);
106109
},
107110
json() {
108-
return readResult(
109-
this._json || (this._json = toResult(this._response.json())),
111+
return readRecordValue(
112+
this._json ||
113+
(this._json = createRecordFromThenable(this._response.json())),
110114
);
111115
},
112116
text() {
113-
return readResult(
114-
this._text || (this._text = toResult(this._response.text())),
117+
return readRecordValue(
118+
this._text ||
119+
(this._text = createRecordFromThenable(this._response.text())),
115120
);
116121
},
117122
};
118123

119-
function preloadResult(url: string, options: mixed): Result {
120-
const map = getResultMap();
121-
let entry = map.get(url);
122-
if (!entry) {
124+
function preloadRecord(url: string, options: mixed): Record {
125+
const map = getRecordMap();
126+
let record = map.get(url);
127+
if (!record) {
123128
if (options) {
124129
if (options.method || options.body || options.signal) {
125130
// TODO: wire up our own cancellation mechanism.
@@ -128,20 +133,20 @@ function preloadResult(url: string, options: mixed): Result {
128133
}
129134
}
130135
const thenable = nativeFetch(url, options);
131-
entry = toResult(thenable);
132-
map.set(url, entry);
136+
record = createRecordFromThenable(thenable);
137+
map.set(url, record);
133138
}
134-
return entry;
139+
return record;
135140
}
136141

137142
export function preload(url: string, options: mixed): void {
138-
preloadResult(url, options);
143+
preloadRecord(url, options);
139144
// Don't return anything.
140145
}
141146

142147
export function fetch(url: string, options: mixed): Object {
143-
const result = preloadResult(url, options);
144-
const nativeResponse = (readResult(result): any);
148+
const record = preloadRecord(url, options);
149+
const nativeResponse = (readRecordValue(record): any);
145150
if (nativeResponse._reactResponse) {
146151
return nativeResponse._reactResponse;
147152
} else {

packages/react-fetch/src/ReactFetchNode.js

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -57,36 +57,36 @@ const Pending = 0;
5757
const Resolved = 1;
5858
const Rejected = 2;
5959

60-
type PendingResult = {|
60+
type PendingRecord = {|
6161
status: 0,
6262
value: Wakeable,
6363
|};
6464

65-
type ResolvedResult<V> = {|
65+
type ResolvedRecord<V> = {|
6666
status: 1,
6767
value: V,
6868
|};
6969

70-
type RejectedResult = {|
70+
type RejectedRecord = {|
7171
status: 2,
7272
value: mixed,
7373
|};
7474

75-
type Result<V> = PendingResult | ResolvedResult<V> | RejectedResult;
75+
type Record<V> = PendingRecord | ResolvedRecord<V> | RejectedRecord;
7676

77-
function getResultMap(): Map<string, Result<FetchResponse>> {
78-
return unstable_getCacheForType(createResultMap);
77+
function getRecordMap(): Map<string, Record<FetchResponse>> {
78+
return unstable_getCacheForType(createRecordMap);
7979
}
8080

81-
function createResultMap(): Map<string, Result<FetchResponse>> {
81+
function createRecordMap(): Map<string, Record<FetchResponse>> {
8282
return new Map();
8383
}
8484

85-
function readResult<T>(result: Result<T>): T {
86-
if (result.status === Resolved) {
87-
return result.value;
85+
function readRecordValue<T>(record: Record<T>): T {
86+
if (record.status === Resolved) {
87+
return record.value;
8888
} else {
89-
throw result.value;
89+
throw record.value;
9090
}
9191
}
9292

@@ -111,7 +111,7 @@ function Response(nativeResponse) {
111111
cb();
112112
}
113113
}
114-
const result: PendingResult = (this._result = {
114+
const bufferRecord: PendingRecord = (this._bufferRecord = {
115115
status: Pending,
116116
value: {
117117
then(cb) {
@@ -122,18 +122,18 @@ function Response(nativeResponse) {
122122
const data = [];
123123
nativeResponse.on('data', chunk => data.push(chunk));
124124
nativeResponse.on('end', () => {
125-
if (result.status === Pending) {
126-
const resolvedResult = ((result: any): ResolvedResult<Buffer>);
127-
resolvedResult.status = Resolved;
128-
resolvedResult.value = Buffer.concat(data);
125+
if (bufferRecord.status === Pending) {
126+
const resolvedRecord = ((bufferRecord: any): ResolvedRecord<Buffer>);
127+
resolvedRecord.status = Resolved;
128+
resolvedRecord.value = Buffer.concat(data);
129129
wake();
130130
}
131131
});
132132
nativeResponse.on('error', err => {
133-
if (result.status === Pending) {
134-
const rejectedResult = ((result: any): RejectedResult);
135-
rejectedResult.status = Rejected;
136-
rejectedResult.value = err;
133+
if (bufferRecord.status === Pending) {
134+
const rejectedRecord = ((bufferRecord: any): RejectedRecord);
135+
rejectedRecord.status = Rejected;
136+
rejectedRecord.value = err;
137137
wake();
138138
}
139139
});
@@ -142,7 +142,7 @@ function Response(nativeResponse) {
142142
Response.prototype = {
143143
constructor: Response,
144144
arrayBuffer() {
145-
const buffer = readResult(this._result);
145+
const buffer = readRecordValue(this._bufferRecord);
146146
return buffer;
147147
},
148148
blob() {
@@ -153,7 +153,7 @@ Response.prototype = {
153153
if (this._json !== null) {
154154
return this._json;
155155
}
156-
const buffer = readResult(this._result);
156+
const buffer = readRecordValue(this._bufferRecord);
157157
const json = JSON.parse(buffer.toString());
158158
this._json = json;
159159
return json;
@@ -162,17 +162,17 @@ Response.prototype = {
162162
if (this._text !== null) {
163163
return this._text;
164164
}
165-
const buffer = readResult(this._result);
165+
const buffer = readRecordValue(this._bufferRecord);
166166
const text = buffer.toString();
167167
this._text = text;
168168
return text;
169169
},
170170
};
171171

172-
function preloadResult(url: string, options: mixed): Result<FetchResponse> {
173-
const map = getResultMap();
174-
let entry = map.get(url);
175-
if (!entry) {
172+
function preloadRecord(url: string, options: mixed): Record<FetchResponse> {
173+
const map = getRecordMap();
174+
let record = map.get(url);
175+
if (!record) {
176176
if (options) {
177177
if (options.method || options.body || options.signal) {
178178
// TODO: wire up our own cancellation mechanism.
@@ -193,41 +193,42 @@ function preloadResult(url: string, options: mixed): Result<FetchResponse> {
193193
cb();
194194
}
195195
};
196-
const result: Result<FetchResponse> = (entry = {
196+
const newRecord: Record<FetchResponse> = (record = {
197197
status: Pending,
198198
value: wakeable,
199199
});
200200
nodeFetch(
201201
url,
202202
options,
203203
response => {
204-
if (result.status === Pending) {
205-
const resolvedResult = ((result: any): ResolvedResult<FetchResponse>);
206-
resolvedResult.status = Resolved;
207-
resolvedResult.value = response;
204+
if (newRecord.status === Pending) {
205+
const resolvedRecord = ((newRecord: any): ResolvedRecord<FetchResponse>);
206+
resolvedRecord.status = Resolved;
207+
resolvedRecord.value = response;
208208
wake();
209209
}
210210
},
211211
err => {
212-
if (result.status === Pending) {
213-
const rejectedResult = ((result: any): RejectedResult);
214-
rejectedResult.status = Rejected;
215-
rejectedResult.value = err;
212+
if (newRecord.status === Pending) {
213+
const rejectedRecord = ((newRecord: any): RejectedRecord);
214+
rejectedRecord.status = Rejected;
215+
rejectedRecord.value = err;
216216
wake();
217217
}
218218
},
219219
);
220-
map.set(url, entry);
220+
map.set(url, record);
221221
}
222-
return entry;
222+
return record;
223223
}
224224

225225
export function preload(url: string, options: mixed): void {
226-
preloadResult(url, options);
226+
preloadRecord(url, options);
227227
// Don't return anything.
228228
}
229229

230230
export function fetch(url: string, options: mixed): FetchResponse {
231-
const result = preloadResult(url, options);
232-
return readResult(result);
231+
const record = preloadRecord(url, options);
232+
const response = readRecordValue(record);
233+
return response;
233234
}

0 commit comments

Comments
 (0)