chore: убраны предупреждения линтера no-new-null и no-script-url

null там законный (очистка колонки SharePoint, ответ localStorage), строка
javascript: в тесте нужна намеренно — пометил с объяснением.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-14 14:06:06 +05:00
parent 96f53da020
commit d4b8c4e7e4
3 changed files with 3 additions and 0 deletions
@@ -33,6 +33,7 @@ function asDay(value: unknown): string {
}
/** Разобрать сохранённое значение; всё, что не прошло проверку, — как «не задано». */
// eslint-disable-next-line @rushstack/no-new-null -- так отдаёт localStorage.getItem, если ключа нет
export function parseStoredRefinement(raw: string | null): IStoredRefinement | undefined {
if (!raw) return undefined;
let parsed: { filters?: Record<string, unknown>; sort?: Record<string, unknown> };
@@ -23,6 +23,7 @@ describe('linkify', () => {
});
it('не-http схемы ссылкой не становятся', () => {
// eslint-disable-next-line no-script-url -- проверяем как раз то, что такая строка ссылкой не станет
expect(linkify('javascript:alert(1)')).toEqual([{ text: 'javascript:alert(1)' }]);
});
@@ -91,6 +91,7 @@ export function parseFieldChanges(raw: unknown): IFieldChange[] {
}
/** Журнал → JSON для колонки (null — журнал пуст, колонку очищаем). */
// eslint-disable-next-line @rushstack/no-new-null -- null очищает колонку SharePoint, undefined поле бы не тронул
export function serializeFieldChanges(changes: IFieldChange[]): string | null {
return changes.length > 0 ? JSON.stringify(changes) : null;
}