-
-
Notifications
You must be signed in to change notification settings - Fork 52
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
Fields with type Array
cannot be an array of object
#165
Comments
@kettanaito I want to second this, I consider this a valid use. The change was introduced in here: https://github.com/mswjs/data/pull/143/files#diff-64401d98a99c109c65a62a9cc791a32f21dddb5d08bce553aaa559b6aa0e382dL67-L74 data/src/utils/isModelValueType.ts Line 15 in 0970e7e
Previously, the check was just that we got an array, and the contents of this array did not matter, but now I think this is a regression. |
@kettanaito Thank you very much. I'm looking forward to see it fixed. In the mean time, I just want to share my work around:
const db = factory({
user: {
id: primaryKey(Number),
email: String,
- additional_data: Array,
+ additional_data: () => [
+ {
+ key: "hobby",
+ value: "code",
+ },
+ {
+ key: "phone",
+ value: "12345",
+ },
+ ],
+ },
}); |
The above workaround just gives a static value in the factory definition, you cannot create arrays with different values. const db = factory({
user: {
id: primaryKey(Number),
email: String,
additional_data: Array,
},
});
const user = {
email: "[email protected]",
additional_data: [
{
key: "hobby",
value: "code",
},
{
key: "phone",
value: "12345",
},
],
}
// TEMPORARY WORKAROUND FOR #165
Object.defineProperty(user.additional_data, 'every', { value: () => true })
db.user.create(user) |
I have example code here:
https://github.com/nvh95/msw-example/blob/d144e5c98f165c15b8758e1157fa478952307d7f/src/mocks/browser.js#L4-L29
Given I have this schema:
Basically, I have a field
additional_data
which is anArray
. If I create array of primitive type likestring
ornumber
, it works fine.But if
additional_data
is an array of object,@mswjs/data
seems cannot process it and returns an empty arrayI have code to reproduce this issue in https://github.com/nvh95/msw-example/blob/msw-example-2021.11.19
@kettanaito Can you take a look? Is this an issue or I misuse
additional_data: Array
(I refer to #113). (definitely I don't want to usemanyOf
here). Thank you very much.The text was updated successfully, but these errors were encountered: