このコミットが含まれているのは:
2026-07-14 19:37:04 +09:00
コミット f9463f383f
11個のファイルの変更202行の追加92行の削除
+9 -4
ファイルの表示
@@ -218,6 +218,10 @@ const sanitiseRow = (value: unknown): PostImportRow | null => {
return null
if (value.skipReason !== 'existing' && value.existingPostId != null)
return null
if (value.importStatus === 'created' && !(isPositiveInteger (value.createdPostId)))
return null
if (value.importStatus !== 'created' && value.createdPostId != null)
return null
if (value.createdPostId != null && !(isPositiveInteger (value.createdPostId)))
return null
@@ -618,14 +622,12 @@ const hasValidationErrors = (row: PostImportRow): boolean =>
Object.keys (row.validationErrors ?? { }).length > 0
export const submittableImportRows = (rows: PostImportRow[]): PostImportRow[] =>
export const processableImportRows = (rows: PostImportRow[]): PostImportRow[] =>
rows.filter (row => {
if (row.importStatus === 'created')
return false
if (row.importStatus === 'skipped')
return false
if (hasSkipReason (row) && !(hasValidationErrors (row)))
return false
if (row.importStatus === 'failed')
return false
if (hasValidationErrors (row))
@@ -633,11 +635,14 @@ export const submittableImportRows = (rows: PostImportRow[]): PostImportRow[] =>
return row.importStatus == null || row.importStatus === 'pending'
})
export const creatableImportRows = (rows: PostImportRow[]): PostImportRow[] =>
processableImportRows (rows).filter (row => !(hasSkipReason (row)))
export const reviewSummaryCounts = (rows: PostImportRow[]) => ({
total: rows.length,
submittable: rows.filter (row =>
submittableImportRows ([row]).length > 0
creatableImportRows ([row]).length > 0
&& !(hasValidationErrors (row))).length,
invalid: rows.filter (row => hasValidationErrors (row)).length,
skipPlanned: rows.filter (row =>