本文整理汇总了TypeScript中common/helpers/get-by-ids.default函数的典型用法代码示例。如果您正苦于以下问题:TypeScript default函数的具体用法?TypeScript default怎么用?TypeScript default使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了default函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: work
async work(): Promise<void> {
// first, filter what we already got
const cachedGames = getByIds(
this.space().games().set,
this.space().games().allIds
);
const dataGamesCount = cachedGames.length;
if (dataGamesCount > 0) {
this.pushUnfilteredGames(cachedGames);
if (!this.warrantsRemote()) {
return;
}
}
const call = withLogger(this.logger);
await call(
messages.FetchProfileGames,
{
profileId: this.profileId(),
},
client => {
client.on(messages.FetchProfileGamesYield, async ({ items }) => {
const games = map(items, i => i.game);
this.pushUnfilteredGames(games);
});
}
);
}
示例2: it
it("gets records by IDs, being chill about null values", () => {
const records = {
"12": {
word: "twelve",
},
"34": {
word: "thirty-four",
},
"56": {
word: "fifty-six",
},
};
assert.deepEqual(getByIds(null, []), []);
assert.deepEqual(getByIds(records, null), []);
assert.deepEqual(getByIds(records, []), []);
assert.deepEqual(getByIds(records, ["34"]), [{ word: "thirty-four" }]);
assert.deepEqual(getByIds(records, ["56", "1024", "12"]), [
{ word: "fifty-six" },
{ word: "twelve" },
]);
});
示例3: work
async work(): Promise<void> {
let call = withLogger(this.logger);
// first, filter what we already got
const cachedGames = getByIds(
this.space().games().set,
this.space().games().allIds
);
const dataGamesCount = cachedGames.length;
if (dataGamesCount > 0) {
this.debug(`Pushing ${dataGamesCount} from cachedGames`);
this.pushUnfilteredGames(cachedGames);
if (!this.warrantsRemote()) {
return;
}
}
let games: Game[] = [];
const push = () => {
games = uniq(games, g => g.id);
this.pushUnfilteredGames(games);
};
const { caves } = await call(messages.FetchCaves, {});
if (caves) {
for (const cave of caves) {
games.push(cave.game);
}
}
await call(
messages.FetchProfileOwnedKeys,
{
profileId: this.profileId(),
},
client => {
client.on(messages.FetchProfileOwnedKeysYield, async ({ items }) => {
if (items) {
for (const dk of items) {
games.push(dk.game);
}
push();
}
});
}
);
}
示例4: work
async work(): Promise<void> {
// first, filter what we already got
const cachedGames = getByIds(
this.space().games().set,
this.space().games().allIds
);
const dataGamesCount = cachedGames.length;
if (dataGamesCount > 0) {
this.pushUnfilteredGames(cachedGames);
if (!this.warrantsRemote()) {
return;
}
}
const collectionId = this.space().firstPathNumber();
const call = withLogger(this.logger);
await call(
messages.FetchCollection,
{
profileId: this.profileId(),
collectionId,
},
client => {
client.on(messages.FetchCollectionYield, async ({ collection }) => {
const games: Game[] = [];
for (const cg of collection.collectionGames) {
games.push(cg.game);
}
this.pushCollection(collection);
this.pushUnfilteredGames(games);
});
}
);
}
示例5: getGameStatus
function getGameStatus(rs: RootState, game: Game, caveId?: string): GameStatus {
const { commons, tasks, downloads } = rs;
const { profile } = rs.profile;
let downloadKeys = getByIds(
commons.downloadKeys,
commons.downloadKeyIdsByGameId[game.id]
);
let cave: CaveSummary;
let numCaves = 0;
if (!cave) {
if (caveId) {
cave = commons.caves[caveId];
} else {
let caves = getByIds(commons.caves, commons.caveIdsByGameId[game.id]);
numCaves = size(caves);
cave = first(caves);
}
}
const downloadKey = first(downloadKeys);
const pressUser = profile.user.pressUser;
const task = first(tasks.tasksByGameId[game.id]);
const pendingDownloads = getPendingForGame(downloads, game.id);
let download: Download;
if (caveId) {
download = findWhere(pendingDownloads, { caveId });
} else {
download = first(pendingDownloads);
}
let isActiveDownload = false;
let areDownloadsPaused = false;
let downloadProgress: DownloadProgress;
if (download) {
const activeDownload = getActiveDownload(downloads);
isActiveDownload = download.id === activeDownload.id;
areDownloadsPaused = downloads.paused;
downloadProgress = downloads.progresses[download.id];
}
let update: GameUpdate;
if (cave) {
update = rs.gameUpdates.updates[cave.id];
}
const profileId = profile.id;
return realGetGameStatus(
game,
cave,
numCaves,
downloadKey,
pressUser,
task,
download,
downloadProgress,
update,
isActiveDownload,
areDownloadsPaused,
profileId
);
}