本文整理匯總了TypeScript中@csegames/camelot-unchained.utils.merge方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript utils.merge方法的具體用法?TypeScript utils.merge怎麽用?TypeScript utils.merge使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@csegames/camelot-unchained.utils
的用法示例。
在下文中一共展示了utils.merge方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: webAPIServerToPatcherServer
reducer: (s, a) => {
if (a.server.name === 'localhost') return {};
const servers = utils.clone(s.servers);
servers[a.server.name] = utils.merge(servers[a.server.name], webAPIServerToPatcherServer(a.server));
return {
servers,
};
},
示例2: channelToPatcherServer
reducer: (s, a) => {
const channelServers: utils.Dictionary<PatcherServer> = {};
const channelDict: utils.Dictionary<Channel> = {};
for (let i = 0; i < a.channels.length; ++i) {
const c = a.channels[i];
// check if we have a server with a matching name to a channel, if not the channel becomes it's own 'server'.
if (!s.servers[c.channelName]) {
// create a server for this channel
channelServers[c.channelName] = channelToPatcherServer(c);
} else {
// if it's not it's own server add to a dictionary to update servers by channel id
channelDict[c.channelID] = c;
// while we're here lets see if we need to update the last updated time
if (s.servers[c.channelName].channelStatus === ChannelStatus.Updating && c.channelStatus === ChannelStatus.Ready) {
localStorage.setItem(`channel_updated_${c.channelName}`, a.when.toLocaleString());
}
}
}
const servers = utils.clone(s.servers);
for (const key in servers) {
const server = servers[key];
const channel = channelDict[server.channelID];
if (channel) {
servers[key].channelStatus = channelDict[server.channelID].channelStatus;
servers[key].lastUpdated = channelDict[server.channelID].lastUpdated;
} else {
servers[key].channelStatus = ChannelStatus.NotInstalled;
servers[key].lastUpdated = 0;
}
}
return {
servers: utils.merge(servers, channelServers),
};
},