groupByNamespace
API / @publicodes/forms / groupByNamespace
function groupByNamespace<Name>(fields): Name[][]
Defined in: groupByNamespace.ts:29
Groups fields into pages based on their namespace hierarchy, ensuring related fields stay together. Useful when organizing form fields into logical sections or steps.
Type Parameters
Type Parameter |
---|
Name extends string |
Parameters
Parameter | Type | Description |
---|---|---|
fields | Name [] | Array of field names with dot-notation namespaces |
Returns
Name
[][]
Array of arrays, where each inner array represents a page containing related fields
Example
const fields = [
'company . name',
'personal . first name',
'stock . quantity',
'personal . last name'
'company . address',
];
const pages = groupByNamespace(fields);
// Result:
// [
// ['company . name', 'company . address'],
// ['personal . first name', 'personal . last name'],
// ['stock . quantity']
// ]