Skip to content

Commit 433abfd

Browse files
committed
flesh out IPF tests more
1 parent 53e2733 commit 433abfd

File tree

9 files changed

+657
-246
lines changed

9 files changed

+657
-246
lines changed

src/fields/inputFields/fields/Date/DateIPF.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { type moment } from 'obsidian';
33
import { type SvelteComponent } from 'svelte';
44
import { DateParser } from '../../../../parsers/DateParser';
55
import DateComponent from './DateComponent.svelte';
6-
import { parseUnknownToString } from '../../../../utils/Literal';
76
import { type IInputFieldBase } from '../../IInputFieldBase';
87

98
export class DateIPF extends AbstractInputField<string, moment.Moment> {
@@ -12,7 +11,15 @@ export class DateIPF extends AbstractInputField<string, moment.Moment> {
1211
}
1312

1413
protected filterValue(value: unknown): string | undefined {
15-
return parseUnknownToString(value);
14+
if (value === null || value === undefined || typeof value !== 'string') {
15+
return undefined;
16+
}
17+
const date = DateParser.parse(value);
18+
if (date.isValid()) {
19+
return DateParser.stringify(date);
20+
} else {
21+
return undefined;
22+
}
1623
}
1724

1825
protected getFallbackDefaultValue(): moment.Moment {

src/fields/inputFields/fields/Editor/EditorIPF.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class EditorIPF extends AbstractInputField<string, string> {
3939

4040
async renderInElement(el: HTMLElement, value: string): Promise<void> {
4141
this.mdUnloadCallback?.();
42-
el.empty();
42+
el.innerHTML = '';
4343
this.mdUnloadCallback = await this.base.plugin.internal.renderMarkdown(value, el, this.base.getFilePath());
4444
}
4545

src/fields/inputFields/fields/Time/TimeIPF.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ export class TimeIPF extends AbstractInputField<string, Time> {
1111
}
1212

1313
protected filterValue(value: unknown): string | undefined {
14-
return parseUnknownToString(value);
14+
const strValue = parseUnknownToString(value);
15+
return TimeParser.parse(strValue) ? strValue : undefined;
1516
}
1617

1718
protected getFallbackDefaultValue(): Time {

src/fields/inputFields/fields/Toggle/ToggleIPF.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export class ToggleIPF extends AbstractInputField<MBLiteral, boolean> {
1717
}
1818

1919
protected filterValue(value: unknown): MBLiteral | undefined {
20-
return parseUnknownToLiteral(value);
20+
return value === this.onValue || value === this.offValue ? parseUnknownToLiteral(value) : undefined;
2121
}
2222

2323
protected getFallbackDefaultValue(): boolean {

src/utils/Literal.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export function stringifyLiteral(literal: MBExtendedLiteral | undefined): string
4646
}
4747

4848
if (literal === null) {
49-
return 'null';
49+
return '';
5050
}
5151

5252
if (typeof literal === 'string') {

0 commit comments

Comments
 (0)