@empoleon/spotlight
Version:
Command center components for react and Empoleon
1 lines • 1.68 kB
Source Map (JSON)
{"version":3,"file":"limit-actions.cjs","sources":["../src/limit-actions.ts"],"sourcesContent":["import { isActionsGroup } from './is-actions-group';\nimport type { SpotlightActionData, SpotlightActions } from './Spotlight';\n\nexport function limitActions(actions: SpotlightActions[], limit: number) {\n if (!Array.isArray(actions)) {\n return [];\n }\n\n let count = 0;\n return actions.reduce<SpotlightActions[]>((acc, item) => {\n if (count >= limit) {\n return acc;\n }\n\n if (isActionsGroup(item)) {\n const groupActions = limitActions(item.actions, limit - count);\n acc.push({\n group: item.group,\n actions: groupActions as SpotlightActionData[],\n });\n count += groupActions.length;\n } else {\n acc.push(item);\n count += 1;\n }\n\n return acc;\n }, []);\n}\n"],"names":["limitActions","actions","limit","Array","isArray","count","reduce","acc","item","isActionsGroup","groupActions","push","group","length"],"mappings":";;;;AAGO,SAASA,YAAAA,CAAaC,SAA6BC,KAAA,EAAe;AACvE,EAAA,IAAI,CAACC,KAAA,CAAMC,OAAA,CAAQH,OAAO,CAAA,EAAG;AAC3B,IAAA,OAAO,EAAC;AACV,EAAA;EAEA,IAAII,KAAA,GAAQ,CAAA;EACZ,OAAOJ,OAAA,CAAQK,MAAA,CAA2B,CAACC,GAAA,EAAKC,IAAA,KAAS;IACvD,IAAIH,SAASH,KAAA,EAAO;AAClB,MAAA,OAAOK,GAAA;AACT,IAAA;AAEA,IAAA,IAAIE,6BAAA,CAAeD,IAAI,CAAA,EAAG;MACxB,MAAME,YAAA,GAAeV,YAAA,CAAaQ,IAAA,CAAKP,OAAA,EAASC,QAAQG,KAAK,CAAA;MAC7DE,GAAA,CAAII,IAAA,CAAK;QACPC,OAAOJ,IAAA,CAAKI,KAAA;AACZX,QAAAA,OAAA,EAASS;AACX,OAAC,CAAA;MACDL,KAAA,IAASK,YAAA,CAAaG,MAAA;AACxB,IAAA,CAAA,MAAO;AACLN,MAAAA,GAAA,CAAII,KAAKH,IAAI,CAAA;AACbH,MAAAA,KAAA,IAAS,CAAA;AACX,IAAA;AAEA,IAAA,OAAOE,GAAA;EACT,CAAA,EAAG,EAAE,CAAA;AACP;;;;"}