Documentation Index
Fetch the complete documentation index at: https://docs.law4devs.eu/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The frameworks resource provides access to all 19 EU regulatory frameworks — GDPR, CRA, NIS2, AI Act, DORA, and more.
Methods
list()
Future<Page<Framework>> list({int? page, int? perPage})
Parameters
| Parameter | Type | Default | Description |
|---|
page | int? | 1 | Page number |
perPage | int? | 20 | Items per page |
get()
Future<FrameworkDetail> get(String slug)
iter()
Stream<Framework> iter({int perPage = 20})
Lazy stream — fetches the next page only when the current page is exhausted.
Models
Framework
| Field | Type | Description |
|---|
id | int | Internal ID |
slug | String | URL-safe identifier (e.g. gdpr) |
name | String | Full regulation name |
shortName | String | Abbreviation (e.g. GDPR) |
celexNumber | String | EUR-Lex CELEX identifier |
description | String? | Short description |
isActive | bool | Whether actively maintained |
status | String | active or superseded |
articleCount | int | Number of scraped articles |
recitalCount | int | Number of scraped recitals |
createdAt | String | ISO 8601 timestamp |
FrameworkDetail
Extends Framework with:
| Field | Type | Description |
|---|
eurLexUrl | String | Link to EUR-Lex source |
requirementCount | int | Number of requirements |
annexCount | int | Number of annexes |
tagCount | int | Number of associated tags |
coverage | Map? | Coverage statistics |
Examples
List all frameworks
final page = await client.frameworks.list();
print('${page.meta.total} frameworks');
for (final fw in page.data) {
print('${fw.slug} — ${fw.name} (${fw.articleCount} articles)');
}
Get framework detail
final gdpr = await client.frameworks.get('gdpr');
print('GDPR: ${gdpr.articleCount} articles, ${gdpr.recitalCount} recitals');
print('EUR-Lex: ${gdpr.eurLexUrl}');
Auto-paginate all frameworks
await for (final fw in client.frameworks.iter()) {
if (fw.status == 'active') {
print(fw.name);
}
}
Filter active frameworks
final page = await client.frameworks.list();
final active = page.data.where((fw) => fw.isActive).toList();
print('${active.length} active frameworks');