// 설치기 "대상(audience)" 구분. 빌드 시 package.json 에 박히는 musicQuizAudience // 값으로 결정한다(electron-builder extraMetadata). // - 'public' : 일반 설치기. manifest 의 public!==false 인 pack 만 노출. // - 'developer' : 개발자용 설치기. public===false 인 pack 만 노출. // 이 모듈은 electron 에 의존하지 않는 순수 로직만 둔다(server 빌드에도 포함되므로). export type Audience = 'public' | 'developer' export function resolveAudience(raw: unknown): Audience { return raw === 'developer' ? 'developer' : 'public' } /** * 주어진 pack 의 public 플래그가 현재 audience 에게 보여야 하는지. * public 미지정(undefined)은 공개로 간주한다(하위호환). */ export function isPackVisibleForAudience(isPublic: boolean | undefined, audience: Audience): boolean { const isPublicPack = isPublic !== false return audience === 'developer' ? !isPublicPack : isPublicPack }