UNPKG

scrivito

Version:

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

49 lines (40 loc) 1.28 kB
import { ArgumentError, isValidInteger } from 'scrivito_sdk/common'; import { createStateContainer } from 'scrivito_sdk/state'; /** @public */ export interface ResponsiveBreakpoints { mobileMaxWidth: number; tabletMaxWidth: number; } const state = createStateContainer<ResponsiveBreakpoints>(); export function configureResponsiveBreakpoints( breakpoints: ResponsiveBreakpoints, ): void { validateResponsiveBreakpoints(breakpoints); state.set(breakpoints); } export function getResponsiveBreakpoints(): ResponsiveBreakpoints | undefined { return state.get(); } function validateResponsiveBreakpoints({ mobileMaxWidth, tabletMaxWidth, }: ResponsiveBreakpoints) { if (!isValidPositiveInteger(mobileMaxWidth)) { throw new ArgumentError( "'responsiveBreakpoints.mobileMaxWidth' must be a positive integer.", ); } if (!isValidPositiveInteger(tabletMaxWidth)) { throw new ArgumentError( "'responsiveBreakpoints.tabletMaxWidth' must be a positive integer.", ); } if (mobileMaxWidth >= tabletMaxWidth) { throw new ArgumentError( "'responsiveBreakpoints.mobileMaxWidth' must be less than 'tabletMaxWidth'.", ); } } function isValidPositiveInteger(value: number) { return isValidInteger(value) && value > 0; }