本文整理汇总了TypeScript中normalizr.arrayOf函数的典型用法代码示例。如果您正苦于以下问题:TypeScript arrayOf函数的具体用法?TypeScript arrayOf怎么用?TypeScript arrayOf使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了arrayOf函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: return
return (dispatch, store) => {
let normalized = normalize(data.entries, arrayOf(schema));
// This is for testing only. If no results are returned, Normalizr will
// return result: [ undefined ] and entities[entity] = {undefined:{}}.
if (normalized.result[0] === undefined) {
normalized.result.length = 0;
normalized.entities[toCamelCase(name)] = {};
}
// Dispatch event for the main data that was gathered on this request.
// This includes metadata about the collection.
dispatch(action(FIND, name.toUpperCase(), {
result: normalized.result,
items: normalized.entities[toCamelCase(name)],
meta: {
count: data.total_entries,
page: data.page,
links: data._links
}
}));
// Iterate over other objects that were returned (normalized) and
// dispatch add actions for them to get them into the store.
for (let x in normalized.entities) {
// Exclude main entity
if (toLoudSnakeCase(x) !== toLoudSnakeCase(name)) {
// Iterate over each object passed back and dispatch ADD action
for (let y in normalized.entities[x]) {
dispatch(action(ADD, toLoudSnakeCase(x), normalized.entities[x][y]));
}
}
}
}
示例2: switch
export const users: Reducer<any> = (state = initialState, action: Action) => {
switch (action.type) {
case LOADING_USERS:
case LOADING_USER:
return state.set('loading', true);
case LOADED_USERS:
const normalizedUsers: IUsers = normalize(action.payload, arrayOf(userSchema));
return state.withMutations(map => {
map.set('loading', false);
map.set('result', List(normalizedUsers.result));
normalizedUsers.result.forEach((userId: number) => {
map.setIn(
['entities', 'users', userId],
new UserRecord(normalizedUsers.entities.users[userId])
);
});
});
case LOADED_USER:
return state.withMutations(map => {
map.set('loading', false);
if (map.get('result').indexOf(action.payload.id) === -1) {
map.update('result', list => list.push(action.payload.id));
}
map.setIn(
['entities', 'users', action.payload.id],
new UserRecord(action.payload)
);
});
case DELETING_USER:
return state.setIn(['entities', 'users', action.payload.id, 'deleting'], true);
case DELETED_USER:
return state.withMutations(map => map
.deleteIn(['entities', 'users', action.payload])
.deleteIn(['result', map.get('result').indexOf(action.payload)])
);
case ADDING_USER:
return state.set('adding', true);
case ADDED_USER:
return state.withMutations(map => map
.setIn(['entities', 'users', action.payload.id], new UserRecord(action.payload))
.update('result', list => list.push(action.payload.id))
.set('adding', false)
);
case PATCHED_USER:
return state
.setIn(['entities', 'users', action.payload.id], new UserRecord(action.payload));
default:
return state;
}
};
示例3: switch
export const posts: Reducer<any> = (state = initialState, action: Action) => {
switch (action.type) {
case LOADING_POSTS:
case LOADING_POST:
return state.set('loading', true)
case LOADED_POSTS:
const normalizedPosts: IPosts = normalize(action.payload, arrayOf(postSchema))
return state.withMutations(map => {
map.set('loading', false)
map.set('result', List(normalizedPosts.result))
normalizedPosts.result.forEach((postId: number) => {
normalizedPosts.entities.posts[postId].user = normalizedPosts.entities.users[normalizedPosts.entities.posts[postId].user]
map.setIn(
['entities', 'posts', postId],
new PostRecord(normalizedPosts.entities.posts[postId])
)
})
})
case LOADED_POST:
return state.withMutations(map => {
map.set('loading', false)
if (map.get('result').indexOf(action.payload.id) === -1) {
map.update('result', list => list.push(action.payload.id))
}
map.setIn(
['entities', 'posts', action.payload.id],
new PostRecord(action.payload)
)
})
case DELETING_POST:
return state.setIn(['entities', 'posts', action.payload.id, 'deleting'], true)
case DELETED_POST:
return state.withMutations(map => map
.deleteIn(['entities', 'posts', action.payload])
.deleteIn(['result', map.get('result').indexOf(action.payload)])
)
case ADDING_POST:
return state.set('adding', true)
case ADDED_POST:
return state.withMutations(map => map
.setIn(['entities', 'posts', action.payload.id], new PostRecord(action.payload))
.update('result', list => list.push(action.payload.id))
.set('adding', false)
)
case PATCHED_POST:
return state
.setIn(['entities', 'posts', action.payload.id], new PostRecord(action.payload))
default:
return state
}
}
示例4: normalize
(res) => normalize(res, arrayOf(peopleSchema))
示例5: arrayOf
.map((res) => this.normalize(res, arrayOf(taskSchema)));
示例6: Schema
import {Schema, arrayOf} from 'normalizr';
import phone from './phone';
const contact = new Schema('contacts',{
idAttribute: '_id'
});
contact.define({phones: arrayOf(phone)});
export default contact;
示例7: Schema
import { normalize, Schema, arrayOf, valuesOf } from "normalizr";
export var article = new Schema("articles");
export var comment = new Schema("comments");
export var user = new Schema("users");
article.define({
get_comments : arrayOf(comment),
get_author : user,
});
comment.define({
get_author : user,
get_article : article,
});
user.define({
get_articles : arrayOf(article),
get_comments : arrayOf(comment),
});
示例8: require
const { Schema, arrayOf } = require('normalizr');
const userSchema = new Schema('users', {
idAttribute: user => user.id
});
export const Schemas = {
USER: userSchema,
ALL_USERS: {
users: arrayOf(userSchema)
}
};
示例9: arrayOf
.map((res) => this.normalize(res, arrayOf(storySchema)));
示例10: arrayOf
.map((res) => this.normalize(res, arrayOf(projectSchema)));