server/model/ideas/expression.ts
import type {Language} from '../languages/language';
export enum KnownUnknown {
Known = 'Known',
Unknown = 'Unknown',
}
export function getKnownUnknown(isKnown: boolean): KnownUnknown {
return isKnown ? KnownUnknown.Known : KnownUnknown.Unknown;
}
export type ExpressionForAdding = {
text: string;
languageId: number;
known?: boolean;
};
export type Expression = {
id: number;
text: string;
language: Language;
known: boolean;
ordering: number;
// This is used for search results
matched?: boolean;
};
export function getEmptyNexpressions(n: number, startId: number, l: Language): Expression[] {
return Array.from({length: n}, (_, i) => ({
id: startId + i,
text: '',
language: l,
known: false,
ordering: i,
}));
}
export function getExpressionForAddingFromExpression(e: Expression): ExpressionForAdding {
return {
languageId: e.language.id,
text: e.text,
known: e.known,
};
}