GemSwapCampaignLeveltype
One authored native challenge with its stable id, setup, winning witness, measurements and review status.
Import it
import type { GemSwapCampaignLevel } from "@johnmorrisdotca/houseki/gem-swap";
Definition
interface GemSwapCampaignLevel {
readonly id: string;
readonly number: number;
readonly title: {
readonly en: string;
readonly ja: string;
};
readonly options: CreateOptions;
readonly width: number;
readonly height: number;
readonly colourCount: number;
readonly seed: number;
readonly challenge: NonNullable<CreateOptions['challenge']>;
readonly witness: readonly ReplayOperation[];
readonly canonicalKeyHash: string;
readonly tags: readonly string[];
readonly rawMetrics: Readonly<Record<string, number>>;
readonly difficultyScore: number;
readonly difficultyMarks: number;
readonly gradingVersion: string;
readonly proofStatus: 'engine-witness-verified';
readonly reviewStatus: GemSwapReviewStatus;
}
Members
| Name | Type | Description |
|---|---|---|
id | string | |
number | number | |
title | { readonly en: string; readonly ja: string; } | |
options | CreateOptions | |
width | number | |
height | number | |
colourCount | number | |
seed | number | |
challenge | ChallengeRules | |
witness | readonly ReplayOperation[] | |
canonicalKeyHash | string | |
tags | readonly string[] | |
rawMetrics | Readonly<Record<string, number>> | |
difficultyScore | number | |
difficultyMarks | number | |
gradingVersion | string | |
proofStatus | "engine-witness-verified" | |
reviewStatus | "human-review-pending" |
Examples
import { GEM_SWAP_CAMPAIGN } from "@johnmorrisdotca/houseki/gem-swap";
import type { GemSwapCampaignLevel } from "@johnmorrisdotca/houseki/gem-swap";
const level=GEM_SWAP_CAMPAIGN[0];
const value: GemSwapCampaignLevel = level;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);[ 'id', 'number', 'title', 'options', 'width', 'height' ]What it prints (run when this page was built)