Skip to content

Commit 6fb4155

Browse files
committed
code review
1 parent 244dc5a commit 6fb4155

6 files changed

Lines changed: 33 additions & 116 deletions

File tree

packages/ra-core/package.json

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,9 @@
1515
"type": "module",
1616
"exports": {
1717
".": {
18-
"import": {
19-
"types": "./dist/index.d.ts",
20-
"default": "./dist/index.js"
21-
},
22-
"require": {
23-
"types": "./dist/index.d.cts",
24-
"default": "./dist/index.cjs"
25-
}
18+
"types": "./dist/index.d.cts",
19+
"import": "./dist/index.js",
20+
"require": "./dist/index.cjs"
2621
}
2722
},
2823
"sideEffects": false,

packages/ra-data-fakerest/package.json

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,9 @@
5151
"gitHead": "19dcb264898c8e01c408eb66ce02c50b67c851ab",
5252
"exports": {
5353
".": {
54-
"import": {
55-
"types": "./dist/index.d.ts",
56-
"default": "./dist/index.js"
57-
},
58-
"require": {
59-
"types": "./dist/index.d.cts",
60-
"default": "./dist/index.cjs"
61-
}
54+
"types": "./dist/index.d.cts",
55+
"import": "./dist/index.js",
56+
"require": "./dist/index.cjs"
6257
}
6358
}
6459
}

packages/ra-data-local-forage/src/index.ts

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -175,22 +175,15 @@ export default (params?: LocalForageDataProviderParams): DataProvider => {
175175
throw new Error('The dataProvider is not initialized.');
176176
}
177177

