import { camelOrSnakeSlug } from './camel-or-snake-slug'; import { isGoogleWorkspaceProductSlug } from './is-google-workspace-product-slug'; import type { WithCamelCaseSlug, WithSnakeCaseSlug } from './types'; /** * Determines whether the provided Google Workspace product is for a user purchasing extra licenses (versus a new account). */ export function isGoogleWorkspaceExtraLicence( product: ( WithCamelCaseSlug | WithSnakeCaseSlug ) & { newQuantity?: number; extra?: { new_quantity?: number }; } ): boolean { if ( ! isGoogleWorkspaceProductSlug( camelOrSnakeSlug( product ) ) ) { return false; } // Checks if the 'new_quantity' property exists as it should only be specified for extra licenses return product?.extra?.new_quantity !== undefined || product?.newQuantity !== undefined; }