@shotlingo/character-limits
v0.1.0
Published
App Store & Google Play character limits (name, subtitle, keywords, descriptions, IAP fields) as a typed lookup table — no network calls, zero dependencies.
Maintainers
Readme
@shotlingo/character-limits
App Store & Google Play character limits (name, subtitle, keywords, descriptions, IAP fields) as a typed lookup table. Zero dependencies, no network calls.
Full interactive reference (searchable table + JSON/CSV export): shotlingo.com/tools/app-store-character-limits
Install
npm install @shotlingo/character-limitsUsage
import { getById, getByPlatform, fitsLimit, CHARACTER_LIMITS } from '@shotlingo/character-limits';
getById('apple-subtitle');
// => { id: 'apple-subtitle', platform: 'apple', field: 'Subtitle', limit: 30, unit: 'characters', importance: 'critical', isIndexed: true, tip: '...', sourceUrl: '...' }
getByPlatform('google').map((f) => f.field);
// => ['App Title', 'Short Description', 'Full Description', "What's New", 'In-App Product Title', 'In-App Product Description', 'Developer Name']
fitsLimit('apple-name', 'My Great App');
// => true
CHARACTER_LIMITS.length;
// => 19API
CHARACTER_LIMITS: CharacterLimit[]— the full list.PLATFORMS: Platform[]—'apple' | 'google'.getById(id: string): CharacterLimit | undefined— lookup by id, e.g.'apple-keywords'(case-insensitive).getByPlatform(platform: Platform): CharacterLimit[]getByImportance(importance: 'critical' | 'high' | 'medium' | 'low'): CharacterLimit[]getIndexedFields(platform?: Platform): CharacterLimit[]— fields the store actually indexes for search.fitsLimit(id: string, text: string): boolean— check candidate copy against a field's limit.
License
MIT
