From 973680c50f3d6d975f3a2ac7535e63cb79938e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sun, 20 Aug 2023 20:29:26 +0200 Subject: [PATCH] feat: add combine preset and splash screens helper (#12) --- src/splash.ts | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/splash.ts b/src/splash.ts index 5ad3b77..70433cf 100644 --- a/src/splash.ts +++ b/src/splash.ts @@ -1,5 +1,6 @@ import type { ResizeOptions } from 'sharp' import type { AppleDeviceSize, AppleSplashScreenName, AppleSplashScreens, AppleTouchStartupImageOptions } from './types.ts' +import type { Preset } from './preset.ts' export type AppleDeviceName = | 'iPad Pro 12.9"' @@ -92,14 +93,15 @@ export function defaultSplashScreenName(landscape: boolean, size: AppleDeviceSiz export const AllAppleDeviceNames = Array.from(Object.keys(appleSplashScreenSizes).map(k => k as AppleDeviceName)) -export function createAppleSplashScreens(options: { - padding?: number - resizeOptions?: ResizeOptions - darkResizeOptions?: ResizeOptions - linkMediaOptions?: AppleTouchStartupImageOptions - name?: AppleSplashScreenName -} = {}, -devices: AppleDeviceName[] = AllAppleDeviceNames, +export function createAppleSplashScreens( + options: { + padding?: number + resizeOptions?: ResizeOptions + darkResizeOptions?: ResizeOptions + linkMediaOptions?: AppleTouchStartupImageOptions + name?: AppleSplashScreenName + } = {}, + devices: AppleDeviceName[] = AllAppleDeviceNames, ) { const { padding, @@ -119,6 +121,23 @@ devices: AppleDeviceName[] = AllAppleDeviceNames, } } +export function combinePresetAndAppleSplashScreens( + preset: Preset, + options: { + padding?: number + resizeOptions?: ResizeOptions + darkResizeOptions?: ResizeOptions + linkMediaOptions?: AppleTouchStartupImageOptions + name?: AppleSplashScreenName + } = {}, + devices: AppleDeviceName[] = AllAppleDeviceNames, +) { + return { + ...preset, + appleSplashScreens: createAppleSplashScreens(options, devices), + } +} + export function createAppleSplashScreenHtmlLink( size: AppleDeviceSize, landscape: boolean,