@przeslijmi/real-fake-data-playwright 0.1.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,16 @@
1
1
  # @przeslijmi/real-fake-data-playwright
2
2
 
3
- Playwright fixtures for [Real Fake Data](https://github.com/przeslijmi/rfd) — realistic, synthetic **Polish** test data with one line per record: valid PESELs (correct checksums), NIPs, REGONs, IBANs, addresses drawn from real cities and streets, people, company names, and vehicle plates.
3
+ Playwright fixtures for [Real Fake Data](https://github.com/przeslijmi/rfd) — **136 generators** of realistic, synthetic test data, one typed method per record:
4
+
5
+ - **Person and company names across 27 EU countries** — `dePersonName`, `itCompanyName`, `frPersonName`, … in the local script and inflection, plus multi-country `personName`/`companyName` that draw from any mix of countries.
6
+ - **National identifiers and VAT / company numbers for every EU member state** — French `frNir`/`frSiren`, Italian `itCodiceFiscale`, Spanish `esDni`/`esNie`, Danish `dkCpr`, Swedish `sePersonnummer`, Dutch `nlBsn`, German `deSteuerId`/`deUstIdnr`, and 60+ more — each with correct checksums and the same `invalid`/`edge` triggers.
7
+ - **The full Polish national set** — valid PESELs (correct checksums), NIPs, REGONs, IBANs, KRS and land-register numbers, ID cards, passports, driving licences, addresses drawn from real cities and streets, and vehicle plates.
8
+ - **Locale-agnostic** — emails and lorem ipsum.
4
9
 
5
10
  Output _looks_ real but is fake — safe for staging, demos, and seed data.
6
11
 
7
12
  - **Seeded and reproducible by default.** Each test derives a stable seed from its title, so a failing test replays the exact same data on the next run — no flakiness, trivial repro.
8
- - **Typed end to end.** One method per generator, fully typed inputs and results.
13
+ - **Typed end to end.** Two methods per generator (one record, or a batch), fully typed inputs and results.
9
14
  - **Zero ceremony.** A `fakeData` fixture; no manual client wiring.
10
15
 
11
16
  ## Install
@@ -24,10 +29,10 @@ Point the fixture at a Real Fake Data API instance, then pull data inside any te
24
29
  ```ts
25
30
  import { test, expect } from '@przeslijmi/real-fake-data-playwright';
26
31
 
27
- test.use({ realFakeData: { baseUrl: 'https://api.real-fake-data.example' } });
32
+ test.use({ realFakeData: { baseUrl: 'https://realfakedata-api.onrender.com' } });
28
33
 
29
34
  test('registers a new customer', async ({ page, fakeData }) => {
30
- const person = await fakeData.person({ sex: 'f' });
35
+ const person = await fakeData.plPerson({ sex: 'f' });
31
36
 
32
37
  await page.goto('/signup');
33
38
  await page.getByLabel('First name').fill(person.name);
@@ -47,7 +52,7 @@ Set options with `test.use({ realFakeData: { … } })`, at any scope (file, `des
47
52
 
48
53
  | Option | Type | Description |
49
54
  | --------- | ------------------------ | ------------------------------------------------------------------------------------------------------- |
50
- | `baseUrl` | `string` (required) | Base URL of the Real Fake Data API, e.g. `https://api.example.com`. |
55
+ | `baseUrl` | `string` (required) | Base URL of the Real Fake Data API, e.g. `https://realfakedata-api.onrender.com`. |
51
56
  | `seed` | `number` | Base seed for the test. Omit to derive a stable seed from the test title (reproducible-by-default). |
52
57
  | `headers` | `Record<string, string>` | Extra headers sent with every request (e.g. an API key once your plan requires one). |
53
58
 
@@ -61,26 +66,280 @@ test.use({ realFakeData: { baseUrl, seed: 42 } }); // pin this file to a fixed d
61
66
 
62
67
  ## Generators
63
68
 
64
- Every method returns a typed result and accepts optional constraints. Pass `seed` on any call to override that call's automatic seed.
69
+ Each generator exposes a **singular** method returning one record and a **plural** taking `count` as its first argument and returning an array of that many. Method names are locale-prefixed (`plPesel`, `dePersonName`, …) so generators for different countries never collide; locale-agnostic generators (`email`, `lorem`) and the multi-country aggregates (`personName`, `companyName`) carry no prefix.
70
+
71
+ Every method accepts optional constraints. Pass `seed` on any call to override that call's automatic seed.
72
+
73
+ #### Names across 27 EU countries
74
+
75
+ Every country listed below exposes `<cc>PersonName`/`<cc>PersonNames` and `<cc>CompanyName`/`<cc>CompanyNames`, where `<cc>` is its ISO 3166 code: `at`, `be`, `bg`, `cy`, `cz`, `de`, `dk`, `ee`, `es`, `fi`, `fr`, `gr`, `hr`, `hu`, `ie`, `it`, `lt`, `lu`, `lv`, `mt`, `nl`, `pl`, `pt`, `ro`, `se`, `si`, `sk`.
76
+
77
+ | Singular | Plural | Returns (singular) | Options |
78
+ | ----------------------- | ------------------------------- | ------------------------------------------- | -------------------------------------- |
79
+ | `<cc>PersonName(opts?)` | `<cc>PersonNames(count, opts?)` | `{ name, surname, initials, sex }` | `sex`, `edge`, `caseStrict` |
80
+ | `<cc>CompanyName(opts?)`| `<cc>CompanyNames(count, opts?)`| `{ value, legalForm, strategy }` | `strategy`, `legalForm`, `edge` |
81
+ | `personName(opts?)` | `personNames(count, opts?)` | `{ name, surname, initials, sex, country }` | `sex`, `edge`, `caseStrict`, `countries` |
82
+ | `companyName(opts?)` | `companyNames(count, opts?)` | `{ value, legalForm, strategy, country }` | `strategy`, `edge`, `countries` |
83
+
84
+ ```ts
85
+ const ceo = await fakeData.dePersonName({ sex: 'f' }); // German given name + surname
86
+ const vendor = await fakeData.itCompanyName({ edge: true }); // edge-case Italian company name
87
+ const eu = await fakeData.personName({ countries: ['pl', 'sk', 'it'] }); // drawn from one of the three
88
+ ```
89
+
90
+ `countries` (on the prefix-less `personName`/`companyName` only) is an array of ISO codes; each record is generated by one country picked from the list. Omit it to draw from all 27. The per-country `legalForm` values differ by country (e.g. `GmbH`, `S.r.l.`, `S.A.`), so they are typed as `string`; pass `'any'` for a weighted-random one or `'none'` to omit it.
91
+
92
+ #### Polish national generators
93
+
94
+ | Singular | Plural | Returns (singular) | Common options |
95
+ | ------------------------------ | -------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------- |
96
+ | `plPesel(opts?)` | `plPesels(count, opts?)` | `{ value, birthDate, sex }` | `sex`, `atAge`, `olderThan`, `youngerThan`, `bornOn/Before/After`, `invalid` |
97
+ | `plPerson(opts?)` | `plPeople(count, opts?)` | `{ name, surname, initials, birthDate, pesel }` | same as `plPesel` |
98
+ | `plAddress(opts?)` | `plAddresses(count, opts?)` | `{ buildingNumber, postalCode, cityName, …, terytCodes }` | `teryt` (1–7 digit prefix) |
99
+ | `plNip(opts?)` | `plNips(count, opts?)` | `{ value, digits }` | `format`, `invalid` |
100
+ | `plIban(opts?)` | `plIbans(count, opts?)` | `{ value, electronicFormat, bankCode, bankName }` | `format`, `bankCode`, `bankName`, `invalid` |
101
+ | `plRegon(opts?)` | `plRegons(count, opts?)` | `{ value, variant }` | `variant` (`short`/`long`/`any`), `invalid` |
102
+ | `plCompany(opts?)` | `plCompanies(count, opts?)` | `{ name, legalForm, nip, regon, krs }` | `strategy`, `legalForm`, `activityPrefix`, `format`, `edge`, `invalid` |
103
+ | `plCompanyName(opts?)` | `plCompanyNames(count, opts?)` | `{ value, legalForm, strategy }` | `strategy`, `legalForm`, `activityPrefix`, `edge` |
104
+ | `plIdCard(opts?)` | `plIdCards(count, opts?)` | `{ value, series, number, expirationDate }` | `format`, `expired`, `invalid` |
105
+ | `plPassport(opts?)` | `plPassports(count, opts?)` | `{ value, series, number }` | `format`, `invalid` |
106
+ | `plKrs(opts?)` | `plKrsNumbers(count, opts?)` | `{ value, number }` | `format` |
107
+ | `plLandRegister(opts?)` | `plLandRegisters(count, opts?)` | `{ value, courtCode, number, checkDigit, court? }` | `format`, `court`, `invalid` |
108
+ | `plDrivingLicense(opts?)` | `plDrivingLicenses(count, opts?)` | `{ value, serial, year, suffix }` | `format`, `year` |
109
+ | `plVehicleRegistration(opts?)` | `plVehicleRegistrations(count, opts?)` | `{ value, prefix, individualPart, type, … }` | `type`, `voivodeship`, `county`, `format` |
110
+
111
+ A Polish person name on its own (no PESEL/birth date) is `plPersonName` — part of the 27-country table above.
112
+
113
+ #### EU national identifiers
114
+
115
+ Every EU member state exposes its core national-person identifier and its business / VAT numbers. Numbers that encode a birth date and/or sex accept the same person constraints as `plPesel` (`sex`, `atAge`, `olderThan`, `youngerThan`, `bornOn`/`bornBefore`/`bornAfter`); the rest expose only their own knobs. Every checksum-bearing number takes `invalid` (deliberately wrong check digit) and `edge` (rare-corner values); generators with a VAT/intra-EU rendering take `format: 'national' | 'vat'` (some use a generator-specific enum — see each row).
116
+
117
+ **France (`fr`)**
118
+
119
+ | Singular | Plural | Returns (singular) | Options |
120
+ | -------- | ------ | ------------------ | ------- |
121
+ | `frSiren(opts?)` | `frSirens(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
122
+ | `frNir(opts?)` | `frNirs(count, opts?)` | `{ value, digits, sex, birthYear, birthMonth }` | `sex`, age/birth filters, `invalid`, `edge` |
123
+
124
+ **Austria (`at`)**
125
+
126
+ | Singular | Plural | Returns (singular) | Options |
127
+ | -------- | ------ | ------------------ | ------- |
128
+ | `atSvnr(opts?)` | `atSvnrs(count, opts?)` | `{ value, digits, birthDate }` | age/birth filters, `invalid`, `edge` |
129
+ | `atUid(opts?)` | `atUids(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
130
+ | `atFirmenbuchnummer(opts?)` | `atFirmenbuchnummers(count, opts?)` | `{ value, number, letter }` | `invalid`, `edge` |
131
+ | `atSteuernummer(opts?)` | `atSteuernummers(count, opts?)` | `{ value, digits }` | `edge` |
132
+
133
+ **Belgium (`be`)**
134
+
135
+ | Singular | Plural | Returns (singular) | Options |
136
+ | -------- | ------ | ------------------ | ------- |
137
+ | `beRijksregisternummer(opts?)` | `beRijksregisternummers(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `kind`, `invalid`, `edge` |
138
+ | `beOndernemingsnummer(opts?)` | `beOndernemingsnummers(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
139
+
140
+ **Bulgaria (`bg`)**
141
+
142
+ | Singular | Plural | Returns (singular) | Options |
143
+ | -------- | ------ | ------------------ | ------- |
144
+ | `bgEgn(opts?)` | `bgEgns(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
145
+ | `bgEik(opts?)` | `bgEiks(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
146
+
147
+ **Croatia (`hr`)**
148
+
149
+ | Singular | Plural | Returns (singular) | Options |
150
+ | -------- | ------ | ------------------ | ------- |
151
+ | `hrOib(opts?)` | `hrOibs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
152
+ | `hrJmbg(opts?)` | `hrJmbgs(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
153
+
154
+ **Cyprus (`cy`)**
155
+
156
+ | Singular | Plural | Returns (singular) | Options |
157
+ | -------- | ------ | ------------------ | ------- |
158
+ | `cyTic(opts?)` | `cyTics(count, opts?)` | `{ value, digits, letter }` | `format`, `invalid`, `edge` |
159
+
160
+ **Czechia (`cz`)**
161
+
162
+ | Singular | Plural | Returns (singular) | Options |
163
+ | -------- | ------ | ------------------ | ------- |
164
+ | `czRodneCislo(opts?)` | `czRodneCislos(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `format`, `invalid`, `edge` |
165
+ | `czIco(opts?)` | `czIcos(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
166
+
167
+ **Denmark (`dk`)**
168
+
169
+ | Singular | Plural | Returns (singular) | Options |
170
+ | -------- | ------ | ------------------ | ------- |
171
+ | `dkCpr(opts?)` | `dkCprs(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `checksum`, `format`, `invalid`, `edge` |
172
+ | `dkCvr(opts?)` | `dkCvrs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
173
+
174
+ **Estonia (`ee`)**
175
+
176
+ | Singular | Plural | Returns (singular) | Options |
177
+ | -------- | ------ | ------------------ | ------- |
178
+ | `eeIsikukood(opts?)` | `eeIsikukoods(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
179
+ | `eeRegistrikood(opts?)` | `eeRegistrikoods(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
180
+ | `eeKmkr(opts?)` | `eeKmkrs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
181
+
182
+ **Finland (`fi`)**
183
+
184
+ | Singular | Plural | Returns (singular) | Options |
185
+ | -------- | ------ | ------------------ | ------- |
186
+ | `fiHenkilotunnus(opts?)` | `fiHenkilotunnuss(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
187
+ | `fiYTunnus(opts?)` | `fiYTunnuss(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
188
+
189
+ **Germany (`de`)**
190
+
191
+ | Singular | Plural | Returns (singular) | Options |
192
+ | -------- | ------ | ------------------ | ------- |
193
+ | `deSteuerId(opts?)` | `deSteuerIds(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
194
+ | `deUstIdnr(opts?)` | `deUstIdnrs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
195
+ | `deHandelsregisternummer(opts?)` | `deHandelsregisternummers(count, opts?)` | `{ value, division, court, number }` | `division`, `edge` |
196
+ | `deWirtschaftsIdnr(opts?)` | `deWirtschaftsIdnrs(count, opts?)` | `{ value, digits, suffix }` | `suffix`, `invalid`, `edge` |
197
+ | `dePersonalausweis(opts?)` | `dePersonalausweiss(count, opts?)` | `{ value, serial, checkDigit }` | `invalid`, `edge` |
198
+
199
+ **Greece (`gr`)**
200
+
201
+ | Singular | Plural | Returns (singular) | Options |
202
+ | -------- | ------ | ------------------ | ------- |
203
+ | `grAmka(opts?)` | `grAmkas(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
204
+ | `grAfm(opts?)` | `grAfms(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
65
205
 
66
- | Method | Returns | Common options |
67
- | --------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------- |
68
- | `fakeData.pesel(opts?)` | `{ value, birthDate, sex }` | `sex`, `atAge`, `olderThan`, `youngerThan`, `bornOn/Before/After`, `invalid` |
69
- | `fakeData.person(opts?)` | `{ name, surname, initials, birthDate, pesel }` | same as `pesel` |
70
- | `fakeData.address(opts?)` | `{ buildingNumber, postalCode, cityName, …, terytCodes }` | `teryt` (1–7 digit prefix) |
71
- | `fakeData.nip(opts?)` | `{ value, digits }` | `format`, `invalid` |
72
- | `fakeData.iban(opts?)` | `{ value, electronicFormat, bankCode, bankName }` | `format`, `bankCode`, `bankName`, `invalid` |
73
- | `fakeData.regon(opts?)` | `{ value, variant }` | `variant` (`short`/`long`/`any`), `invalid` |
74
- | `fakeData.companyName(opts?)` | `{ value, legalForm, strategy }` | `strategy`, `legalForm`, `activityPrefix` |
75
- | `fakeData.vehicleRegistration(opts?)` | `{ value, prefix, individualPart, type, … }` | `type`, `voivodeship`, `county`, `format` |
206
+ **Hungary (`hu`)**
76
207
 
77
- ### Testing your validators
208
+ | Singular | Plural | Returns (singular) | Options |
209
+ | -------- | ------ | ------------------ | ------- |
210
+ | `huAdoazonositoJel(opts?)` | `huAdoazonositoJels(count, opts?)` | `{ value, digits, birthDate }` | age/birth filters, `invalid`, `edge` |
211
+ | `huTaj(opts?)` | `huTajs(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
212
+ | `huSzemelyiAzonosito(opts?)` | `huSzemelyiAzonositos(count, opts?)` | `{ value, digits, birthDate, sex, standard }` | `sex`, age/birth filters, `standard`, `invalid`, `edge` |
213
+ | `huAdoszam(opts?)` | `huAdoszams(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
214
+ | `huCegjegyzekszam(opts?)` | `huCegjegyzekszams(count, opts?)` | `{ value, court, form, serial, digits }` | `edge` |
78
215
 
79
- Every checksum generator accepts `invalid: true` to produce a value with a **deliberately wrong check digit** (the rest stays well-formed) — for asserting that your own validators reject bad input:
216
+ **Ireland (`ie`)**
217
+
218
+ | Singular | Plural | Returns (singular) | Options |
219
+ | -------- | ------ | ------------------ | ------- |
220
+ | `iePpsn(opts?)` | `iePpsns(count, opts?)` | `{ value, digits, checkLetter, secondLetter? }` | `standard`, `invalid`, `edge` |
221
+ | `ieVat(opts?)` | `ieVats(count, opts?)` | `{ value, digits }` | `format`, `standard`, `invalid`, `edge` |
222
+ | `ieCro(opts?)` | `ieCros(count, opts?)` | `{ value, digits }` | `edge` |
223
+
224
+ **Italy (`it`)**
225
+
226
+ | Singular | Plural | Returns (singular) | Options |
227
+ | -------- | ------ | ------------------ | ------- |
228
+ | `itCodiceFiscale(opts?)` | `itCodiceFiscales(count, opts?)` | `{ value, surnameCode, nameCode, birthDate, sex }` | `sex`, age/birth filters, `surname`, `name`, `invalid`, `edge` |
229
+ | `itPartitaIva(opts?)` | `itPartitaIvas(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
230
+
231
+ **Latvia (`lv`)**
232
+
233
+ | Singular | Plural | Returns (singular) | Options |
234
+ | -------- | ------ | ------------------ | ------- |
235
+ | `lvPersonasKods(opts?)` | `lvPersonasKodss(count, opts?)` | `{ value, digits, birthDate? }` | age/birth filters, `standard`, `format`, `invalid`, `edge` |
236
+ | `lvRegistracijasNumurs(opts?)` | `lvRegistracijasNumurss(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
237
+
238
+ **Lithuania (`lt`)**
239
+
240
+ | Singular | Plural | Returns (singular) | Options |
241
+ | -------- | ------ | ------------------ | ------- |
242
+ | `ltAsmensKodas(opts?)` | `ltAsmensKodass(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
243
+ | `ltImonesKodas(opts?)` | `ltImonesKodass(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
244
+ | `ltPvm(opts?)` | `ltPvms(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
245
+
246
+ **Luxembourg (`lu`)**
247
+
248
+ | Singular | Plural | Returns (singular) | Options |
249
+ | -------- | ------ | ------------------ | ------- |
250
+ | `luMatricule(opts?)` | `luMatricules(count, opts?)` | `{ value, digits, birthDate }` | age/birth filters, `invalid`, `edge` |
251
+ | `luTva(opts?)` | `luTvas(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
252
+
253
+ **Malta (`mt`)**
254
+
255
+ | Singular | Plural | Returns (singular) | Options |
256
+ | -------- | ------ | ------------------ | ------- |
257
+ | `mtIdCard(opts?)` | `mtIdCards(count, opts?)` | `{ value, digits, category }` | `category`, `edge` |
258
+ | `mtVat(opts?)` | `mtVats(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
259
+
260
+ **Netherlands (`nl`)**
261
+
262
+ | Singular | Plural | Returns (singular) | Options |
263
+ | -------- | ------ | ------------------ | ------- |
264
+ | `nlBsn(opts?)` | `nlBsns(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
265
+ | `nlRsin(opts?)` | `nlRsins(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
266
+ | `nlBtwId(opts?)` | `nlBtwIds(count, opts?)` | `{ value, digits, standard }` | `standard`, `invalid`, `edge` |
267
+ | `nlKvk(opts?)` | `nlKvks(count, opts?)` | `{ value, digits }` | `edge` |
268
+
269
+ **Portugal (`pt`)**
270
+
271
+ | Singular | Plural | Returns (singular) | Options |
272
+ | -------- | ------ | ------------------ | ------- |
273
+ | `ptNif(opts?)` | `ptNifs(count, opts?)` | `{ value, digits, entity }` | `entity`, `format`, `invalid`, `edge` |
274
+ | `ptCartaoCidadao(opts?)` | `ptCartaoCidadaos(count, opts?)` | `{ value, nic, version }` | `invalid`, `edge` |
275
+
276
+ **Romania (`ro`)**
277
+
278
+ | Singular | Plural | Returns (singular) | Options |
279
+ | -------- | ------ | ------------------ | ------- |
280
+ | `roCnp(opts?)` | `roCnps(count, opts?)` | `{ value, digits, birthDate, sex, county }` | `sex`, age/birth filters, `invalid`, `edge` |
281
+ | `roCui(opts?)` | `roCuis(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
282
+
283
+ **Slovakia (`sk`)**
284
+
285
+ | Singular | Plural | Returns (singular) | Options |
286
+ | -------- | ------ | ------------------ | ------- |
287
+ | `skRodneCislo(opts?)` | `skRodneCislos(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `format`, `invalid`, `edge` |
288
+ | `skIco(opts?)` | `skIcos(count, opts?)` | `{ value, digits }` | `invalid`, `edge` |
289
+ | `skIcDph(opts?)` | `skIcDphs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
290
+
291
+ **Slovenia (`si`)**
292
+
293
+ | Singular | Plural | Returns (singular) | Options |
294
+ | -------- | ------ | ------------------ | ------- |
295
+ | `siEmso(opts?)` | `siEmsos(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `invalid`, `edge` |
296
+ | `siDavcnaStevilka(opts?)` | `siDavcnaStevilkas(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
297
+
298
+ **Spain (`es`)**
299
+
300
+ | Singular | Plural | Returns (singular) | Options |
301
+ | -------- | ------ | ------------------ | ------- |
302
+ | `esDni(opts?)` | `esDnis(count, opts?)` | `{ value, digits, letter }` | `invalid`, `edge` |
303
+ | `esNie(opts?)` | `esNies(count, opts?)` | `{ value, prefix, digits, letter }` | `invalid`, `edge` |
304
+ | `esCif(opts?)` | `esCifs(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
305
+
306
+ **Sweden (`se`)**
307
+
308
+ | Singular | Plural | Returns (singular) | Options |
309
+ | -------- | ------ | ------------------ | ------- |
310
+ | `sePersonnummer(opts?)` | `sePersonnummers(count, opts?)` | `{ value, digits, birthDate, sex }` | `sex`, age/birth filters, `format`, `kind`, `invalid`, `edge` |
311
+ | `seOrganisationsnummer(opts?)` | `seOrganisationsnummers(count, opts?)` | `{ value, digits }` | `format`, `invalid`, `edge` |
312
+
313
+ #### Locale-agnostic
314
+
315
+ | Singular | Plural | Returns (singular) | Common options |
316
+ | ------------------------------ | -------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------- |
317
+ | `email(opts?)` | `emails(count, opts?)` | `{ value, localPart, domain, pattern, plusTag }` | `domain`, `domainCategory`, `pattern`, `plusTag`, `exotic` |
318
+ | `lorem(opts?)` | `lorems(count, opts?)` | `{ value, words, chars, bytes, paragraphs, startedWithLorem }` | `bytes`, `chars`, `words`, `paragraphs`, `startWithLorem` |
319
+
320
+ ### Generating many records at once
321
+
322
+ Every plural takes `count` as its first argument and returns an array. The bound (10 by default, raised by paid tiers) is enforced by the API — an out-of-range `count` throws a `RealFakeDataError` (HTTP 400), never a silent clamp. A plural is a single request seeded once, so it consumes one slot of the per-test seed sequence just like a singular call.
80
323
 
81
324
  ```ts
82
- const bad = await fakeData.nip({ invalid: true });
325
+ const team = await fakeData.plPeople(5, { sex: 'f' }); // PolishPersonData[] of length 5
326
+ const inboxes = await fakeData.emails(3); // EmailData[] of length 3
327
+ ```
328
+
329
+ ### Special triggers
330
+
331
+ Three opt-in flags steer generators toward the cases real-world data throws at your code:
332
+
333
+ - **`invalid: true`** — on every checksum generator (`plPesel`, `plNip`, `plRegon`, `plIban`, `plCompany`, `plIdCard`, `plPassport`, `plLandRegister`), produces a value with a **deliberately wrong check digit** while the rest stays well-formed. For asserting that your own validators reject bad input. When set, the response `meta.invalid` is `true` so a batch can tell the broken record apart.
334
+ - **`edge: true`** — on the name generators (`<cc>PersonName`, `<cc>CompanyName`, `personName`, `companyName`, `plCompany`), biases toward **edge-case shapes**: second given names, double-barrelled surnames, very short names, punctuation-heavy or unusually long company names. The corners that break naïve form validation and layout.
335
+ - **`caseStrict: false`** — on the person-name generators, **deliberately mangles the casing** of name and surname (all-lower, all-upper, or random); initials stay proper uppercase. Defaults to `true` (proper casing). For testing case-insensitive matching and normalisation.
336
+
337
+ ```ts
338
+ const bad = await fakeData.plNip({ invalid: true });
83
339
  await expect(submitNip(bad.value)).rejects.toThrow('invalid checksum');
340
+
341
+ const messy = await fakeData.dePersonName({ caseStrict: false }); // e.g. { name: 'hANS', surname: 'müller' }
342
+ const tricky = await fakeData.itCompanyName({ edge: true }); // punctuation-heavy / long-form name
84
343
  ```
85
344
 
86
345
  ## Error handling
@@ -91,7 +350,7 @@ A non-2xx API response throws a `RealFakeDataError` carrying `status` (HTTP code
91
350
  import { RealFakeDataError } from '@przeslijmi/real-fake-data-playwright';
92
351
 
93
352
  try {
94
- await fakeData.address({ teryt: 'not-digits' });
353
+ await fakeData.plAddress({ teryt: 'not-digits' });
95
354
  } catch (error) {
96
355
  if (error instanceof RealFakeDataError) {
97
356
  console.log(error.status, error.code, error.details);
@@ -107,10 +366,10 @@ The fixture is a thin wrapper over a provider and a facade you can use directly
107
366
  ```ts
108
367
  import { CloudFakeDataProvider, createFakeData } from '@przeslijmi/real-fake-data-playwright';
109
368
 
110
- const provider = new CloudFakeDataProvider({ baseUrl: 'https://api.example.com' });
369
+ const provider = new CloudFakeDataProvider({ baseUrl: 'https://realfakedata-api.onrender.com' });
111
370
  const fakeData = createFakeData(provider, { seed: 42 });
112
371
 
113
- const company = await fakeData.companyName({ legalForm: 'S.A.' });
372
+ const company = await fakeData.plCompanyName({ legalForm: 'S.A.' });
114
373
  ```
115
374
 
116
375
  The `FakeDataProvider` interface is the swap point: the cloud provider talks HTTP to the hosted API, and the same facade can run against other backends.
@@ -118,3 +377,9 @@ The `FakeDataProvider` interface is the swap point: the cloud provider talks HTT
118
377
  ## License
119
378
 
120
379
  MIT
380
+
381
+ ---
382
+
383
+ > **This repository is auto-generated** from a private upstream monorepo. Open
384
+ > **issues** here, but code changes are made upstream and re-synced — pull
385
+ > requests against this repo are applied upstream, not merged directly.
@@ -1,16 +1,212 @@
1
1
  import type { FakeDataProvider } from './fake-data-provider.js';
2
- import type { AddressOptions, CompanyNameOptions, IbanOptions, NipOptions, PeselOptions, PersonOptions, PolishAddressData, PolishCompanyNameData, PolishIbanData, PolishNipData, PolishPeselData, PolishPersonData, PolishRegonData, PolishVehicleRegistrationData, RegonOptions, VehicleRegistrationOptions } from './types.js';
3
- /** The typed surface tests use; one method per Real Fake Data generator. */
4
- export interface FakeData {
5
- pesel(options?: PeselOptions): Promise<PolishPeselData>;
6
- person(options?: PersonOptions): Promise<PolishPersonData>;
7
- address(options?: AddressOptions): Promise<PolishAddressData>;
8
- nip(options?: NipOptions): Promise<PolishNipData>;
9
- iban(options?: IbanOptions): Promise<PolishIbanData>;
10
- regon(options?: RegonOptions): Promise<PolishRegonData>;
11
- companyName(options?: CompanyNameOptions): Promise<PolishCompanyNameData>;
12
- vehicleRegistration(options?: VehicleRegistrationOptions): Promise<PolishVehicleRegistrationData>;
13
- }
2
+ import type { AddressOptions, AnyCompanyNameData, AnyCompanyNameOptions, AnyPersonNameData, AnyPersonNameOptions, AtFirmenbuchnummerData, AtFirmenbuchnummerOptions, AtSteuernummerData, AtSteuernummerOptions, AtSvnrData, AtSvnrOptions, AtUidData, AtUidOptions, BeOndernemingsnummerData, BeOndernemingsnummerOptions, BeRijksregisternummerData, BeRijksregisternummerOptions, BgEgnData, BgEgnOptions, BgEikData, BgEikOptions, CompanyNameOptions, CompanyOptions, CountryCode, CyTicData, CyTicOptions, CzIcoData, CzIcoOptions, CzRodneCisloData, CzRodneCisloOptions, DeHandelsregisternummerData, DeHandelsregisternummerOptions, DePersonalausweisData, DePersonalausweisOptions, DeSteuerIdData, DeSteuerIdOptions, DeUstIdnrData, DeUstIdnrOptions, DeWirtschaftsIdnrData, DeWirtschaftsIdnrOptions, DkCprData, DkCprOptions, DkCvrData, DkCvrOptions, DrivingLicenseOptions, EeIsikukoodData, EeIsikukoodOptions, EeKmkrData, EeKmkrOptions, EeRegistrikoodData, EeRegistrikoodOptions, EmailData, EmailOptions, EsCifData, EsCifOptions, EsDniData, EsDniOptions, EsNieData, EsNieOptions, FiHenkilotunnusData, FiHenkilotunnusOptions, FiYTunnusData, FiYTunnusOptions, FrNirData, FrNirOptions, FrSirenData, FrSirenOptions, GrAfmData, GrAfmOptions, GrAmkaData, GrAmkaOptions, HrJmbgData, HrJmbgOptions, HrOibData, HrOibOptions, HuAdoazonositoJelData, HuAdoazonositoJelOptions, HuAdoszamData, HuAdoszamOptions, HuCegjegyzekszamData, HuCegjegyzekszamOptions, HuSzemelyiAzonositoData, HuSzemelyiAzonositoOptions, HuTajData, HuTajOptions, IbanOptions, IdCardOptions, IeCroData, IeCroOptions, IePpsnData, IePpsnOptions, IeVatData, IeVatOptions, ItCodiceFiscaleData, ItCodiceFiscaleOptions, ItPartitaIvaData, ItPartitaIvaOptions, KrsOptions, LandRegisterOptions, LocaleCompanyNameData, LocaleCompanyNameOptions, LoremData, LoremOptions, LtAsmensKodasData, LtAsmensKodasOptions, LtImonesKodasData, LtImonesKodasOptions, LtPvmData, LtPvmOptions, LuMatriculeData, LuMatriculeOptions, LuTvaData, LuTvaOptions, LvPersonasKodsData, LvPersonasKodsOptions, LvRegistracijasNumursData, LvRegistracijasNumursOptions, MtIdCardData, MtIdCardOptions, MtVatData, MtVatOptions, NipOptions, NlBsnData, NlBsnOptions, NlBtwIdData, NlBtwIdOptions, NlKvkData, NlKvkOptions, NlRsinData, NlRsinOptions, PassportOptions, PersonNameData, PersonNameOptions, PersonOptions, PeselOptions, PolishAddressData, PolishCompanyData, PolishCompanyNameData, PolishDrivingLicenseData, PolishIbanData, PolishIdCardData, PolishKrsData, PolishLandRegisterData, PolishNipData, PolishPassportData, PolishPersonData, PolishPeselData, PolishRegonData, PolishVehicleRegistrationData, PtCartaoCidadaoData, PtCartaoCidadaoOptions, PtNifData, PtNifOptions, RegonOptions, RoCnpData, RoCnpOptions, RoCuiData, RoCuiOptions, SeOrganisationsnummerData, SeOrganisationsnummerOptions, SePersonnummerData, SePersonnummerOptions, SiDavcnaStevilkaData, SiDavcnaStevilkaOptions, SiEmsoData, SiEmsoOptions, SkIcDphData, SkIcDphOptions, SkIcoData, SkIcoOptions, SkRodneCisloData, SkRodneCisloOptions, VehicleRegistrationOptions } from './types.js';
3
+ /**
4
+ * Singular + plural method pair every country's `person-name` generator
5
+ * contributes: `dePersonName`/`dePersonNames`, `plPersonName`/`plPersonNames`,
6
+ * and so on for all 27 country codes.
7
+ */
8
+ type PersonNameMethods = {
9
+ [Country in CountryCode as `${Country}PersonName`]: (options?: PersonNameOptions) => Promise<PersonNameData>;
10
+ } & {
11
+ [Country in CountryCode as `${Country}PersonNames`]: (count: number, options?: PersonNameOptions) => Promise<PersonNameData[]>;
12
+ };
13
+ /**
14
+ * `company-name` method pair for every country *except* Poland — `plCompanyName`
15
+ * is declared explicitly below because it carries the typed Polish `legalForm`.
16
+ */
17
+ type LocaleCompanyNameMethods = {
18
+ [Country in Exclude<CountryCode, 'pl'> as `${Country}CompanyName`]: (options?: LocaleCompanyNameOptions) => Promise<LocaleCompanyNameData>;
19
+ } & {
20
+ [Country in Exclude<CountryCode, 'pl'> as `${Country}CompanyNames`]: (count: number, options?: LocaleCompanyNameOptions) => Promise<LocaleCompanyNameData[]>;
21
+ };
22
+ /**
23
+ * The typed surface tests use. Each generator exposes a singular method
24
+ * returning one record and a plural returning an array of `count` records.
25
+ *
26
+ * Method names are locale-prefixed (`plPesel`, `dePersonName`, …) so generators
27
+ * for different countries never collide; the locale-agnostic generators
28
+ * (`email`, `lorem`) and the multi-country aggregates (`personName`,
29
+ * `companyName`) carry no prefix. Plurals take `count` as their first positional
30
+ * argument; its bounds are enforced by the API (out-of-range → a
31
+ * {@link RealFakeDataError} 400), so paid tiers can raise the ceiling without
32
+ * a client change.
33
+ *
34
+ * Beyond the Polish national set below, every one of the 27 supported EU
35
+ * countries adds a `<cc>PersonName` and `<cc>CompanyName` pair (see
36
+ * {@link PersonNameMethods} and {@link LocaleCompanyNameMethods}).
37
+ */
38
+ export type FakeData = PersonNameMethods & LocaleCompanyNameMethods & {
39
+ plPesel(options?: PeselOptions): Promise<PolishPeselData>;
40
+ plPesels(count: number, options?: PeselOptions): Promise<PolishPeselData[]>;
41
+ plPerson(options?: PersonOptions): Promise<PolishPersonData>;
42
+ plPeople(count: number, options?: PersonOptions): Promise<PolishPersonData[]>;
43
+ plAddress(options?: AddressOptions): Promise<PolishAddressData>;
44
+ plAddresses(count: number, options?: AddressOptions): Promise<PolishAddressData[]>;
45
+ plNip(options?: NipOptions): Promise<PolishNipData>;
46
+ plNips(count: number, options?: NipOptions): Promise<PolishNipData[]>;
47
+ plIban(options?: IbanOptions): Promise<PolishIbanData>;
48
+ plIbans(count: number, options?: IbanOptions): Promise<PolishIbanData[]>;
49
+ plRegon(options?: RegonOptions): Promise<PolishRegonData>;
50
+ plRegons(count: number, options?: RegonOptions): Promise<PolishRegonData[]>;
51
+ plCompany(options?: CompanyOptions): Promise<PolishCompanyData>;
52
+ plCompanies(count: number, options?: CompanyOptions): Promise<PolishCompanyData[]>;
53
+ plCompanyName(options?: CompanyNameOptions): Promise<PolishCompanyNameData>;
54
+ plCompanyNames(count: number, options?: CompanyNameOptions): Promise<PolishCompanyNameData[]>;
55
+ plVehicleRegistration(options?: VehicleRegistrationOptions): Promise<PolishVehicleRegistrationData>;
56
+ plVehicleRegistrations(count: number, options?: VehicleRegistrationOptions): Promise<PolishVehicleRegistrationData[]>;
57
+ plIdCard(options?: IdCardOptions): Promise<PolishIdCardData>;
58
+ plIdCards(count: number, options?: IdCardOptions): Promise<PolishIdCardData[]>;
59
+ plPassport(options?: PassportOptions): Promise<PolishPassportData>;
60
+ plPassports(count: number, options?: PassportOptions): Promise<PolishPassportData[]>;
61
+ plKrs(options?: KrsOptions): Promise<PolishKrsData>;
62
+ plKrsNumbers(count: number, options?: KrsOptions): Promise<PolishKrsData[]>;
63
+ plLandRegister(options?: LandRegisterOptions): Promise<PolishLandRegisterData>;
64
+ plLandRegisters(count: number, options?: LandRegisterOptions): Promise<PolishLandRegisterData[]>;
65
+ plDrivingLicense(options?: DrivingLicenseOptions): Promise<PolishDrivingLicenseData>;
66
+ plDrivingLicenses(count: number, options?: DrivingLicenseOptions): Promise<PolishDrivingLicenseData[]>;
67
+ /** Multi-country person name: each record is drawn from one of `countries` (default: all 27). */
68
+ personName(options?: AnyPersonNameOptions): Promise<AnyPersonNameData>;
69
+ personNames(count: number, options?: AnyPersonNameOptions): Promise<AnyPersonNameData[]>;
70
+ /** Multi-country company name: each record is drawn from one of `countries` (default: all 27). */
71
+ companyName(options?: AnyCompanyNameOptions): Promise<AnyCompanyNameData>;
72
+ companyNames(count: number, options?: AnyCompanyNameOptions): Promise<AnyCompanyNameData[]>;
73
+ email(options?: EmailOptions): Promise<EmailData>;
74
+ emails(count: number, options?: EmailOptions): Promise<EmailData[]>;
75
+ lorem(options?: LoremOptions): Promise<LoremData>;
76
+ lorems(count: number, options?: LoremOptions): Promise<LoremData[]>;
77
+ frSiren(options?: FrSirenOptions): Promise<FrSirenData>;
78
+ frSirens(count: number, options?: FrSirenOptions): Promise<FrSirenData[]>;
79
+ frNir(options?: FrNirOptions): Promise<FrNirData>;
80
+ frNirs(count: number, options?: FrNirOptions): Promise<FrNirData[]>;
81
+ atSvnr(options?: AtSvnrOptions): Promise<AtSvnrData>;
82
+ atSvnrs(count: number, options?: AtSvnrOptions): Promise<AtSvnrData[]>;
83
+ atUid(options?: AtUidOptions): Promise<AtUidData>;
84
+ atUids(count: number, options?: AtUidOptions): Promise<AtUidData[]>;
85
+ atFirmenbuchnummer(options?: AtFirmenbuchnummerOptions): Promise<AtFirmenbuchnummerData>;
86
+ atFirmenbuchnummers(count: number, options?: AtFirmenbuchnummerOptions): Promise<AtFirmenbuchnummerData[]>;
87
+ atSteuernummer(options?: AtSteuernummerOptions): Promise<AtSteuernummerData>;
88
+ atSteuernummers(count: number, options?: AtSteuernummerOptions): Promise<AtSteuernummerData[]>;
89
+ beRijksregisternummer(options?: BeRijksregisternummerOptions): Promise<BeRijksregisternummerData>;
90
+ beRijksregisternummers(count: number, options?: BeRijksregisternummerOptions): Promise<BeRijksregisternummerData[]>;
91
+ beOndernemingsnummer(options?: BeOndernemingsnummerOptions): Promise<BeOndernemingsnummerData>;
92
+ beOndernemingsnummers(count: number, options?: BeOndernemingsnummerOptions): Promise<BeOndernemingsnummerData[]>;
93
+ bgEgn(options?: BgEgnOptions): Promise<BgEgnData>;
94
+ bgEgns(count: number, options?: BgEgnOptions): Promise<BgEgnData[]>;
95
+ bgEik(options?: BgEikOptions): Promise<BgEikData>;
96
+ bgEiks(count: number, options?: BgEikOptions): Promise<BgEikData[]>;
97
+ hrOib(options?: HrOibOptions): Promise<HrOibData>;
98
+ hrOibs(count: number, options?: HrOibOptions): Promise<HrOibData[]>;
99
+ hrJmbg(options?: HrJmbgOptions): Promise<HrJmbgData>;
100
+ hrJmbgs(count: number, options?: HrJmbgOptions): Promise<HrJmbgData[]>;
101
+ cyTic(options?: CyTicOptions): Promise<CyTicData>;
102
+ cyTics(count: number, options?: CyTicOptions): Promise<CyTicData[]>;
103
+ czRodneCislo(options?: CzRodneCisloOptions): Promise<CzRodneCisloData>;
104
+ czRodneCislos(count: number, options?: CzRodneCisloOptions): Promise<CzRodneCisloData[]>;
105
+ czIco(options?: CzIcoOptions): Promise<CzIcoData>;
106
+ czIcos(count: number, options?: CzIcoOptions): Promise<CzIcoData[]>;
107
+ dkCpr(options?: DkCprOptions): Promise<DkCprData>;
108
+ dkCprs(count: number, options?: DkCprOptions): Promise<DkCprData[]>;
109
+ dkCvr(options?: DkCvrOptions): Promise<DkCvrData>;
110
+ dkCvrs(count: number, options?: DkCvrOptions): Promise<DkCvrData[]>;
111
+ eeIsikukood(options?: EeIsikukoodOptions): Promise<EeIsikukoodData>;
112
+ eeIsikukoods(count: number, options?: EeIsikukoodOptions): Promise<EeIsikukoodData[]>;
113
+ eeRegistrikood(options?: EeRegistrikoodOptions): Promise<EeRegistrikoodData>;
114
+ eeRegistrikoods(count: number, options?: EeRegistrikoodOptions): Promise<EeRegistrikoodData[]>;
115
+ eeKmkr(options?: EeKmkrOptions): Promise<EeKmkrData>;
116
+ eeKmkrs(count: number, options?: EeKmkrOptions): Promise<EeKmkrData[]>;
117
+ fiHenkilotunnus(options?: FiHenkilotunnusOptions): Promise<FiHenkilotunnusData>;
118
+ fiHenkilotunnuss(count: number, options?: FiHenkilotunnusOptions): Promise<FiHenkilotunnusData[]>;
119
+ fiYTunnus(options?: FiYTunnusOptions): Promise<FiYTunnusData>;
120
+ fiYTunnuss(count: number, options?: FiYTunnusOptions): Promise<FiYTunnusData[]>;
121
+ deSteuerId(options?: DeSteuerIdOptions): Promise<DeSteuerIdData>;
122
+ deSteuerIds(count: number, options?: DeSteuerIdOptions): Promise<DeSteuerIdData[]>;
123
+ deUstIdnr(options?: DeUstIdnrOptions): Promise<DeUstIdnrData>;
124
+ deUstIdnrs(count: number, options?: DeUstIdnrOptions): Promise<DeUstIdnrData[]>;
125
+ deHandelsregisternummer(options?: DeHandelsregisternummerOptions): Promise<DeHandelsregisternummerData>;
126
+ deHandelsregisternummers(count: number, options?: DeHandelsregisternummerOptions): Promise<DeHandelsregisternummerData[]>;
127
+ deWirtschaftsIdnr(options?: DeWirtschaftsIdnrOptions): Promise<DeWirtschaftsIdnrData>;
128
+ deWirtschaftsIdnrs(count: number, options?: DeWirtschaftsIdnrOptions): Promise<DeWirtschaftsIdnrData[]>;
129
+ dePersonalausweis(options?: DePersonalausweisOptions): Promise<DePersonalausweisData>;
130
+ dePersonalausweiss(count: number, options?: DePersonalausweisOptions): Promise<DePersonalausweisData[]>;
131
+ grAmka(options?: GrAmkaOptions): Promise<GrAmkaData>;
132
+ grAmkas(count: number, options?: GrAmkaOptions): Promise<GrAmkaData[]>;
133
+ grAfm(options?: GrAfmOptions): Promise<GrAfmData>;
134
+ grAfms(count: number, options?: GrAfmOptions): Promise<GrAfmData[]>;
135
+ huAdoazonositoJel(options?: HuAdoazonositoJelOptions): Promise<HuAdoazonositoJelData>;
136
+ huAdoazonositoJels(count: number, options?: HuAdoazonositoJelOptions): Promise<HuAdoazonositoJelData[]>;
137
+ huTaj(options?: HuTajOptions): Promise<HuTajData>;
138
+ huTajs(count: number, options?: HuTajOptions): Promise<HuTajData[]>;
139
+ huSzemelyiAzonosito(options?: HuSzemelyiAzonositoOptions): Promise<HuSzemelyiAzonositoData>;
140
+ huSzemelyiAzonositos(count: number, options?: HuSzemelyiAzonositoOptions): Promise<HuSzemelyiAzonositoData[]>;
141
+ huAdoszam(options?: HuAdoszamOptions): Promise<HuAdoszamData>;
142
+ huAdoszams(count: number, options?: HuAdoszamOptions): Promise<HuAdoszamData[]>;
143
+ huCegjegyzekszam(options?: HuCegjegyzekszamOptions): Promise<HuCegjegyzekszamData>;
144
+ huCegjegyzekszams(count: number, options?: HuCegjegyzekszamOptions): Promise<HuCegjegyzekszamData[]>;
145
+ iePpsn(options?: IePpsnOptions): Promise<IePpsnData>;
146
+ iePpsns(count: number, options?: IePpsnOptions): Promise<IePpsnData[]>;
147
+ ieVat(options?: IeVatOptions): Promise<IeVatData>;
148
+ ieVats(count: number, options?: IeVatOptions): Promise<IeVatData[]>;
149
+ ieCro(options?: IeCroOptions): Promise<IeCroData>;
150
+ ieCros(count: number, options?: IeCroOptions): Promise<IeCroData[]>;
151
+ itCodiceFiscale(options?: ItCodiceFiscaleOptions): Promise<ItCodiceFiscaleData>;
152
+ itCodiceFiscales(count: number, options?: ItCodiceFiscaleOptions): Promise<ItCodiceFiscaleData[]>;
153
+ itPartitaIva(options?: ItPartitaIvaOptions): Promise<ItPartitaIvaData>;
154
+ itPartitaIvas(count: number, options?: ItPartitaIvaOptions): Promise<ItPartitaIvaData[]>;
155
+ lvPersonasKods(options?: LvPersonasKodsOptions): Promise<LvPersonasKodsData>;
156
+ lvPersonasKodss(count: number, options?: LvPersonasKodsOptions): Promise<LvPersonasKodsData[]>;
157
+ lvRegistracijasNumurs(options?: LvRegistracijasNumursOptions): Promise<LvRegistracijasNumursData>;
158
+ lvRegistracijasNumurss(count: number, options?: LvRegistracijasNumursOptions): Promise<LvRegistracijasNumursData[]>;
159
+ ltAsmensKodas(options?: LtAsmensKodasOptions): Promise<LtAsmensKodasData>;
160
+ ltAsmensKodass(count: number, options?: LtAsmensKodasOptions): Promise<LtAsmensKodasData[]>;
161
+ ltImonesKodas(options?: LtImonesKodasOptions): Promise<LtImonesKodasData>;
162
+ ltImonesKodass(count: number, options?: LtImonesKodasOptions): Promise<LtImonesKodasData[]>;
163
+ ltPvm(options?: LtPvmOptions): Promise<LtPvmData>;
164
+ ltPvms(count: number, options?: LtPvmOptions): Promise<LtPvmData[]>;
165
+ luMatricule(options?: LuMatriculeOptions): Promise<LuMatriculeData>;
166
+ luMatricules(count: number, options?: LuMatriculeOptions): Promise<LuMatriculeData[]>;
167
+ luTva(options?: LuTvaOptions): Promise<LuTvaData>;
168
+ luTvas(count: number, options?: LuTvaOptions): Promise<LuTvaData[]>;
169
+ mtIdCard(options?: MtIdCardOptions): Promise<MtIdCardData>;
170
+ mtIdCards(count: number, options?: MtIdCardOptions): Promise<MtIdCardData[]>;
171
+ mtVat(options?: MtVatOptions): Promise<MtVatData>;
172
+ mtVats(count: number, options?: MtVatOptions): Promise<MtVatData[]>;
173
+ nlBsn(options?: NlBsnOptions): Promise<NlBsnData>;
174
+ nlBsns(count: number, options?: NlBsnOptions): Promise<NlBsnData[]>;
175
+ nlRsin(options?: NlRsinOptions): Promise<NlRsinData>;
176
+ nlRsins(count: number, options?: NlRsinOptions): Promise<NlRsinData[]>;
177
+ nlBtwId(options?: NlBtwIdOptions): Promise<NlBtwIdData>;
178
+ nlBtwIds(count: number, options?: NlBtwIdOptions): Promise<NlBtwIdData[]>;
179
+ nlKvk(options?: NlKvkOptions): Promise<NlKvkData>;
180
+ nlKvks(count: number, options?: NlKvkOptions): Promise<NlKvkData[]>;
181
+ ptNif(options?: PtNifOptions): Promise<PtNifData>;
182
+ ptNifs(count: number, options?: PtNifOptions): Promise<PtNifData[]>;
183
+ ptCartaoCidadao(options?: PtCartaoCidadaoOptions): Promise<PtCartaoCidadaoData>;
184
+ ptCartaoCidadaos(count: number, options?: PtCartaoCidadaoOptions): Promise<PtCartaoCidadaoData[]>;
185
+ roCnp(options?: RoCnpOptions): Promise<RoCnpData>;
186
+ roCnps(count: number, options?: RoCnpOptions): Promise<RoCnpData[]>;
187
+ roCui(options?: RoCuiOptions): Promise<RoCuiData>;
188
+ roCuis(count: number, options?: RoCuiOptions): Promise<RoCuiData[]>;
189
+ skRodneCislo(options?: SkRodneCisloOptions): Promise<SkRodneCisloData>;
190
+ skRodneCislos(count: number, options?: SkRodneCisloOptions): Promise<SkRodneCisloData[]>;
191
+ skIco(options?: SkIcoOptions): Promise<SkIcoData>;
192
+ skIcos(count: number, options?: SkIcoOptions): Promise<SkIcoData[]>;
193
+ skIcDph(options?: SkIcDphOptions): Promise<SkIcDphData>;
194
+ skIcDphs(count: number, options?: SkIcDphOptions): Promise<SkIcDphData[]>;
195
+ siEmso(options?: SiEmsoOptions): Promise<SiEmsoData>;
196
+ siEmsos(count: number, options?: SiEmsoOptions): Promise<SiEmsoData[]>;
197
+ siDavcnaStevilka(options?: SiDavcnaStevilkaOptions): Promise<SiDavcnaStevilkaData>;
198
+ siDavcnaStevilkas(count: number, options?: SiDavcnaStevilkaOptions): Promise<SiDavcnaStevilkaData[]>;
199
+ esDni(options?: EsDniOptions): Promise<EsDniData>;
200
+ esDnis(count: number, options?: EsDniOptions): Promise<EsDniData[]>;
201
+ esNie(options?: EsNieOptions): Promise<EsNieData>;
202
+ esNies(count: number, options?: EsNieOptions): Promise<EsNieData[]>;
203
+ esCif(options?: EsCifOptions): Promise<EsCifData>;
204
+ esCifs(count: number, options?: EsCifOptions): Promise<EsCifData[]>;
205
+ sePersonnummer(options?: SePersonnummerOptions): Promise<SePersonnummerData>;
206
+ sePersonnummers(count: number, options?: SePersonnummerOptions): Promise<SePersonnummerData[]>;
207
+ seOrganisationsnummer(options?: SeOrganisationsnummerOptions): Promise<SeOrganisationsnummerData>;
208
+ seOrganisationsnummers(count: number, options?: SeOrganisationsnummerOptions): Promise<SeOrganisationsnummerData[]>;
209
+ };
14
210
  export interface CreateFakeDataOptions {
15
211
  /**
16
212
  * Base seed for this instance. When set, the Nth call uses `seed + N`, so a
@@ -25,4 +221,5 @@ export interface CreateFakeDataOptions {
25
221
  * distinct within a run.
26
222
  */
27
223
  export declare const createFakeData: (provider: FakeDataProvider, options?: CreateFakeDataOptions) => FakeData;
224
+ export {};
28
225
  //# sourceMappingURL=fake-data.d.ts.map