178-
assertRecordsExist(getResourceCollection(data, resource), [
179-
params.id,
180-
]);
178+
const resourceData = getResourceCollection(data, resource);
179+
assertRecordsExist(resourceData, [params.id]);
181180
const response = await baseDataProvider.update<RecordType>(
182181
resource,
183182
params
184183
);
185-
const resourceData = getResourceCollection(data, resource);
186184
const index = resourceData.findIndex(
187185
(record: { id: any }) => record.id === params.id
188186
);
189-
190-
if (index === -1) {
191-
return response;
192-
}
193-
194187
resourceData.splice(index, 1, {
195188
...resourceData[index],
196189
...params.data,
@@ -219,11 +212,6 @@ export default (params?: LocalForageDataProviderParams): DataProvider => {
219212
const index = resourceData.findIndex(
220213
(record: { id: Identifier }) => record.id === id
221214
);
222-
223-
if (index === -1) {
224-
return;
225-
}
226-
227215
resourceData.splice(index, 1, {
228216
...resourceData[index],
229217
...params.data,
@@ -269,22 +257,15 @@ export default (params?: LocalForageDataProviderParams): DataProvider => {
269257
if (!data) {
270258
throw new Error('The dataProvider is not initialized.');
271259
}
272-
assertRecordsExist(getResourceCollection(data, resource), [
273-
params.id,
274-
]);
260+
const resourceData = getResourceCollection(data, resource);
261+
assertRecordsExist(resourceData, [params.id]);
275262
const response = await baseDataProvider.delete<RecordType>(
276263
resource,
277264
params
278265
);
279-
const resourceData = getResourceCollection(data, resource);
280266
const index = resourceData.findIndex(
281267
(record: { id: any }) => record.id === params.id
282268
);
283-
284-
if (index === -1) {
285-
return response;
286-
}
287-
288269
pullAt(resourceData, [index]);
289270
updateLocalForage(resource);
290271
return response;
@@ -304,13 +285,11 @@ export default (params?: LocalForageDataProviderParams): DataProvider => {
304285
resource,
305286
params
306287
);
307-
const indexes = params.ids
308-
.map((id: any) => {
309-
return resourceData.findIndex(
310-
(record: any) => record.id === id
311-
);
312-
})
313-
.filter(index => index !== -1);
288+
const indexes = params.ids.map((id: any) => {
289+
return resourceData.findIndex(
290+
(record: any) => record.id === id
291+
);
292+
});
314293

315294
pullAt(resourceData, indexes);
316295
updateLocalForage(resource);
@@ -341,7 +320,7 @@ const getOrCreateResourceCollection = (
341320
const checkResource = resource => {
342321
// Reject "__proto__" so dynamic writes like data[resource] = value don't
343322
// mutate Object.prototype instead of creating a normal resource collection.
344-
if (resource === '__proto__') {
323+
if (['__proto__', 'constructor', 'prototype'].includes(resource)) {
345324
throw new Error(`Invalid resource key: ${resource}`);
346325
}
347326
};

packages/ra-data-local-storage/src/index.ts

Lines changed: 11 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -99,29 +99,19 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
9999
// update methods need to persist changes in localStorage
100100
update: <RecordType extends RaRecord = any>(resource, params) => {
101101
checkResource(resource);
102+
const resourceData = getResourceCollection(data, resource);
102103
try {
103-
assertRecordsExist(getResourceCollection(data, resource), [
104-
params.id,
105-
]);
104+
assertRecordsExist(resourceData, [params.id]);
106105
} catch (error) {
107106
return Promise.reject(error);
108107
}
109108
return baseDataProvider
110109
.update<RecordType>(resource, params)
111110
.then(response => {
112111
updateLocalStorage(() => {
113-
const resourceData = getResourceCollection(
114-
data,
115-
resource
116-
);
117112
const index = resourceData.findIndex(
118113
record => record.id == params.id
119114
);
120-
121-
if (index === -1) {
122-
return;
123-
}
124-
125115
resourceData.splice(index, 1, {
126116
...resourceData[index],
127117
...params.data,
@@ -133,11 +123,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
133123
},
134124
updateMany: (resource, params) => {
135125
checkResource(resource);
126+
const resourceData = getResourceCollection(data, resource);
136127
try {
137-
assertRecordsExist(
138-
getResourceCollection(data, resource),
139-
params.ids
140-
);
128+
assertRecordsExist(resourceData, params.ids);
141129
} catch (error) {
142130
return Promise.reject(error);
143131
}
@@ -146,19 +134,10 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
146134
.updateMany(resource, params)
147135
.then(response => {
148136
updateLocalStorage(() => {
149-
const resourceData = getResourceCollection(
150-
data,
151-
resource
152-
);
153137
params.ids.forEach(id => {
154138
const index = resourceData.findIndex(
155139
record => record.id == id
156140
);
157-
158-
if (index === -1) {
159-
return;
160-
}
161-
162141
resourceData.splice(index, 1, {
163142
...resourceData[index],
164143
...params.data,
@@ -190,29 +169,19 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
190169
},
191170
delete: <RecordType extends RaRecord = any>(resource, params) => {
192171
checkResource(resource);
172+
const resourceData = getResourceCollection(data, resource);
193173
try {
194-
assertRecordsExist(getResourceCollection(data, resource), [
195-
params.id,
196-
]);
174+
assertRecordsExist(resourceData, [params.id]);
197175
} catch (error) {
198176
return Promise.reject(error);
199177
}
200178
return baseDataProvider
201179
.delete<RecordType>(resource, params)
202180
.then(response => {
203181
updateLocalStorage(() => {
204-
const resourceData = getResourceCollection(
205-
data,
206-
resource
207-
);
208182
const index = resourceData.findIndex(
209183
record => record.id == params.id
210184
);
211-
212-
if (index === -1) {
213-
return;
214-
}
215-
216185
pullAt(resourceData, [index]);
217186
});
218187

@@ -221,11 +190,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
221190
},
222191
deleteMany: (resource, params) => {
223192
checkResource(resource);
193+
const resourceData = getResourceCollection(data, resource);
224194
try {
225-
assertRecordsExist(
226-
getResourceCollection(data, resource),
227-
params.ids
228-
);
195+
assertRecordsExist(resourceData, params.ids);
229196
} catch (error) {
230197
return Promise.reject(error);
231198
}
@@ -234,18 +201,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
234201
.deleteMany(resource, params)
235202
.then(response => {
236203
updateLocalStorage(() => {
237-
const resourceData = getResourceCollection(
238-
data,
239-
resource
204+
const indexes = params.ids.map(id =>
205+
resourceData.findIndex(record => record.id == id)
240206
);
241-
const indexes = params.ids
242-
.map(id =>
243-
resourceData.findIndex(
244-
record => record.id == id
245-
)
246-
)
247-
.filter(index => index !== -1);
248-
249207
pullAt(resourceData, indexes);
250208
});
251209

@@ -277,7 +235,7 @@ const getOrCreateResourceCollection = (
277235
const checkResource = (resource: string) => {
278236
// Reject "__proto__" so dynamic writes like data[resource] = value don't
279237
// mutate Object.prototype instead of creating a normal resource collection.
280-
if (resource === '__proto__') {
238+
if (['__proto__', 'constructor', 'prototype'].includes(resource)) {
281239
throw new Error(`Invalid resource key: ${resource}`);
282240
}
283241
};

packages/ra-router-tanstack/package.json

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,9 @@
3737
},
3838
"exports": {
3939
".": {
40-
"import": {
41-
"types": "./dist/index.d.ts",
42-
"default": "./dist/index.js"
43-
},
44-
"require": {
45-
"types": "./dist/index.d.cts",
46-
"default": "./dist/index.cjs"
47-
}
40+
"types": "./dist/index.d.cts",
41+
"import": "./dist/index.js",
42+
"require": "./dist/index.cjs"
4843
}
4944
}
5045
}

packages/ra-ui-materialui/package.json

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,9 @@
8686
"gitHead": "19dcb264898c8e01c408eb66ce02c50b67c851ab",
8787
"exports": {
8888
".": {
89-
"import": {
90-
"types": "./dist/index.d.ts",
91-
"default": "./dist/index.js"
92-
},
93-
"require": {
94-
"types": "./dist/index.d.cts",
95-
"default": "./dist/index.cjs"
96-
}
89+
"types": "./dist/index.d.cts",
90+
"import": "./dist/index.js",
91+
"require": "./dist/index.cjs"
9792
}
9893
}
9994
}

0 commit comments

Comments
 (0)