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

ParameterTypeDescription
fieldsName[]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']
// ]